From ad6eedea69f3cc74bc6d46e02abf995db3be6a8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emrik=20=C3=96stling?= Date: Tue, 27 Aug 2024 18:19:07 +0200 Subject: [PATCH 001/424] chore: Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1c0278b..ee79668 100644 --- a/README.md +++ b/README.md @@ -76,12 +76,12 @@ Pull requests are welcome! See below and open issues for the list of todos. ## Todo - [x] Add messages for errors in converters +- [x] Add searchable list of formats - [ ] Add options for converters -- [ ] Add more converters - [ ] Divide index.tsx into smaller components - [ ] Add tests -- [ ] Add searchable list of formats - [ ] Make the upload button nicer and more easy to drop files on. Support copy paste as well if possible. +- [ ] Make errors logs visible from the web ui - [ ] Add more converters: - [ ] [deark](https://github.com/jsummers/deark) - [ ] LibreOffice From ccfb574d5d2ff187aedc4d1bbf6c1ad6c8389941 Mon Sep 17 00:00:00 2001 From: C4illin Date: Thu, 5 Sep 2024 12:22:27 +0200 Subject: [PATCH 002/424] chore: Update dependencies --- bun.lockb | Bin 164460 -> 164772 bytes package.json | 26 +++++++++++++------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/bun.lockb b/bun.lockb index 2359ce20047a3bd80abf5c2cc575973c364ec6d2..1bb0c6c7de382fd973771cd05b70083f2968655b 100755 GIT binary patch delta 32295 zcmeHwcYIA*_xIT+x#Thtq&G?Qh=dfmiAb*AuBfAz5dsov5wfDXE8WuslGFpGY{54Hbp`F2l+-^iR+7TNQ@N+8Sh7(0JyZ8OPrdHV>^Ni2 z9qkN~^cmGkO-)N55G$p}r1VKeC(%V!d3s=2BK28E`uY@{6&Ryk7881t#<9eu3VXxMXj~%3pe=>L)_fU;~2}&dD6&pLiKQ2{@LRWU+ zZ=*iR$2qF}eNd`*1r!}-UO+zCYa?g{(50Y|XJp2u`uB-X>LD$_7^%W+WY93<`XnZ$ zU^=E~eDAo#Uj73INVzU*{xOXX@Q+XG8Iy+5#K$GXrAfyymsCF!^~em}+|+ja$EFXW z2{{X%@_Wa}q@~4L^^%f#9V=&7gNIryHg!NsEV}K6>QFT^lP6m_`?dy0qrd2>Y8eII z0er969s~QJ(S%fLT9ShKIxFX5MlaO{m%aFDtBM(`yw$?fK+$<-Ic;RUV^Y(SQ7I*M zU}{|Nbji7_+T~qP>MW$3+DtBZ(!@^dv;clm2E0G&lErR-r~Iqs)%yKX{nKL-;w5fSfh0ln;IXNm?lZO z4bE4VBzNSG_LU?U?ZYtidb;JBqCPs#9E0{?kjxX!&AyAZDt4B&q&sZ3GC3w=i0F+#-UVxgP5S!8`Ht3_rq{b!;icOKEh3F8b&+H9~ z`ODk^f2D!=f;UR_q)g0sT3TFe$^wjtMiw2Yx`+wX3A_~=rHc2!lVt|P^-3cr@dHog zC-725oHO)w6&j-2b7)d8Opqj{4opahNlBOV>G4NCsZ(B~G)J-i38}i8Zjh6D32}*V z=+v}+acObXPBF+a;>@&|0Wm$|W2Ge~b(E4?zFy|wo`W&4zEZE)-Z2B?(^7lJCnds@ zrMzG@01WU?h#3HWZn)}KZ$Zfoo`BMd=n>BE6)7VhE5(ZyEt8Q^OC3fKD20zkk?OEp z!$@R=3uuYxUrjSD>K^G(KRzb4FUt0cOHmg33A5TxCs68DpB;TxwDwy6o8RaWMz8Ry zwj^OiWIg~THT3C?!T=q>e^Xy|4~GWoEEVUciaKYEf|N>kZ>Sn!6DZ9_3(!)aiH+1@ zwF4z5v1_dMk^oBe`o^Rt4NjD#9U6Zcl+-v3O6}A|J?gzr(g0=p8*1&3ZK^EJjLcMR zSXC@)#eLCg$7PzU1L~cW;vXB+vv2=qYW^~mBPWb(p+=7lC{F>`x}~~Yr-M?*%Tb=_ zSnwr5(?Cg~{#yPk)Gsb&NSO=J0NHIFDwF`72%aW5RiiOlej`u{SJgnt5^kUrABuz0 z01&uSV*A7nd5w0cqqx+Vl$4ls=~wVH;J0m6d53nYMb1NRn}LkOTF1LV$Qw`!j$A-V0V61t@7zgM>~~m>6uk*b13w0uL5ZD6 zP)A>bQY1?QB@JURHB_OEHbu2T?ZN9&z5;kEpAwsz6hA0dYS>Y|TJvKzhAiNj=k2 z;u2#^pgaxi-WO^+uj@&nigR44rv{W0pfm*sK&b&AxGn`6eS5Ld*4hp}p_tj{uhy+z z`e&Y3tXkl$-l`v9GH6qg7GUj>^``exsQ^!XmF}ySYsZ@u_sZB9r`q=OeyRzAK(Xy) zI)jqROOQ{trBxjhpDN7+Pp!JeOHxJ9xBb6eYr&IqjKq>5lb-}7FYVbk zCLUSR(c+2)GH6}-V@vMyZzmoUpyBRCX&=z>=$IPnml~Ve6AeTpt6}IlD0O@llx$vJ zqra!9lRpCW&=l$=CDuT_KCy|Z>4`n1d~7JCX<1xDg63ims2Av{fog-XptQ}+hnxoR zaFD7&dQ5ygqO)`p{AZBg9ISfdIZ(39UQh}In?NalKg!Xry&jaDY$DntXGC8TIZ9?J zN`TfIrkb)cC}~s@l)UrxP_=^_pcHtIfI5S&2c`Tu+}HMt4O478SaX}wVJ^>>mYyR| z>pf-OSKI3?e_LXyW0TwMY^RmKwV`|IEv)1>x!p576W^cBpKEmRjh%d)H!khH!Q0`a zY_q7}pn>V{I(zcRPStI4LVfoC`fOkNj%QY%+~WP zyne>>@LHSux|`W(9*5T>JPWVyc%Hl2SkqdPf>2-P1@0zeJh(7wjVF7V*kYdNVV2KX z^D3TE%$>)1npt0-NL7;A(;^%Bh9#cwAYt@fu`x z)fU`L20u7rEuQTj!TNCDa%ST!@KoQL)RZq2=PSxZ89m`N)CGiSrY-j^Z)QL7xbkMB zE8MFwa+qS37;x0IGJLj(`&KZ^w{3a93Q^3TXH_s8W8hRR^x|wS_pNA_UzFheDn=Pi zSke*5l6Z0%lQ9JxscFLtDw~XF!L|Ls-N%~4&Zg$EVLYpn*(lqqW|a84awZnVeJh*U zG9FjiEI+d6D=J4ZFP>M~Z0L+tP>Uy2h+u-p`I?QVz|$n58a$yW)<8pWPzIewgCpB1 zc4aeoTotqNIb<|jC=c5OI!RJ}?(Z4F26A6NvtbkX6rSxCVXTD3P+zH=jCT8jqh8<` z;8ud8He~WQ;~j8OYK!hBR)J?#H5)r(36Tsw5gcX%hAJD#_QqRUmNFAYAFMsKAmx1l zj%GN zwzsaT$=C)QnM(0)<18%?DnY>$8prs$3MQkShuVXICzmxDE#PXPUNL1<6TmfB`os9; z^B%lkU=$1CS%GH0Jn%FAEHK3QJ@%m5C}Kkk&2S4`O`cFT!suB>l3MCjjS1jXuU+S9 zGR_BA6?y9VJ_;@hTv26kL5Okc+DCiFULQCz;0$o26zYM?14qt``3L9ct*uDSBZXnTawcQFavxmM%Vd}U&dd{hB8-QSs)JIPPgvDhUR@ukQ#Op1 z=PN2j8K*%;?Wpr#0FEpT4o(+c;e$iMH^zV?zrnx}g0_Rx>Y-(aiYll0o8fbCbrlDn zk5tVMtzQ6V0#`yYRmn>F9HTwffcr+6jf)_o^^86cR`M(H6%kR!(8_ox2O%1V{T6{E zYZ?`mo`9oaC~=Gh@vK^A<2+wUYNa$nZuSV=hw`i(kBc<3c%Bt$Hg2mTNnMq?)ULOm zB(?d#rGg`4tAS+;IMvuNqx{m3-;0VehQN17HzQvcYBDB*YY0xY&PFW{b__HbUxKTJ zJS=Pd9DB#@#7s~Sy;JkxX!yynN8gvIoORNY_ zu3)m=0uD`P8YCPZ;Kj=JY-|dp$jh84zRROSc$G#`#vdW1RSa{&{`NKaibhd}x(E>H zrB5vzB*sD#iUnBV<1l zzt<$n*abe@L}@=66TKE3O3*T_V3L0`@fA&@j1|x<&6~0s4Kd(Cm9_*@VLUrD!f*nq zASG2goR)loM})CIQZSV^o>kz;gVdE+48yMbA+H%YvK)K{t9>Fk(hB~BRk|O^IB=gS zoPUJw?t$e^#+XmI>EK8aL<1;t6&%ecA}-=@6AYi!!c0{%87F|Fk;#e|ZU2x*{S|;~ zhdj6n0$$6=LiUy?M)G?tqKvm8r0pI~7-2H_W8~eqf6H1nNKlW8*mw;b>8o-T%xW|! zu0;G;aMZsVR0TMg4;)3FTyU!P)PHHLOVu(o!!5zl*pxQeQXbdJY;Z>a?8XyXMHteN z`kYeou{yk8t0<#AEKE%ymbjY?(cs!qHjX5Dt<7>?U0$V4l%ae*WxiTP*rp++1QvK~ z8Ggf6Jy0Ixd2P(hoBMulHg>{_q6U?58|HxvqK)5p5-IpFZPi!@)=-<~R*l_B;K&ZD zJ$E5VE#R10)?|1It|=WvjOjSakeu6?YcveTV!5;-0Dg#MHiY5upRo}!`^0-cBLmp(G^Xv{0#`Xw2UG!lZHh@!V z8C5<4trWs%rc#YRiML{g)^bc{nG z4T2OQuak+b;(5Kz%#r){F&hVVlce5C2Q-*V;1Halvhx@EA*i5@$=C&47`3VdjqkwG z;>Vx@O@_DNnk!Rn>5hr`AfFAc2T$;gU~jo^oY_z(27yNj$AggSfpRc2f^050trkpG z85yvTy0DGYz|n-Lq3b3%cnC!igrLx#Y9LjQ*YV&2k*5adx!|zvYRB4Z;7I!-N+2!O zOAm4s)|!B$JZ$|4&cnb_f9mmjFSxo&9+k9;RRaU^FzPzsXw+)&Q^6@#SGI<0;HrOU z#SZ4hUYTi2tJ_!~9QB8-aY&dA80>NwCUuYvE)<-43V8soroxf375k`>Mu~T}oxovJ z$uwe;vB#@ZZ(OKJRiC>8j=E($FwRuUy{}q>p$5SXu2D&OoBjp&9bmTQ$fp&BtdA`k zu0R^j6L4sDio?eu$cOS(P3#KyO*R{Q_tV{xTxUJF-rPSqLU!rT?0O#ny!scvI?!BGf@w^uN+_dIK$*;r=)I)@C#!6A4A_Z?(5 z+=NW+qHD4`D+nmvP3&8qH^?lPOyN}qM;UvjsFp#~cte=Yvj&?DpQUQ++|U}SFrF}| zmQ9-8LV=e_j!NSzhC~^ML8vZRvd~Z95JjQCVW1>+S5kA3!v2yR!JhHFbhF%i5U(;c z%J}=B50j6e88}#V4Cn){54bvtIg(RN>?QXdW@hbp9A0PfEWF<5dBe=> zal_5VU(!{##`48k&12{XQy>P%aNiMTL-%2l)RFs-h%jtLs;!bLF&xKOCDj!v3r`qn zW~~(d75Hc+)o_GXhE3&RB1n8&6kY!;yXs$WKjL10G0n4po=KUj{_t>0nqh#D0PvmlvXL#zo79%sohH& z51OHLa9I-+rljUIfapyvzc8hSeg(<`MbHcJ^sNDvFHXJw7ixoidj^-HijG+S8l|K+UWn4y8AQv{%fC<(mDA+qGLWE#Du7yp`hrpi0a}5= zlon$RO-_{RnKb_I(9$U11m&qpQ>|VGB`9st1pkRrk!D)Cze8z&&9(A{Dal(xj=zdh zD>Wg}x2tp!r8#V?$=iX-JaViTnM&%2m$IP4h|wsO9toae#+RVf{8w6jVM?NLnw%(= zpR7?1N**yAlvHZab2S~K&jc^H2w}{;`%d6 z_PnQ+yRX%I3`%x*0ZRF=Kxrqe1l_3Js-O@_{<5~D14wCHL@A@1#uFudf!4 z$$Jx{QR4f7Cz?od?mymH@xN4XG~6_;G*RLQf|6)3UZ~fhpj3OLCePI5bb}Vj$7%dT zP^v#kV8Q9*VkznTvL{-gzXp@x=#QUgmhx=f?XL1`c>HM$y zrx}!>k-q|^4*t*z{248V{32B7Unq4{6mp_ApwvV$P%3Jx@phmz74{_5D3TeH6JDvJ zvz9@Wco&VjYVyLA8uHZSM5#kBjW0||R92G{wF4ih@hZjq7Zy-n2wuo1YJ$>0A~aeH zl%}MP#@7X}8&;sJ zFr``j=RE(&hy&Y z@t^bjKj-=X&(HJC5EcKAo#*-1nQ66$eKvPe|9-Pi?~jRiD|^i>n7rFkfwLKkFB(+r<7zKxS_~T_t$Z-gPee`82odRf}oT)Xpa-}T88wuYfDZeV4T7m6zD^$xAG(0>1z*7hL303#-H@EN#!nFSX_Q;Cy-bvi3Y|nJu5Y z%)DssA!3Y;e-xT4p|Xg-gb2yW*~w-mLb&E4N=(U0VG7QD&pB9ojcrxhhFi**h^T z+qzxRFH5XkIW^VJd)?-zBjKYL;Qy}!M4&znEe^-C-JLX%cQ9~r21$PlNQi+`xt zyy>$mLtVzVycx1Q-p#mg>vs(n?$2J9wxac|)%;a_?U}A)9t5@xT;e)wLPE6Z8}pTs zgI>4)7s*{$ zW8PL{-d0L%;177RxVy z%LNy?!-5-#C+vWJJD?x9I3B(e`t5{%J1wj~&jWWCT=XsrOW?D1LBCzl4_p#&vK#vC zhJL#(ESbLo_Yz#!Jr&{)==US^12=-Z?uUN+q2GQB%ixE>9RlZnz`{oH^aIfE0Q3VlhWj3beg~o7 zK?@tpFM!Jh7x|NgjpGx3f_^_iKX4Ox_#xKneut_`*++A?dhb?R}pLH1e9fp2~ zEz#c=cHb#;zwv(OS+7L*v~L2s9bDIH>Z!fmi!3Q+eE$75yJ^pg7F}O+)2eEVH=G)W zf1O&eBkQO9SDPx$Fxa>5Uwfy=^YiJKdE^n7jAJ2Ic|DFb&)M`<)PQ9z`dDY)3_teW zZ@cf!t{L&8{hb>#rLTuBIdiJ=$mI>5$BY~?^=Y*kqYp3ijoklYT-De|>3+`&t*xnr z2iM~BI+quFu5UadXW07{@9vCW{q0k~I}bxQ%?dc_x9M7g*01;dGW=akyz3vWuHAUD zrkSl@m7&Xex@K%ij!sPWKRvU163;*4!n+=|;0yMwqnNj&n75xT_^!6&&zQHLF*nC8 zbnEqT%-b={4Y*m{^#tY(+=vqvHk%&?*Y`N)=A?zq#@zB)WB1-}Lxlr_M@GA!^eEM(+S3CL`{xw*j*0qt z?^&yy7xfd*rw(knYwVE*CkyGnps@Z+^S_mQ_7|r`UPO=VHY?*d9NiP1*>pyX-}AHi z{qI)E{BG){e!m9}bImGoeQtIU!_?^0&Sg&*Tx@#3Y_-^|bw<+zo^aBo*#<-L&WE3S zFT7RX#$&v%y>Z!-X35v~es0Lwb9YzovG*?(i+|9jahr-hGp3cP`OS-Jr`k8ONo@E1 zK95J6U+f5t+djR}=oaxCr{RvLY>Jp*?H_Z-|ZUgs>_@w6>pa@K+yl?uRx zow4O@&slJn)`D|zM{tH;EYbAksD4@3cry6&TGJo0N9888{eE|g+J5_PcD_H?)T#dA zY>%;ZI(UB7vB#pPEBTKHz2?o02)=W2=%Qs`3@B17$!Bu%iSMGD+4IR~U79&WOl%9mm8s}^>EPrV9rgL@9{Ctl|o%zXvszGh*E zc>%bvt1$O<3;qdu!F8A$oZ*Ir9pkNTVD(?K<(t5r;Or*!yAJ(sTG%PR4%|y{j<+nh z)h^~1^t%E5z@6izeuaKFq2I3-cAgvI`!=@_-Hut<1%B!z^aEGpl!aa5qfSA;U$KHv z@(Opo4gGFo1>Lr=Yy2>{L*V>>v#=XH{Ws|M8=@PyTio{!^t*%TcE`eQ^9$f|@7Okb z7jw)$_fUwqX%|y$nr$7wa!*<}4<3~E>c)8YnniCl$#QD(eb5)Lr}(#NGxcuDNb%W$ z=|3Os@?_zlLA$qfj2>y~S!g=%@CkQern?A|cP%WBhv&gec?gnu7P?ae++A?d_be=* z&$R4zCUD=v3ivBGC-gd=3S{+3_YXpx_HA_(C~df_n+B>+j0x@^>isI~07WoGxEN!Iw}F zoHIARf`YH0;49^H32qBG&)3T7@--BE4F$n@a@RLd@C_7vqns|m9Rlb7hjP071N!{| z{lJyuzHg!5Tj=*zIbDLw1sC~FIbFVke(#_kIA0$A9{Rn9e(#mjCAhoqZKp>woGz!& zV(q8TWVX}af~zK)FxFl)X3RF@geAXg)qv!>3DQ}o>A9UZZ68)7<=JkRv0sm?SG7p? zzLL2){#z46Bd zGp3v>NcM^u_-*z@bF9c`%tdsSG2UR2C1bqHWo9dEtstl&I$A-{!3u(%Bru5u&?v{o znt962j$i#|(9$tK4 z(ISroGmAqIT^xcIVpeeo8h-}CTN1PqO+JI*B?+=WgP@IgMS|tF5OlSLpsmQVg`h(T zX4}kh_@KqhZ3aJI-(&KkFG}Q0YySRKXvFrl!Q<;Dmp7hv4!oUJz4Vm{m-GCtcel#m z-=3&D>rT4|cY|*CDOz^o#T9A&3R$GR=vV^H+StK&YJKhKD1W=lx9Y@-ca!`scREw8 zdK>$1ue2#RYd!A5K=UBqHG>k{Wej+bw(`v^9=hS4U6;7Dp#7zHT!?Jpy?j8T`Zc-g zJ9KM;ep%1o^5d}VNozfKb!buY=_`I^)vu9Dv#WG?pZoK-_gr#jt~_z#qTS*$6I?q# zxqWwPe#rK@{q{E4_WSi|?MmC|*C8rbhV#Hw*3@HtPe`yGMiuBSD zRJMoU3JGF`uRR30B$#XuK_78}1mhhbh;)D;PE2rsAj}bhd=m5*;f@g8CBa-r2ogjd z31&J$5bXp(l9=TLL1SkK-jX0$G;xODB?+>fAxIUkNU+=mg03zQ3=~-|5Oi>bz}6Ll z!J?xp1U7CE>?A?DFuFmog#-z15DXJrNzm6F0#A1cMu<3f2wXfMI7WgD;pzdwArg%6 zfMAq3OoAbv5cqpSFh-<%LQuI31XoBfR``~IAeRJ_%Rn$rTp+=CF9;&NAebN~ctH^6 z4M9E$CW&xw2=0<#t~UgeMIHp~8&Ssx!u=1=A6W6OT>zvFAtg;nL6s4-M6FJ?>GY_V|^2e^9;Rac2vB!_uIQn_2|Jh4l z4#)INN=XFu6IcA$7+V)F^}mqIf|krV70Q+|s%Pw{{nUn8_yn*=EHMW?6lVfmY*gCy zuFh->FY)E7t+?TbH;&ZToIqwHcd0Ix2C_l&<)EB0K`e^N-X_s4n9VSZWkAmHP`2K{iiuIRuungBt*lfS9?5K2ZqC?9 zHc4hfa!S=^jhOs-vbgHUMhj}qptL5SSq@cjyouWqKa=o(+VOD#{ZiEr^>2!;b)k5N zoS1s7TXPysppotv!j&t;p{cBvHaPGG#TBUpx^$`LzB@RnJH8VmwLof>>%NGTIK4cmdl`j@m6lxBx$TxxdhV6x9On0 zA)~RA>U2{GSSe1El|=d{65xslCB4ZGhcsCtC?&}br!-lTCZlgp#?cLXWT*j}&;jWQ zNRuoXlp1sdl$&)xQ?+tr#4x1kO4DS{NJnV0ftt((GCBm1;Rk6lSEM@ubPcA4@khT8 zAyptXaShRA?nu*JBy^=~G7qF5K}IGYs>!h0Bs-+xX3C9hNGel#L907lD~BZ~UD9MD zG+Bl>gr@*9IoyG>uXKsi*!pxqTX^x4ORi@ zUK_I7H(EJAr0Iqr()?RZRu${qAciCP?90oNJ5iM(`3~k`(BgL zip3xO^MbSn3DTU}AXy-=UX!VBiIp4PrA?Y_hE^^Z{Y%@xkcp@>{Lw#2DGic|W@<9} z6pA=pQ7Mdm%xTn-57A29$&a$&zy*AY&ppDz`}WCKJtvkfyOF zKz9jIg$0mN%qYtB5eZ3bJIK_AaI z1EPWEKntKH&JwH*bRf!YAY8oK@J0YG=4_J=GUNB|OnBwzrL z3{VV0*rmI}+ew3w7z)r$WM_flNRI?)7DfT1fib|Bz*oR{U;;1^m;`(cOa{IIz6GWL zQ-#k=#8H9dOkfr;8<+#k1@>Tkdx3qxkHCK5AV6V@!qj2l2yhHI4x9ieRMA?bwMS7V z9HZ!y3C(0y&Mfj2;VWYq)e0}X(N zKqH_r&;+OpP^jAlN_Y1C0-OhO0SaRm0SaB0fomvp7B~zX0S*8MX$F4+b_08Wy})*0 z2ap470oDWAz-nM6umo5NEC+r7766NZXka%w+5_wb_5nWv`+*(6E`Y+`Z?NV$;1?ic z8D72uz64qWEdaWyIT~;Q+<{y)OgBW=073y;dlcH}{Zja8egVRZz%k$`a0vJj*avI?HUevaEMNsdx8ptnE(2G9 ztH3MZHSh*_3%mo~16JtB8ZZdY+4y0-5=hzsC4o{vX}}(E5Ye-lJM$E=vstB#a7b1G z*+5$~Lbr94f;M#LUOk{b&;X!2``Thabdx1T6ffWs_~XDPU@b5gvH;|d2PObt0qH;- z5DPQ|sslklJCwyiC_}k}ejO?YLl^?o0DO>1CkeXc^Z?TIi7IVNvQJ!v z2C8Fl?LcYYwMU*Ea1%Ujo2P;Ez%k^}mPuRWav%#>N~_`w3hx4F|HFPKjRigj+yEz_ zH!9ag2eftdL7HS`0NS=LgI|I)?JBf6P>`n^aMys+Wl~yUO%2Gfu zP#O3PC!(K`U*s{?_+LV%1%Mx-dP2$%+#0m}OdSO81`egMe8HE4V5iNsVu&-hl$ z90y93z65Azq}dw+3_jfsD3z=>&WMbOmVi-GCT?qfHYtr zK-MBFjR8gjWQCD5|HF}}4GaTD0GR+;WfVXI(FZjaX=f`~c|Ayb5V@)Rh1YWCgGc$XJS( zEMPf69q$8n0owr@^)`T}Xe+P<$N@G18-WeLdSD%}7FZ3G0@eT|+YIakb^xxxZeS0v z7x)Q)4`e8t@P04{fdjx{fJXlna1@}qJp%lll#9O)tlTnwB5jsvHF+rV|;3UCG>Wym7b#xKA*;4*L)p!z*&{?7yRfkuGtBzj?T z5=vhJE&wwCm`(AGT+oYvUY6SU6}Sal2gr&yfvW%wga%Q#uN&Yq$Z@U%*8u8_(&UUp zNk)~Z3~8h{6vfnoHXXPl06K)zIXVoWvoxI&o}oOQuN#5Z2C5y z1UXk8a92ye27LtN0}p|hKmqU=cmg~HNd6r79e4pyhs0Ap<-G!^oX%4o@oxZXPpzM! z3aK!4pm+QhX?lm?56A$?tAhFgRRFzF8lW%uNfHm+A+4|UMtEc|n17r+p-wL2{7Y8Mo z0kjxk1Z)86t_VPRRF6RAiBcU(>+O;b7+QwX=%01075KACij1sHx>2M0%>G%L3{OU- zJgP&sp|m=<4AsIkV&_7QQ9)Pm`n1vkvhZwDc`_z7M9>GKyAiogIjucvi{vx`G*Ggt zKA5NIUtuVNMoJx#sc9C;lr&1JOq3ecE7DZ|Rhrz4^7JGGh{ zG@gRqFTglJ4|r6Lf?h+EZ2+_d==~tQ^JxJHeAWd%|+5;2>JA!rssv}JpigYT_3+MrK1Li|c(VQZA4EXNA7eE|9WmAAY zKyM&6120sWDpFwVsileUtEH);UZx+?TTqS~jR*Q`d=e;GF9Apd1^~$bwKD`52&4gn zfk8mJMl&emYd{~}XryUSBLV7^2BB*<0%;oLaL{1@Mcu;rq}eDS6Nm+9kYphm1Yr^| z5f}@M0Z_k+@*aKynDM|k;47dE8YV5Npg#H;V&@9xRjlzU$Z&0z#l01bJ};4S>{hZ$ zRxC{9uV%scdedhOb7eimf=%G|h^-|2vpkWwhBaq)!n~G6|9OED>sVhD7`%?n2C-ky zM!EYGRo>8Ku8CWD?q~a5PBQBj6i_{&2HZicS&x3}h>Q))NnBgcJn=p1TZr8CAIpEx zt5e%6wf59UoiNma|2T@k4X9I9u#L>AOdx#2M*ViA6Pt6X;qUVYplA&gMUK*L;iCGF z?YBMip#0FJk{wahq_#Ri97C(_`fvEZjc02Il&yae1wsM>savH#SNU`?;jxjqxcd}W zJ3ZB5#mOem=HHgt$Uqbf!5ehZVk5?PRK#tB5xJO4+z%p$xEyhxNSN?~o!#}H^ItY0 zKel2_GuH^eEzmStB%ENb_-S;}eG7AuZ`_pz!r;p9(JK`F5s zQaJV_6k_GXjV)LQ!J^t$%xaXFbP~eWV#HREZesUId@GqO-V>K8>YPH6DI$6s$ZRo+ z$Wn3T6!JET6X4_vrA5`#=<#-G(Q+^PP|fVFKdr%gP}8+34o&yKnAHQq1A;Y=bTVLE zFH4Kns4C`dXKrk$*t#8!e<|{}qw&e2=nil~MC^cj>yLKWa5!UH-9D=-C=L}ws!bM2 zC=mMB1@xyqblm;WFz0H1Wz82&IFmYxT|2NO^yfevo;lQol%xr%RgLicWB*-jSiu0Oyb!M9A072ow}Au~9j z(xO4w?ZOJm^iaRYo%vnu{b#pya6yYT0)lCQbQ50tn5!7HircsHwx{HM{qp;tN4ljG*SOQ-tme=0X{KMC;(H`{(r&s1t2{+Tc)z-c=pLK6~ z@(`_Bie@OYN~}R6%vrnzk#oz6W_w_kyJeM+gEGez^_>^JX#Fyjr$ro&V}i)o!)D8; z%L|XaEJ&Yt`D%I5kN7tg#5_2HyZ$VP2QPbE`NG~N1Px$iP=_=ea z_pEMW)KAPo%-+YGjpHjT9~Noe@A0QgHOmKtYmLpUu$F%v@YSH|qXzFkRgb(?S|cVO!Q`va{jcJ2IXxchKM&u$+P;OZM}BmG zPN4xxtO^!(N13aK{!ESv!B1}b);aVkkG70xt3;)f%Wq~RjYUql8Ug%6#5-yWF~j8;0%&N6 z=uPxq39*sr5|faRvmlltY8+>M~I z!utd&{@JeRP{f2$X*;7heu5Q||K8gFf3-3GO8}IEY6+(^?0Y$*mRNrVi$Z_k$jZ_84*EEQ&8IDM{X#uf#G> zcc05GA1*T(498czUlJM5a9#*K$NEw@E)+@Bv(+cJ_)XX$ z_{|Bk*oCG2Y2PC87v@&uL2Y#(n>T2Of81$93KTL0;82V=(#R=|p&iN#Sv7F&)dxxr zoGb`SeJ82#VUZRP*Hm1~Wqvlr>nLAEDCe#wV%&M=<$fEjkWYHaH@mfZ_zvZl=qlJS=y1>k=f>?8bxjNOZ zuY5z3S$ty)Pxo2z15qm|AY5F%z}!6$cl3vc=+9qJvIA=b1d0WiPXlbI?bOlwV@ftm zT_@X4IgSsSl=X=r>(7>{RdIP>$+}Y(C<9aMKMI}G8OG0f0PoT!{h^XWkw+xs2yYXr zhRAQkhKtOP%@NlwvItgOxL?9-JBS*WVDg5d)HQG|1iK5;U7RAaNhDtZsVh!V$#&vC zh`as>opKJl=FUHVioA&y4yM#jcwI)h1X1e2$I3fI0)+1R19Ut+-eyc)ap$l$cGNm8 z7F@;v)N(jwD{ZJfi?Ua6xK-M7C=y7H_DQy0N9%B`*!^L&R2%_RQ$TB5EhlPUMWgM+ zi0c^Sr)pObU7tXhCQdvA`C44L3bITj-TGK^r|^TFJm_IFjxhMi&y#gml+K>;YBKbxmy zv!C15N~t{Iqgtay^bL$*nizEhBU&zI6Imzf+y~h$P7rrk_+j2X{@OpzHxp%UGM5_q zBZSIjH1vJ?z?(MlKtw9668&LAL;U^j53k~OSIJS{{1zAeZ^DiArxY!JGGttbSw1=1 z&~dP?Cg!6+4gIl3E*0zDH%XaN__IL^8%-Mav2(30Yccs(l+&O0bT4ML zAu?_0IjtPlQJUC`0=PN%5|z`R7v*sF>w3GE9?jRvA-qi&cDMB*I$1-zGGZzTG@_12 z8ER53vqu#s6+*4 ztLoB+Dx)YoXd$Xh9-_%7M$>!O7BS{8PYJL}EiJ&RmEHA+Xss=NF=5Eq&1W!66b~?) zO3eK3DufZ{p3G{XKj$0#vhDA?xzMEWnb3RT7DlNw%qEVzKykY zdfDmm*VjjAPK3a!HKG|<(^L%r+8!dhJx~mTZABU7r$x1~v=BFFtEeJ8A7MoWN}7tw zx^Z>apY-L?aMYl?xw6+sUsrs%u=8poP?jHUW`$BOj|bkF{DFxt#&t3xUI zQI!uziVq`KP8QmHY5Pc&h%qbPx3qs-2P5gX(`fYv;M^ z&z8KOuzz-kJFSkwbLedq7R%4#(F^7-<~`Tm5k3F&cSPEUE%c7)1;SsH2!DaM;5daR zzF@uG^=C7NH9hh$XtoShI`h(ksJ?L|6eChjT)pwUcp}28GO!^(4SLu&B+xV)?#VMKdwxDfOKoGqT zA1_M1VvdI3fKX|sNP5ehJ*!Jg;?&RK-Cic-XIaWl{8)OUsPmEq+y9ILrErqTUQjt^S+FFtS2Z++UE88pl zUSa>a*4?*7$6|H`v`=A_^vTIv@dXvoA1!CM^4+R|-?w4PR&{qqZH)wC#@!u`cZ_u;iwe+F?s5dxu>Cf=(kz78q zc5%BfRKo{;7?tEBPEc`GpE5Nh{n>T19dquvjor~7CFwH^IA=t%DDwy2fL|4@$fD21 z{68>>A(H--yBqJ0t*#tmJ5y;}2_s4oS6Qv-grfR$=cL}d_UBJYzKo(l>Sqw2PSbqh z^A=s~5fLEn`qS|m-HdNgWpB<_)KYxv!(=GNcJv}I`zw#qCWj72`QrRr)_}bip6~ER z<9}CI^&kAt)!ug)-zaej#N)4>MVq>RTNNcq1LXr#)$Y3QxVr04=sW0P|88!cor|g~ z*?+&7`W}7W6f2256bIg8x#aIT!FvsP<<&!7h z{i+xoTX=|cb9#&%tofK@IQDe?ziyIdp0FD^zL_Y=qKBw);=j3slU0Z`XZl-or#}wx zROp7fyN^HVW{r=S!j!k*M?@f#UD*v`0rAiuCwTi+aQ|P+S;-&El^iBAnd}m!KY(!C z_pvUGzU%kn#}f61sc((jep`F=>ZUi#eaw;Qep_67ti>-(uH9-#YN~%~&zQu>OI?wBqrb5w_!}90E^$4h@KS{cEWWcg|E7{ZLK@ok(Tmw=A-E&TAX_MKOFMR$wp3 zvyhx_4zdkXS=XFQNBO90Ns0<-eTLF=o|Q-6ih_D_Qw%!ORW2v?RKv?CSGlY(RF`jv zS(RmXky%l;&Uqe)59h?rKsiLL@sQobm0;Ou(<3gi8vT=(Fb|NuMG49*SxvSVj~!%N zaWMobr76gqMa3Gj(+AdG*fo$#Xr1OPsv$42vI-9f5|(gz<_sIO)y!V@$nmNvk1HnX z2Fex0O=k>bQlK0pScrTt=X`zH$EtKN77D3SJ0&eOCaGF#&z_qb%N<-rj|ynvv5#C- zWW>l7Sh%QDRQAa^7$eVRA~;5FkkhlLe4Ca0Sgo2rRTc|u8zSZj@Zn Pdf}Y-<)T%2HsyZ+bKp(d delta 32218 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

mf8`&> zy7S-wBb&}M0*r>Au$AGohl=4Cc`e*rk+v{hwLtxFa4mRduf~>07JsQ|izJ zwXCUd@|5T&fNLtd^9iJsr9iG!rWQWgKtE+=<3xZ{CKc_mbY9fRXgC8IEnSjB-GaFIzR|-!|FN%jx1=9J)=e)rDHjEv3Q=**l0KoS+v{;O2hFEwgaXKtl{T z%9EYNkOPkD!L{H4N7a&6@}hI9rvwpYW9SEt>d66JzX)6yf8!EjxPp}8oHSy0tY9jo zgom!+$otV3=1qX>3{ElBeQ@oHxe(uyhROm*t;m5;I_S$^H4T$m`SC^(VbW$lJ~ATA z@C>?lLJ?))V;bmmy^FbP;JV2ihNO>#egXUqqT(2&$o`1ch$1_|(cnt)@EU=(_V6L} znx)s_^Z^g4OS`>c1*D{$Jw+4gnm^y#Jj~#UNYoxe3vwN4NC0otBFwM|LW)p|s%Mal zqSjX4K7P&rIEj4}rt^`IE+n3^YV@%qxpz!vEoqHlpz5P#zzB25b7BO}8M zTOnvAcMuM*DI2VH4ppRP!MstcFvBv5YG$<(R*W1ev~q#AVn&n zEXGtw^5QX-4k?bd$QuBzX>r~vaOwnOx4aFG^n@uGKvB*A844>RZNCU+Zw~#Ehgx(VenAUUx(Jw&?XFJyr{WYXwTK{ zHb;nP1WxIRj%lM?@sTcJ`mGQ);+ZZX`e#VBr&FE283J&9ayXX8Gh&T~0`RmXFd-3v z`f?^Zx}XN@!GpUR*`GY4t5M$t1zN}hnTHfD3!IuF0@*1Z+|8)3h;Y$~XU2vYvXJ^r z8>apeIJuU-DSWsC)z|Mw3L^>#kytbz85^b#fte%a%Hxp2STGQ1pg#;wE~vNaK=vTp zHb+XaLU`>!mcxU)8}(-(>moPph49`*UP)t-Y9rS;f|NQS_dvrZaHd#gcitOOfeWC0mYv{5J&lGyxEs^~GR#1#8Ct@;Vs|+Mj!Y-_XQ=wAvgIm{ zm{!acvYvGVYKL`rQ2+Lp)m3U^1N1swwooxzbKp^FIINr9t? zfMDD$ke%lF{fsP(7xgn57GQz*Lyp|J-m<5xN^FR}2~voEEgD-RK}#DW_YKrv2Nxwz zX1!jTsYz}I*PDmd31QcHaDvfLBTn0D=muc|IAvN$`?KI+0A;Zn!h0(=Rsu;5IQRfX z287X@-~zxYM`f2j%I2el$~NHYAx}A`P6bB_Do5sAtF*}#;6~Gqfsk)P2!6UiZD7ATz$DD?dLneVGqo*rB!Qq3XaC2Y*sa3 zUF=shP6XV~z^NL=2U&w@ge-IbWlw{n2%-$y&|kUV!cKs5RkX^?l=M~7l;u%AXhROqr{Rnrn zap3y#%poDt{(-#F&@jFGAX*P3csPh}g`jbw>?K1&^yx?qma~3Kz2%9NJ!0ZGimz=p2a5Nuq+Zutm zl`I-&G(3W=F=TL9oMgRt#&DxPCq?cey|MKW#q@{h|BAm(>Q7fRG!v2L)yBz>3-%-s6HOt8of{*glKo@{0La*EqB8yBv z1*NMbr2!)n%K3jTh02U7nuB6z)g{S&2fSORkSB&E2nB&C7DH|cY69VS9o z3djbk0p9_15heL5VsNb@{b{6Y0O}wYpzEI~m0Jr?z4ZWH{|%*j8|2dOsdq^M71#(+ z!{4g~iIV&WqTG9$gMqj$fW+HQbLVTuS`&gvx*ed4C|P3{F}R3Q{%(M--STgRO8oNJ zS{11Det=3Hpj>V{&fRQ@#9@G>M*zA$L}|Ro04jGJpo=KUPXZ)A1<>{1Py@ahHGn#}4$xJSl3Kq4L~j9fm88_p9iS>;gGPwA1*P)k8Tp2s_&Bvj zmZMtH8I&%flyp&fqLg%1shcV%O1@Z4qd79dK=x+?WjsW%C65v8P$ zO6#fel9bx>g`B3=ACx+3q?Rj5tspmts~JS8VuZ^7H?$(kcSd=t(nYODl#($j|4$S} z__P^reBO-mX6n0}TBjr>`Dc(*R(F;5P|FdeX^d0ly+NsbUp4#t&At<@aa!{(j5|l2Y#IIKKH>q@+D&N6Oayi`& z2=JrZsb=gZ23JW+)430Fvi@06n&yjYIhpdq+@1VNcTJTNB|H71@whB{RGNrTjN!Pah=eLTPHaJ}B~ZzAE)2W8fl6@&+nTl+>YT zYp7mhH9u6PVJbC(;zt**@=b}sMU(~-DPfnQhFhtEcA(T?Cr}z;j7qzyv^ywu9H;Vq zLGh#Or^*KsgNvvo51r*8$IaoYlqmH!LZ#`doG8gNKuI(Tzo_>ypw!z~RsOjupP1j}E;0!2!bm!=oN@?KNRGui6 zyROn3pp^A1{Zc9A-<0D8CDe?Plsdkv%8Amz9)MEC-&J`@N}@-qoG6uh3`(M>D*uca zTpBe~f=2!)D0T2oE$|^)8u(6mvvg87v66Uj?& z{+9pMtlB#=gZaE)oPBS8Qt6AyXWC8J`*@G@&9ACX?&O&;c%0|VqqbY)y>ype{#Y2l z>G0fhlKFV^!}lNSIbsDW7)YeHjDk&^v%<6 zJgz^mtflLl@`e*{HobV+amB{FR=wV0)iK@MazyEaXzj9Gd9I7WJK$K@b?YA+O-_v- z5}O&e^4m#ne>S~1W>3tDyeYji)*j`vwm8=Kt@|DGWQU3`o3~8cH^+Oq)tO^Grd0p3 z18+RviNBd=Vz#{1{22anzAew4Z(`+m5x5l#Y66 ztrywy9pEZ+!=f0z1zgf16LaAC;07$Vsb-s(?=fF+*&cv$m^WY{fwdJ8pO{@l=v^0hX zEwkkhz}4cx%VPL#aPya$SRH-`+??gMyzO!mtIOvukKvIkZ222--n`Wc=m#!$g^AVU zMc`Jfgnlbc%$KiR3H??0%@JE??ZDI@BT=U=L-+hVruElG8 z?O1c4=bM|?oLe}0Lai_EzkK$n_3M^r4j)?Nlez54Ucb*mY95o$?|pMLLivPNnKXR0 zSbSNY9Mr1nk^Gx?wvBn6Irbal>q$Y4_RRFo&h@HPIQm}AM!91y?{7M5;&`W%w?@tx zwRJ`C$)V*M@1EW_<;k6<&f6S3o*v`5s~y`+OS$oCN{uQO_mVdZsW;+sC7;Q)UcPA9 z&gZ4YyPH3TMlO3>eZ#AmrB-E^j2RUfQ!4!ES;O;QzI}RC-{EEF)i*ezVhNWDa`_OdGh&ToViBh2YZHV%pZ4@Qqf+T1?wIOdGgxUS}Pq z4cwG)3)Bkn)6BPF>M<#ZQxq+;0>5IaPv2q@chReaC0_d+BTY)iO=1L zY1@Qp1J{8^xXWLO*bsdrd5p7lKRw5&HdT zVrHK4BlOz`{lI1OI{Tm>xGDQgY#cuiZsJeS?rlK;jIdxAGq8?6Pw11z^yoFYo6h`rM!Qo>nCb1>$qlc zl@O~=wF2T#EN(q@O0S33^Nio_xi&h~Z(V-CHlOrzvzDC*^L`k;;M94)c>@x)AZ%zQ+6HPT0FTCwfFjAuSu7A+e40R?yPGcnfvC>m&+zroHqTN zAsb6|jgLJSv8Mc+;K*Y>`A4@Mn7_Ev7M}^alsAvqWSiYjJYG#Wc=2$4Js16_hrQOU zQa(~w7Cz@)4`JGV#kGo}q(($6L)`0=Bdw!@gVUrcN+PxuAXb_7#%)P(2a z^HK5uIJd(lHlHUP#GLFF-33kK6JZzna)m zKIB(S+X-89P}e_?x&3({Z1$e7tvdF7`sUfw`?d8eCf%IrEM4yN_O0K=wmUr>pFMe& z(jn@nz1fCV7?sL+)db3P*O2)F~B@I5V{ld@U+Jv7fGCe34`M`a9{HcM} zzY{x7oiUr*tnJo}^$+VXI&I^3PCa(&25d+Uz18JO=ZHlIY`oeQ23~cFe_ib)zkI^6 zO~}**31i32>V9&&KEnT?#o;S$Z_RhjskPnZ%eWcSb_P`+d-{xZ@`;nFL-smN=(4i6 zuHDz;+OLWWS?%`R`Hshoc4JDo!%FUZ9Nu`+md`qFVypReaFM5MdGiw{mdkTaz#G9m z2e*!gpM*D_w&hDtn(&tnkHN*BvE`jlnc8kDspIdLhprgAAt8EBxfq*jUtZ|+!;-0zX=Zu2@7*50_cAolFo zN_m5=I@O*Yn%Lpex4W7~FQYH0v=hJ&Jo+@e=&UXO;k1e6adrk?bk3H?pE0p~z5$%$ zd0Srjtch*oacAL0;P!#r!7H4D7hSOB!_Jx5E?xkx_C?B`&6|3ZiE!ST&;o+v}YtRqe58%#n zb{+ct0{yO=@L=KwaE`x1zZ)iYk;mPDe&F_jyUYvW?ddnMf^M4FRi1GZ`u&FB2JSkq z^BeR7H{~}I{x0G?xQVwA+-{lJO+M)s^t+AVcFWXO`>=>Sz*4_y&+$W_?+@zjH&t(L z-!X>WnHuuqkxz8dwvIvl#y0agRms@!%-ysa%TscG{qAPV`FDKtZu~ay$j!m-t2Q2* zZMUCazU|28-!`#3{LXFI=?;SA9TU69=iY&x?jlHnd%#=Wg`L3V-ZkN&$Rcnn?qL(S zXJU`}%6qWWeQW~vP3$S}dLMRrfM^2lIX66joxmkMFtI;)KDYtDBVzn+VnsaRci8D6 zA_lnE-030g1TOQT34a_@2rm5*?DWXQ-tmk_u+wAM2^`~f9>Y%HraU$=3w|El#3!)R z6BC|nne+s9dI~#%v*N)|;RoR6KQ%D}zXNX0GwAosgg+RX`waR$hkoE}d8_Bp4_xkZ z`D_Vp#S7^7LOxr*fPQ~Kzdz)&##(CiI3?^&%_%&eEpc2+LK*>YA9ixDdr zvlZPLcwbS$5`tKX*|y0|IomRQ)X*cB51neev{ifa;aWX2V`6jsoO6?!9SplYsO-(I zeAM_#d(N+zr+eA2iC6B^%4KZV&+I+o;bq57*Iqs^5d<2Dt`eHHwm?5SB=qAi3>FY< zAwiM_1c4$Sg1iBi%uN!POF?23b*xaNwiSv@v4S96oF~CK5`5BxqY2f>vT~X$a<&hTsheOrn(y1d%oncRuqxoB?-Eh zfuNmOSq6d?WgxJ%g&_oTyk@C z`ssZ6ieF9e`?}rKb*+Dz+Hq>;%G|2sTK5}dW31Fa{Y0}`yk_$3MMqayHUHx3=Hn~2 zUr1@XX5CMQnq|65F- zXzAyAyJoHFn6NYW8!Of&ZA?#Jb6=|$ZKlnrb8UR*t>aRTL?kBBH}2X7@~J4KW)GlQ z;avgd?k+MaK#*Pmg3Bc6De6>&pms$Frc{I=PMjyfITD0cf}oF>R0)EKl^}RPf_M>Z z2SJb>1oQ16=r8V&;5G@`R)!!!%&iQ;oXQZqA;BQg${vD9dkAvvAxIKMBzQ@J?hX(n zizIOcHZFAeiF;!5b1x7OgxX zi1dUY*As#%q6h*uRYX?>nI={enJ!p0kQ~vK$PBT82p5LxATvcAky&~9)meWw!`Uv+ zqbBpRV2ktG)?w}zm3z1;f6q$aerW&JqKC-#V&e=ZcjfPbJLlPYvpl9BS_6L~E28UQ zBdzajDRwtx)@-prGe-s5v=kHTvmnYTt^M8n6|cOgI&3hLi(m3(*3wpA@tZFjE;VYH z*Tav6F=u9_sKH(+`<^{?@FG*^a0BmHX+6)nUy zA9moczZ%QEx`r}qeFHoXXhQ>kN;1O}G+>XuCgeqjvB?svm3O%bYsvH$LtqLK-jJCM z+J6ApAvQE+yI|QN5v&r(_z1R~S><^*V?Clut54*tpUp&pBvlgUXRz9CZ{H~w`p|Wf zSD5nEwag1o&MJj!k1Np^QP5ew=#eE-jJ}Mfhid4Gg^bG37uOiCe0?g0pb0ZQjYP%i zo0%#~j;@E=8+{F}JtELkmC=)KP1SO}R2e-HpgnS+J-tL9CE*EH`JyM8@I!ySjIa8Y ztB)cx)1NrY4^ohr9&w_AWr1uG;G)NyNJihbwd85W`L0?LuaN2xNi2bfE0gQHcUCuCPtS*9wh3fUQera`$UQl3*i zfpRnrnj+PaKB>yGP?ws)YS-;WnyfokmDNOgJv~`P=KWmlq!!W}kS5u9wP03e*# z5WY2&tyKqUdZdJ|iK^@qq&v$JooP^(_*l(G*oy59wv9Y^o}&4_O}4q~$bK=8N=JRYs5B;fEd@*X=@rG^hVU zMY0C89H=sBPEmk_4FRf5GIB6)p^0+6l*E08tFLCGNaTLSrUBhqpXWMqE) zt%Ll)4VC{|ts9KABPtk4_>C$=3u&90864CxDZ{X@LBY zLI;J4=0FR8LPR9c3TO?OfHpu|APQ&)(C1RoKnI`^&=?2;@H6luun+hN*bNi_ z+kqWG92CM`+kaO%oM|*)EfqlSFzc(Xb{!IM5UbGUHb;Ko6r;13ZAP zDBK;OP}L4-54fR`DnM1>J_b}9^a|uxffK+n;4p9i*bi(0@`3MxwZJ-no?d+lTm!BH zH-O4-@arw`4q#|l0xU%IJm%nJi)1;VJWvs+1lR$UMfN=AA{NbK)y=iQ*9PhUp8)jW z>Uv-UK>IueBs=It&%U()S^|*(JsZ~zWAZ^hJ*xN#=r!;sfvvy~fFI;v0aJi4flMF? zNC4Uc4e6=S03>>&G94D`0-I4W5V9a381RCO_J4X{vk>W107XoSkQ5O^fd;5U5!C}| zfPsAqO1q^a@@R*o9q|@qXMnT7CEyrjC+MkA+R5ng(pA7&6sBDayOz93Q4H?|)Bxx+ z%t5FafevWHNkp1tcaW|FdJXhCWUG*-J!Kg{VV}Z0?Fm|%>QPAV0-8uBq(?`WqX0EV zbO*3ag_iCPo*t-l04SzY2>%73uuacZ(&MJ|9OcCMD2VIYDkW^2X;=FS7zrWGB^{kU z1?>iqgHtdjAM*zSfC%ukH;~ge0Vw>C>COSB+CJ1W!791$r?aqfSRIgJAj5+GOrSN%BMUJz#XUpxB-rU z17Huh0xp0P;0#b6r9FYFCHQJcSEs#%gtdU$0J%|ppdR1@d;)j_mVg%k`^td;w${

nmG}aDvbwdC!`6? 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 N9V^uo<;F>~{uf!ZXYv35 diff --git a/package.json b/package.json index c74af29..3169c23 100644 --- a/package.json +++ b/package.json @@ -14,9 +14,9 @@ "dependencies": { "@elysiajs/cookie": "^0.8.0", "@elysiajs/html": "1.0.2", - "@elysiajs/jwt": "^1.1.0", + "@elysiajs/jwt": "^1.1.1", "@elysiajs/static": "1.0.3", - "elysia": "^1.1.7" + "elysia": "^1.1.12" }, "module": "src/index.tsx", "type": "module", @@ -26,30 +26,30 @@ "devDependencies": { "@biomejs/biome": "1.8.3", "@eslint/compat": "^1.1.1", - "@eslint/js": "^9.9.0", + "@eslint/js": "^9.9.1", "@ianvs/prettier-plugin-sort-imports": "^4.3.1", "@kitajs/ts-html-plugin": "^4.0.2", "@picocss/pico": "^2.0.6", - "@total-typescript/ts-reset": "^0.6.0", - "@types/bun": "^1.1.6", - "@types/eslint": "^9.6.0", - "@types/node": "^22.5.0", - "@typescript-eslint/eslint-plugin": "^8.2.0", - "@typescript-eslint/parser": "^8.2.0", + "@total-typescript/ts-reset": "^0.6.1", + "@types/bun": "^1.1.8", + "@types/eslint": "^9.6.1", + "@types/node": "^22.5.4", + "@typescript-eslint/eslint-plugin": "^8.4.0", + "@typescript-eslint/parser": "^8.4.0", "cpy-cli": "^5.0.0", - "eslint": "^9.9.0", + "eslint": "^9.9.1", "eslint-config-prettier": "^9.1.0", "eslint-plugin-deprecation": "^3.0.0", "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-import": "^2.29.1", + "eslint-plugin-import": "^2.30.0", "eslint-plugin-isaacscript": "^3.12.2", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-simple-import-sort": "^12.1.1", - "knip": "^5.27.3", + "knip": "^5.29.2", "npm-run-all2": "^6.2.2", "prettier": "^3.3.3", "typescript": "^5.5.4", - "typescript-eslint": "^8.2.0" + "typescript-eslint": "^8.4.0" }, "trustedDependencies": [ "@biomejs/biome" From 136a8b2d74c29714b21e38517d852caef1e65039 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 7 Sep 2024 13:48:15 +0000 Subject: [PATCH 003/424] chore(deps): update oven/bun docker tag to v1.1.27 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a7a448d..d963c53 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM oven/bun:1.1.26-alpine AS base +FROM oven/bun:1.1.27-alpine AS base LABEL org.opencontainers.image.source="https://github.com/C4illin/ConvertX" WORKDIR /app From 5988fe8212d74ad673da701df04611bc5a91fcf6 Mon Sep 17 00:00:00 2001 From: C4illin Date: Mon, 9 Sep 2024 13:17:37 +0200 Subject: [PATCH 004/424] chore: fix docker run command fixes #127 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ee79668..f6288fd 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ services: or ```bash -docker run ghcr.io/c4illin/convertx -p 3000:3000 -v ./data:/app/data +docker run -p 3000:3000 -v ./data:/app/data ghcr.io/c4illin/convertx ``` Then visit `http://localhost:3000` in your browser and create your account. Don't leave it unconfigured and open, as anyone can register the first account. From 9bf64e42d5d0940d6068ad67e66449227f83f747 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 11 Sep 2024 21:56:10 +0000 Subject: [PATCH 005/424] chore(deps): update dependency eslint-plugin-isaacscript to v4 --- bun.lockb | Bin 164772 -> 165212 bytes package.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/bun.lockb b/bun.lockb index 1bb0c6c7de382fd973771cd05b70083f2968655b..26c02cf2ffef9ee58ffb35f0cb7da63f17ee0532 100755 GIT binary patch delta 17361 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

3+|uWKB2 zoY6*>Ag~olVlnD^8>h%hD!UCI`fFLzQ;V;X!~wGSj}tfMJWEvTbrCJDV+7=odOvfl zw6)!~t5}X5LvCQTeGrIo98HP1Gk#@-L{f4x_$QUR3 zDlMM9x4~=YS3YeQ9o`A=)NzgKE4a1^-H|Hq=X499!C1?hu@L0cRE^x|d9PD1**T2P!fRVb58NSOLcINbiKH<1ZdoedPSc6fH;=Cy~M@^V=9HeW7as zRv2V=)!2gn-sKAVXWGlVCUvahfP_7-SHZY#<35EOdZQ%2<=;dfuc`N!ZuNSMwSBN~ zpMMw8?hV?|PTRgyqw>ym~kFZ+oEbYGOYzf@sfv;*Fcw67~Ap zJo)cKb-BNYxs7l7)?2LZ|5HtxcF&90m_)_`)f;;{J)hA-?YpEg=JF;gZr)};sjm(c zJMXY*V&zY)hDf;2cCx)K_!0FDdiI&Bx5GZh*3C7`_%^s(3yad2NlY{@c1q2);*uB2F>YLmV$-o;CNv zsyeLJuZRmvpK^MBEw)RTA2L5YeZBAyk1RoAHf&iB(VwJEBJ1&UTMxlkf!$&~>_Ux` zvOm@-tL;+tCf%5{@B$R$EN$!U@APd@ zMQr{PW?DgQar#f@s7HlwJSf$B?_l(iy&{6kS+MMd$S-G}?0{HQ&h{Ig8w#5P`WGpd zJz~LL#_8Juod&tqe=GGUqQf^Jdi1y}{3xv1hmo_8?Lkjq|%9lV{AoHTh$@<;&sSCBC2$Fb)8BC>{~t ze0Sk?-GHjf{Ap>bUEr%adOdF(3mdK{{JGalb6 zFhj4b%~-Yc*JYnREh!c)RXDmXI;d)rmvMGEc+Q}_-Ak6^;b8Ry{guFOu@QD&#$o3| z_iv9MIPi$R`_dC>V2DyI&X9*5 z3Fe4iH5FbU4UN;*sqeP*)flexma-?@U zf(=&v#DD~~fp~R@+DPPwsWrvuK(%q<#Z0x4Dy9!ny-4Y2)n7sQ=M2e<$;lm^k=;uF zpCY6{|9wQu>_I~_My6vX;t|?+@?>AUcM1?=+|&TgqXRsMO+(dC;X6e2ek!3glkg8x z&H7uFA|C`);-%KXpUPwfs13!YOtpr%5vtZRsx%cYqtp(y_4Zq}l!3IQw>jY=JxmRv z<{U-GFtt_%mj_~1CowWsbrz#Ls7{6bJE);Pg_dFJkB*|7i{446!sJnE-8x=cn(&d+ eZCv-9__)E<=tK;zTCb_%#rdp}*z+%S?*9QBTpI%b diff --git a/package.json b/package.json index 3169c23..fee3040 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "eslint-plugin-deprecation": "^3.0.0", "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-import": "^2.30.0", - "eslint-plugin-isaacscript": "^3.12.2", + "eslint-plugin-isaacscript": "^4.0.0", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-simple-import-sort": "^12.1.1", "knip": "^5.29.2", From bef1710e3376baa7e25c107ded20a40d18b8c6b0 Mon Sep 17 00:00:00 2001 From: C4illin Date: Thu, 12 Sep 2024 12:58:28 +0200 Subject: [PATCH 006/424] fix: allow non lowercase true and false values, fixes #122 --- src/index.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/index.tsx b/src/index.tsx index a48c854..a69d85d 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -27,11 +27,12 @@ const uploadsDir = "./data/uploads/"; const outputDir = "./data/output/"; const ACCOUNT_REGISTRATION = - process.env.ACCOUNT_REGISTRATION === "true" || false; + process.env.ACCOUNT_REGISTRATION?.toLowerCase() === "true" || false; -const HTTP_ALLOWED = process.env.HTTP_ALLOWED === "true" || false; +const HTTP_ALLOWED = + process.env.HTTP_ALLOWED?.toLowerCase() === "true" || false; const ALLOW_UNAUTHENTICATED = - process.env.ALLOW_UNAUTHENTICATED === "true" || false; + process.env.ALLOW_UNAUTHENTICATED?.toLowerCase() === "true" || false; // fileNames: fileNames, // filesToConvert: fileNames.length, From e6a94fb21d657cfb3af56891b1a2d0f7b83b0182 Mon Sep 17 00:00:00 2001 From: C4illin Date: Thu, 12 Sep 2024 12:59:59 +0200 Subject: [PATCH 007/424] chore: format --- src/converters/resvg.ts | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/src/converters/resvg.ts b/src/converters/resvg.ts index e971378..a93ea7d 100644 --- a/src/converters/resvg.ts +++ b/src/converters/resvg.ts @@ -9,7 +9,6 @@ export const properties = { }, }; - export function convert( filePath: string, fileType: string, @@ -19,23 +18,20 @@ export function convert( options?: any, ): Promise { return new Promise((resolve, reject) => { - exec( - `resvg "${filePath}" "${targetPath}"`, - (error, stdout, stderr) => { - if (error) { - reject(`error: ${error}`); - } + exec(`resvg "${filePath}" "${targetPath}"`, (error, stdout, stderr) => { + if (error) { + reject(`error: ${error}`); + } - if (stdout) { - console.log(`stdout: ${stdout}`); - } + if (stdout) { + console.log(`stdout: ${stdout}`); + } - if (stderr) { - console.error(`stderr: ${stderr}`); - } + if (stderr) { + console.error(`stderr: ${stderr}`); + } - resolve("success"); - }, - ); + resolve("success"); + }); }); -} \ No newline at end of file +} From b30e5800c38396f7221ce56d0ba7ac2c7357803a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Sep 2024 15:03:57 +0000 Subject: [PATCH 008/424] chore(deps): update dependency @biomejs/biome to v1.9.0 --- bun.lockb | Bin 165212 -> 165180 bytes package.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/bun.lockb b/bun.lockb index 26c02cf2ffef9ee58ffb35f0cb7da63f17ee0532..055e4ab370085970a76dc8637c7f9a980a4318c4 100755 GIT binary patch delta 1189 zcmcc9#kHr4Yl5C)cDv4*w^cvNp4e|*F8RuRLcX(4h2QjsBxWU}aGfNB$~7DPO=~9~ zNj90hqm~Cu|A5jKbr609l->cQe?V!AdZ;{@)|n*5vUy8=;G%l7(1kZ*3-SfZt^ct6 zT%{iQNl=jj*Cik+FP;F#Q0dtXa2VE>-VrI~sOr#DWY zcy%euk_pe38A=M4TzP(&-FI8*i#?o9leQ_n%yLoKziw$a%k;TQj1u+c<;xdDajbKw zS}}D~;+IEBiLvY<^+r1uU%g&>MDW#dfv(hkH#bL}gQDNXL$%KJ1^>RJ_o+Z&;f7br ze-?BeGx`g363lrMk)1dFsM*w0Yo_1nviTPlcu8BM{y%qA*om`qJl*g3NdA)4zCP>7 zVwQ`tl9K8^57VDl@B3}}{;$Qg<|}DC@A|e+I(S@vy00?Od7li7`*xl5vn#zcN9*Cz zoVSyfSba3QV!!-cytCG?^X)C?PWo6XzTYBXBQD`Pk;$P;&au~$A@cpvwTibH{CIwD zfI5!_7;2M|op+l*|Id}&M9mfDasiQiwif9|5=&Y*uXg2|ThE{SO=(>Yn$rykaoN-V zmv<{{5k1oO@|v6T<1)Qz|5LVZY`k!tY59Xki(HuI%babhPxQ6k5wN#!YYEhO4M68j zMRp!T#|Krz`K5_HZqbvRZ#lE)r=LB(<^A?}Iazy|Q=89S+T39KX1VqXiJS7F3m0bQ z$|~v+&2AcP+;6u zjS9!d@t5vbUa2&%+K_JNRktN%j(S;LT=dMMt=!C78j>2~YmRg@Zm%3+U$URSXOg3=9ny%{DvjKldq)h0#zCC^LOMGn2SEM9DLt z5=o$vy=y$|Wx_4yLzMtE{|Cy50cD>4G|qma%*+JS{1>PhYQAnY1A{bB$*x(c67Ey7 z4#SifvM`B*9plZyB+A5?yFHPO>0lLDM75DgijmQB`oR(=<>?=qnYgFtH8H873$RV! z(8$C({ah21D7qBqbm?X$VHDAI%}ngmQ<|Bi(M9Eu1hkRZg3|+9n8Xx-A)r^14)i7j jlmwLqm$(Qn+LH~WI419?u#7WnrIoj=!&IJAAiChci!*ZkAK|c**Sf# z5~D{PV)`{w)I@CX{Kx)J6+l@ z>^7Sl)CL%kp_IX*KzRr*SXP;h$Ej4n>s#>J(^?XWk z*B$f1&8pt1{7h5(R_Q&yBl+$5LQX-(&M%&N@sHG1G-X=yYBtB-R-@v<)wcvHML&3{lXf%37`2rR@`b{!WLA&Ce~i`XK6>e zpetL;VF9zS8;cL~L!HM047JI~&ii7<*L%`+$*SZ3a{bQl3-a&@{1~*}RAr4`smIEj zr>Z4>nR6~O3R)uhy>-?#H2LCy<&y5qtA16z0Y ziEo;&qs8<4@}-7fCJN?8g6=04JiSrD9A#R1|69_PgRyQEv3*fCi;CwwexZ3l{r2X` zNtf^a|G*4&UIWm1Q<0sg{_x$`?ANTX@1ORY7aSaQDJtgOliF=+&%UL#pDH@Bfa7%9 z6p=fv`y?zDUfHhnXZiZ?OKm%M&#tUWiK}SY=E0LVeT@pEq~o7YmES&?E-R7KToE^O ziTr~*i{CU&*^?qvTo!lj5nK1u_3L9?-)&rxt95`O*VO-q2v6?TeGYF@n@#RqP_t7_ zS;e?rP?eFNagr4Gb_F#?mUd%`_YZkG+Z>>?6m*fr#Kcy zLp`9(^!3b4;^q(~&wxrKflBtS@vxT(x0nxA0@VB;C?f`xdHT~h`-w6$6HN18pk}D~ zy44H}(m*AXLGz b1(@A|;7kkC^ynFksw|7< Date: Sun, 15 Sep 2024 20:09:54 +0000 Subject: [PATCH 009/424] chore(deps): update dependency @biomejs/biome to v1.9.1 --- bun.lockb | Bin 165180 -> 165180 bytes package.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/bun.lockb b/bun.lockb index 055e4ab370085970a76dc8637c7f9a980a4318c4..3fa76f9ac57a8475f2f4e8273822691f786f37f0 100755 GIT binary patch delta 1114 zcmdnf#kHr4Yl5D_??CrYk()L$y7!p|9~WVg*~J+tsjySZm`D1X;Qi+tWH$O))lTkE zH<-MmRsc-@fYKIq5Pk)e-T|e5KxvD5s63d~m?Xurc}soZqI$ctg3Ue;?#LD|m*4DA zZ2WYu`h^d^9Bk9KT|B~Tnyq3N5i2*PzvN%$mcxxtwjVmZ!(D_2cSWUmZ5tdd8nCnM*I}6qGl8UAD-5 z@3g*x1XcYC$(d_ZzlbiAki8WlZnAon5O3x|?|oa}IP=VyK39oRqQ0?zp2#MK=)U~B z8FL&e=Ik?xXZCz+IPv2<`SQ10Kd>D16>D0?zUoZ(`uUoC``c7@^}Wau7mH2l`F1I{ za&y1u3!sx=&YOtrJSU!ly25?y)8?(8;wve)TUfu;@88GRe3q~6DsnP$ zx+JN#BUJj|x_nR3y(YaAo7egO``>f8mF=mt%XD95p!39?cu#Q`D<^%MpHixIja_Q* zjR@=7pt;3sJ@XE}oNfG~^Xk>J_trf1+;_JkRL5iH4$(#Y>$KLqEZh0&rL1G#luD@c zSb(868QFP#XQkIv8?642QL#ea!<94P#TBby?pO16ny!4iO}~Fri`BLFb%}u;lIeTD zJ=wIo)5}@@&{S3X#^al|<^P-T|La!!>3>1ayKP$3>tVU(uFA)%Pusj_J0{&;p7ozm zufR_9&7&WpeZOYw)x5Z$$QFO9>Kf1M1+jDGFB}R`e>3scqXxxQrWd7`L7mqCbly~C z=e?P>@aU@V7V@)vJ}-#V=21)LGCFZb`>9%4;P!y#3H`?PDSF zP{H0c9`-Wf7W1JBfHMDqGGaiPr$3FepC~gk!Lw?#H4}BWt+aCk%@Ksxh5uYR0+=M s(#=ewa4|zTOJw@iW+q8Emv_2PBNO*@wiXlvyjqy#7!9XqwlG}=0GMj3_y7O^ delta 1114 zcmdnf#kHr4Yl5CacDv4*w^cvNp4e|*F8RuRLcX(4h2QjsBxWU}aGfNB%8hRyrn*HQN3B{!W*##`2ywEe^`F5 zQk2-scuwWg%lEr}-f7)8J#NKrX~${SLMN6?3Huv8_08i@i#?t*-Y_SW+^Sm`@Th;a zKnW8A10w?qg8%~qLq8*sfC3hEeT$j%^owT2&P-NtOm3>Zuca8Ue^2GoOudBD8>dga zx|C(fgy+i)B?U{aJU`6tyRG!a9!{r8+mv2rxhU*kx3rsO`dlSOiF)($kSoV;5qaBN{UN1c&`0BVoS8BhTo1@M_(eL7+TIc$Le_zu3R3NZ$!z<-K z3p$S({RKJ+=Ddl>&YOPJZ0e~s)9-ZI{0j@bq^(i^pF1k-#MwEX?st47e@SXzpLJw0 z%SBm9Np+ux>Cdb8{kDAn*Wz09m9(9AecLA;Jgz_8R~hKMPX@+)yH5Jqm0p^o^>As< z+eu5TJ{n!IUw$s$S?kyN_Lg%eeJmBIFpX(QuO1WRho^`vp?CJl@ zyA`&G9%*}d&CU67nclSjDO)!-UbxP*{K2C|E===f&NkI2`daS@*xR?Y1nRs7p!238 zJCC8`gR0^D(!?IO=t<7EoZ0i!&mQ0MetW!}ti8;s&F3y{Zm@l`TziG&P5ID;3o~+&2AcP+;6u zjS9!d@t5vbUa2&%+K_JNRktN%j(S;LT=dMMt=!C78j>2~YmRgFb%9BuzmIo&gm| z0u}6C<6$ooZZRLK04VbxC?f`xdHT~h`-w6$6HM!0pjNQiy44H}(m(~fW~EBFPsutA zQ((x#BnfncHw)9v8X&FO$Rxu!{ZI*$()16_Ox)A+nwT_Dxop!nG%~SHKi9-0jw-=9 pUAmb`6iIAdGZXvtlx8MbR51lOR~OC_oF34^B*ADfJ+p=BG5~1#xd{LO diff --git a/package.json b/package.json index 49b8b26..683dea6 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "start": "bun run src/index.tsx" }, "devDependencies": { - "@biomejs/biome": "1.9.0", + "@biomejs/biome": "1.9.1", "@eslint/compat": "^1.1.1", "@eslint/js": "^9.9.1", "@ianvs/prettier-plugin-sort-imports": "^4.3.1", From 52ed7274e9e9a5a74b2039e82fe07c75863d1fce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emrik=20=C3=96stling?= Date: Sun, 15 Sep 2024 23:24:06 +0200 Subject: [PATCH 010/424] chore(main): release 0.4.1 --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index efd45f7..d56f73f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.4.1](https://github.com/C4illin/ConvertX/compare/v0.4.0...v0.4.1) (2024-09-15) + + +### Bug Fixes + +* allow non lowercase true and false values, fixes [#122](https://github.com/C4illin/ConvertX/issues/122) ([bef1710](https://github.com/C4illin/ConvertX/commit/bef1710e3376baa7e25c107ded20a40d18b8c6b0)) + ## [0.4.0](https://github.com/C4illin/ConvertX/compare/v0.3.3...v0.4.0) (2024-08-26) diff --git a/package.json b/package.json index 683dea6..23bce09 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "convertx-frontend", - "version": "0.4.0", + "version": "0.4.1", "scripts": { "dev": "bun run --watch src/index.tsx", "hot": "bun run --hot src/index.tsx", From 267ef1478948de3df32c10b2f11f27cb92c28752 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 18 Sep 2024 20:12:09 +0000 Subject: [PATCH 011/424] chore(deps): update oven/bun docker tag to v1.1.28 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d963c53..4f77e10 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM oven/bun:1.1.27-alpine AS base +FROM oven/bun:1.1.28-alpine AS base LABEL org.opencontainers.image.source="https://github.com/C4illin/ConvertX" WORKDIR /app From b97b12b449f8f5bb61e9a730eb1aeaa78dca331a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 19 Sep 2024 14:43:48 +0000 Subject: [PATCH 012/424] chore(deps): update dependency @biomejs/biome to v1.9.2 --- bun.lockb | Bin 165180 -> 165180 bytes package.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/bun.lockb b/bun.lockb index 3fa76f9ac57a8475f2f4e8273822691f786f37f0..977bbcd8fa226eb9b17f5971fa6ac9d043e4dec9 100755 GIT binary patch delta 1139 zcmdnf#kHr4Yl5Caf9=m3#UD@cRzJ^~6Cm-q@6p3KOWU3a9GkwvZN|CR0c$q;S=CN% zQP!AjAjL6xN38&y{R75!c`lQ{7^A&E(s!!<5+&H1;@xjS_@7BNjpZ@)e z?98T=RkMx0RPQytkjTWqz{tSDAi%)D(9Z}YpnxTX<$bQ}LUZv29!yu}C{0`WIyi0B zsrOmm+zvWlzufiA^l<;b7uRG?NM2cU*d*_dUXg>lkmb@-j^8z{v=Ddl>&htNVa;Huni}?gjo{wp7SKN7OQLXfDrj>k) zPNC@Ce;Kt6f~h`p>TXK@J$u1E(p`Bq;BTaDzPqKLVl7F#Ao}cck40N8qJOAW@ z?P_~hhDGZ+h8$ewyUNbw*~eotKK7aaIVXNOK6TZLt=xZtLqB&My!)(ExLM@X$;=QN z!#iGJuO&Lv_10%h{|j;+Tlf{76^l(5D>d@F z$zOk^8eMm1%3({5nU%>Cw&Z{Hj+XkctK{(_cj+2I)!_A2F6Z@c?dP}{cIB$uhq;{Q zkG@(!o!0<#-c)4g-Ijacb!Yd}%^nrD+f#+FpX#Yf|5{?a*Dv=`?p}t(?(hfeKHuHu zs3&=N|Ca-f4_@x><$CtnBD(i$8t3eVUJD)Xw@qKG!YJXWqI-SsHJQHbtzrpstudnE zF7tAB#hF^3yE(0=Bw>=}mEHA+_lm8p@K65QXt>omKj4FPskiULb|=}eNs_0WyFW2* z7gS~BXPhL(yzSD(O+gBt0ToCB73^K(VJ{PIF(0Y`DDxjEBLM zKn1&IrAoL@$vO;EV93HG33P-v3)9USAg$WSB*QqJDTPU4dO$N1@ASMTCJj_B+w={M zOsvz-H8F{!N^nk>Ze|jNiy6XMBGb1vGfBd^ywiOenYgF3wV)W_)xsplXf!>uh3PT? D`fazI delta 1114 zcmdnf#kHr4Yl5D_??CrYk()L$y7!p|9~WVg*~J+tsjySZm`D1X;Qi+tWH$O))lTkE zH<-MmRsc-@fYKIq5Pk)e-T|e5KxvD5s63d~m?Xurc}soZqI$ctg3Ue;?#LD|m*4DA zZ2WYu`h^d^9Bk9KT|B~Tnyq3N5i2*PzvN%$mcxxtwjVmZ!(D_2cSWUmZ5tdd8nCnM*I}6qGl8UAD-5 z@3g*x1XcYC$(d_ZzlbiAki8WlZnAon5O3x|?|oa}IP=VyK39oRqQ0?zp2#MK=)U~B z8FL&e=Ik?xXZCz+IPv2<`SQ10Kd>D16>D0?zUoZ(`uUoC``c7@^}Wau7mH2l`F1I{ za&y1u3!sx=&YOtrJSU!ly25?y)8?(8;wve)TUfu;@88GRe3q~6DsnP$ zx+JN#BUJj|x_nR3y(YaAo7egO``>f8mF=mt%XD95p!39?cu#Q`D<^%MpHixIja_Q* zjR@=7pt;3sJ@XE}oNfG~^Xk>J_trf1+;_JkRL5iH4$(#Y>$KLqEZh0&rL1G#luD@c zSb(868QFP#XQkIv8?642QL#ea!<94P#TBby?pO16ny!4iO}~Fri`BLFb%}u;lIeTD zJ=wIo)5}@@&{S3X#^al|<^P-T|La!!>3>1ayKP$3>tVU(uFA)%Pusj_J0{&;p7ozm zufR_9&7&WpeZOYw)x5Z$$QFO9>Kf1M1+jDGFB}R`e>3scqXxxQrWd7`L7mqCbly~C z=e?P>@aU@V7V@)vJ}-#V=21)LGCFZb`>9%4;P!y#3H`?PDSF zP{H0c9`-Wf7W1JBfHMDqGGaiPr$3FepC~gk!Lw?#H4}BWt+aCk%@Ksxh5uYR0+=M s(#=ewa4|zTOJw@iW+q8Emv_2PBNO*@wiXlvyjqy#7!9XqwlG}=0GMj3_y7O^ diff --git a/package.json b/package.json index 23bce09..4d4217e 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "start": "bun run src/index.tsx" }, "devDependencies": { - "@biomejs/biome": "1.9.1", + "@biomejs/biome": "1.9.2", "@eslint/compat": "^1.1.1", "@eslint/js": "^9.9.1", "@ianvs/prettier-plugin-sort-imports": "^4.3.1", From aee19626071ee756d03c845b3585752f8f7e763c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 09:09:55 +0000 Subject: [PATCH 013/424] chore(deps): update oven/bun docker tag to v1.1.29 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4f77e10..b227c8b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM oven/bun:1.1.28-alpine AS base +FROM oven/bun:1.1.29-alpine AS base LABEL org.opencontainers.image.source="https://github.com/C4illin/ConvertX" WORKDIR /app From 22227130dd6bdbcbe622a451a9f5734c08d2aab7 Mon Sep 17 00:00:00 2001 From: C4illin Date: Fri, 20 Sep 2024 12:42:58 +0200 Subject: [PATCH 014/424] chore: add screenshot, fixes #110 --- README.md | 4 ++++ images/preview.png | Bin 0 -> 53619 bytes 2 files changed, 4 insertions(+) create mode 100644 images/preview.png diff --git a/README.md b/README.md index f6288fd..e7435f1 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,10 @@ If you get unable to open database file run `chown -R $USER:$USER path` on the p Tutorial in french: https://belginux.com/installer-convertx-avec-docker/ +## Screenshots + +![ConvertX Preview](images/preview.png) + ## Development 0. Install [Bun](https://bun.sh/) and Git diff --git a/images/preview.png b/images/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..e2754f87e914b3d358815002b7ca597cc994bc07 GIT binary patch literal 53619 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 Date: Fri, 20 Sep 2024 12:49:19 +0200 Subject: [PATCH 015/424] fix: improve file name replacement logic --- src/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.tsx b/src/index.tsx index a69d85d..24c3619 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -828,7 +828,7 @@ const app = new Elysia({ const fileTypeOrig = fileName.split(".").pop() ?? ""; const fileType = normalizeFiletype(fileTypeOrig); const newFileExt = normalizeOutputFiletype(convertTo); - const newFileName = fileName.replace(fileTypeOrig, newFileExt); + const newFileName = fileName.replace(new RegExp(`${fileTypeOrig}(?!.*${fileTypeOrig})`), newFileExt); const targetPath = `${userOutputDir}${newFileName}`; const result = await mainConverter( From 5b1703db680d164afca3b752380615aad5570b62 Mon Sep 17 00:00:00 2001 From: C4illin Date: Fri, 20 Sep 2024 12:55:00 +0200 Subject: [PATCH 016/424] chore: add safe attribute to input element --- src/index.tsx | 24 +++++++++++++++++------- src/public/style.css | 2 +- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/index.tsx b/src/index.tsx index 24c3619..094c487 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -543,9 +543,11 @@ const app = new Elysia({ style={{ borderColor: "gray", padding: "2px", - }}> + }} + >

+ style={{ fontSize: "20px", fontWeight: "bold" }} + safe> {converter}
@@ -567,7 +569,9 @@ const app = new Elysia({ data-target={target} data-converter={converter} style={{ fontSize: "15px", padding: "5px" }} - type="button"> + type="button" + safe + > {target} ))} @@ -638,8 +642,9 @@ const app = new Elysia({ style={{ borderColor: "gray", padding: "2px", - }}> -
+ }} + > +
{converter}
@@ -661,7 +666,9 @@ const app = new Elysia({ data-target={target} data-converter={converter} style={{ fontSize: "15px", padding: "5px" }} - type="button"> + type="button" + safe + > {target} ))} @@ -828,7 +835,10 @@ const app = new Elysia({ const fileTypeOrig = fileName.split(".").pop() ?? ""; const fileType = normalizeFiletype(fileTypeOrig); const newFileExt = normalizeOutputFiletype(convertTo); - const newFileName = fileName.replace(new RegExp(`${fileTypeOrig}(?!.*${fileTypeOrig})`), newFileExt); + const newFileName = fileName.replace( + new RegExp(`${fileTypeOrig}(?!.*${fileTypeOrig})`), + newFileExt, + ); const targetPath = `${userOutputDir}${newFileName}`; const result = await mainConverter( diff --git a/src/public/style.css b/src/public/style.css index cff90bd..2ed0bed 100644 --- a/src/public/style.css +++ b/src/public/style.css @@ -4,7 +4,7 @@ div.icon { } button[type="submit"] { - width: 50% + width: 50%; } div.center { From 317c932c2a26280bf37ed3d3bf9b879413590f5a Mon Sep 17 00:00:00 2001 From: C4illin Date: Fri, 20 Sep 2024 13:24:18 +0200 Subject: [PATCH 017/424] feat: add option to customize how often files are automatically deleted --- README.md | 1 + src/index.tsx | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e7435f1..32fd94a 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ services: - JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234 # will use randomUUID() by default - HTTP_ALLOWED=false # setting this to true is unsafe, only set this to true locally - ALLOW_UNAUTHENTICATED=false # allows anyone to use the service without logging in, only set this to true locally + - AUTO_DELETE_EVERY_N_HOURS=24 # checks every n hours for files older then n hours and deletes them, set to 0 to disable volumes: - convertx:/app/data ``` diff --git a/src/index.tsx b/src/index.tsx index 094c487..3538941 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -33,6 +33,7 @@ const HTTP_ALLOWED = process.env.HTTP_ALLOWED?.toLowerCase() === "true" || false; const ALLOW_UNAUTHENTICATED = process.env.ALLOW_UNAUTHENTICATED?.toLowerCase() === "true" || false; +const AUTO_DELETE_EVERY_N_HOURS = process.env.AUTO_DELETE_EVERY_N_HOURS ? Number(process.env.AUTO_DELETE_EVERY_N_HOURS) : 24; // fileNames: fileNames, // filesToConvert: fileNames.length, @@ -1263,12 +1264,10 @@ console.log( ); const clearJobs = () => { - // clear all jobs older than 24 hours - // get all files older than 24 hours const jobs = db .query("SELECT * FROM jobs WHERE date_created < ?") .as(Jobs) - .all(new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString()); + .all(new Date(Date.now() - AUTO_DELETE_EVERY_N_HOURS * 60 * 60 * 1000).toISOString()); for (const job of jobs) { // delete the directories @@ -1279,7 +1278,9 @@ const clearJobs = () => { db.query("DELETE FROM jobs WHERE id = ?").run(job.id); } - // run every 24 hours - setTimeout(clearJobs, 24 * 60 * 60 * 1000); + setTimeout(clearJobs, AUTO_DELETE_EVERY_N_HOURS * 60 * 60 * 1000); }; -clearJobs(); + +if (AUTO_DELETE_EVERY_N_HOURS > 0) { + clearJobs(); +} From ea9250543e81b2a2da99504cc243eb708ceeefe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emrik=20=C3=96stling?= Date: Fri, 20 Sep 2024 13:24:55 +0200 Subject: [PATCH 018/424] chore(main): release 0.5.0 --- CHANGELOG.md | 12 ++++++++++++ package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d56f73f..0c56001 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [0.5.0](https://github.com/C4illin/ConvertX/compare/v0.4.1...v0.5.0) (2024-09-20) + + +### Features + +* add option to customize how often files are automatically deleted ([317c932](https://github.com/C4illin/ConvertX/commit/317c932c2a26280bf37ed3d3bf9b879413590f5a)) + + +### Bug Fixes + +* improve file name replacement logic ([60ba7c9](https://github.com/C4illin/ConvertX/commit/60ba7c93fbdc961f3569882fade7cc13dee7a7a5)) + ## [0.4.1](https://github.com/C4illin/ConvertX/compare/v0.4.0...v0.4.1) (2024-09-15) diff --git a/package.json b/package.json index 4d4217e..4292374 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "convertx-frontend", - "version": "0.4.1", + "version": "0.5.0", "scripts": { "dev": "bun run --watch src/index.tsx", "hot": "bun run --hot src/index.tsx", From a17eca0a099378d885af97702031e721da39d0c9 Mon Sep 17 00:00:00 2001 From: C4illin Date: Fri, 20 Sep 2024 13:27:54 +0200 Subject: [PATCH 019/424] chore: format --- biome.json | 2 +- src/index.tsx | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/biome.json b/biome.json index 684e3d3..c751d74 100644 --- a/biome.json +++ b/biome.json @@ -10,7 +10,7 @@ "attributePosition": "auto" }, "files": { - "ignore": ["**/node_modules/**"] + "ignore": ["**/node_modules/**", "**/pico.lime.min.css"] }, "organizeImports": { "enabled": true }, "linter": { diff --git a/src/index.tsx b/src/index.tsx index 3538941..19bfdff 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -33,7 +33,9 @@ const HTTP_ALLOWED = process.env.HTTP_ALLOWED?.toLowerCase() === "true" || false; const ALLOW_UNAUTHENTICATED = process.env.ALLOW_UNAUTHENTICATED?.toLowerCase() === "true" || false; -const AUTO_DELETE_EVERY_N_HOURS = process.env.AUTO_DELETE_EVERY_N_HOURS ? Number(process.env.AUTO_DELETE_EVERY_N_HOURS) : 24; +const AUTO_DELETE_EVERY_N_HOURS = process.env.AUTO_DELETE_EVERY_N_HOURS + ? Number(process.env.AUTO_DELETE_EVERY_N_HOURS) + : 24; // fileNames: fileNames, // filesToConvert: fileNames.length, @@ -1267,7 +1269,11 @@ const clearJobs = () => { const jobs = db .query("SELECT * FROM jobs WHERE date_created < ?") .as(Jobs) - .all(new Date(Date.now() - AUTO_DELETE_EVERY_N_HOURS * 60 * 60 * 1000).toISOString()); + .all( + new Date( + Date.now() - AUTO_DELETE_EVERY_N_HOURS * 60 * 60 * 1000, + ).toISOString(), + ); for (const job of jobs) { // delete the directories From a47bb682a5db7e678417abee70512d929e82bb22 Mon Sep 17 00:00:00 2001 From: "deepsource-io[bot]" <42547082+deepsource-io[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 14:28:59 +0000 Subject: [PATCH 020/424] ci: add .deepsource.toml --- .deepsource.toml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .deepsource.toml diff --git a/.deepsource.toml b/.deepsource.toml new file mode 100644 index 0000000..e5ec308 --- /dev/null +++ b/.deepsource.toml @@ -0,0 +1,7 @@ +version = 1 + +[[analyzers]] +name = "javascript" + + [analyzers.meta] + environment = ["nodejs"] \ No newline at end of file From ed59cd7aa4c8725bd1062d5c1a56013756b4e073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emrik=20=C3=96stling?= Date: Sun, 22 Sep 2024 23:53:37 +0200 Subject: [PATCH 021/424] chore: clarify that batch processing is possible --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 32fd94a..b93cac2 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ A self-hosted online file converter. Supports 831 different formats. Written wit ## Features - Convert files to different formats +- Process multiple files at once - Password protection - Multiple accounts From 22f823c535b20382981f86a13616b830a1f3392f Mon Sep 17 00:00:00 2001 From: C4illin Date: Mon, 9 Sep 2024 17:38:03 +0200 Subject: [PATCH 022/424] feat: ui remake with tailwind --- .gitignore | 3 +- Debian.Dockerfile | 63 ------- Dockerfile | 11 +- biome.json | 20 +- bun.lockb | Bin 165180 -> 217660 bytes package.json | 10 +- postcss.config.cjs | 9 + src/components/base.tsx | 3 +- src/components/header.tsx | 45 +++-- src/helpers/tailwind.ts | 17 ++ src/index.tsx | 344 +++++++++++++++++------------------ src/main.css | 12 ++ src/public/pico.lime.min.css | 4 - src/public/script.js | 31 +++- src/public/style.css | 59 ------ tailwind.config.js | 9 + 16 files changed, 296 insertions(+), 344 deletions(-) delete mode 100644 Debian.Dockerfile create mode 100644 postcss.config.cjs create mode 100644 src/helpers/tailwind.ts create mode 100644 src/main.css delete mode 100644 src/public/pico.lime.min.css delete mode 100644 src/public/style.css create mode 100644 tailwind.config.js diff --git a/.gitignore b/.gitignore index ab13b2a..b9eeb2c 100644 --- a/.gitignore +++ b/.gitignore @@ -47,4 +47,5 @@ package-lock.json /db /data /Bruno -/tsconfig.tsbuildinfo \ No newline at end of file +/tsconfig.tsbuildinfo +/src/public/style.css \ No newline at end of file diff --git a/Debian.Dockerfile b/Debian.Dockerfile deleted file mode 100644 index 60e8d88..0000000 --- a/Debian.Dockerfile +++ /dev/null @@ -1,63 +0,0 @@ -FROM oven/bun:1-debian as base -WORKDIR /app - -# install dependencies into temp directory -# this will cache them and speed up future builds -FROM base AS install -RUN mkdir -p /temp/dev -COPY package.json bun.lockb /temp/dev/ -RUN cd /temp/dev && bun install --frozen-lockfile - -# install with --production (exclude devDependencies) -RUN mkdir -p /temp/prod -COPY package.json bun.lockb /temp/prod/ -RUN cd /temp/prod && bun install --frozen-lockfile --production - -# FROM base AS install-libjxl-tools -# download - - - -# copy node_modules from temp directory -# then copy all (non-ignored) project files into the image -# FROM base AS prerelease -# COPY --from=install /temp/dev/node_modules node_modules -# COPY . . - -# # [optional] tests & build -# ENV NODE_ENV=production -# RUN bun test -# RUN bun run build - -# copy production dependencies and source code into final image -FROM base AS release -LABEL maintainer="Emrik Östling (C4illin)" -LABEL description="ConvertX: self-hosted online file converter supporting 700+ file formats." -LABEL repo="https://github.com/C4illin/ConvertX" - -# install additional dependencies -RUN rm -rf /var/lib/apt/lists/partial && apt-get update -o Acquire::CompressionTypes::Order::=gz \ - && apt-get install -y \ - pandoc \ - texlive-latex-recommended \ - texlive-fonts-recommended \ - texlive-latex-extra \ - ffmpeg \ - graphicsmagick \ - ghostscript \ - libvips-tools - -# # libjxl is not available in the official debian repositories -# RUN wget https://github.com/libjxl/libjxl/releases/download/v0.10.2/jxl-debs-amd64-debian-bullseye-v0.10.2.tar.gz -O /tmp/jxl-debs-amd64-debian-bullseye-v0.10.2.tar.gz \ -# && mkdir -p /tmp/libjxl \ -# && tar -xvf /tmp/jxl-debs-amd64-debian-bullseye-v0.10.2.tar.gz -C /tmp/libjxl \ -# && dpkg -i /tmp/libjxl/libjxl_0.10.2_amd64.deb /tmp/libjxl/jxl_0.10.2_amd64.deb \ -# && rm -rf /tmp/jxl-debs-amd64-debian-bullseye-v0.10.2.tar.gz /tmp/libjxl - -COPY --from=install /temp/prod/node_modules node_modules -# COPY --from=prerelease /app/src/index.tsx /app/src/ -# COPY --from=prerelease /app/package.json . -COPY . . - -EXPOSE 3000/tcp -ENTRYPOINT [ "bun", "run", "./src/index.tsx" ] \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index b227c8b..803d382 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,14 +22,14 @@ RUN cargo install resvg # copy node_modules from temp directory # then copy all (non-ignored) project files into the image -# FROM base AS prerelease -# COPY --from=install /temp/dev/node_modules node_modules -# COPY . . +FROM base AS prerelease +COPY --from=install /temp/dev/node_modules node_modules +COPY . . # # [optional] tests & build -# ENV NODE_ENV=production +ENV NODE_ENV=production # RUN bun test -# RUN bun run build +RUN bun run build # copy production dependencies and source code into final image FROM base AS release @@ -56,6 +56,7 @@ RUN apk --no-cache add \ COPY --from=install /temp/prod/node_modules node_modules COPY --from=builder /root/.cargo/bin/resvg /usr/local/bin/resvg +COPY --from=prerelease /app/src/public/style.css /app/src/public/ # COPY --from=prerelease /app/src/index.tsx /app/src/ # COPY --from=prerelease /app/package.json . COPY . . diff --git a/biome.json b/biome.json index c751d74..e14b242 100644 --- a/biome.json +++ b/biome.json @@ -10,9 +10,14 @@ "attributePosition": "auto" }, "files": { - "ignore": ["**/node_modules/**", "**/pico.lime.min.css"] + "ignore": [ + "**/node_modules/**", + "**/pico.lime.min.css" + ] + }, + "organizeImports": { + "enabled": true }, - "organizeImports": { "enabled": true }, "linter": { "enabled": true, "rules": { @@ -25,7 +30,11 @@ "useLiteralKeys": "error", "useOptionalChain": "error" }, - "correctness": { "noPrecisionLoss": "error", "noUnusedVariables": "off" }, + "correctness": { + "noPrecisionLoss": "error", + "noUnusedVariables": "off", + "useJsxKeyInIterable": "off" + }, "style": { "noInferrableTypes": "error", "noNamespace": "error", @@ -45,6 +54,9 @@ "noUnsafeDeclarationMerging": "error", "useAwait": "error", "useNamespaceKeyword": "error" + }, + "nursery": { + "useSortedClasses": "error" } } }, @@ -60,4 +72,4 @@ "attributePosition": "auto" } } -} +} \ No newline at end of file diff --git a/bun.lockb b/bun.lockb index 977bbcd8fa226eb9b17f5971fa6ac9d043e4dec9..336c19ee2fa007ae5aeb31f7e3f485d54fe8aa71 100755 GIT binary patch delta 65964 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 delta 32768 zcmeIbd017|_dkBlfva3c#0dly!2v}O5V(w&!4VK=&A9+kPzD7YzyZ{pwbWy7HRmCR z)CMaYQ!7hTGb>9|bIL5IoGP`n@9T92EmXD#XMdgrAJ=a;OV@`LloVtw0%pIz;|Y14~} z#6!q)d(|u6IZxIk{iB*Bm854C=4YlzQYzFcLrws915eA%9h#XgNnwzwcLxQX%joZQ zkfaLK%gW7xn)CzmS$;@vK1JySIup-k> zrI3l6{#yZ=hHgQfZ1@T)W%pI1Tq)|M;oFh#DXEPWm*RUax=l9>E~@KQW~GnRd@>s{ zZ7wqSi{R|r!1VNCewq1_9qrQxmr$Pg)S9|{6`bYHfU|2Skxx_J0dEBU8aVLclFWR+ z!CASf(n=W40w3_i>+D>p5r0M=w>W@i>i zM=+sSz69myn*nw7dWWVLjzqVmuOKrYel93T?>kT$4n=(wM-*gclspQ-{XYHhD@?4XDinhk+&Ds_a<1xVD$x-=|&2Wq^0Le((91v ziCf^Dey#lV{Ot6+!RbLyW>tQA_Q>=+Nm_*l;rfz6;26J>U6>KB#Yi*-z>49Af`ZKS zyp>o&bX{_wKCU+KT96%3DGOeKOwSC<99Y0<;|rPkW-J(*lQ|5dBy9n4UYJWXG+6g= zQSLxyOZg+Rvx`$O4b3t1g8~g{XmD*H{j&4Tp4S1+9%pCfU>)Qa49P6WWJMK#qYoto zDZ^4yv(lxtHoalV&>xjH3Z`aA1JehkjL0g;H)HHiE#ZF#lVN_@DKvR$xIXzFf>#E9 z8=O5z1*c&X;2BSFb1uO1nnC8=8H#**D!(u%Z73G15e22Z=X+aYsqtOsX@mK*tg;27HClH;g=J-UPfTt@Fh<`}Ir_$x;K z7;uKIG;n&NBRJzk3^)xykk3mWoIctgG8@XwPsz(mDU@6x)8N2vIz9`W9;pbtGS~k@ zqv1Q?6_D{UI19W7PRlofb9v1HXG4>~D}&eWspEx^SuPEn9Gr{STr;;}GX0Y_tk4gqF;aGV?kGSKWHQMN0>k_UWo8wm z=b7@ef`VyPVVbc6jmQ~_YWhmtT2fJGepX6;29PwZ#&k50J~AC!$ecmCftVkegP^w( zIvmhWa4P*B4^CMCrypyh5-WJ$47I3gz2fbe`ndNVqO04$v00XQfO9xDBA?@K>~PXj z$gHk@mLy^GD^bAd?aQ#1`Zu$6{dXaA;!eVH=5#m?&SsxFgDZY~3TMXqr_cR9Mnw%! za5frdMMLs&_K3d34%dh80XQ4J2+sM?)Zl;Q=@WAz%2m|L>A`AndJY4sbQ_zV3s=nd zNN}F)2j`YLWrSYg5O8kAYk<>$J0tZT6sBZlVY`qnL*`1ljB)2o_!gX=`52t@YX>;< z4?>UU8l~VIke5*(R}9*csvxkHRAU0X{TSVqe&Fm;O>nN9Ka2DRegNl$JqlhMycC@I zD~q-URcmZ)XEDXRGVo!pe7S@xdy$Pd`-8x@CG!U-I>Hjy)^w&G`A9pSuPZ zG(B)XxZ-@jFFy)P{Paf9t93@Jz3Q}g`npPZj!Vs?gsm&;ILprMV`f^XC!YKK)kUAy z8J@kZ;?_6aZ_4TmwLR4pb=UhSE>hsOmG$e14!3d-Kq|YU@sSZfWz`xbeM! zH5nKBI&b}SqK{fq$Fu!QE8p(%aNN-zt4Chh<$J95k;$>X#i@Rk`@D4Gh2pw7e|~j+ zskKJa^x2>NHmYR1T7OGM+@I>}D;$6ISbz4;OMYjytLk8ro%dHM~)boS_yr zim|?9!POR&9jI)*2B`xiM^$cQlUu9djbp4O<#Y{4H7+&G2|}o*KEcbT+$g6$Xl%Fk zE{{tlfHl<#XmGJw*aRk(S9dhATSJ{B3EO!|Idz|x%{tbQESj_pQcta}eLgn1in`q= z#@YdEDG`{WRkc73ZyIAg4eW`DH7e-6bJFVQ1Stag<<)&YVQP4@80%Re*vC-=TD16L ziA1Tpy(8tp>V4!cf=u6_gAHxU$%<-`uiaV~)0qu8q7s|jL%r`CqkK|Hjc9JSx?$$G zN0zL)Cj}Dg*6f#8tM{A7D3>a$5q@^rPc8I|v8G_YcQV!GH`V)oG0Lx1)ChmO)rM#j zi7ZKtYiyJA)b0K;)~|r|0EWJ_3UfphXs7P>kCex#g)L&NN_E|Jk~+cHCfn8fEn?(# zYIs15@^f{yD8O#5kJU)uO6op;o3*bY!P4dML|}~d7!ZyX^1W@=@>rW~A<3F{G9>y< z8+I9f4vMk<0?eono(rrcNv+j~4I||d>iwV?%e#>C)ZJc@)+Sh_t+lfIMua&*U?Yy| z1T^wGBvzpfpY<{%J0#5jxsh5J9AoW`l})T1XP8w$Vre+k$7a1~{q_=P$R(engbt8^xy(W>=hOUq@N&hDx?39d_B!2#uc2VZjXww z?gbVM4UBAn&3f0+fER*omgd+vI;-OXBCTVQ>ZjF8-=BaKqec&jQp4>ra(}hZ9%EI# zB#GOBqQ=3dyO7vv_|Mm7ZRP!VQZ}(!rb9yMrjgbINX0=5i=~;(Vr__J!l|bWXs8yo zuv_N=U?uwS--1L(LuzQVBsaoPs^c0*S|=gJDWgRK>rO~|84gvA#=4|UHA{C$@!H&8 zjub~hulXb-8>A|llboBF!;9%8w^8rM$5>YbOVr!&wkg+}s70+1^n7pu3=owEggHT= z8?D+DxebX{Xwgd!QVUzhSeG@Gq%K+=oM1mgdaN&dtKn^87{lAdSavj%r2Y&L7EfPE z>ZYagk!r(~bsJK;W6?k5p0B#2t=$@oiNfw!)d_Z+H3w2#ts$<5cZ@s-H7?v{y$2}@ zd5H2&ZPsW%y_`1M)=`jX5`qOr@LfpMM94)ge?n>vNe}5A{Pl7S$2RK}NGyl34zO8v zK(eb3y(6ub7CK&Dm0Q{@;gB%8=+;X}b<$F2kkY&5g(b@#=wT}h5{DGCwvWwv6%xB# zPL1ngQ+freJJRje1%Z;(T~nd4o>&d3kEMx_`sl?G;jTamRUaavdA8ImLIAnz&#Q;15gB%CJVF3t34Dh*Ga3>n zr|zGRA?dy0B&3=?I{UD*LSO@W@XIr@u=paw93fy6^NO_mNG0`Qbfn^IQ+M>XTl-;p zCTP{iVSwL+1Pv}VSpI`eeK62&ZG>7mUiyklfkYMfvuT(kgfMlSJ<@U%sUW7TF5!Bg zpx!ym2?D%i7_|u!=a0TPD!}yk$9Wwf(P`*4*7XcX>>13*S;a?4W0O+Y7TIR>eP%{mE%LTo_5+Mi$6;mvi4+$E>=>-9RMFhhAJ(Z{Bo zO;U?S+bwlrZg;KLnMn21N@Kv4%N^7QqhcJB5rkRT@&!^b53{@yn%3;Fv_%Rh39#rT zq&Nk%Gd#-)O@q2F7$<})xT!Nzx@Y3B5iWtm(LxuKY?kwodTLrW^xK$p@nMb-I%x1o zq;%6JG_hGj5a)G|LsDjUQ6G%8Th0P(OD|X&b>(`**{ZcaQctW}2Pu>rqjILJ8ZjO* z22+vQ7?iXyCkVRJ_o0cKkT^mJCHGW!Ot4!Lo?~|~ z)2vI8!W846Vox~_iEh-|v--ge=oRuXWR_w|+Eh7)6b1&d&aF4TYS-K{3aMV2ZAXzZ z>VW^;`=}8w+Lagjs6{W@ty{3HgLJz`+mv&C)Cb5*=&MF_vs*Xxm83ytYf9CA>W*%9 zC8?kK0C{sTJYl+Bh}Q=o>BER!(GrLN&{2&Z8|8$A?qkA7A*HI(fssn!0JUg}-8y1` zerkY8fjTxqO4ThvEUfhWc-Ao3W@7qk94;nA%wyEaR}?Mj-Aw-eHjwNEKU+& z{6$Eikn|I6w=_w@hH8ZFL`W?l=_k0eAhB^=+oAFIAsLNB`qjv@Xo1ydpxy(R0>g43 z#XoN0O-M8hTLqkT0}}nLw{B0@qXni6!ul*o0h%Uj*##*CQe{RG>n%vMMenRP#u{58 z?4)IVAQ?SExkZrZ7FdSfehG=uO&boS{9v_cp+EVf&R4l(C2 zXMQQ9LF(?skxJd6YSF89%ZQ=cLIltzOML)fUY54|FOIZ)hE$HG8)Y*mfDq=9JOev-J<4bD|T_D^*f{<&j7_WSB+SP6PaA|gpC(4FF|@TY9B-5Sm1mH zd5**MaYB#h+pKLNMd|&=mH)(H>W<}h%Vnz2B5Ue!eE=}O#@m$n!_|nccBN*XTGZ8U z&B)W;qg`w&Z|A8Gy4Wq%@{KTIc@8N=JycSyz^nw3Olei1K3HM5mH^b(JpFYTlAX$y z3L_-x1ueA_DZ~f3?EVNfVwGL#Hc~BGWw-t@^6^k(`hHx9K2kljRQ0huqa~J#RFan3j8qpb^$4kCEtNFR&{GzVQ;XI`6xWxu zFYP1?cta46zvBw>8-u9t3z9+2K|IKr?@s{-xdRC6TGPkc(0C*`^`d!4niXM@Y6m$h zY^94DFOM{KAnhp2SuyroO~0d_%?)2W{t0LKE@)q~usZ}c+{55K!FiPBw73_Dde|Mb zgPa{eFqLR%I*9pL?Aq~noO*-NzE%J$Sv$&dT8K5uFJC20FsU2}11WifmVi4ImbL9mM0GaF*MoY5z56{$>#CeZ$ZrC;q0+)#W>Cs+Bf6 z7ZZCA#N+Qc^-47@ozqD>44ItyI}N!krwzM}{P&G~a_aBVZYAjnZ905lWPAuNso6Vg zTbcL>U7();eHKYH%8@gfWXONVsnWsF>!3~AvVfUUhSR`~hFq2t?+lz-T@2pU z&?Dy%_Av0C;MDJBflY)AB&~ zSaAbzK$4fiz1eLXP4Bio(4Ri6mXDJulRW*k!EC&Gh?tJle1?T2G2Bba^ge4 z31#7f2IYdYe7=E?F!0d^KGu-gag@j1LIap&@F@nLZtz*)oOJWS@h2_72OC%nP6J*w z_!5IJ1*ah^489tiM_JBtYc&1mu|p!k3O8tgByBY0E#Mr2cMQG*oCi4@*loz<9Fh+V z{s}k@J_@d=N8Z-g*f)^a>#Kl+WSEA(OM79}IpOoLN8d!{E%n zV#wh78Y=^6=KgFbkh43t!CCN*ftTfkelhT}ocg~4XVyJ@P`+>IJ>h7dJ&@4~8*=2w zGk68yRgC}y1W8xp|r*Bs-|47#u}hy{E>>^UzGc#t!nv6crp zZTy=H1+AWVD&rv6JgG_g^}^%p1kV5e`wIo#z<+X`pq-WdpI;~#JsM-^+wpL}c!>|6V5idzql^(*Is2{Ck=3cb5x@7fJtzmkC?z92^rS z9=gd%%34W0Xe9R(VTxQ?^luDgog_9k2J$13%1wZ5kVKy*Ko&Xx*-hkiNmTFw(%uos z^>Vj{rGI{zM$B zAU`L5B(NEPau6;IfXc!uK>7y)IRqC50%>0rNaY|PN8rLBAoqyuCUO)mYzbt&Gmz|- zK#oab2a#UYfYc2J@}(q(1Ost$0dj=MaY@t(0kVzAxDX)UNa9l>8P$RKg#tM#iK0*- zt~G$1A#zF*&1^sp5SeWQat00~GP)*^=rAB>B{3rmh)*pb*NL2$L_|1{6GWDV1Gy-P zD@3N%29g{B!GDIk$ZtyGZSq@imL2>yW*PY%xQhHP=2#5)FK`t3ub5%vzrjth zXfmT7S{N6L7Vg7ML|p3w@rwiUJKPip|IT@jym<0+}5T4w02c8RfiQ0X$!!3X7mL~e_>sUv0#=dG7Qn)W05-P; zP*L0`(7q9X{_Ox%78}|DxJRIJdjM5M@Ad%JHwLhqKs8}a0MM%mfb0YS)x~xKPCfwY zCIYA_G7|x8BXER3ZQ+&#AfqXOaY+EbeC%>ejy0N^ePI{-L9;0%GfqG>XK(Y^p? zCj+Q2P7?5G4j{TCfCgfEM*t@XTqocy!aD(&<_BPDCjgDaPXxmJ0VH<@&_pci4B$rs z4+%6C30(jzY{5Dz!R@}Xh^P#=w+~6_#6N{9}b@ph!ahF0XRWmb}u<8xfL&$jl*%=o=NFb z4&7aO`g7-PAv315ee*yg^_#947vEbq?0i9&Ne5oJ^+o-OHETc2nE7B!O!?cBJNaGn zU4JdRecaIKnEI}f4aB%G*|oS_&BLEpeD9=3jinc>?( z{MG#r1MBtNlhU?-$;F*Pts4}-xO!mUJMIg|EWElbr}Jt@iwcWm=~2~3;BCrU*WGW* z)@LJ>7O?M3U8lb9tU6a$_=Ur~PJ8>jvvT2sjzhbBALAD4xvAZ+Z_Mfvcy+IB(dPa~ z7Ds>Po7C&KtyjNJUj1J0_0bnbiEW-Wl%pOWxjd|PuF$#4(wSwfYm6p3`ptaM?~jZF=PsOG z@zZbbzdp^qYg*3ng?;P+8(-}9m150OHy^87Wt!cs%?pwHEmLQ%?YnMs+NIAtMn!$| z)rqCcD|YWAq9bA6qu&<(Jg;xS7VmF-e%{_8r{{rrkLvt+p~1Dg-M{?lK=m;m{j0~{ zeq`-8%(>x$34d0Z`u*%$C%cWjyej&Sg+HyFyR;E+Kbmtdxvcko^&T?|kJpdt#?aZ7LpW(=4X6`GUc1^A9Ih z5u`k^9G8^XASPbnC0>wGSLC>A9`$x$d>ai^a{%gLBciX)6{*HGZb?wz@ev(&<;bqM0RMxz-en;G%-*BXS%C&J1#p!e9 zCmq}vocwx|+z};{+$Zes_gU>7cNfQ5Tf60-Y2U41N%K9PT>^ewEX5W_f79sX{G=;B zUy7wsFz?Klo1_unbZuRI%?})%at_`(0VS^pAsAI?UQ!#=LH2%^PyQ)uE_6ZVP%BjQy?LvFg8cX?d(c z%(i{fCp#C6O}jDtkB>eqzvrWIUT!^pNX@pEgiMH;vb@`=OEuE%gYLP!y(wZ;b@349 zb$Dlc3x^}QvAN%@PkwDyc)8f3DxRl0)H}T?anx&DhLjt#`gTFf!)@NpnYd}qxhk(b zeBtYA_e;g~y0h48;5va65k3sS2?9%p0Z0=+5t!Br zK=N<^>0;4v0AZ~GJR~q!B;*13k-+9W0GZ-GfrV`V^v?${RBXrx(7r8z$^`(jMehOt z_XzAJkSnYs0IY8ZAbSLW;bJ?1UhM(Y9SI;`WR3*jlmOre0A++MCRW4_yN$@Diajb3D7$8$+F>efzABp@zWV$Tk#{yZ{ z8OYkPKxWF~Hj(ySfb*fzU_=*YBz{^o=nkhTUIRe!j6`m7iM=@=dd{4ROFFH=fld{mL zY5tTzzX1JTKzVn`S(Tf&nCBH-+5Fvr(|D{=tJPO{E|8tn18aPQ=LGpH)==5}-+oU# z?O2gbzpTM>xc*P7o$&3G29GIYQR(J|@*%m_fq30|cFg=o_j~@OFD;f|vuN7G=EzPK zdtcO0ii(fQ1nb|1b}jUIa_W=P=D!Bx--SzW&6iuq@4Y5R$@9GGELbHwTE=DJ<{)dZ zX*GzF^{BQto))yyUfr-^i-Bnd5i8YNGXD(~wfYai6N0qU{FhW<0xiv@VujSq-0XB@ z_Ae^+-zdM-u>wzfaCBZMi?-F2#NzH+IMDA3GQ*TvqcZ^<<})3+^Jb#Ef%P-W;`UcD|4UXo1{jLG`Dfmkecr(MBoZFH(~cJm zjQ3&98@(w8#=A**x|)<~V3i=_X+-TvGqB2#c(aM^O9KtCiY{t!IxzNx_ey#59HNwA zVD!o^0yr2<=>>Xaw}EAYGfA&}Y+yMC#z#!}2n)TION=-EYJjF0;4pADToW|i!1BS_ z2wiGEzB2+C{`fD!QWz6BMjDta(vb!>%D~)!1tQI%8Es&7kS^|n4<3aE$T9Mx1vrWf z%mZoOL+7DyzS{pROTPi*FpM?yIFwb9rpw0}7{Y*b-Y7fXz&wFn)Ujf%N5J{t*3vN$ zhoQt!^g{Y0C~_Dk7??NG`weU&Fxtv{x6AbkrOAd~BVcbKO_%fOA?oqo?i{4)ae7yK zxTgt(c?LKGob~vC_-GM_ft*-V&};*H37lit3^WKtSF#TLX*Z7fO&$;ZB16A<+*yaT zN0g}N2fD`_uXOJ#Mq%Dn=JOMt;0p|_1=1&hd4UT9Lr|0s0HZe+8dxCGhYW0yfdv8k z%)k~KSW94Rj~*(1)c}Jbun@r|1{Q+!a-`|Dr3My?Gz-&f%M1+hRVz!3`uO8>)6zO5 z=*blZhQKRrG_aN6u&bEQU`wkY(7me-#YiJfY>k0MAWl`Q$X(W7Hm9fQqo}oLa2dF3LIZ!W9Z%`i)L)`<=@1Q?G4?&MW zw16$r^jHu>9iMl(3*rUWP+-_Rq-;JygG#tbbh)sbv*4s*>kSGH2sh!gx#=Y?% zMxF_viJ(cK7eP}%(?HWfGe9#zvp}=O1UIF6v5Mq;&?}$?AOTtkS_FC(v;?#i^e*gs z4^#@;2HFnV31ZY_lzbnw2lN5xL(oScMoPv92DmU#I4AYcmM)d*p1@!|p2Qg+aI5hxyf%s^QFNndpoXAwpzT0hA1K1-XMx zppGQ)5Kt(HE0RHw&kMBywFR{UMT6`hKA_|S;)6@wq1y|D09mX(1(O8f77XC?U^hT@ zQQ=8o--3>S4uKAUJ_LOL+6sCH^af}HXd~zx%6tzx2KoZ@CFlm|XV6X1ZO|RiUC=$y zeb57L$A2L45cCKnp>Y}H0CEIbK;=N?K~5kms3NEms4}Q3$Qe`(VVuq{-BkhRiGZ6{S0z$a0?%)N&0L6~dMF6dWJbs}H?XkUs;x3wjfD z47fLF9B4df3@8UQ0MrK*2WkXr0_utK&w)HaZ=tLYu;QlpXa;HkkS9JnNJ#Go@x+Da zDcm`EF2M-Py~z_42IG2y^OT@E@^~6>0Wx>=FF@abK0qFKbMD?tLCZj|g80lWcj`G@ z;&YLh2jZ^F-F7mF=cIK&wLpVVQF}DTXZZ#rO{^Y>o91cA+$gy*awFu%w*oXD`P{R( zzb!A5=KjR}Xa$J-(JEOy@=(eZvtDj1UBH>U-_A4+(~{k>fsJj55xx}J;8_3IG$LX-lT6Ky?LHNFBAgq5AF=!546ad3|Ec>m@H7z1&_>o{w#U5H zAoeQ;G!Mi!smpfQHp>#{ZpB?I2*fqk0^|e2u2!u5mq8NHhLe#Udkvy?01la^q*jlKs4eH5c61$M169WVcM*h9izdl(`dK&FBSf( z5HSt`D`46j@4rfOIOuA#3_ZrQX&i@@23O|ZXjZ_=8R5;bc1F7F7_$IfOns7Rh&j19 zq1=pySQl{)3k{`LS;oZ8Ht%r!*$`dLh)-A2N){$(rDj2n|FhDZe2*(d8M7hI9nKZz zF#iDTK zRd@3jy>GgHasOJ|>#LmUC(V(YMW+a5u)F!A+;3#Qe*AFt_iLel$o3Dx!V||LP*I#% z8L89~GXC{mP8RheF>dA$dtV#ar^lJ7y{%CO9-&XnpZ?yI8~9GvjkIORF-Ekx$VO2) zPxz*rmAc6~=x+W1c#kiyH7v???u}A5y}s#Uc$8A3oL0AHNR0+?GNP=L{>6G-uk+q} ztzO$vB2+K&MFnAxQe52|RMa(&_1gG(!rkSU6nT80e;@}|tJ6(6R8h=|g5y=OCkhs= z5GSKBMx~;1G+3C319LZjKz!Zw>*EF*ZhVQ9f`Mb7D~Mm(F5ijN*y9ay$K{x|}Hdx+=cb4=}H> zTa>&Zl4CK`%^#aSKkZb(TOB`jLSKUY1Lz>FTa^A(X>$$wkDrQd~{X-f$7aG9l^{P`T$K*0;i3C=#byp}7}D)z+|KwrJWK zk`VnVX?XkH?{e)QG0UaqJy#J?rIU^seVTgAn@8scjmjK2B% z>nR^J*xzoU+b^2Wv?0@~t09UzDi%D)g{t-Rf_6$Up4tj&2U||p#|a@SsqoWtbz@e{ zdVs<-2IH-bW375HYo4dx(2Fr&xhH;pfQyI`20EL>F;s#_vFf*1l9dx)BBwn(_M?~n z%c)b#H(i#z`t5blr%%IiO(a&fS6)@VXejInm~_UND&I8}vnc=GNbF5O1?JDRU%Quj z=K1PQ!CH^B1{a7s3ID)B@=IcOrqa@E0FDpLM(1}YDz&ZCd~oscc+q(L<)R7YXy{9$ zxv(cGKxI#Gwiw1T)fm7Q6X6D zBl@~H1?F!4M80FMpzcS?ZQPI2#-7khRPBOz@n42A6f>+pj^|qZHSLz)5Hn|>dOegs z9h;|%t0~CT!e%WCBAsub@JvONhj$`UG3jlAA_sD)`2+hE{A(1qPv|xlW+4tSHkv=N zpX?hn@7D%*9Fb$JQHLP03uQgLU37=+Y5wZBkv&`!c_tI&ABKqXQ%i9Z8X^2%iN0Nb zF#D8OlNH$4sevW@`1kV7Ul-Qg5op5-(1%gWa~RH}F+*^g<2)2YUn-go#p>8B`VU2Upqq$3p8RKrVwwkuq-?N6 zQ9Y~7`H6vQ=RGZr=peRa;Z({95#j;_W09G4JdO=ojapf*u`Ct=Sv#&DI$%6;5PkNdIudMpiX@X_~oi+BdkJreGAh!eYVF(B3A^ed*7R};i&uFIN>uKB|eA~{e~;el+WYDwBbsG zM@&4vUPH-kbH|>IUomP9N*b}KeZ2UNC5l>!6(dl?q*h|ic<}kH#0$mXKY`~V&Y3TP zIPS6cbhmdtTBG$#JN+?VE3vA|!tEnw?~FBa;FDFY#TJxRTD1}5^TAiP5i2G>sZ+Vx zMl30S{IHD(V1Bu_B6gJ0!h)h^mRZy=L%f-f>4$m_Q~#;V$Mu=*Y;Pwzvi^~+#o-cg zqmrlf#AgMlbVh4YX%v*6cEo`8V%ap{>)VR~lfn147g==FsrKSg;S>E(^9>B2uAf@< zgr(h?Cl1nH(g5dw9(qmgc&H}AJSL6ix>^b12J3pdBZl)m%-20siCu8TeN4ArD9IfY zn@eQ1l8y-oLf zkjJD1{jAcr>-OcH8y6)QhT^PxPJ(y|&IvW&;8F49-B)_OS8=$e5ybOu^9>iy9S--5 z%JZ3Sl*I|zdkNz7C^Ykr@a?`~jJhkvo6z8B3YQExQ%<4{w zDO(O_7_FlB=1V}<-yS`+*P;fcT22txVOpZ_#}J2_uMKf+e7V7Qa~69WWwGwe7mIv( zWz>m_bvnIawnXu+Vmv0?s^9+=O4~^rA;!SFpZ$G(NsrHbJFCHX6 z(fBn{+#IXaatx84nrtGVNC{TDCW+V=;Vymno-sIqoGs>yR(6iQ(&a?khrB$b5m;xK z?IlxTgz+ks5-I%d$W`rTj(K8)QM(eBEIh_Q(|q~Lm6R=(=z`ad8=4sC^~s_$G(yeS zwK((`HRFc`9*FN+YdDp8#?T`;9!wU?P}b;6O$+>k?s<*{WOBn)Q+}4oFvM8Gx|hn# zb7OvaJlh?*$Ny__KdUA)So}}hIR;2&N;)$AgHeBaHR6~E0MJ^8&aF_MfwaPiY2byl|pT)Ad&(fd); zf{``rH0P1IDVVmIT`uDq&Pc_9=9tQpdx5WlrT<_xjwNb#B~~*=5#bhIu0b z{!JJ$Y!lZ|vEdxe=BH|S>__Min}juBzUXM?f$LDXX6h7)(7cN9=ytpsvEB@%k>DX7)>a7F`C8Nw@ z_@4){UVqUUTfR6jMXAk`5g4RR$$wn(@j`pL3+BW!SFPSs8Am)h0V~sM?L^F&4(`v0 zq1b}$V&!!G6#wRQTv+KBzanaeQs*zO(cgPszxE6g!+8~~Uk|via+V}~ZB&v|@6Mj% zCmMz;GOj4K3$8@5X9m6l`mZksSlZouFP?IG%Gia|Tjo3|_V{vudP;bTxHl7~X_u%q zM9eIuoBNg&{nT{J>7Caar~ z?jge*_{w~}miaa!BL~sZe6f~&fU@hWpPkNDQsid%I)q23!D7j)h(qSPw#Hl=d}Nx- zRWE*Ng0D?*PTV&`eEurFw3wJF>McQdHs5Y_b;y`0)`-yMXvXFr)Dox9<_ou~wrYE- zYV`FmJqLZ2HfD+}lvTE83eVLD63dn-b!r^T)W6c-ys~v@%D8h2YsmXE#o;B2r{Xb0 z++b7Y8@_(%T;!14V-e3X(Nr)l49$0d#npH{v(6hmdFsX4i{W~AsCaV)I`r3Ovh2r0 z#jvHQ-Fy$&r?no`tWfn9Ps+581V~DjemxqoeP;LHYYu!{&*24W{Vef5%6dGjt05A) z7`qHztgsAcn}%TU8lJ4eeC=3#ryiY>XRGg2rx zCgm7kiVbga>RNFkPvtd71xd!2S&D6lXto?@Eyr`j0DQUi_)D(oV(xN;GA#^h_nAJ1 zR;c-Av((`Yqhl*pc5pwanR8Uc^rpjLS6-4mx`c8y0_UiJqCOXe%eq(Se0 zbbZe7)5rUq@HxUiS43_;Ronx`5J-1MifOCym5upwxt8^ySZ}O19|1n=Q zeNCw^cM=J&DKWT1JRQs{tek$c>cy~-!}91VkMc(3_zgp&fpb4TkyqbxbWMO5vQDWN z{~p%43mQML@#gR2Do>kp05Z3!BLBz--&fmu`Af*Ikl&F*Hzg$O*s)U9>uubzuEPtX zW14&!AU;Js%CeT?3V4$Z2oF`E@8%R<_r0>& zWCt&~d|GaHc1q5`1yK%lOA{1_`m#8EUWpL? z2S3?Ge`{w8zZS;BD}EtD4sr0V!ZSFaWPX7`LQZn<_J)d~sGsKf7Yr`SNzX4xALy5! zmxnjX<`;-dIWkn5LjMsjmpn0|>-a4Q(7Kw^OW&H9&m+}tYVuk`o1&fpj zq<>T#>H((_qM3t39T9g$X($eStTZ=J-=~^PNgJAv+W!Le)9tRzlSXKe`5CP&{Y|MR zw_Myw9N<_sy+hIO9UsNiJcP}V0qUuG==(!gaAK`IPSt7hH zC}H9k7YBD{R2JJWVh#_v43(qp9m {title} - - {children} + {children} ); diff --git a/src/components/header.tsx b/src/components/header.tsx index 1c255db..6850027 100644 --- a/src/components/header.tsx +++ b/src/components/header.tsx @@ -5,44 +5,53 @@ export const Header = ({ let rightNav: JSX.Element; if (loggedIn) { rightNav = ( -
    + ); } else { rightNav = ( -
      + ); } return ( -
      -