From 6075021aa128ed7c065f0a98269379272c4d701b Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Sat, 19 Sep 2026 22:43:19 +0100 Subject: [PATCH 01/40] blog: update image --- blog/images/20260919-badge-screen.png | Bin 320087 -> 315435 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/blog/images/20260919-badge-screen.png b/blog/images/20260919-badge-screen.png index c4a7994e957a152771e37c9a213d2cfe91d82973..beece83da62c0428548175b5701e445f5f26bd9c 100644 GIT binary patch literal 315435 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 z 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

v zJL=Sq+ktKh&orNf6DkYSlQXlEG5*0{V+L>JH7m)kM2A%7%0$6f?7_Q1;8{&izm6A? zS8BM9@P;veF35g9^reUCfIM?XV!Fqyj^%py;B5ymV7ztEszrb#T!FiVKMroe@=x-$ z_`xm&SFqCS%&Z3h)@=SKE%=6kG5`!jNLO_-(rSmaUSyoUQu}oju7MR=M%trKUEx({`X54dSg=S3XG(Rd;s+9#7mu(lVy==if)U2I zv`+}xpUUk^EFt*%(HQ_l94RZG3_w$E_R-A4Y!>Zy#}~&4`~ufv?J94^PlUSLNn?j% zz?D2BYN?-AQ|urbLx_ZGrIJ6A)vENin)K{j6?P?=df)&6g?lkci91abvezv1>;u>6 zrsvl3#kN9vth!}8LX~E|)8}!?ZETxlG=6Jjz-BK|=%^SrCh?a{dCMrGpvJB`RjoBX z>*2`i`i;c)+VPxl&GEER5Rk~GPU3zY$b1y=R!@HUX8ZYZviQCSc5}3VLLIbi2-xgN zbs|e``HkKIt;!pGHxVj%I#@k@9r~7tUcpFwDd*9R6Usy^TL*(rxTjcHOSYpq8r1mg#1)Ri9K=793 z0cndH&XuCxzNc0}FR7t;jKJgAw=hs=VzwnVwn>CJ2v^cU$YgG1sXY=K)VYihouqIA z9?VM1FSF*I#yZ@(BAq-7QoWO}aXCon12*g;N+SdfD>>HtRD1`2v=x4|w0H$ZN!E=C z-|o7w$ZX_6%ib5lX6%{CC^^Yg7S;>8(hVVsWZs_d^sO)M7cfl6D;2dZ#RVoCvMOl2 zX=mM@z0c>LU*`15lvN7Vx?XZqx#-#`W0KSm_MT|(yI&8Luoeg`L>&TG5g@2tx(RNN zf*Ct>Rj77z3!;~YO5M~NM^tF(c9R`|lKOS!)~xChC91Erax7vI!|m2|R`oSYOm#sb zS?99JZ+$=pC)&X|I@AvDLmI|Qpj4kA2k0ecVzN|rR3%!8F4$K{4cJ=SLl{UO%tv8+ah`b$d zH+|e4Hw{>*V82P}@hj39u3L6>*W%nMMjMg-mGZRx*^Rv~;D9hvh_+2L!!z)K ziz5bV`q(m=&ry(4m1r@!HCX@KObMm=<=4;pbh`eA1W*{=64#OYXIS>-;8UJ_f_+gK zM+UKu0z0gC%cFC1LsjL?9Oj=hUZrhn%=H!+pTWUkerfS+kccv{>*b5GBtZ}hm!yuF z$Gin}JAfZ!g>FqwdTo2qJx4l~H-r`xH?y+Q|M{q+EI2RDeZl;8^xRgny)(4AqhnQo zFE%`sM8~|udYI7WZ0+{#z%?ibftKk63`r~9g9vL451<8gZVOkhOfL;O-(T0Y{ZpR9 zqVimW!L|LI{{jIN?nXPE?L(-cS|m(ehePyhzWu9xG`^*sm+VvXEU!?!pzK6eohXS| z)xPuN=RPa3Mks;YKsOeBQ2DOil#)={xXv@gOyps}@lFY0YDg=uj;DzA`!_d!JmVoZ zEYx_0j)N{I!tE&%(V!^(6Y802;q1npv`S17%v8))Ai9WqM3XdanW)c-WxV@Gr$bQH&B!OFJ7 zVG%d2_2@iGzOR=2aanJ0a&ieuK~=Xh75nNCM^|j#JGWy1MI0DQzWO0a0ZY4^B7mtw z%ZIt3?^Cg$MQ69t`7dvz;;&j@iVEL8C{v@&YjfiWkDBT#VQ}~4i`-%Kzt+R z$`P`9uYW2}WX|j@!YK=!GTP3fSWUc#XERzuoe%J?T*#EY<|D-!{1ZoSUlhCOM}h< z3}dmOC7$MlRAumSi;#K?$@v=g({!1A{A6(9-Lowr_nXQdF@E{PxBl6Nh`!*n z)uAwVf$U)*9^0g*A9M2@<-J_)G7O+)B*ob%?N!)T>L^Y6fGcU#Hwi+Sce!Ocy_Dqu zZgsh?NZ*st*VkvQp2K%77b8&&mSxXSM`|G)WzX`oy*|;dLRaU5k{Xl`F_ndxLWB=GqlkFV#cq~Z!gwI;r252Ki_K{C~>Lrv{+w&I>wX11MiSR$-PD6xL^>Q68U{aaq2OVfQ1$6g-F)Whv#O)J|Pve|#PGq`usjr$|ki#t%~$zBpY%CD^*2qvNm z>PVi;SGGuS*V{H>p{#)`(TK)*o%zsw{7Mc&8D;dfao$f9$_~c}$Q#P=8Fr*O!h9?C zp4xo5YA9jqC{G}M*K=^iMvu5gdf=5dtZ_sW{5bqe3e<_N>_ z8i%L`o8@M7{8rl*IiahCTB3`QFuWhPO;clXo+}=t*Y7@Hl!^Bfp~Z1@Jx+dK3bGY2 zhJSF&)B7<&7gBPTtL0rm#$s}hBC#O7K278ZKaUAqN>sfTy8((sMg?#R`cPOrMt4!h z`TsAs}kv!?24SJY)YM0QfKcz9=#J3r!6}hhp5V= z|Mg%vO^h3QX(K!eyBu5s`SJ1Bm(CW~Aue)3WJ_kC9C6mqdQ*`nQ7bt$%P^-ezL484 zZg}Xk(eN!YlxltE2`*EamnVLIz6U>J1nSj1GjzO$edo&4!N}21yxk{6)aE`+*)zlTN41r8DC_M{@u%Y!NK^Qz1Z~=vAKqSjv5+2&I;YS zOpmDupot4nPDBO%4*#Um;E)tk!^Y-)a4WD$8&))PM$p>E3kf_TKWh41d5F{G&%@rq#c-t76)nKgWUVQ3<1T*8Gom{dh0tO*+&d9Y7orDi zpL}6@zCF49wVtMTGrJwq6-hayPgco;(#;U^IT#+z+YdAb;CRZBm55L1g=%_Fvz@@s z&c5<54nQw{5vH=|7HJ4^^I6LLx^X175het-Ibdlr%NZ z1XoCk-6f3a~lAbI6;Q zpBG9Rcg5Ules^wJ5W|Q4CnWPaEY;Y2-b!Ge6=!>SlY`w=J_a=vIJqcar`S5UWV_Ba zR5gU|vS4%ARjr%D^u3M^+*S2+^haY+j7RUDNqdlM&0I*etCRd2Qqx@N7ow3+WlX{a zlW>Qabn)$AX$+j|iXYMyrJvs%Iq%+gP-_l|CDXkS{#03%VzPZ1(Ji{O87($S#9Er! zjl0PS#AxIVAtn`-Zj|;pyU2fS??3m|(TJogSe_-C%HY^0)EnY?GyXG7tU8wK!#1)w z=%^r6`ONgeVn~k2E$DbJMeTh~85Dp_xKzLBlbh;wj*l6B#wH=G^L#$qi?$oWE#Pu* zA{=O0Ohr~Pj}=t!_+D0i9FS?LgGKCy{R{gR-Yk+OhfTgQ8WfX-Z2U;5w*N|_@0ee= zHu)9KkhS(Rv`h=Em22YRW+<* z5@?}d@WQLa5zUT$`?@1NB`2NmaPDcVR(d<(hYr!+@x6He)>h? z)AAK5q=l$Vq@r)>sGXg8S;jE|Xm1LFP~j-CnH8k&C2Y-@kS@M;Ic)F=%6^lWiFdeR z=UE4{9l<;)*$^E{pmrA?{}3bg(mJ|Nq+eM$EWyvj0`QNn+yxGIn`f?VZ-uZFZ>mba zb`(Q%F1n$-5YS`}NGwjtxtfi#^*cu%8i?MV?Q{+97w)YG2@CV|Cftc^*$jTT?D$(K zamA`fBinEma)Yvp;ys@t9i@;$tCE`lyD_ICJzcN*>*WL7cSI+>KNsu=1h7Q;A<8p! zUmmX{Db7j~tsP-6yxJ`i@pN_posnW*tbuF`hIN^83{o%LvvH}8tFJO;jaoZ#&>sla z9uf*SP3GO7?OmhvOzBLV{HmOpb=9&R>4GJM?K_SxXbiK%khd5wZ%m^+9e$U+&@{5o z>&_=1;EkOsxoPc}iVp1YF(&$cmW#%T+47oS{Wwn_v#6Ns7gJLCAn5)x8+Av8s z#shjq@WyDp`Z_2e$xA4$zS!_hex4G^$KY6u$q;5Le_U#9ZJmm*lQ?`=GP1d2ZjAGI>JyU5dE{B?8f4{oEZk?)_7`LM+&8TBT|;YtKR&oRnk z2R$_iXs9Vs|3!9`kLVpV5*eK?mBC|ci)e@r71`mVFIycYI-w%<&AR|MMIr6dO1-&_c5ub;i(EEl@2|ZBZRK zDzxw_GqucAeHthI|LX-%CW7LW&K%_|1P=#DV3!<|aSA(Tw(dsG$2taIh}#$H#ffk$ zSmXSSKyJ{DXVdiGIZ?!#P}kg3nW!#*R=Y_ON~XSJaYbPl37e#`5HE3Yl{*Z0Bhz$x z%(la{FOR7v68kS&@=zD|kQPMV{FUZ7*Y9Q2YCg5=Pfe|z4(;8@yywO0^lOwCW*^vv(5Gw6%(*8F)c zi!1N;)D@BBsEnL{_ck&+sotE`TFYQT_}@_Oy*}2p*gPrQv0JKl zNye>pwbR~j5)AK@CZs9*3nM8>Ce%e9&JQ??!MR1E_RqGM4aS6SC@V6TsC|C{JK1jw#JwglDTFFviRT$;J`xl_)(F= zx}*wo0FFH3I+mQlX~#+0<;kqLT(HBrW{K~yWX;45rCzL(d?GyEyG zJLA{DTx$L!9_+D9(d~#t@Wq_95crc+hSz%%6E`j9la7)T+iLbZy2(ywUb5^L^X$VD zqU+J{^;Zgjv%obpS{^U!$wo=v$8BWHA4lB8kY5h}hx@RzV^K0s9Emp)M06Wbs!Spi zLggc7z%dSh9*|+Pij>i(rosPIE_iACknNrIxu0Kd|1$$!&8~S3cSa=L~*;>84 z;DWbrB9>i30R`3(OL%Gj?k8OqnZk^l15(OfG4(VSHn&(#9A%0)S+Y5f;@!o(R5u3+rM7Ym6Bmg`Ree>}g z@&*Qu?OkSc2JE0Idu}Gu-6o7*kOivg&x#)l76v*@A@%s7O*IMJF^k`ZXA&$b0O@3V zFxp8P2{BFz_Z`r9`=oiql$tGbc=a z_u71>&OF`7!iHoSdH#VcHn&@7Bc;yVLxM(lw13Li!u zsp&8#3>Up0S7Mzge|j zmVA@7oSTw$zL?-cbm9M6qc@t`>~r=#T4}B#oT^bXS?&&soD&8G99tW^(WCL&4U*=}RVhe_Xe^a<%Pf@^1R)HTQoErzp(Zle;X{a zP^zmaMB7!g8Z`8|DNtu=Txs?mR6e!srMxihGc~9zc5H647lb<2Rw(u3hi&P%-Knfc z_xEBTZT*<8Nbo9>M|1mTJ=4>Bu2eeUgGs+pbcBp$XJwC7BBn|>e_9-SXU>ucSE79T zg#+?vEtA9r)VjJZpo$&S=fG@4Q%9VNZG*MVm1xnK9h(54emPrhiudI1{E3@JnERIs z3(2Fhcl$+$8}dB(gJuZ`XNu{V_l&1(un8)J1{yoP+@Ipa>eER!6t7eEMte|}Js&le z=SwG6*6STp`HOo<&CEsXG5xW{*_-?)QJwnrmX?A8d@5buXvp?E?r0ZpX1$U3Tc%?Y zl)#L>n!Rf&6Y`Uvl)c{=#yY)lxM1me{3>-{yH+z!*aZ+SQ~|uMWOG>`--+v=D?b&^ z_bkzFzLZ>YtbrW&r|(W&jN9s+Le`=?x}rRK?uUFFLkx&KZlqIzn~Mrh&GiB<1q*)? za*V2;m-Y-?OdeDn7IcN-l^r$Atu&YhtcX~pm_9a5DHkuf0ej!E?pS5inx}nZWY3lL zI^7y`{ImLT7;5|`(5K@lq19vQ#z_3y%}Co}CD$#1ovTG|O3rS7XAjkHxp*B$AntTx_bSFt0`qGgY|7t4AuPG55!%wvL$aS znb7S!n9#-IT%p|GFgMSK`vQ;fI{8_`cTmoPJywrGhv5L$xg8oq%q}7t1q%dAvAuX9 zMHm$j(2E?N;ISrnRk69@5Kg#ylLD&D3#FYpS1jV?9O&~;nKSM!$-a)~=(7)Q@9?LaiV#ay;7JClkqIc=NE)v|C0Dxe?~L`k4uvjxez8 zulq|pWwX;lxKeo(drkbPZpA`+fPH-VWOWKcd0>eE2VhYXn4sVD3$imz5B zsVeIWw&b=5;_k3#pKYzSmys`&oSU~IIaOu49q9%Qp)se{QW(|Yq{N}_R-F4PE`6qD8F7k0_#{ti0A5(xo%6fJUa}3YW+StbAEnVlEY*A(x zN-o%mY{{5pxS3^1Qw&*5H)o40=}$*P3%5DOwD&aIH|P2@yZX00&D_4TECdt<$c4X- z|IxWTnf=kZ^GcxCw~dFJRpX1C{*yE&!Mapi8mD^Y%j-&!F^}}`!B>RYy`NY73>sz{ z7L34itQl@M%4cBcs$w$g$ZyUe^Fp{%iiZX`II~1pC?arhO66ib;%XDtMPp~xwgu_JRyXz;y-Nc zV5KtzcK2fH)!=tiROecbTJWN)s{*DOb)Sb6--&8?XOi~^=7JbWn>i^r*F;7D_IjaK zH~jwm8U&iq%qN8Nq7K`XtOYdNdMCu)=bRKx&_nWM36-X@JLq-ms!t)T-jZ@dW}fdN z0+LHJBp4RHzN%XoFI^FNvVQXXOjll{i2o^D2%vkMUOr5(CB$B@9_QkUlC8jijdrS> zi)QDTVpN$Q3^9WE65p{qg1>l}BqO_52{DBywc_y#X?-xipHG;gCx+b#TpjyW?b*STcFG3DKHE>U!1@gWcM_s zmJA2HAG zB{J02B~P!%`!8Os_nK}jv0T0P30>DE9&A%9Y>#}XjsluVKgm=b;k@=VS=6GJ106cQ z;WBS3bIYvqMcuC=PrC$qKZAV{Pwk0gPQE0XZNfFELRfry<)9rDhn#O!t6!WJbR51``sW`VzDVuSJeIfL<+;51IzQiUFkzaaW^v7K=_qrCkHczc!@N3 zSKHA>0@ia9kBk*nm53`OYZRD*}&eOX3d0Tb1n%_Sx%_=w|@IL*b z&@bs#e$(0~$jS#NDGEbB-pk?ezopt4J=O`Y{$q5!#%;Qx-l=x5;}HJ-JiK9{ea4Rg zy~q&v2tzAR=Fn=Wgfo zWvQ`(z!1JOoZC;5inu4x@y*;vBB&x$l&#;z<4TfcGROVb7*~D##-2avb_;Ok z=N4%V_X-^*juA>Y9%o%ZJ5>k^gkb9J|$pyU^Cm*;5~j)OMc!h zZ``UxY;>BPHou6OF6Jy}GWqD&hAPj78AZsL8d&-9e~-uvtl`wfLs>#$g3od)L*j!PArD1p~(EnJl|9A1+aP2gk&)xh8>!+PL^0+2jhV{wZ_@%3SVTqBv5 z|JMY?G1rtZuOdG8BTcBYCGZ?_*LaUB=NxG=jCF^%ZO@{0IP;Q1LU5oRQHn>Dk z|NV~2k0VpC`p8^Q$UfA_H%&WZPmVil@;BaZt_z&>ejiGtnqLf3Md}ve#N#r5t`1spAxiOI;3VUr090spkEW;+d6M@#=-%J)% z?p;XS#Rh=H^cve5cN$5_!ry(Qdc*UnrZfj!P}+I-!?5p9=HX^l%dGi7e##1ts`XS- zrOW(epXOeGYz0*_m)MunEk{3K-2dc@=~wfRw*J7U+O;vMgp^|dRVBK7_{m5O3KU9s z1StG*-_C2s6b5^xv2OE}ktGh7bwiTGP8>J(NsOY*q>>)FVj;fbMa+3&Y6g^17$j=!~m2}C|@@gGU#5dHGk zPP&^hmkT5DTatZU1Bcc=nFMXqa9*sIY|ed8g=@c&BHHihD83F$tlf%r4;yLJL$)P& zT}*w>T;N0#9a}kwlOq~5yWcagEzWdRX&4q5;;xPOP}_vgY1H;h{eg`3ThX7T9+Z_= zA<%i`?-~o__#lqm$f!BpV|a4F4K;qpw&b>$SqfTd=U3Sv=4!un z-D_{3TkG?(m+e>wLoGA=mg<|VK4XV^t!hXObHlA&f{|~oT$cM{hnkZA;VF6rrKJRQ z+U&RGu@6KV?j`=3v0!{RPGtEqk0vi%sz=1p0Q&6ohX-G?ndeT+EnZH&jD7FBUZ0_r zdpx)6z`v>04}QE}FMU7VAo|Jii=qL=8H<)glHp{D5-#+(6NkcUCY4*O z=C_&8;lZRTXoN`m`kjC4kDI-6pC6R(X*zj-9wbPip`tOT_InQ&Hn8%$_qaQHM^aad zf+T-*sYSe>#_D!*5Dc3%Y-jt}jCuA6);jy&F6cC|;-|P@*l(?}^r9b;y1_Aw4o9^v zDlBQUE5K?xI=0nmGo$4X{8IG8h$WHg$>Osdn~TE%{S498);;cKctORxtfKtm{%$E~ z2Nyv3+}oO!BYca&FzFQ6a$DvO4}7i% zi!)2rG(5+>3L;e-kQ-*Z*5mDqUgwWFRW|T~7rKD1`TPx+E#F$0)RLN>yi`&cC)OC~ zXSi!}NMe$_YcMrbOv-oduEjD)qUZ{LVjui&uwO5lW^!FXUINbJ5<%LB8{?9x_;yG4 zi9LVCPRPY0=_puzSB;BYx?WSq+A;8Uw*Q8_2`0J0n9aH@OPxIth@cZZAKo|JTPi@hgs3<{;K(e z4gQd2`5-5rNA^nwRS+&>$4=YD$xYkY1L-6@?d)E=qQ==UIN_0WNdgYhrgE}DJ88%o zBbFzV`-TG-r=e2&W3*Gq^>TF4h5Gi-;z&<|DQ81gcto0_LLr8^nTd1f80ZxN4&(Kw|#qK$SAeOk?5 z@ZIj4|4m2lE`LOg3M4-izEOr0J@H3V9;ibKO)rGb4ZVPMoVmxGH5KgD-0i3%e}O3! zwMk`6G|;`|ceOM(2ED9vXubF~B-+#;IDw|F8tb#c#~qk+Nd{(V_vlFS;A)bxC0dny zeB*%TQb&VX;hfpsLL1$=CI6Onj@;N`%{r_JFA;$5y+;-6J)QsKec#u0t;r+kmBe;< zrD#V*`@;>C=JA53CEI+#SeAsyE&7~Wm3A+3?1u9_U&eJ|8=Ba3Zaw_k{Oj#UYeAdg zoxQW5(1xz=D2h%2bH1w8tcPH$g#{4w1V4rGjMV)p>T%dZPg)XcBh|*4a+brnj2(bgU#@g=X!L^Pc*Q2 zn~Dj<=RGBM__D&qJ!`Rj#wqT;SKyla`~5>gRQZ-^v><}g!wIJW5x!#4*NHA~vwcrW z+bk~d*kCh8yid>R6cg9b?YZNd`XSGKr8VqF*TP5ExQJ@1Pl>y;v);EAH*wrx;6AEoDXQO@Gn+Mp;Pf zH8N6)2Oh32o^6Bo$q5nAjkfWe3!zOf=9|E_C6e{yBk$ioB`JQ?*^F=w31YVpluNZ= zwH_tG)jEf-mVJ(J`GS_vETx-{25lP<^uiO38f|$9Momdz`;Iv<~M= z(;h8p@v@MD_FVll?Yj<4zyYUVMKuRM3Y)@YRkx!QNs~tJbMP%mNR0zgN}*wm5Mkl> zAM;t(3Ae>hTO=aiF52;YsLQ^nSbUz%D^9O<5m#( z3R2R)9QPoe;R!Jir4>PM%Acz9=UHe}X3%~D)+Nn(bBZRLj~D4{UZlaS7ReQ|c^|%f z0ZQ1VWjx-p_Fcm_-w6^dWNplFM*Jw@M%iY$CwCj%M@_P+pX_pWKmT1Nx|!x`Ox~UP zfTU;_#Zd5_vt$8ZExM_C&X9S1;JrCbX*aoKTw9Yfc7lsPEk?kKIQmA9(22kU2BflM zmnS)JJL_|HH@jwyA}u7Oo3DQo2x(9PogAz>KriQPQy>$G{}8eP$m`fIT{hE$|Md4) zJ)2@y5$jmKnkCoImbACrW`2_^vjFpdDQ^;`w>zu}yF8SofBuI>q(LSL!YMOE2g>dQW(8pT5k;#yLl{34bvBv5N+f?OTRuEoxj#SqR*-tNzngQn!PY8=PL4oPFz}rP!2dWHc#bpqkISHy zpJz6INFys`?w9*R=A9AB0D%FeS4rI zT_V?(rF1T5TBy|vkbD&i0N7w(2n=`q(XEe@$xWd(q+~Gnyg{qg5;8V_3|m?DDnrK~ zX8Wb}xBeYyW4YKsi`!I|b`ysZHT6l5_e7-YG5cTlY9G@WS&QHAw`?}gYrAl6_*zQa zViwVPKaCQ~e~0qOKf9M$=?D7zI*||7YDm6@==nxI5%@aF{^VP2wS4mXK1s=37>aAlmVt>QbQJdU_WHkbfeqH8vdlfq^0BT4Ps+AU zOFWFwjxR>L4?SVO1)N7S#aJ9CfF3PhEop}l0{(Hajck{Au++sIzSdklAkP0xyiT0XV z!Y6>jAN~P1L*DzwD{p_vdj;fQt1QFlz3r4`_@b1fBgdaIu>4w<-8@1Q&{=&F%O^y@ z>S4__Nld@z;4EalnN%8Zoqm+Qz><^uT z2E$i8&(8!kbCwEI7wjOtzEgz1`Fnl)kR_?rjbof#pSiY7$Dz-7-l#{5_ zy5F%(Sn}dGI~qa6_~ZLV%>c%V?91dWdwSIfZSRdy(RG6U1+VQaw+b6kb>h=li9ez+ zFZ2}dBxbqzpw#pY5%x^nEqP3yaHG@JG#KPS%X6mfO^h6+k#b<^n_4-;P;IRP6{+H( zV7%h+@EXt89NOkn-O0YkIk$`3;?jtCZt{(_FRB>d9c4^i@py_2S9J9Q)3)mYDqODQ z?j)1-n`@6TPb1+7eG}V?O^-TF+~60&5te4Qi(ekHJ}(=+mDYX&K^i+oh7z-2p%^2H z`)0%r;$eT#K3DUU)Xh$Q_lE01h`s|k zE9CF0W8@aY{JTGk%`9~Abgk?b$8U}_)@_d+W4JB=WuWlk>W7udb@#Lde{h;m zuP;wyDp<;Yq0Q%KFKzGLM<;$T+ERq)@gh+Q`&)t(#=X9UulUsqck6CfSC+Dc9n<)Ds z7vQHHQlvxB$kJ!+3eiM*SmsEA=uo@1eAD!nUZOi*D ziv4?(;uQkzPd$RTd>;vI6m`wNRK8$4{-!@fT`l5e@w1NMRa#hetnUUBr>pGWR~ikV z`8C;PcGc6@@iXKCgK`fg?&GN-D!j*egFz~IHCq-lrV)bVhU7}qvGNicd<`qhQ~Ux0 zWtwfzg}gkg*tP;)GT!himyHwKNAy5|5aM~&q5a7 zJEb@qL?ZrS&C{Ly2yYR(*dEu4ZdJ$d=67`jnpj!A{CN<8C3vD0r6?KeU?3%qBQM=?>+E}K` zm#ILuH5jJW<*GYEI1SaQN2Ci`C2w2J5?=jd{k}4|iMHzHe$smDfi;LrjLE!-Ij9jG z81j~eac?pMk+cKda|I@dXwjBAxuAE#1kOKpyPk1E*%NP~qNBykX`2#BSISm~(*&hd z9hsWOw~1+Z4^qa9X=euE4B%CqOeu%E4xokcb7Yc%zzDMkMz(SW6 zClYepL)q9UM*rLM4Naom!c^_q7niR79~;MvpUdR*hf{35T|CRaYB?aQ_6&uoH-9qcOQ%U4>Nb|3EjjBJdEt_) z_H=!^t)b~euB0H|HjE}HEo*=9Q#6nD9>5F9{(BkAD-{~7^V6#UX*-QFu?{T=t4yRy zpe4*sA2$C0`eGj=tFhK(FVJ|En1)COA_6ZNS~;B!spc}kY(}4>1gpx?w>}fl4f)9d+HI&_e;S)1X;I)3s#F3VQiwaW(4yg*$D0h%GwaEIa;i?NMmWKP~m;0wH+^yL?FG^#| z1)bP&Hs$eo=AW}=U)NS1_Ff9jOAVhXMFR(ktmQ1?wKGpZy_wQq@(JU!$PXJ<<|&d^ zpK9W});*-CP#li@7J<|QMIL?o3b^Hgz)77VJJUkvw*g&?4gv^I48^+vwo1fYGC;G) zf0kSd(0?!Ixu_rfbJWT7Sxyi3*a&-5jasN8-I+$oSZp6@qwlH%*tb-Y$=OfMzKF-8 zISa4<@oUGYQRKdh+@YlEv7exy&SLgtYP(L;tcG9gQ;u7I3+{du;4qycH34M?IiV6T zWbpAPo;w^g^5+1I*~n>Ka~(?7+0Rn!bVq(7J_RFqzDbVQ3E~ORRB_GWJ$! zU}%!^kG@g=wt*&~9x~-*><)FQql+lgqWUZ^e|=c>#wd)Xc%MYoUiXQR=Qkn_6KtjB zRHXO}kZ5Ch&$AP#-%93$`Fe98A##vFHny|Rx#=00aKA~brhq)gMp z1W+C{vc4+IpHy5^7rnoJ6bAc7*Ws2;5`-*$_A6G!_4Vp_rl>O`4?0=MTie>g24gz1ssEFHS<)f14xc|0Hrs8~_au zAZ5kxHdM``IG(#bH@j&t0ZB&33-5oetxv5vG)r^DK9vWb1=D$tc%WTq^J%SWqdFTD z4b?)`y0dbV%EYMIH5!|$DT5YDe-#gF^L(UfF`o|3oY%MjKyZV*Q~SOt9bqd<*KEX! z=LlYfi|ni_RFZDK=`T7nXul~1#)voSazCj*Td6tZF1&&9Y=Me($_s=n=Hu44;4!A?oq8zK8ZD5GI zw)c)k6T;+wW|Kn|gl?YyX2-ud4ngviR~*h=-ufSUJZd-ieL3kv)zChdbS3N+M4k-O zns}}$$^A_!KhDDb9b>RSke+Jwuft3Da8<^cM7G5neVU537Jb`OT^~;taqtIH`sp`Y zWvAUjUG84xNSXR1m^?vwO$G8C|K}X5oW<5!)b|XDgu{*xsFwy4ahmsfB88z)J+oBu zFu9h{XGIPhLqOgwd1GHYXYyFV0}Y40avlZ`g|6F#9d7RIZr2_Ot3@aNQ~uEmqUUaz z4d1?Exq^R~4AhwpZ9DU7y_S{N;@ew~qT+!o(YUt+kWNy7z5yG8_b9q`d*xcn?)V6Q zbi}^J8DuUftnsv7oXwRs=t;BMRrD>#=)c3D#mDQT)^~q5+ty>){Vgk;e|9?hMQjcC zj1{GCC+`6&6FS|8E}9gxccs34snvkbR3W}r?zb0p656>B=g!an^fMFPDJXnYuqT+u zpsdugE$XB@hi9Z%Ge=ko>13jMB~GkY9L}I46c_M>s@yO%*a7fD@$~u;P7GS*t151R zKC(VoiI9s%HGG>*vUciyRzYgNTO46KnR@O?7vrAU>ed47mJOEA@oW88gX|uoSMkHD z-z@Bgp+Q?(woo#pA1|ijngQ3}@HL77AD~A6)kABdvGI}B@BU^zy=n?C>zFrV{h30! zuzFlBse0d%tc`xrh}f=$G~4Vs0}EXv7@bEd*CxB;fuI6^|4pUu^&Q&P-i>J9z`QoP9WVSdDl zaiON6UN;;#^k6l}`yP#L9qT3IYSUidpg$+0yn+`TTB!ngqUgEzv)(65S}dw%8cgYP z4j>Qb1ox%rxh1L#b5#1~pAU+=@ATrg#KRoCy1Psw$!KkHJ};%PWIlcJjCSFRCsQ%% z=Wh>E9Qrjy*YRcyt?x^UUV0n#Np|Q!=ynkF0z2mcXPEuWORqVakE+$6hjn9}=L3S8v~Z zjVG;(i2KF6ui%RN*`v`_tW>2lAEBlt3RiEF{bDr+OoWK$p2~~-)EFUCqvJz<=ZJwl z)~J`9>;eEF>LiR}^bg)0`<(;7FfK1FL+kg?1mN-`Z>Zx_UyuPzo6dDEf5Q}?GyJ7)?- zKtzH3#1PY{$-XCgvKKFZoPSESevFUqHJ~ujU@V-;bm*fmG1)i2QZ2$-@3&~1OIUG( z-Sai~+@e47<~=w434PH5tVvH7ZJ_V6+I`D_7-Q#`s`?}mv zxgh*z_>gQn`RWYbZc?1>7?DOQhkI5&V;xk}|R^@fMLo>y(Q%=cshX$6OGc~|^3#7P}!G!hAZz2MMIj}nXP>KSV@ z-Rs$qp?8;wXNU@wZM6JKxtBW;D}sQB%IV8azBYEpcU~rz^6Yqvt$7^Q5`dEep6UDp zqENASSEQQ6kmvZ(rAHHpMF@Z0u&VlfW5HzYEprN7Z9%|x@@?M?247k9D>hfM#N<3-w z98P~Z#FO65nO1gI(n4r8xTzk%Z8<=l9mjarB>^zGeQYcIvu?%TFx!+^3VMz4waYA3FA5$UyX$VrvPy%N`}J4(8{x55kd6k{Ouxj=u~cIE9++Q}cLB=eY?t8& zd}&C1>kixe{Mo!k?Uu)$yck-vKspy9P%hY)hMADTj`90_<%n#wM@yCx9aKg*-unm+ z87UP}Gl-#cN$cx5D^~?&p+Z5l@rNgUBFpV}cwA}{e~Y(y&K9?&{ci+@bQ7n040kq^ z1&>HRJYNfpSg?wf^37XK5`vvH`6Ov{1`kUAHL(o6&3w6r*nY`*J9rq3S9n^ABjzZu zJgDL-g^5%Je0UTJMwiYciG@8Pr-Z*E%8Bo%cYXe@!i84F`qV1OvM@%rj|ba(wf5d7 zj`XM&4Z5>d3(DHj54o4Msbjzt?s=NR(P^kd6^dl zJ%!Wm{gSzc>umPm2&}L2IkOva?^j}9dq3e+C)Zgj<)O|45IK%5)Ic}6Vo%EW+z5Yp z-9FXn%k29eUC)C*`t2KkPGlU&F?PL%a|}0gOCKHZ-I&NpyYj>o-t%29&~RXU4*}1e z8DurL<_t5-zPpLW+>#z4Q=f1BLkTP*DjS+a{w(@%NdBRMmrZ8?-&TzL976G!#{nbF zvZ`=Kwf#P;?$p@1-M+Jz;;&_=wxS<>!zmN^v(m%6hgZ<`mga}eu|(Vdo2iSr0{Q=0 zHGjxltI?;r>MXytO{`m=$8l3L>ou5=Y;v%&3ctyLZl%=Q+EuGIscnHTwPt!2KL?;g;p zao^Jtm}UCv(S+91s4k->OA!PUt20FDDK0jA#}1tlaAG7#$FycVx@+KfmB6p zG`iXXwHx#jJ%H{}0Him=u=&&sPLHa72p~v@K@W8?#V^Yt;lIoFO(Sx-2{+uEhE-T#Rpf)ph`nlkk-l!k% z^!llvINyEK%x-#THGhws{~bQFL~lrS+kpyZy)9c?q9>Y5Hg+<4+m;Jkj0^QdzLW-5 zz8jNB{>=R#D30?W+t$Um5YdF6>8)dn*mT5Li2Q_2eas2i=L0fyb@i7!HJF8*2k5jA zIh$$q#@Zp>UNYZDwRIZ&U8UmU`sK3Btp&X9;$)5d!_X$5<539ZZ#%WeL8J`Fk!{vB zW=LzI&fU1*8+usFmzBIRcw@Y-@Y+lDA`sx)(H=Em3~*Y}ro$2(z-jxiI9_GgxC=7* zPGRuTIE=ynY}UKN~Z6=5$3=Hv&5%6u)!$1$ae4%36qHxUk~M^z|F6cFHpu32y6N zF2{2i3(x*0@;@&(d{`w~|Ce%*H-1@~xEBMaLi+*bZ2ZXN4Sispok=bCHja%|4H8Vz}@ zoWK1+G%Rl6&gmP28716C2hRWxJ2=VBBIbW;n*Cb?$MjVdt9aTJB2ZMe**7B+M@>wB zuVs#M8rE1B-cy)*elxY5)*g0FPr2Vv+@6(l_cHKJM%N)fXf$}>{kenWI_UIi1^eou z<`-#@2_>np)A3jO)Bt#yvI*)ma6Q(*)@FCuqX7_o{B`w$CBj|Jz*GIsOel%h-1@j9 z7eJr`T+>A{ns(iV3Rz`RN@wcEQ=#4{bP}$~z17WL+i9dVN%AeRI6YPM3hy^1dVvts(?@s&^+SAoOCL%3YVXKD2W;T;h!7s55XXT!h z!aN%+ec_v!4g@+$Pv~7NfMs3fT`W8vdQA{uX;Ap?d1U`}{&X&IN%+i?K3B@&?XY5$ zqF>rsmlr53++MfWDpTgnivTcUF{KM70A59xK^MzuCn`?YT?4}H4LWrvBBpNE^fn1I zgiA70{a4HF`ac!D@;xOx<2lqiuAo~y4s?Q4JAxK0_Z{mh)y2SPQ94_|^EJ$5F9zd> zns#)>5Ci9@z$%ua%BH)Bxwjvytbb)Y)+GUdd=Q4}4sE>01RBiZ;ugoN5EE}IaWN1aL@MQb!jI?7n8n8peXZm8 z)pG#s$w}H`aUHW30;1nb2HioW-Q#qcEm{Y3Onjfx=Lii3FMQHMKr&73kY(3F*^?ZN z5x^v|r$mbu^9tw3a;7hQwu=1FkGQsvU3#>6uC*!=d*UH0vL+!UJa=tiY5jV^h7@-; zC%-ax)JvmHD#-ctIq5@?T#@j%R2q@R^W!)N(uGK$Te`o;FLs|6lCHZ9Cv-iiIi88b z`8dYYu?%||{o(k2Ca-(uMoIo$=zE_gVkLXv+AX?F;rJjno7@!*203{CuR>lGhBa=0 z0(ZI>icMq1vEr&fKeOMNryZZ~Ac}uKRsC5SueYV!eV`>&d&n_A*f=MhFU#dtHQ-|% zk@yaS!6a%28}|Cby16P;$6tU$MEPB5!Xq3=Gb|l5j#goF^`(KB3dFoDB%U+le@Xgl zrd2x*$4CnUCX8+>Il3g7inyeod2hg3BbrNRjT(?DTnqLOiZ+c)4_DHm6iFZBkEE@6 zT8-ZPXf_S>DTAn}B6=qmKyOBFRbN?!NSu6bkegg9Ulww@8RFe!{a;iEcPUB7bre69 zNL4$@i%O-zkqlwSI|u3-byL#bMUhIEq`3$W^{G=XZg5}T~DHfYf$f_e4F=iGqU;0%pWX|5&2=OEpj zZ?yeXJkziFudp!z0vZYnY+yEcMUq0iHv5;dVXRg3s*or}^cH-1`OLJ7g#p_Sx7w!6 z?EerIKwKrBBfA>x_Xb#cvu&_RSYL@z^uZCIoeNU)-)oxpDN)9nCZpG1&e*6vt4mCHwnU{;m-(6U|3C~< zC2_y5&I1)}8os5@h&4Lf3F#F5Y<7H&-*7Fti`DPs=|-wgoorITGUFRG{6_ZwJof+l zv%``*Fy9>;ns-Xz_yaJd1`lD9~9Z2TDu3-Yj zqOkm^IuMO5mAu)>$CbCBN#korrEs6YpQfF8h4cQU$XD>BZ&3xApNF`6|C@Uu7sPG) zMwPAR*4t6hbnXUUHhkt}7#bFVYD(Z~!<%Y@ytUh5=^vFq{NS94I|=!pLhF=uw{fllrXT2snybibm9 zd#mCbz|=egk&9PXq^7{OeJ8E199QrjxZKp{?3NQtQduiMteTzqST)em91O?N!{Pv zmReJ2eQbqI{s!?7^m{T-`?QCWomyW}b4m<0-v^H0#+y*7BoS@qu>v)8)Ko zG?Hx8|NHfn0=$&Y^eHtal}QW*m>JN~r<3p(W(9d8^Em|5JbF#J3C;wAZN+@b*wdIUg7}A1JO!7$LTD-`?pEMNm9Z7P>;X& zSGEA@>(!oNxPaEfYMvdppnK8gOBM#5T3u7$!qR%} z?1iq~Z4upJ^US$eGt6TE}7h{%l_N`H!tq zbk~l?x!GC6OL(y)%g@XCkFA`DjEIYL70G<~KTYA7zM)0v0Y&?DXkA+gp{rWEtsvtqFpH3xt{KhdGe4D`tPOtB zzDJW%d@eX9IR)wXr~Lk*weVt#qc;(YRrN9VD{bk$x0u>*I<_^f*tRYj7M$E7kI>l1 zEGcWB@`mRFRCln3-gS2_bg=dKS_M#2s1_t z>FWO7`5yxQHFEg}2~ABU9mOl(X^Tas#|oDZFch2l{An&u{3obR^}8rHzo^-xNrolJ z+@N*mDXr+{KxY-2Xi@hZY4&kQwkRVMj}2Fi1^272A6nBr*nn$`kY@@|{U=B7QSS5lp+P}K$R`xnndStX; zO(DNI6uYLhy%uUYTCQT2#q-nQ$gR8M?A?Jps7TYKrfVNt5D&;`I#Hb`!Ol}L#xSdW zs$HAgif+?njaG*Jrn^ADuBXR@JcXAbBGk^(6z8ENKjxJA_+PUcpVag5XMn$5E%J0k zs0h@b{*2?Bi+JeuhD<&#lw$vDE2-Eg@I^y^3N3S9q@fi zD=fV3&@DDnOx9y@qoThf+Yd_9{N_^|N{u&vT2;=kk+e37wA%xYQPKNilX3V;fv<&v0&=1G=bXdTa4d@OQ5MLAR4R_$T|v z&5#-b`0dC^WqIJUVH{p;B&F?0yxYbx-1*mOVeC)SI+3P4#KiAnW~f&7I!^j_eRe-w z_NE3VHOz)0GccLxloKVnIbk&1>ub|>!Vln0_V5fu=gRR>fuGI%k#UKu9qnjkL7k!` z^4S~{5H(QyM^8xByE}wMaPI~ki(tqQwAHvo6CUGNj%{d??=uM;6Eq##NZ!=gvdJ@t zmaKCFA~o%v(SKj=&~ZM#c)NnD2<~{KN~L!Q3{24; z26UpYq8xVD(M{A8N_+ZTLz5?wm$dFt6EOB18tqw|#{faw(esB#IR)$M$ECoQV8N2V z7y$5i#}c}Kl@mYg^JIz7-JW@Upkk3>Kw4}Z?!8bL4w}b!dB)-Pgxq_}NcYF4Kk%~mkyNJIdVi(tU0avYDD;E7msM#ng zqK~9Ox2rSv3-5vnY0*u6?yD}=B^zNmx2g-V>XNA2{J2p>AAJ~#5k{Mk@v;>D_x~a5Er8+*+bm3+5Hz?G0>K>uG&B(0Ed+N6 z7HBjOED+q?-QC?iI6;GZ`N3G+2)_bQ7OfgI35+B>Ds;VBzPMjs5Q&u1I|4_aMw**nY45_zA zpVUq%e8l+G6+8Oqi=!|gPvi)$vt$(%Nxo(q9s{7jrEBY*eTwl~_3}GOz%KvsXU9X@ z)V~OGefzgeq*R#MLD@(L`_4cD}7Dumy! znJb3j@Skp2oU$x6U)4`NDiFBL|2g?l;&BLAA=HR=HaQo2qfUveykbO+;2!R(r!&yy z;hIL^4Bj))fFnJ3MF9z#>eJclxU*A`?)u$2gfF0=)Nek%=lbW_SM||o!#SZN%Cr=? zU1PHpNIeiH{dB#!nA6wA&uzcd=GT+^3DJVh%(%R4tTm*?LbvORjrj$Ns(3?0m&~e)}K3j-T~)J2{x@~eWMf` z^rR<_ilmvq$=&T&VYrRawK$Xas2t(?_2?O=VK_U{^J~H@ zY-|rnnq#=W#mLb;(`R_a!9Y_ITYD+V}H+!Da` z{{HRWXg%c&#Eiv@wOQY|U|Rvg-&!U|0lqgnpN0dUx$^?XEE)&>_N~i@w4f?^TF@7D z`b?(UKa0T1N#)$(@vPr%V(m?ZbeqerGA-`!Q(>~%hyXrY01J|AVhb|tZgl3fG-)b~ zk+X*R1z%ku#hk?ei{yrZ^Ud5xGavIQU(5+9LLuC4GNL)1+A8H9Iju zBn%oTXT>i}&sd|i?Foe8=-}^*(rwcv4upxv-%^ftCwj0XK^Hast38FK+`0BFi{T+J z0K`znG{!VZE@3Fql;e&oRkQEvoEN7yq`4V0y2K&H-r&H75z<}AH@{f!KFr*3*$6>l zG@X1Gam){$SvwM+q9bKAS zdt<40LA%Y%fD#;{2XB&XwEJY6sIzuXh$C#I0QZKuZQuy;VuMc9RmN2M{X z0BcQmz<2+-woddAKiOW7VcW0waT_r~O=DzdnX5eUzX`SQvDFtn+zZY8MA{ILPltTJ z=+B$wpEt1I8weZ6d=i4fR2#_Xm?&E5_UQ~~e9nPPmw$2WZt^>7WRpjZxjR{C&_p^V zmP$IWiy%e!Y&qKB;$AV{&{-GW<)x3Siy@%lqiM0Aw98rrauCm7CWEP`hm&v&*n?K%j$WhGyu3q`r)czk_d@nXUUGaonPp z^~px7%NhjRrjdH~)R0whfzX%(q4K@Kp}v`#JwA55$p}GCt8|a^X*WUpxQiji+7Z!E z@Je#^H?ZBA@ADe3n!6$H9RAy{zEVHpT*HD*q)-Y<(R>x$Yri$lCZhYCY)A@}HUX z?b5g7tulCs2!$#8x7ma3dii4a7M$?uLRsd$3F(H!lbe~gKD>)bBaf=VX{POhzj~E} zNC#{l&*q-A3luyc0|EWPXIoTp5GL-0&7xX-N=_M*U$6U0E6_;i>l+)5tQo`X8HY8# zj4YDVgT<^A?LkfZuvqa9KxCln^AKajVLQzP*7o@@E33t;cKMo#hJj|`XWM~pdcTi9 zm%M@1QRV0k4kG5CIrgZ`&FVA>d|L8wS47r4hQ1B2MgWf3sn1v-Al&SCkE9VyOkDR7 zYH^AzMZwT>R>efa{G}NR^GA!;{o9}@y%V_dDzd)h?Z%-R^q=Hn^qLQ|08};vgzeCG^{t&d52Pa%Qa?Yg8=ipo*8Zo1A$ieD|(jj{*3etNKL9d6#W>9 zsKnsHDAICviix+L|4ZKSH#e#N;0Z!o^>2xe8zlLic|51!zXD_##af$m^&*|q6}+E#MCMVwJN-@iC? z_n9RAuPnE|2bUBR2CaZbQqp92UooQ#MtO_PRp7cR!f}hV@dVgVW6%(*^2(YobRb+7?{ntOLU(KGdqSHdB=?E{PDj% z5+ve65a9{jW{{mu?u@pNW%1tUnaViCT}`)IMB4;Y_I27)el*?3S!K^_W9Q9^@e> zJYof_Lf#IyN?z%)rUba8^cI12aI+7w2O5=u1O`H(o0FE4SH`0S*Tkm6j0s&Zhx%At4U@z1y;~5E| zLRwAl-=R$eK;)cf%SMX*+$V{JL(5l6^2s)L0q^;eRu9_jcQZ#J`W^NffbL&2)V?;#-Y&LQ{vU1N}$|#{_RBYfu{Ljlk2|T9!kvg z@r?p$w}Yh4pO|{r)d?;rr(*NP+9{A?2Cg{tANwO@^|!dFx)*-?GHu9%x*XcL7ZF2h zDRcF4BP-p`Y5ywLGT4nDc57Z&d>-^LKn`IZ%$H0ul+3B-wu<*VPX##}(IP3!?)^_w zKwwb?qQ2n$F0!KF(WP4i-+tm@vgJR?9k(|~Y(BMl=eQS8W7k@G4 zcqJ&0-tyugvyJ!I1(WCL@{rhG^n?;|f+NJeHFG&)8M}&EmPld37|2QIJO(%|i>BWH zz0SNpVnll%haB2%YBHd7Z&zQ|{d6lyp@fZb3+>V~ZuWuxBWVf`3o|iG zwe$CJaDd}k+!YmLaNyV%2<$MtSPu)J<{4R2LfchWg@_Q#&6CgxvGt>TB*itFdNdxh>Iz6b0K@Mb}$N*Eh1Hw22>P9vTR&@zA@n6A$W9 z>r&kD4M#M27gwNyLhg?5dXw0PT0cm>Y+^24lC*;iX0*q)ox+rLm#^_(+;fB2TBTP0 zET;4HxK2lfwF%o{8|s&E{`@RZOwAtpzf(eo92;2U03q8T8v{|ay~Fx)Y1V#?>QEG4$SL6(u=Y7 zKb$VC{2IT8*>}Ch0UvJ-sC@xvD^~c-Cn}R%K>NmiMc%EaS(H{-r6n1 zf19&6i*>eEUYzziWdKQwZl_Us2Sf7vZH|-ANO!s?9Z3&91{Dd*Wf;3l|>!=9wRI=L%%y0Z73-4%jrc6kd3rRnH z842kw9^&%&u$59sOXO^3O&&LkAe4(h_(y(;?zXcUtMiLBvhHJD`Eq$wnlm)$8JU7^ zPGk3#rf7(k2AOFiy(Oqzz3t=SSZvwzgr*(QIqgp1xyy?Uh5RCCsXiS}#_I946YxFi zOzp6a&%;U-zM_bwh*zO4ZLa=34zC#kJK=-8=ImUjYBOQIAJR}MU)xC>U;nLB4ej`6 zLB^%SWf22UVHwg^0M|Oot?~mu=De_shQ?@SWttrwb4!~+o>(*mix#yy`7Uo=oMbiy z{Y^F2RJzk~cUE#ZJER~mSSMF`&=d=YGPRFfTkCLtUbrwlg53ajHn&Yx0WA3M7&1c9 z)~7@^Z+_?ot=28( zlBZ&QU(U>Mz4IZLn_y`wb3>`8q{L^+eWi6kgu&|&t9q(rkG<=^GB~*VEuKxZD)Bdd zJpva!x(Z9B9L6Ee&Q(3x?)h{JncN`YEmR%)Yst#4>R_1TI_cs&8DoB|!*$ce=Ng~9 zXPLx+crrZ)lVyx~lgFxnnAxN!(%`^S5r9s6s~95~|7aK+%0L{GCL!=GEvABFS^_dd zlAK*)FVdl}hewKvS{GDmMyW%Xk9k(WaoPb8v~dqcnweF2zn{kbB?;9Ro^r1P6_O^# zVam3_w>|1<&*bOu=+m5X>W%v3Y)&nrMYV5euU#64{mgjR$jo>`8docrTAun14<&GJ zqCn^UpU8}#hOXdf)+HTnWcYG(8e&pcK|prv6S_VV$^Kgm&rsv~yfA2TZNpH|R+%%& zMSyt`)1CY`9}bp{K{^LXR=qz{Y=TD!X?_APfj5=%P#2+Xid11Xc7mZj}7_4RFOI(EH5HcKUEB`QEcf3gi#=#lxYiXUrl#ObLFNSP=+*|5pO_kr%DK3X%Ni522j9r`e7LMkj zb`D4TGA{_*8(9R}HnQ%rm90WU&F&Sx*_8=o@Qc&%cdZu%EJu$r%_&dKUU-=t!SBt&8XzKDij} zNIt~&JmYQ$aP?f$7*6<}0A)Z8JzbFOF*vZwXpx7MrZ#41!X@n0$fZL~md{<*ViV@W zx}Lo#(HA#MMS-nh*ZCizL1V)0-~T@}4D~CzmShBFQs>>6faxB==*S}=8eQ*G3r`!E88aLs2#%GM#)N54V`A&_UVV!} zS5OU!Y`503>rrLl6kZ;riJv$yw-`PJ`?ZVfY(0!)ouY%FLVoCtUDm2Z+q5+)Z#DmJ z+nY0%y9tFu^*;JBDglq*!a-B$Lf7l~9Rk0r|6yce)BHVd82i0G%^uDy;kst42CGFE zate>}xb`Oon$8;}^e?1ZV((;uaWOyD<$}84x-%ggqThaHg~9cm9~Z^Du3{iQ_~#ON zXO&}MgDx-qHk}NrLugmYeTFl&yrb>5|6|q(SDvyeZon?+pPbuVofk&7M{#?x{T}C% zg!pq|xwYF3BQmI--Sd*c$In=I{$CQmv+=v|VVWo89`pcLJ5;ylEO|Dj^+PHhk9z+m zQDd(kSM)6$b*)y%yrd|PlX{I>!cD0nq} zaP#FG`67;Fz=5__9c!P-Fp{9o8a!C!jI$E7{|Rq*aRfpaD1-kQ8Q=Ds;a_8GX`6187ys(o85;L%GT z;`bIavpBscQdz&}dr8Ba%PeK{O9o`k1$FhOLo_zh=Re*>z=L^<$@D|-JUZc48-tl9 zfJky2GP$yLW516YGm$TE0zU?|oNMxNkg1;ZSGzF!Nx?(tErjZ@nSs76Si%>Z0{I<$kLP=*lpZIB|H!YhV)kQtt&Ad!cM}D%n`SR94Km;Qutn=_5vj z#9CP6ta&)q^RAoYkOts1MIo6{*biw~!76IoN7Vk}?YoQm)JUM{xG;%&bjJDJQ?eWy z#`tD2lCyfki5C5h&_*-2EFA{8UV8m@ z=W!?&c~e?&Q)DmAFVehl9_10q*1Qb~3f&SqK2;Mx3;Bf>eWLvYNS(z%&Ase@`sCcR zRN7akv}Y=pD)I1PG}{oP=XGMSeV+|}eDJVy${_Df8S0qiJ?`pVC!Ige3AwZov&`oq ztE>iWL1Vyj`i^6PZ}ISFpF(cP8E3=`%ip`OC+&8Df{56#4_{ObGsxlJdf zQ9}j3J?ele=~7gD!UrtBp1B!sjxieFC0s_u231!AmW)Dt-GwN{g^N0gb}bMfF5}I; zxN5Hit9%#&pF@U2HqIQuSI8>9k5dyy)Z3z$n<=WLkKgmn6Z056S1!`kC#in{hA|&B zuZe2jCa}#enr+x+%WC`zVa*nSPrm+5JDdh-IQ!vt+ibIl0@igVtIQHGPcho6m9s0$ z{rJ59kHous$I?HVp#7IlPeLf`Kddu*850i(&mM13+?909E!nW1yA*~{Q=FbeVijx`QbY_CjC({ zYo|8zaPUWhx*UMyB`&nue&d$NKMItf6H-2C4iU_sZ>g_CDLii1x70Oyu1lw8|MX-! zMGdH$so1wTL-*OWop06k5EsYH+AA@G9Vara>oe`RZlSV$xk=dbs;iOKygwJ1zoa8Z zKrhUM9yHa7>YpeZBJj4HSn}lxA{G|Auz7MR{6Cfelj%68@FS1KR57b3cU;&lvEwmT z`Xk?yWMjzpXXS?rym{O3T12hq$%J;URp1!9cixNoU7r}`b$=*^88K2`dsp-!K`qUgSc3aQ*gt#l%tIS>+&p6jpBnt6`+gnrp3yZby9>&BPYD+$ z;-58NA*o+hDomMLdEIXFbnIz|(Gd)zFB0E=&#cehRd79j0G;`Ngk@x^FtdoTWd+@6 z)+|H+UgxRS%dbTWI2xfM2H=7a-mZXlQaA22NROuWRthftz}hgb=^n}TdAq*t`=T!- zbsZ%_b(CiNBlB;*b*kpHeuN@XlU5s!7?|V;eUOZkZ(mp>e}0aWRe647%)U>=W4k`R zxn?t2UeAI}-|t}SOT5i}Idk$oG9#7vggD3Se+nAt;#rh(=KTDU`Eu&y)wY%;S8Kvh zTdqD)p3MIdM|;2&a1kvV1GPSZPFgQg5!AHX>qi2NA`1ko^X^sSa0)(IoCuF0oUP`{ z8++gp95n+=M&M)>TrfwDJ4zN^^4hB0S&Q!^FDM}Wsl(TTeW0h$Hux?zckvCay*sc1 z5u38lgErD|h2>;ds!!i_0_xCGNbIH(svz-G5R!^J@0(C!p){yOx7fo@h(wFW&Y_Lx zhP2`WOUIsn)0Btj6-BkcO5;yc{0jhIc{N(bRb5h#V@Tzd3!ZCmssOh?XnTZuhj{G(Pf6Gu;oK}vct^$3Lg+W%(c_7&% z$nbsptiEj(#l=u7!q_GMU(cRv%dpqdHb>MfrjHoHaE zs^AjvV`PQl;#c?Tal;Ud@U~0RCCoj)b!8JAXgJ4DUd}GXwC9}aqMg?hO2KJ^6yh<} z1%Jc_{HV_N1dqaFfuBibwXhC|n-9@V(*$R)H&0AZ|K4%4hFcZI8{|?Y_5w)}8}c<} z4Rc(JcKrn=7Zj-{V`VKT_xknI8x1u_-ijlm;Emiv)ru9WhwdFr9-p=A`D9Ch{jNou zmxt;_tC}OT&=pvXkt0Z@C*s#jSlr)dU z6)^+#?s9Lu_r&$n2z8FSK9cgub9DME#PARK;=bMT@d>eW1q2%F%9y1KRVLadd}nI` z0qR0q>X}b#Yj|643iwbf!dFX}0e4!GP%WDYZ~brlQ!7lTw6reQF)aoqkC8m)U+bjf zN__+1C^iCV$tAv2c2_^tDU&r~NxDaIfA>T#C`wi4s5Q@JH9q>+ZnC>UC(0%+bHnP` z=@n7BTeIJgTOxoUnXIGnqWrK>d6Zp!x{e6O-`6S)xO?h`;!)_8tX!ilRy>6DR+8fL zxR%ha6vAUPD(l8vlh<2ADOUU;Dp#xk9B%Wcc$0DAHfKnpah$^B7)Gz$`bByEby~Rl z=hIub@-^TJE?>U`*XsO0Hj}i)>zEIcO!oe!4yIwu(fp@B_mj!}BfT3tF>5M_= zvy3307hBQqO6ekat#1F)+|#e|FgU)XWKD-7@d|p0ti0~>$Lts`ZMFjkJ0h)#EG`T+ z6k#+jvC<$)3i)015R!QHf|YK9a_D)$R?b_NT*~{-sPYaE=k9l8cdERoRLo5Jt;*&5 z*xUV&bc)WwfGljo`Sv{$G9Rxy^giS)u-}9YU!sfPZ)EsB<^5(IsPAk1?N<=gB$CyA zO^iy8#8=3w-Mkphee#lrDUGmP+O5C#zPDG1?X=uA@TE~6BsRSGsl1@~Y+H87SSkeE zEAD_h|Av51)!px|^N+$ELyCJ|Z>61%ErYt<9lQIYT^!ZQne>$Y;?_r3oR0>REI88` zGdRoRRsuyMj3VL>u|c2U(eW-uzjX03B>gM;~`EyDP-YO(NCNu!+qTV58&6%7V!BjHaXC}tj@n5-u4Ln5LpE_jz36H)HIru zPyKN2b7rXikbPtllX9mBr2|>YZ3|##^!K^(c&z#5tsOu2z|@b< z)Y|5KqSpw7R4f_(I!#`~&{ja3&0R`VOKaR`>c9x|RZ)R+O&#Xp@O!KMSS;T+ttGNi z#g_*l@2G-durCxGB8eSFSQg&&L}(1JrSAU`Fe{>%Yj5u+(myeM zMX8-wi5X;jcmlm26n4cR83VZFkeFNX*g7EIKQwa5tq2LrmtRJMZZbBfZ~%& zR{-Jetx+`vjtSyDY#!jP{hu#b2<6%gF$Qk-t&|0cI7)Z2%K&A-?ef;)yn^*v>}TyG zfuy<|Ry%E+9g@a%#;bzCSf}hZx{vSU>Ju&bhf3TgfAKGgPtbsQfRdp%zZ*p6SlUmt zTtB1Gt6{)R+5KMrKU!vux712IYu}jg=`ZbEgIPVW&2!plOVsG-n+2me?jia~Oyt2V-%W>j87XXYMYxp)`J^K)ch`oB-3Mm+hBCTs7C6lj_&ROy_i-6z)~7E? zHj05kU;gJl13x=AWq$88rys>=f5}d#t_-AJLo%8Ab|mD=IOK8|yX{&QyGUsM$JqgZ z6Lx%IzoRjfX;=`Ny_+f?4+PVm{`c+tubcXx?}ITgeH-B`3~@_2TVuD-S`o8~zv@6| z&JStZ{8HTuCXJdQW4%38DEsRs@_&u^6G>4Tu`S;^2Q(iv=NV}uG4Y`B80Tdf>9IkX z5_EpTk&(ygRL(b%c9a@%ZsR!puj}})w$qs_4I|F2WZI)U$04KQL}=YDE84rHNk24e zWVp~M04@w*54HQ1>iYpEpvp%+=7>D6rcsF1KkcHp!ie&jl zXpf>^cqsP--*c@Ct^eOwsAYitw_q{#U{SW=0)ZH3!2$o?%|gyZAG*e+G9u5JL6?d_ zsK?VMHXa-Of8himwc&ohv8c7jf3G1A8@O?-ayET-RK2YR^k2GFQ7V)>NrzkuFjQUL zV3NH5?`4N1A;?7?6}FMZ)vt}IE|teFxW6`SJduER^qZ9*R`^C9X7JAqmmaZdxpz?5 z|9{a7K=^{8OsC@#6l|hdN?*?>OOMw$Lc%^S#lC~&P)6E3ftdx0P8I)u6)F+`a%vSc6_P<{i7Wec^gKDQc?jlQG8$7r0dYSrxe=x|8n0E9V zB7D4pD!2u{#~^%P#VauyfCI`9F2`T}OyhLzdhwnOOPL#%IJAw!J~2>y35j3qZMZD@ zAbI9;@t4Q!RSI15|H)R+cK1u+mBj{PJ#+v;714%4mp9_dOT(gd%ONGEihKGxic7rQ!af~4Mu-1EIewx7}XmQC(w<>y?BQxsJclf zSkZpJe+U|L37-Y>C?7HyX@*Fu_EEsn1~SsWJv;!NlNn&stxm8C=uCi!IzTXJdJTx> zx-MR&Qh+I+nwWbOKK`v(m1>iC&HNErU=%50@RAA(!%v-9SNytY zA0k^r3^c~JT@hB+CfoK@VZFPAL9%hWEPj3fR>3DhG0z%=_wTs7*r7eJ2%AazZm(nL zhu0bpcyWj1NH7>U-j*6_?Y0+&zdQ0 za@htmnr3O(G>Fj%`K<_iNaq^Dto!2MGpCH?E09Pv(SXUggf%P2>~*m5d(HTq9wI5^j1%8Od<1pD%wC|M6ZkK@Z=%>IR@Wowbso_-Mj& z;z@jgNq^v;Qsoi^sJ5Se)vKsBdK9+XRrcTQ2jtQbhLY>(I@7|=w>gar#O(6G`kNgB zxZa5E1W}D8Ck#+M~DUI0~Ow??L+FVZ`DlDRO)xX z#*u8mGxEl<4@6kNC??;k-39kw#ws@NW3+d(gYDMeNSqaO4D=Ynz6|R>Lk;VX4Pg_a z+YYP!l1~AxGSea;(i}061Jl#<9IVWtSA27i@@w_-%`C)t z*RIu26c`?}BS$+!DXiFS)KH=qv{lfwdl3?-m83pnMxT0#E8KQs%f*ch^jN&)8i=~K zk$(j~EwtOOeDcl4{T7Pa+RZ%7eN?G2`9u8%f2T(*&WXX93{n`y@ITe!_J=Fj?TgYrw4`Z$3ePi8-D8kFPep;-Yq2i~@b?e5Z|- z3hd~;UZ_38tR3$2W;1$jkZMl)Oh2DxY&B035Z&ZUEN2 zNf1D;I&Yc++4cl?8s8hbe_innakuaRboes|SBd@LzD0u&=K29OT}M?RS*2c13rh6O zaKESyp!&k2?fG=o_EK6s#IVxdJikS+=pr*ak1&zR`g!C20N^YE1OGCszEC0-ZF&js zqh7^C@@|of2+v1jryg{kZ$Fpp0%jvzC#@GyNueKNWLcW1ANqx!*MHsGMYyFl{546? z-L^Lxv1;DSC*u0CA)%os#fUZ)0AiEZC88pM)GE`9b_Is@OT9EiKO8^*cH!u+7}t>+fq2K3IeVaZO`ihmhA~ZNcYTQp$#q<+n}3E*-byW#MN}bx7Y+Tt${ z5n*~t=}ZX9X(7}`>ue<2+BzQ-J7h9;w+gO&K%=pP&${j4=jgMO#{qC!&alGTo2cjSPTq{I%`hqu{FaMr2ak&(<=r8yChh^43G`J+DIcbQUe>5g?t_ zlLjhIqYi{yDA$2h;kJY=%#=KNorbPYZ~AeAUJd%0Ec&mw@~Au3yiuE-iN!c$sjAtw z8fl+;F!-4|fYgANU7mIM#{9>v6PGbJhT%_nOgz2R4e++byThu_Z z&FV^wKmC`x*BOUn)!K>vfRebrZ~#JKgMu?WYu!pWOh)s*dEgL;^D$Cv&ez!iVsWgc zzc}BldV01`De!|Uaj84!fd=TC4#Ew z6CjvVinnO^9sAz#0Ab~ON!d2n7-)yIprAUi@Yqn-^Z6o!pVVdG+f1ou_^a5z>5#xs zyC{P1ORplGy7~CaHPFYZ(<#edVVoxVXOlbV^!2ZV(|ooaikI8|VcuJy<=zZOzhtys zz|`gzPI~@DlOn{5Of?%&RfP za5|Ir3UjEetysh3Vg+b9n1I#zt4lk3sGGS*M%Afs!<|N>4XKy!XW})IFt@AjbM{(I z=AXmE7$$Bi&d23%!9nd9VCs8y&GwFP|wmN^aG12nhCHlCg26>Uk%73$T5}uSYns)iw33$uhNy#F5YlW3F%JbsF%AS5=>+ zko9W$fH;b707UFfT!|+ZZSfaX`B+UJG4W{eKJ4xb#ncj22S}b6N@=KO#-(QtZ^z`| zzxT%8(SATC*~Wc?Wc?Mc3cY?cZkkbrch->!bIsIT_INmgKOocA<=>hgeE~W|$bxh? zaF&w$UIZ6#bq_rSa7qD*7husy^6DracQtS@6=5|HSRZ~sV?;FEsiqclr@;+@W9B2w zde=LFG~z|%GVUKpbxz_VR_z_AJhA}*mmw~sKgNaM5qvoHCf&1DL*{xi*KfK87l8o$ zq$ieM1#Wmu^JzZAb-&1@*?HX1_-<0LQ7xJ4PvSqtn1RFw8Ye>_-X_f6qWj%bkeC)J zM|NFrmI(o6n4*}1(9@*`Px(6tNkNc&tJ>MOMD#?%w_a*Qv{14PYFn!J1(bx_JDyR@YhSn%R>kJlXOh(DbRyJG*i_4f{upFwv$8>^)gsDWbquE z&wqmHmqZ)Q=BDuOA*>qn0=|6dP74-i$pDQN?nP^*Q}f!7CL*pOG|YF&&)e!{4j$G| zrsEJn)}9D5FJ5q3~MYcEA|Mlq*6y`9{H9O=}hLOK|f{{#%I>hcR% zNsJdWYlJ2Gc0?1ZCV>dL=l- zic?maX(k*~krv{iq5`(~_=?qGcRR#fZg7#}A?H+>Tfyd=!jK4gy&h$;_xVo%v@!#e zvXm7hPG#u`N04ff#|GQ3z%j-X| z-GphhajhIN3ERpR3B=GLb(X zjG^skn~Lp?u`)i#jwpaFwFq^>qs7*K{^pN=*~oXF6E^l~c*4OKo#X5h_AkZtCm|Gk=iP^qi{ds}Vlf}rzDiEXruLW^)HQ1uU(Nb~%DQtGBz$GE} z8gQkX*PS(79!}_OD=M9XrQYb7OW5h~SY10<6$vF1RizzYkIUj!0K5|hGzvIdyCw*Y`|05(1U zUBioZ%6ncf37yFK+ZXsRS31ThN$%^&+1!H1t?*Y{e_imNeNW~q6~vq@qjW=xdg`6p z4iqCInuNbO-=Rw`>6via!=z8j^toRH@6tF{LCJxYkf11Z(=^t5x}W2E-U!Tk#)E?{tX+_(92RESEk^5k*POr|2*mDIQ`-I{^{6oQmxYLUHP+FV>A^7;{BM1f#cQ zvDgsas@{Fmj?X+%e0@RQ(hN_MhIkX!eWIJe6JOAotoz*sI^Pkp!2!^q=Eyq|g*Uv! z)&sOYlnbA!BqYoi(4{1-FWC6&1xiBL*4D@UIn1H&=g_<_F+)N+&_m4`Udth;z!HIP z!9|OZk$o+H0E6f+&$l4=G4RF6E~Yeh%a1@br@x!hq*UNi8L#0%rOQIANX7_Ja`QCJ zc~Mi2GszV>Yg^x|jrW~Lsq03J#+5P%Lbdaadf$dW-Ica_^^7i96`|h{W`^k!Bq8{{ z#zrw;_x-7|eCuU|h@U!0qF7r6wu&}|1lv~D-oPZBs-Z3|_imA73{}El99k=7iJ_5ah%o+)FCpZW$hn@A5xOadG_-kf zng>Beg496W)1ntD&i@*Yy4QMUb$Lc=~DR`tg&g7_HqST^ad zc97z5!7c^`URh(ieFGE6npUJHioe`KQXm0VNdsyGd;4?^tMm^y()~&oeC6cq4bdSf zrD^%URM}8;1~SxhK80m~;C#e?3u9r!7)GI6xQ|4b62-hDeFn?;^Kv>9?|CC^!_(OX zOkrv3Aj$Ka8bAZIO_NNZD+Ai#LGIkDyhFAYcI@xxr`fco^nVQPyFy$}fE`745scOh zussERr*=7v=!?nw`%RrJ0fvjYU@#7E(LT^>;AMn!ObqhTlz=G>De3#p{l{$yrDB(4 z_kZua1Ls2o)Fio2Pt>@nCSwh$(*`kf3C&Di$JkBUi{OBKU7FTq1m*~vKPX9mCota6 z^Kv3qS1P!T1ZjN1p5#s)K9JPzbS%zjTO0752y|JYVQ$rR`8Rz3x!|#6Zy;q5DPIW7 zAsy~Cwx6v#6cIEYzk^dR{I7^Xw&3ECuP$T?qPv(^=c+J+knC<>dU5MJFW@~$cl0r1 z&QV5^{K@F!!^jm>0^fN<8wA!z<>CQ$Ym@TH{x&@}0f4B3FN6Vvz$1D$N@^gNrfOv@lX<*ZQig7XwWv}M5X4F;| z`eWiq<}z0q@Abu|JUN!B+^2yQJj!!b;-S!HUP1*7S!>_EQA*#Zq4g7+x=;>S_<;@wqp z-~P9JWl4%(KT>h0%8Lq;ZcdMpaLBpNbPifmCrWW#RIEE4KIvss;hZike0W1B->g?)LG!CPYGkO!+v8ahC^HY$6*b zTCALkm6c8|i&T5kF*M@c{v%kQxk9lVYS(z<75^mBq#6r`d-sUJX{))-*Tta7ho(a0 zSoDm^r!ki_2!hc6D}U+}Wh&bOZTLfk?#*u2U)!sqkhnPZ!nQ%aWQd1SwX0xw zr_`G{0s2YZvjr%=>X+5;uH6UrOJ~z^ZhVq3F&xrmB!OE>1 zyD+-{taVX2y}@7LQxpFk3T0bo`=VNZLO8kTfByb6uauBaExJ~G4EoZXo$+@c&Xn&l zU5DP9%ZSk4`+svIDFW;kp}AE2e`dL&Oy6?q2r!}5plG8Ys8GBSOg0JxIkL~Q7j;=Wps+|;V!+MymS}Rg@#&O+Yf&wiQweNb4j{KxY(heOA6C^q6vW34`h?Cl;ts z9hZResPVh{4`{5;Pz^++>~Jdb@>Ra1c}!j{y;{puUE}bwGEMD18?IDcBB!>9NvqwV5q5n=A(p}e^nd@J?jBMvW#LRe3rT26yR5X87M$^!W0AFh z(deNt&+^j8cPU18xcmu&6jW$sQt1H{{BS;EFjMeStk-2s7k$5Bqm0JIEC<o?tF_kSvB$5x3T`;wyNjE0xfgqe>V!ray>T9?i_Rna2!66 zYMHo!qEMtOsx{M++|P`tN2MrD=0AN#f{HB2`^dJi^*@E+$&YaBSXTB2;jjPmqPR1B z2@k@Ic~joDB@6B@WB$B!6y!fmp-G1fdOw?}arVvoRDq=;qm0m3fxWU-j<2I~}BOiO~LfYSD-q0K!~uk?3xg$%5o z#h^ZJ^CPw+P0#UL>xBbumBneQZR}c*tp@rWL4T7oHuqaFOxA_f)7-mVB-r-Jfneg& z-VrKeBy=RRDLIiLD+^Kbl9WAf$8PH(bAo`@L-wcFEUa57&DKH$7nX(gLDHw{s*OG( zmrgF&$uJNq0!2U&$|#ca=C>kAQcDYCn{Y^D)Q$B%>>U?GK;yH53uzeXTJPF`I)@_D z;hDoZG3v3Ak153z<;a)BH*<~#iXQGLF%{KNHb&_E>vnH{I6oFv-T7%IVP;mX${X1}?6QZy?FdVbG7?;C5p@5_1Q2qxMJ(?wqS zWl$tXs#y5GgqO4D!^->pKXp0F$)E*Hk5eDstURWk6l1w=!P_p(_yyNTiK(OFk2sX8 zPP&K5oOWwl>ZFj!0#28Q1L~>wmDTmjuMg=c`DSsuNXX?BAvlN)M_LcJFD!oKX=Zxr z$$<(h=x3MqaD732lCyR0AtDUu@sWRyHPNsAV8e;Y-` zW`mU(#vyfaMp&C~{^2eV6(LQsNsft9s?^jd*Y6|p-w7v5!NdTx*>GlHRN<$w2_(%J zGyUz|stXt{MWxCmbJ546gVu6*c=aM5I*|pjBBD~<2{Q>hDVJM$`#VRCJvntL!mGOoBQJ>M;ib3owLFHKV-dSK%C98H5v#(LVy8+``|$acMb0D?o4oZ2*Dw^ySuwX zaCi6M?(W~bNA5m*-(SzKnXay0UEN*1dQ}(&dO1DC2OFXY`2u^U12~S<)EfRtx>kJtg#$pxltv^jG*{8s z4WtAloxNNH@&C@OXTSb14CiC~_mg@8k3W?@lQ9KNFXO=eK(g)6$fY;5e%8O#Fw2Iz z-}n4j0q$EekYq#(=OkOlMF6O`tZ6;YueJdo$7QK5Ib+#WOmzC0$?uD_@Z+DDa>Q|T zl+mm!X9M)9O$z9*Yn2IW!!;I?K0S=6^@YsyHikdhUT24%pxqYHKSz)p0vt0$8M|PJ zDmEzjABP^gS>zZ>c3r{{9$oC~2=LJRrwBIB1>sw70uIkXMhuaAp#PmNe@H4>2K*ThrWY-Tz(u+2eUuqaYs1rmC^F~T7m0tw59OFXqck{VPBXs21UONU)MIxwf996SPG^5 zWkR8uxtn%o&m*Vr3E@v;essX^`c76i+H=*wyBk(CVCnGXIeyGI>aLt*%znjQL>~8V zybmF7B9uXy%wG`RTOi9MQuKZx1r`z?dnJNyoJPu-dSJ#R%T0AL$!!y)Bp0sx)|4tT z1E9L<$z2^qqUqiX2Ifx!??Qhx4Qa8th{aM;B4_QT65?vODBtP3d- zYB{ZpChp&yA@xzI<*kNC^%vdaugoLEGsbywOU8}u6cR|h*;GBZ-h$GyOKXOPyY(v; z(32cHQ9_1qo_iU0Bx9}`8ADyV7ESC2S{%dd+F&zGIgoJT=4IC6Y+tBlQ6M-e_np?pv0}L`hN4&qojN~q`*&IR=&l_c>yDHR05 zAX1UYXQ~ybfW`r*h7O6&R;-MYie7}1GDHIYA|{y+RMUuD|4ygD6(JR6m?PmV7nYysU(PfJE@(Bz!jMx)53ndoWiLaGZ%4#LOI1TrC9u#E3&P$ zR*+op7-xb@2RULhqK+})&hsE&+M1U#pbE_J+HLht)8^}}#^p4VBisLi)6_okmQmI1 zUWLdFZ6Ow#p9TBTahLx7o!4GdvvRg+FUep$OzBeRvjk>UEjc@ z8YZ0X81dG9$|#e6hwOPj@xhCD9$6k)+2S#i4MkQ5>+ig6BH44(cPG-BV))%-&O>I=2M}a z3HTth85?DJDfLPlpjk-T!7Zk*OCr!}WZOHRM&!rB{@_VG1ScASV?OGP$9Zi#Zk46~ zll9s1#lg%D+x3x$lOODFxa|3}crSe)@=ixCb^mS7==sQat~1pkHkOy|H(%v5HMOS7Yw8Sd=Pz6_FkS4wO{ z($qcO+Vk$sjmR?tf2T0w7!69=aU3p`O)vAj$|wt=<&SvWJ^ejoVtr*;;}{ka&pf?8 zY^)eYjovA{5ZG3B*7jlv641hVtRH!mzSFJbcl)BI7aQ<4JdqYZz=^KqosMtk0lrqH za5X3}q6f{q{BvnT0bSQz62`*oz8}Ziw>|!?UXoQpZr>@`t&M*)=~BDtxq`cATP|-x z{CJ$Q_{KKTdUm(}ikv6{iIkgCF1C4vX^>K`$1MY8 zV9p_y6l>*0IziW@G&ZBA%4gpT3SW-*_lu_2g;?v5R0l`G<_bZIdeD{_AYKV-M%>t{5k&PO7%*)ecW$rDjCH?kz#_Z=T4_Bkma5goKwr^+#7X z_*(c<3l(EpDLkN;RZi&ZFTTHe_I9UWA8B-0WpCSlFTM&A7*;6uiy%!y>Rn^%(yQKv zvIhkE({sstlZL7c9nG{S5ze4ue}S%6Qn5ZeeJQKk?50J2w%&rI9>zfv?EDQ~wD+Zi zF6f0R1#51snJ;Zv$#mz=;1cgS2Pv(!{Te_*rc10CVQ1=%XrAliXfS7iNK&6AL}u`E z`P!a=W=S9U=XSNn8=BqCDBI~y*>Jqb`C(LBsdZkP*yqNVmTN;!hE&fZA|yL;XMzV`DeXT6y+cB6+ns@2LmH9vs#4 zOc-!)Je_W(5@+)bju0LZ)bcR-3pFWKIJ*l6x62D3N(_<}T!FV`4os7SZ0qQk`a_u( z$^WUIZ9~I>>!2#$CEYFVwG#ZklcDOO>iY<(xvoBc2T?DjNra>0eMdkk>h$`AxnkuK z@ssodB~ZY4arx^`Dj&hQ#a{MNo%zJ}qkN~X#Tqjsij3)c66bXvgAB;__4Ze1KzW0w zmpOgh>{rrxIQt4t;Sza`0aG%5dl-mK`d>)(chazK)w{#7g5B(5S(mC)`vVE-xInfk zn7r%fTkSSq)GP^u`&&Pk^`Nk|ISw&p&?-GnM4)KedlWaUxG?Q??Op&O|CEIV(-hQL z^aovv9kkMDy0qTND!X619^xjYyWL%y=<2knFEg(`rm7oKKk3F;`WF^|A5fAtUk@%f zlJfT6g6Dva__HYdXOI&_dsRcmZ)x1zc`3e5=m31>=RQ2y`;0@_rrli1R}q^^*M@eH z-LclDyn>WKIDl#k(~kx%+7>&_nfN6T@wt3Eup^(*(7I?eR!f}-!VtSB#2@dxN$EG^ zzkg(qs*z3lupr0$TlI4VbHD=ng5+I0>0e0W*Mv}{`L@zK+6pv^_vDe-2A zVt7~3lV8J)o zR(HEVE)!}M;-7 zMS0O3FuDwfx9OXAVz?nhpmZ+^+NOg&^nSXF+1i;*_Zf7QwQG7A%&+TFcWw2+#jjVn z-_6I@IH4hZ_{U@a^Lb~07Y=`rhw$whJW{w=?k@OV0S@;5PLZv<3EcEk8JT>KJUG*I zhT{tX0EJFzUP7<5=#TN-|7+QQ8R+Z70+S=^Su|M?D(iu5^Ij2|$Uo9em3f1>2_YMm zh2WrozV69vN}F$~#vM+Lu>ZRS5r5Rb>j#gyB4*3Ph&F`zq*m!3D+VPgVVcrS6?s}G zF*K@>&>w2@#-!*V94&9iSN(hAkV&8n5Lm%~kEM2I8Bi58t(XRD^cG0A@E0GUU6;*r zPW{Zk33le_n-x^-$3XnLn4cR7ae^*RaF zd5`?}r`Pe>_mDJpqd0}ve@7)GAkx6Iuny-7%Sa+7TB$JOwOZZM#X5U2Fc=a_u@nP& z8T9dOf_;KDrLp4l2R_2mb$t z*g60(#D>&-sswxYRM=!0Fg~BVLw(Mn|GQ$jR*!}BaWy>@~?FE(&fa_jKP1K zfsnq6z{GGh?^K;ieq$N8-Eied;A7}5p#@y8GCEM{knrqRFoF~=KmJ=+eHlXqJjOp4 zTcNF7iMO#AcDyPVf6sp&0_KMhVaKpE+m6MWb}+X6p1rvz{kI=Nz)(g!nNeX1srjSf zni`7yJ81yrOZ+D?i6CY1b%ij#&luEUcmLiPB)VZje}ckFw%V;tgP@oO8dkyrPJHxs z&x}6Vf6gUFQXEJU>8;EXsV@2-cK)-F5J%Z9eorZAcVni74Vf1;r8$=rpSZ=wX3Q*& zL=0eJN4KDYilnJq)XL@!J4X0dZ2IrvQ4swQv&O1Nr#vM(X%Vcdc!=xPn`g{|Y_Hpr zoyRlIazTizTyXWD2J3eK0gp%W-OF`P00)qt42h2376f?Bb7_(Wso$?mOYv%0E-(Jw zHNHNyFoDw-m@T@cOe$P!E~eW({-bdsOIdFdgUu?2o}RQ(pKf$=C>{S#{QSp8Q8?dh zOAHJLMW%f+cAOeODuYqm>ktcrq3k7i%^rrPBxVFNa^`o=Yf99s${(fwjFTTl1lln0 zuJ;f#cQTZm2(WmtxH4oH_wB@IQt|K^7vKW>rTz$yBT6`ELU^pG4temd3wa5jAnQKsv6V3p)Os&=wHKq+mXD^ zsEnoj4>Qc*$$s(1)o$rcUW;l*RI#`))@VVl!F$uTqRlCGBlXO)50h%h7SibAbo+dd zN03N2{yoET~J>{`YTi!TT!E@}jgTPZeqt1+@Qg5T!{K zJBBucd>nTngc9RB8TK`X=S3qQuKQ|Avj{x?j=>s0icXq|@b`4fvC{Yx)hCk3FD)_$ zm-xPffTU8`AJ_bQu}S8;{4eGUP1x)NPxJqRz?%jj*f@TQ&#b)fK+iQ^)3Gfq%W#4H z^Q-x2dDSPEC8xxyTQ)5@*Ry7v&5q{+3XL4o)f|@l*{*N$Y6qqj-aGJLkf8=StY+5Z zlgMYvz%xRw4@&^kF-c>uU+$w8n1}}TnN;+d%-lBzBEZZ?)*5>10_!W;}2iA5CMFm8t7}1jxRm6@I@mIkUcm#T_Swc zg~wSt`^(b}f5eLG_H7RkooT2v2#rHkAhqSYTJ4>KSe70PkZ1<>``w=zl9v-3l9zp? zVHwS1$w^fMSHRVf zgm1#AOa zapQeIt+t&jP3l56m>DOoup1}8hxtRKxfv~Mcl$Tzr0CJDTMp;HjuKOnXkn#f2TB}@ zL$)jW-lPBtobN?~8PE5C^#?No{`^deB<^yYZW6q}s&z?{GUC&R8sGu?SDQeVeUy+o zep;EQrRkFQgFAq?N1^w9;Kf+E(8FQ{3GG|S+mPD{o|j|PQMgdOEju*ys&>~YBQI*R zsGOLp4x4|tWBXdbMGc|n^55E@Pd(~hF#<&1ZqC=C?Iq*E^P~NdqBy=jad)i446b)Z z1W;@GRSyR*-np<*Y<@OGLavBt_0~p+v{m}9V-^X>r4=Pwm5 zH!wAq5bJ4mhC%(yh7|hp39)paW$J0rhNZeiWWD>eh+4-Gz((w1gt%J}* zDMcE}A@$VxI$HO!8je~Cn@dS~#P zg7uZm8)bL(M~gr7jPL{#t#wJ|m!lhLl2R2mrIV*v)*GVM?~X8UR}I5tz8sg;TC1BT z=NpNpfBX4ICc8FemS$av8~T+*o~28v0*#tqOQVPqzr`Cq5g)(1Bb7{1)+4=#O3^Ng z&0F2ts;#DO4=(T`jQvoU>`57kE$E#MJU_*xnObSgxHG%;dfN|B<&x~o6?%AeqD~1= zK~Lrf6tvCTIEyKp`)_I{$!gJ>-IoZfzx`|C>DVcdEnn zF=^w3&8jNOe%3kiN6tOF4Ac3-#PUoLhAOGi(;vEtgOH$|HYtzR3f7vNyxiX(bdIZY zym+&Y?_!plAV8G{W-)5N3+WstBYo|qdy%?M$fj<+Di#{eU$gP=!_wm^Yh8Dr$|FxO zk1@GgHu{PE^%KZqEl;pRr%zQUe080*gNT3GqpUoN zo37?uY-JSNSq>lr;O1wmg~;~Hds3AojeJZlD&bW*x$))Tg{;~s$dTJlu9@>s)ibDV*2Qwg5{cM z&Z1!-ngDlPB>wL%5?85-D*;JPM~8sU>L2}Rm-3`~zxF#~92oD;-bethD(f9@BxKGc zdeQK`&vvOGPh3F&l_^e)xDc*W?cWalQU@A5xJ_Nht==j~v8A9xW|mJ0G(!R=5IW9b zd{zg{y>Ns8KfHh;3GT%BmrbSjLi{`(@8cAbmw|P#2}W=%{e|@p}p^?^9b~+i0oyBB}$h^aN{`@4Q8gzdm3ARLMqme)&19i{P6K zj(_U0a$o>TV^65TAq7*PaYW4(;!j(T$p6~c%G1Gk(Htcx#oa>b(9{Xr8L zHLoRVbYCe#(?E5T7yVUH53^H62N#d-MWhVN@M#W8@QHj`ipFX$W9*n9%h1=wKZ1{J z7i(jr_9^#~mzwv18!OQ^b*wd0MW0HIRJrkb2@@AInWKNipH)+C*}= z8|3U-tAa+|$l=y54cook%wtVRXo81u{rP|=yGw){ylyvXgIYK5T0*>2+2ZWsuE9Zxs4FN)d6OY6S`Wk zly2p~{NBQ1buUtXUYt%A$-n|UifZhOfZqKJkscdUy(&e8BK@1%ENERt`VH6KLs2Zt z48}aVPDrI6#2WtcLbR~rvbjV_gWi$dy*6@`A%Dxic8!*rg+mpdB#-UZb2t9JSZ39` z1-}=}ZwUx%`LA;<^;nC68+|H#pe<*6IcjuWzX1g$ul8R32qPG}=@(((kktUZaK0hLy|9wZzLB!}%67 z4plSp)8vJ~ie*`?9>HlGV8gX>-PLx@V| z$Bw9IAz6e?=pj~}{l+41JStu$9y;LLap`xCw*o)~1w)VLYv1>W2MZzBiFr*ov4syj zxRTfH*Fq2TV=1)5ktiCQ5RHFOjOUF1WyJ6^)_FovNvDD9NKZ*_6{n^h^o|~r?`=Pj ziAV+KTz)NCUBffL`Fs{LsrO=MKPil5vyIVzMOWVbL)5#6+7#{^w|Pvh=4K(+-?B1Y z#wu?ScZQu6X#QsPg)?N6k|!m4y;WXInOA2_4P^qonBPKNAO(y>2xTvNpfMnKmr+;v zn%UwI_ar9xAyw|nro9Z;ovPl$DO?Iot2*KAd!yRO`n!Ak*XQ3?$;BHmul~m*-G6&l z{HyxN(#^)FnW8!0rUA0bkN5nA@O2*z24-4Z4&A+#!H|Wlhw~UOcZ%{{F;z#&3(c}C z?9TCJx8%6}SC~7nl0i?PGg1b5Q?GIU8HHx3(w0Jt-RrEl=exS37mDRF=X$kolf&4$ zTMNZt_c2>NSk>C?x_``KnZEoPLbmt)Fi&V2n!cX6J8=IeAEQ`OMz>PZ;P7sGUK#tmc~Qp79%;uddVzf})!(69R>MFC{t@7r<%SiBkC ze4Z&RIiVJNUt<&0@CDGPo=4gd;I3)~F;3SslrWG5LLHz6?DfHRlRSDK*1PpVsE2b2 zp$dWR)$yP|-`+Vxy;}w+QzKBRJEbV2nB)7rO9s!ll`C!DHFRT063a)0?A)d=H}*s0 z^zs}5#)E-7OgJPu(VkRt*B-A&SAIOyCy6d(G3B*axSDM%M00tkf+nRe>&B6csk?P{b?H2=rpSyY|@+sYT;-rU(_)TlyuU=lPtAb4z}^wN@IRu@ z`^t&u(g+5pnTTSWoh5^ImVV30wGBQibpQ&94jVlhLg`i#l=}GQk{K5eyn)oNUF%ct z^iipQdl8#HL_SU5{_>L9vGc)Cym@$g9jZ72OKjm1raqER4t}%FVn>amv`1&y!zsY) zR5IEgoO$TrQBh=3&>_IjV^Xp%!pZ2rp`D1P*(zx!)CfVR+St=h=4=ET7n}e2Mjm}& zn|_1&@`NfRvio#T6tr(TmXF;|@7EY7@N_t$Q2Pk)o;ajXNOnK54P6}bqEk}>PlwY< z87cwd!aS_k*)Z)^cQ*Q`?54rS^Bg(Aq`z_ zuG;Z&7EtQ`uyON>w6MC)uCm)|d_;e4ywAGe=O?ZkL--mF@rQLi;VkQ^P-dwTywKhk z^B};21?5CB?hBuDwXsJ$e3AJ2a2Pn;09=@)T}B<#JYWwQ8+P`Cfs`q88WLI_?@pz> zZBwMQ*j;v&#|)p&CQVmW>kkp{CjJyaw+?ex~O$MKA+q)7YdQH(- zCC?#Ya7LqK!bJqFL0b@Xri=eU8sZi#_&04$Hris$X3XYOO)!tDK)uxm7+qlE2+ zUS}YFj>7eqQ#JhS%3FzTd}F6^lS4d9buC*#)U-w`emS3nAbSbwY585(U#0}TJR z597@U0yCaWWzN{77{#$hs$e=?U?7=^n)YHP(a%!*zbn2>wfDY!l_yMq6M0#8Zt0tM z>I)73B!$f`3r&JPVG`D({5@w|x$u^5zGc_LT`bE3M*Y_X80l_xb7At&FAH|S*2Kag za;x<6L^0QterN;6^R~^&n%mE+vrwdy1ay%qVeJfWS+Iy^i}M#pAnE=F-Bke}i@%kPniv*+AdJO3Qy&R^cyO`j$k13<@wXG^xTdA#Ly|Aa7Oh6+CR$INdI91fCpDo2#%ah?rgKf z5kmdWw;{eF9At4O7xZXQ&wt&gqdH{vuz{+3&e~$=(D5FNU%^WC@5A{dCoLU>v0=i0 zfym3WKu_zKRk7e3FVS9W#-ZreBJhA845Py5fVk6Q`^YxNbUh~<;NAmz_zHpZVJCWX zXo}L%-O~_P!ZvkRxm;LT1^E)@Oz#05WJU+>F~n43QGeXY%#1G zg0*H3D!O3~i2M%=xHn%k6%98z0&m@O50c)>$soA~@uH|`A6 zZ{xEcyOeh-hc>Z@u#EVkBs%vZhgum+x6LT3bhMHK!77XyKMa$;5MCa;Wf% zNS=E)M9NZ+TJu;H%I_=|Pu)Z5aU(rvi|jbPC4qlY7CmZBGi<}%p6U5LoTe?{{i^Dq&;&_GQkP{JhyfJdotdEv^(pANQgT@#gXc-%8{_2gs&a^s(tl)*3K zXpfv?n(h23ubb~3wIYG^^Rc&7%DA)FHE-X#g>-D(WFyBKN05Bd)acTM-!G&OBGTg8MvSjC%bzLCcmE_Lcj^XQA3koYnoXeU6Y9Or-k8qy4 zFtQ>c(RC@YRBMQ>j**>6!iG{e?+*f}P)y8$k@$J~Wa2HWg)rMuo`_aZ-;z&^xUS$Z zozHM8RWr(ptlb}}g^M=sx_x=4gJJ4*UgkMi)=f7v!Ql}LVqewCyls9bD+oKIF31QHbdib^vc_1I|j3^HoFyrIAn8 zDdIDC+<+Z7veolWQ2EVJE7e+9s6~@H#T8d3&(3?VlqR%O;Z|4&JeAp$vxXW+B_+yZ zW)54h8+t?{79E-#=gBglpK-TVdjAuV{Kj+EI+1!%)c8Unm9z2_nOvuAi=LIsclWN? zj(}}?;$HOqCb?}`3c9nW4rV1|MMxs(#qBpN z#)!aPs@;4Ez78jtJq&1PCG&Mc!=d>{t=_EIZNZcVR82z^mz))+_iLAlk)6Fn5 zK7^F^cL}f><`1b$ECVlWCT|J z_o%L5CU0?(x3X@iJV1XDNnG2=aAe(MP~LBree7tE0-bcwruX2+^%KH&V_9;yhDhL$ z^owTERsQQGa$f^b(L4_1%@A-{#x0iJje<@<9w|Is(dEjs!(g%~W3}TJ@AO!kk_5I7 z6q?s%WY9J%B~+Vipc1mOA7LF-kaddz@vDGZ%IBwLV?W@gw@I-}Eu3I7bSt4}jZqX5 zOHHh!S;{WvJYl%0uis=koX2L|DN0ODCDyE9~ASHJDGGiRiAFl}lQ+_0cp$bt7KzX;FGB`Ksw84Yd6WcIuUV zDu5$f$eqsl%r6~L8BhEXRB^0VRoF zhO;HXq28?f6DsZBTJzI;VZ{|MnJH`g4@go8f3}Z{_c36sU{lOEQ?nq|X*BQ6h`n2q zR!S`s4tjQ-YK^4(*%Vsa1sB$hf%GFp>)8#GA}(4i;QPx)$45rJ=QRm8?IMe~AS1X4 z3FL(XP68rt(XI77R;=eN0n?$;+jtZT>DoV9$Y>rr^wXi4W$3#;I~%vHGA0O>3ng-= zb)n*Sp^}X;`l^KU)`nYbc(GO@b8hlpXt8+sBmANtR3>ERGVSKr4EGuFEq71c3u_Ha zgV*kwcV|10`LyI395Zv$WhUEAI%Smj>asa}e+;e4L2eU+1?-eU_7)sJ+=e#M++CKn zU8<{lJvwR;{G|CrT1m#%zG_YO&`)JoXVLzMx;KuRqy~TSYYI1tv)MwJek1SImfgo< zxgioEXle2(gj>e%MabQM+}=7$SG&=zcMw=R5+Ywl^@}^Ec3`x3WW-e!X7dLsBM)WC z`eNbM6^FAlc4Rd|nBwuak*Nxq@ z?%AONH(O3LaV?!jM?4lsDygA=F?&ugF=)Y{GkS!>TCW1872($fOa}wTGiU#FIPZB-Q*>po%?hxa(tq%P~5t)015&k9m=Jcfl(E~>8s#(W}le!o7XE7 zd*~_SUjkmjd=Hl~6ys+}hn5dk3a1wg!jiYTik*lV)71=-9CahVuXZ4^>4z<{!pK`1 zrd*cC!MV;|BN+tgSFWtL#1$1-%hvd@OWur0^ko&GWjeN{HrMcxzIvk!e_A2ed_FXC zzER?IVX#CP(fC!c=FQGrjR~FC6H3E7$`MzlosE?3F+#x4(x)-MZceVD-jUeEw^CjI zc41IP3DRZU$Lk8jIcIOz@Num9R;W_R)DDkJVE(lFid1r)HF!k&3)~VVwE-?V;3(_q zitJm<=Yl{xPdUG;Poa(?H=YYBnWQMqiwOa@rH+~Uw^>ATQ%prRaU9ORhO`g~hifR` zobU#ZuGqb$r;fbz{3x#J5{o(87C)8%8g~U}wJDFXQ)bY&6~0L?0^cdYKjJG5)AHG$ zTK{@4iG{%kGsC&nTa+_~cUxu|Ok_=rB#;#qR6D4K|HQH6=JXO5HtRud@^9oY`6^?u z6GHc6zI@m`_|M-y(pzV1YNRJEi>P*Ozjenx!HnAp`@Fegc6z)!|!JXZ6ia zf23kz;P*&@zJTl6^Z90ox&{!ViTrEF@ekmh(o6|y*@!2BuyD=yPxc|E%>kq6YKmH=9 zKjNw@q(K?+S<@TxlL)DLsTzFoJ`TPR=VSR5_Dzmuf#@k6zG#`qvq;NqPB-M3#HDa~ zQO;SOJN7py^lQJ0h@$+eBAi95{vhsj6NxLu`8-{dglxv5qvP;9PCOp>ucujAZP8gn=AH$gY+@#&gDtVAMWFNHY$O9Sn)01!K2JXC0 zFVySCW_SsFp-2H5^ruV9j;s5W&X%8Mq#ke2Ls!h-aiW;0FAxRo-7JNPV^j(>;ky4} zTLXM=RTT_yc^(G=dk9g3o`1$g42b*tDs_JVLK?DM>%apnui}`(u(C}el!n?KVEKrG zkDu#&!*_I=bG}U1%V^!ylNg9_b)*cbQA|zikeuEL0e@d2CMDCV+H_pGA}lToUv<`fAY9Ie5U@tDwtqGBc;v1Ge<6K1|M+aZ^p_OBp*t@wjP&3e;l(5>k#*nyKGk>5)lt zYJg)&NLJd~a9dwS6-c7121IIdnFSmTgJ`*NDxqG5FTr|Eh&FQta$n48q=Sr~y3;Q9rvS$=idOCFiK3?&`8cGVq6kdCT_ zxYg&H28JR&1VZV(hZt+elIyuha6lTHN$SGfQS9YVwvrU+e6b87k@q2KZVu@PgrV3XeHL~4C5sNeh?HBuBytKk!bMWi?fKu-@H7we=!eb&1 z80odfTPF8Ibufx#jkhIWq7kVeQXBFWQJ`QU!uv{L{(*VkkRR_onzWO57Q*CJ)WBW?Sa5qF>sFnaYf3CD6D>rAeO-|~X&F@@rI zm_HAcL1e2CwhkO$Oe#wcr!GscU=Hosj~HsczRCK>AsLBM>9nR_VO!NLh)k&O3PaCD z!&?h8tnz$GnrV);JM)aUwH7~Vn~oj5=v7nI)eUG7g4;RI&ZF!HolvkBAAUM}2F=A` zmN|xlT7^6~b*_R1$zrF(uF1R2H$L6e;$SuIy^SkBLRbfeJm3NFZLN!&qFf?YD z6S9b0nhSkuN`QMcir z;L=6hwOI&w>)Sujq2QHrpV~P_jrA zB0IO2Ph3tF*{m140xuTFDrLD(78IJUH0lo;pKS{2*Be#e6+CtgJMTx0TZzucD9k%e z+_=QDFQOEFu0n%uY z9+eN$s@|G#DHFqiyy+B?VyIi=no4h!*sN#9t5>4=q=$HoxGX6p{-GJ`Hn*Xn)W9E#I{i(JJ3?22>42W789**)L;JENBl>Vi%uXfzam-94c9EI-4XZ zs7gqU>3_^PVUq}$5_H0T|LhvGK!Fj(b8@?6q6O9X2qg26pQK}{lF6!^I3qIa zZKn~MsrNDXZ2#@sX@hMNHMHl?W!z(j?Su+nDD1Q91~y<_YMW;1Pw_LFf`X^s1{(Yi zPll+yk)`Q$f#w_JXHOosI6s(+CeFAab4@rc>YSi5}$;twcIFqKZq^DL-;| zA=Tjp?=$5(97d+I`MuPq`(4YJAgatooqIJMX0F+}nVb6c&b&7$-7EWj_)!m-(Ef$u z*WFOlFeS&*4wE^$0-qoO391kU$!_0}#4FQ;XpZJS8q#~crb0)UCxJikR|&Bqg!$Qz zPZ*jXpR|!6=R@66C||*DSeXt(*S%Ke)94h|LvVXpdn@Y4V0^1os4rTJq;F(bcX>RC zpEqAu`u{HCwOCzNTLQ6m^YB|%zlG0%3Zk^jZeN_h*~G&ZrF?jqxZNP~h2>8g9ml9( zFOimcRZYI$>sx{ww8H7XgJCV3z-Ha=cMZ646R9L9(eTfoNfjO{uuGdx+6(vqS3g;T zQf7HrrS#ae>t9Q7cR0(GmS*C-E9Y)*RgflK(u)RON+4GmKNb};-D^h!&f>yb$19Z| zLOhP3`nrJ_E#BIQ`5~O?fX1B?hbW}%v&F|(e*77W%-1jX;>=1jKlG9Ez}|W3YB88^}S$u zM1(WUK4xOF{1Y?hvO$b^5`|dfQOX%z&Qr-J6QPP4WDMl8e$quF4-SFXA#J)ZaYG3u z#~$pH{(qefXww=X63@<31{9-*@(a90_1mCnGR6IgiLZ7GPD5(v*%4)-_D`vEdvc1n z(ffG*J$z;d>Tjs%GDqE^z@O(a2@ey%bKsEB(*)V=VfoF>jzA*)iAzmHV|0SrJ>v56 zHgJ=FHtzsmhji2+0#cw;?|{~_u7&MK&jR&&ed4itR);~Z@jkx}(?*f^FA5)>p`H@n z=c10keABnp7R$0Z$>B^3`%6O!_!3g_!A23}kAu6)FooE_fNK)_p~ZG9!2 zp5lt4r?H?eGDid+_gmL!+m?-LPVz|boZlb4CmXDHr&p=(sD?6Tbc9x>-E%ykoO)^a~ub}e+@@tkV!eT+>>mWZe zvpQ7rjGaA3E)c4>q#u!;U7!NKfD@k^I6BLumz`)T@|`B>(t@UU@A)u-QbO9Q3xQXgh_E>k(yUFV8g;m`gejq)&~W6ckiP;9&}Ejl zjRB?5(u)jYw680WbUPzSJ5nRJ__Scy3I5jm;utF?iJLnrRcn z1KQ)TRp=pQ@GlaO17vz7v3fACBO6OScX+Ji_-(cGTh5J21my_N z7Q^Xol^WkWK?{A9jLtx1@Qc^3Bte+CK{u*RZA|2`NA<9l+-3CKji|mr7&WrXXo(@C0JgU_VjoyG>9~#Vt}$?fmfeWM@~ka zD4Ci+KAAgo)BWO;bb=7ilO}i> zaa`MQO3)=tB$9;fZUuKzi*0a0v!crHo0F_xwh3jd(&prfTpw@Pg_UoTg(!cMu*j$Z zFY4qD)~8ubK3dMq`GTg|p zDz;9lRv0iZ|Nq$f%7D6(rCT6`KyV1|?(XjH5Zv9}HCS-hgFA%a?h@QJxVsbJ;1b@s z^Uch?!@OVnSMS|jUA3yZcGs$`F(vj|<99C=O~KWp=`$(%4DhF@{oK^cuijHE-!{bE(c#=iDu$ynzX7-!ao zky2#4v?+DmD}owuU)9DQIv;*Xl)Ee-*6R1~tb(2ky_*K3Z;2;LQ26M z|0yaWU;}($J~*kLtin1QIlk0v5SzCY5QDUA44a0JJUWVDWLpYr8g1=)2zvC|Q`K79 zvE#e(H;ABRDDhcHiFzt8I%zb8PE10?AZlFsK4m+RicYQ#+cm1X=oC3*Vp^4SAT^UN zAE5Z1zbgLuLzx_IYlYy6t6~Vy_NY@3gDK zJM8#XbX<7ca0_31c-_!n9jcH|SjY}H&Zc-2$Yr!eoZMy=P9U1YA)dzoCYn#a5=ZW6 zDc3o`9Ggn`uC$?}^pS(OaaX!|`&)uh^GWz3EOkElc4cx2#KTAEHXPD-i7T$Ibnbdm znAB(U)`~_6bY;R+@hpaf!M>PGs@SW*rfot3*QTrJF$i+g!^h6?CQx8+&q1Ox z+Czm}NxVx8k+5|1S*uzpwlh6#DU}3Tt8hySO!UlXI$Qtt$+}(@f&GFOhF8b6%@~&# zuxg%oO__!9)1w8pX{@h4(-`-&>$=+%4fSQfnTcMtD^W(6mmWvr`--C_;t0oTHAwBb z0jO0C3q%}mtLkV;Mty&u&$SBP^l4Pp{OuKv<7-e@vgE9dECQNCTALbBW_u!pT?{j( z?)utwE5{hy-IW)Yp86KKqKuTNC&(rqO-mgA3Ao z`!C}F#SVSX=SW8L8&qv=d>*IFWHFrIBkNvy5ATsDv6QzX`ha4CXrjeq`)y~ga!YVa z2`|X@2}e^nDoFYdySfmS0=5}wJ{n%mWP4qie$BjJ63Y;v<^_n1a+dkFy1xr=HZCWO zOA#GVxOXF0(4B>rD9U;~pil@nE0vXG_$JUckJ?FqBJmWnPDN}w>XFvYgr|#EEnnz;kpATcKY(D4$0n8af%r@1oaCJd znd1R8+^2v-mtrw?-BXJ3*?pyH3TN>1(Rs5fR(!UWUrCd`@^| zPwoZ~@cEG#1PS!*Z{H28T|=ZH=oAc&a2&h0r933ETc^&MIMdl~_Fw}r>9Fe(=RHQ= zX;p0dJ%rOjMzgL+u{`@Cr_qrg>BNw)SIYEt8?wVGvn#@*R*;2x8QiT5Cv%{{yeHDI zExjJy8RReZ30oOvVx%wJkeq-%k-Th$;qV+Yfo8TNup#b14*tGq(JA-Dr_A*rYS!Gm z3HJkMc+aEG3rgl?4rzlXh;YBx^d`OBPq{`Mx;iWQmtHS(g^dFX)|&8Pd`n=9q6 z{U#uFY3wc@XB8}@uj>tgUrVIZciHXz80W;$VU(`#br;ezR`rbspg-3&l|6`>gj?c$ zz@8Od`yTHj=egVDgPa|Mmx@TcRP(Jt&_yG{I5o`jn6v(9EuNUG+m$M$UO0FXbImXk z!}}yfRotv5kEMeUEnW%wK4VUZf-tamobO1?==4`4wD#a{njfu}D%XoraZRxu*73x) zu0KhZ*6W)7n(b~_G3mg(Yb})8+3R)kr%#AZ);)Co`x1Gl?s|noD`{*Ykci-LyBH zla+&-`PrXaw2FL;HmaI-Qb{@MY}q@hl4DwNp~*bleQGIXxs`UvS5#eRKhp-rVO?AD z`=xrOT~5m}Gtk&QmSR~$m-AP{>y%sB5$7PzDJ^bS&E~0Bqd|;8!kh^{tWzsoOt%Gz z;$B0MWuuqyDZz5FFLur$L6Ad3m?ugF9+f@XxEYpOkPys3aBY}Py-o27`RM^fi=vQH~( zAXj}_7xw)HJ@y5%d={(4tRLL(X+#`g+CJjEz~=kq6WZ$R ze=d9a$6G^l$2fa4F+UX2WhGI1!923B>wAg{F6B>{PAI*6a>=^|kO z4RNhPvWj#OP0g^a1rcd{0J`P`DxC$p$i}{HH;G|8ig7^@?}L|M_dp@1gI2Hd<6>jIp}nKm&>z+4 z-2yxitxUVT?5Z4hmMC{_Oiy1+(3#Br;`G355ps4w#qY}fnqsZ6;>Hg{o37{X-F{Wc zCC-p~Owg>qD60U}-eMA1;1rt$aMk9&pr2KU!R&377t}t=2!3bva>=+`>D1@c0ILic zweTcbZC-^UOpF21!bV|#^-_LYyL^pAIi@ynWF2sr;;1w@#-H6_hXPMtsB2-px;0^i z?3_W+=Sw8#@#iR{!_`GtwumR9oEescweE%n_z^eu{W)9na<>Di{I;?LFXgk3o z`YMFZ65Fc&TORob8v=*|AnvLqxrZEkopr8KX0$=pIjc1vT!FVub&PpZxU-&E23dlq zZjNf_;s3)Pa42YtJV`64WyuW_BK6a>!wMN_GHA5jz<_L*J*NFhfkNr@(W!}H%=c|! zyAUDaw$>rQ*iLCWbI;m^z27KfaDw>OK_e0nYpvcHHIcX({xxH2D1y)HXG)XILeLcc z+<%Ko|ER;pq=Vd6-WX}$tcb64U|hzq4{)*z+@I<0C!yjv z0tyPay(x_zK!Q*mu`=O1N{xO;!pKxs^He5DXCxmlx983+4cQUofY<(ny7sS<=pYHO zk>%ZHvES3zLB_%}O+GVe{q=mEFD=V`nMMT{Uum5WoD?%nuEgXko$L3{SdU-AfBlDq zLFTC$|eJM ztsTTuLo?}x+XS-hJWTD`8t+V`jqg*w)Uiiz<~v3MIg@%qMR&O-zei5ZPd^4?g1Fk2 zzihp%5*woeJ4uRR<;h|FWJW7`j@gA1&KL7WMvUK~cSER#g$p%xSkA49)L)ijVA;Q(^ z`FZ}f8iPlpY|{Krx{}g^UXm$w*!^?weOgof|3U2kDA@o$#98tPs9U&-@Z=||oZqJ` z@tGWFGf!o5bkSUoPP6H$>E6)Ia>Ud(HKyj&>n~F0|I$(=AwiQy(sFSds&Ae)x5Nqp zFD@RNzn^;Rh!4a(Sd?RH>86aI=MSmb)0UGGWL9NUPN%3Bo~Y?7#Qt68-Ups^ncB+9`oDEiMrb#1(=jL*Y{RQ{gH>LY$T%VMsz%C2vJkadwuT&kc#;pEj$eOfeoY} z@U3eR6$=aeb^xctM%(b3yy$oQM(v`gAk)1LjKt8TKIG7y*1`DA3B!hhSeZ$6ynAg8 z2b@`YPE!j8cx9HfqmP#WO;nMtxS`8iNJ<+pbbU5yU+af^JN~8nU%`?ZDj>AL2U?lz zJrAeTw#p=MaT_=M+NvkKPC_W~zo5h$e_G1Ell25uw~=TpjS)#3owfnw`Zy&iU%xS_ zKR2Q^g#Al1_DLWZt!AS*NXLITmAy`gQqy!^iP&VcpYT@F#ET9*7bGdD4SHjd+v+ z3wz^f{cZs7%kw3wnd}#{p1FlpOue>g@w+t-;JE3s9sgza6l*dpdo0d8x(ktD_vrqf*yF{)TI zGD1Z;&Kfe{_%EN;N#Y;UPTDM&kgZ{lMJT_*iyu4&a$5PMjv?|G12twwkxdgSCT9^r zLO;8K|0M2kfP{+hm$Vr+&S-DArXI0MZ-y(r0ImAtLcM|%N?IRXG3{6LRW=$90JR7G zTf-(qwz!&`Y3DVw7hM?HZa+3R?Dz#*@-8Mu(KzHt5kp5tvP{T+2kbG`TjTQ#5|lEM zIZj_Jw{1{QDrB1Uu#?+51`Q2!;&@-1te(FnJ=?}=ETq@OROLCx+wu>L>OLek7%{tC zO1MHN!+yc5+C%wpWVMHG+fQamyliO}-}oM}33ZW&oPkS;z=V#M;jI@@gce1}&^wE| zo|E*Nk&K*Kw$8a+5e}kmSpN`0xC;#{)P%tu?cHS6kM{jzQAE-GyRrcD-8X;)hXO81 zEym%ikn+j%9Ki44#a$QDn-%d$Z;y|t91*i2u}VN^;RxFM6ngU6ZJeR zhnP#+mo5G51>SFBW5!EGRsvE9lueDe-{j--X(s&lDm85t&fk35MVOFDONFh3<&aL| z7Il)W2dqNV3e~xOOT-)zrB?AwTMUU8UnM|tVF^^O`%k$KU_!*H?Np{&s7~NSw_4X7 znSnRdS+!Mj@3wKJg%ycG5J1u9L`2KR)dGT9& zkyd&wC9SHJ?B==f-xOkhY8o9hsrJ<_+S!mR;NF@h5|6{MN28WWp+}6(4@4<@d4Fl0 zCDaF?YMrBIv~Dq*rm<|H|#`~82kfB!=#7xf;puZaZI-;Y#LnRVw!i{u4m^ZVo7VH=|X;N;g8 zyC-jt-~A>dMl5iJ=cG>M3R!`C75_jB5D}XdG^sV>kj=2UTnp}<*AWYL7OK|3H#)gV zY~Z^q;)alisH53lzPnY_Y)}_65Q)~l;;-w*?_%~Sw?Yy2El=xjGy@YC0#MOyA(xj) z$+J8prSCS`$IF`Lxl^Rc(rX+mfRFF7`QrlA@B`}Sui=4q!i}KBIzKtS4{x9- z_XDJpFXzWA;n+&tgp}2!13nWjo1fWon(_i2X&a*qlOHGffiBIz_j!5?=gflD8K!q1 z;u9&-i~~(l6TffybcE-JKKu=!dc*W7|M^5?d4{tVesR9C@q!9{B%;02PxywM;EF_iMMLeD%_nST`n$f zoo4ZY7&as>bNLIm+EN9U28^Sp+2MfDVMq|nu%0%nfmOYy20vnQOFRXogY z=o{M<^o0bGX?)-Pm^R)pYIMXjalcxpHw>aPgy&eTc5FS>T)zn6;Jsc_@FRYHQ23%} zFkGaEitl-kOlmon&StIS1^!vs%t>5ej&8mtdn|kT?FNZKdR)%d52HEZ!&Fu*2MV`h zuXkyHUQZIkNql@d3EFC!6n(!3hHTecE_=nx$>Szaa7N!OM5HS|JRU_Bjt776f#S<6 z+g;L|iFZ3di%z6l*fNijGiPJA4RtZ`m^2di?)_BNsA$Lcy`Hu&OVYjZJ^{5deh5l6 z?~u)-Jss+FQPQSgDrj82HT_2L7UGQIz%3J_r^)M50=L)+kDncO2s__7gAS{OgfD@T zEWn4fT86-dzxOs>^K+bq(iA3{G$w zgb_^|qE>=xSWH>LEvUT6{+BLuLcG^(nA4njN))4#^U^*Z|DfupYos^ARKl6gV=jOB zRoN;@<>I+ncK^d$Spb9y>9i7LHJS0VO+FR%$4(6h(v2ljjR^V!{QXr)GSKPQ>u0ef z1G4{h29t*VoGLR0!~KcFa@Kj{F%VACn4hCMs=)DbwfOn9?vC7{5p8bnzEkDytmSDO zH8&Rmy9=5+KR-Y0UEn3lbd>lGU|815Y$sL!x8r;tCTbL=V>hWhKolnb8|6gE5AaWr zCLZk%Hzy0dXFRV9-?^VMTTATkP8NLq@!fv3uq`Y#JgUxdKb@+GF=3TR#q2ZayIB7~ zVuXYP7wP`%F@z7E;3U!VZXM5gk&y0$$6S1@)TgBT%%b2*<6hEeEx!MTEGx~ms+{k? zWBz!9K`FFiL6nTUu^|f+fqP+A4X0_TdzuP^h!LnDT!D4l8BQJIVRreNOIb6J$N(A> zBE*9XRHpLBr40zQ0k=wsXe{nQ^H?tT{nmOK(~ zr0H(y=-3p?Rd|KVr*g?mx)1ZKxNzi$v1M=Y;TEwEA5v=F-*fzP#?=r=&_~uoE~>0m zjFa-#*+fkC524T$RBiDtVr)B~_>H5xwv9UfTG*e1;$R?R`nlJ!6V6G;kh)6XXd75s z>_hr^L4SaaD~a1;1=xg@bT!(L%}izxt^5Aki9h#c2nqaRPIMBt9*2~CaQ(xB45FFD zm}3vp9h1VCO8ZnygovDcPVrTI%kvCbWBS{b`o;)GG%53)htu8DjyD!`On_Rt@))h} zf{P$A%^y9L!1)$C3`cEBkC-f?T93T_Gz2(`I$6#7Y0$E{ee3p&)Ckty_XAqHVRmMc z{jb7$)rl>;Ku!zEVJ=fSu7y(A!zjhPq5&V8l^UBzIAOZiMnb@Iax6)Y&lp= z7>A>Iw08>Vx{Z2DbY6uoU0sR|Pj9tj@T>ooz49`G77k5T2bD})be00M3l@sAbn+sA zr)4QkLxaGnOUfwI`hS%F{}h>wP!Rv55)dY#{2n)@n3iaET=?7wJ^G&A;mVvQ0iF9x z^2$x9Bk6sICW=6tx3Rt=aV~i0uRq+>WXif{Xfjr0Gbv8Jl$%Lls$h} zcGjL2W4f;21#WH? zi+%3>VAwaFXs(`R_`PFYD~*IVOT6$W7MvJC6r95a-GDuJgP3dCX^^(#`AEx`K*i+V zR(lvj8(t}pK(AP0z8YTSzF~#^Kfv-I`*TJnbe>z&0YF_S80v4MR8a1gnb zBPi6__xU37JencDl@S@y=G^eTs|)*Py^;>l`62UZfSG2Ag>;|J+<51`9CuuB_bAro z``Uz!Wu`Y8&n)JjPn+4}74TAp!9Fn|?q=Qp z*4{uJeTQq0!p0MVKbWNaC`TM0ivnO+3OCJ8; zQR5A$;RhCTiRENpK?bVa%^m|EFPyiTjlZfQ`i)*c!9#8M%@>bHK=^1s@n(?55wyQkiL82N9~E<(k(?&vSSC(+Q#y3L zC)787k#F#@UMQ~ODr%28eY-6Gkc~zxv;&W*(}I6EOD1v6chSj@d1I{mxw{^taA$fP#i!45$!VQJ%l4B z1as7A{B_Z&HQQUwd%_1VK|ma)wZr;01mb(vW&&Zo1+`jm0cxqAMc`|ztGrobNA3Ju z{2?RWq@sJEzTRf)GBu_`Scz}y%XmKr8e2{COYwjr!HXHcj|7~%F&8GdHutUGb`yi0 zN4)afTXm1()wv1?Z8N{0hy#51=uGh`*rlhZw?KSwR-Cjet$`L;Wj^=M88b_CtEiH# zBIot%_PE^f70F0mrP4?i_vr{cy9g_ZpCJZ8^VH0e`nK>@KfXnu5NOVcV~=tajSY`) z7Pl_Egl$->0z5`~f+~x>I$0QM#_N+z$Z&is^e*eYMsEgpJ0VFfQV&^wa1>juah`Np zq08P)%o>dWs1!G|F`VKuH5eaHQW?O!9ri8~tV!6#h3(-IVj7ZkyM~`8!i3aLwkUNC zp8)e-af=_UC{B0CGquokV*&e5zxMZoS=1jJD9Ci)32K9xI2z(Jf4P2Ymx;y1@JSRK zo^l-MX|8||OE7et!(Z!L3!UEdR?^irkVBfPEb`=)Jawc;yLEcVSy*Y}k!cNc!2_AQ zt7qLPz2KK3G@gZR2wxSj9W`O!Y8K5q@G5CF2!ym%_k=JB-jvLg4Fz(24SN0av9K0Y zP;&Pk+(LHXk~mkSKgY%FAzvHz&H4pzp*dC1Su;q0YI-sP+egS8sXEy(OD+EiMfe2k zSA6UgiBxS!#f12EAxoET`m~t;VHS*#%tGCDs&^}SCb!Wvv$k9_l{I@CoFYaDZJ3fd zqn3$!L-#~MwZ!4r*Qb5@{9yBMW@4)aR@T;xnn3nAa}Wu z^d4 zycDnFBc|eG8AvkGnv}T1U)_C1!UAQDIVU1###tcexgc;+;NjBAIXD6pn6o3Hko5~3 zi5+^O1^Ru~W7$%xCj#ou|9<}+I7DmT_o^mnI)P@{rrG!PnBFBP?k z0#;MJA_lI+g7BUdOG&&#ZpgG5D|wAh?Dz z=NUi$GM(-S(e8|-fid2M_*Hf(W31N}@)sK&v%b~vcPDomtWXZ|I-H>XY!=0jl?gAH z5GRP>=@p-?*eum>2zTJ4qEqTGz+niCV87E2xfSg~cz zx4-XN>eHrHhw9|JuI&0EJ8%4d`yVidyy=u4sV@`S$JQ}rW@(7vJV)!DP~clWk`Y;d z;PtK+NXc-TZI)pVU5){1)zCWj*{nz{!!LlXs7eIWcH)UH`Jmxuv~DEG_nIWLjolHx+8Dz5D{TUm#T#H3k!_LFAp zn7&kLvZEs^k;oXsQBT1^R2bd@O7+1ee8naihR>&sk+9W_e@6(k;NbK%=YjcY^y_(K zTFu7X_#bp?OkYhv8tKu$9#R}rHE#@6*++yj+hOKzSsG>P-V4HKHGYUXSBnt}KB|)X zEy}Q*z5+W^$1Zp3ojEJjV~c{OCJe|9jOUCDN-G+l@3Hv1Oz76D>dE_bgom`I{}U{r z$AX17&!)7QHsUV|NJykLw!2M^eLm+ zvO_ZtKhD{%<`Br8-Wc{@N9-cf4Ls*GKi3+6pE^&pbhT_Fr$kin5kCPe6>2}%b6|9* ztM2_g3{zf{tw7)>AwpgJDhs<7=zGw!EU ze-be`BNEKlsZy)H{0QU1EX;|J5YTz=7wU>Vo-Qk=FnrAl?Ufsi2*V9G=3ozK>V_+Z z2t1dk(|$fHFZ^p=)#pfu_wuy`cR%C34}=#7Fw4rx=~gDElHNZ7f}Bb7$?`Ntf)o3s z&>11;xgp?BYlT-F60Q`1c(+d;_-Z_(k3yzCA7HzeMG5ojgDz~HqY+v_BL1?1GRGc+1Bo2(%`ooa6x z0{G3LzUC*}h-}{j+A&(ZVQr_!{_E7hJjy7lb*fy)-Kygfz4h?L9Pjl* zJWR!}3|o$enhxMkWr>Ss_rq@JGdX_~+IW6zSQ)HvP<%4NT$v$uF=t_=pmCIs|yL6h}-1gt7=p_V3Lo8WQ zS$FJ?q{F;HtI3r+E^9m?pn|~KB`4y{+0^}Huv!YhYDT#=hA#JoT>h!tbUAgLqoEt> z>M)BqJ8MB(tfQen$}+Bdu7vfJvlBeceLCsw$ccO>Fe&0KUt(s)g}XGGgg&PI{a&(u z=w;H@TP!plgs^{1p)U}w%G3cj~-WE7Q7~FCSxQ1SH0m%9Hp+Y{5eB= zffMim6O*=eYELs#(z%cCXOpU}m+bcH+aI;mcEW#2dBFy^G4t%4O*#r9Dz{`^@a zhxZ1BFw7g`M&YDlRBgO|BAB$*n$LQRd@VzW0ftK~+nGKmmnxh5AW^B20Jr%;rbXgy#AGlG`QEdzRcg$do65!w|zF3uHxP9f7 zMZ|RQ!DN-SMuoE^V27H3Q};ZG6c!u88W%i4(``ETYn)(-lpWx}N_2-J3m>A`cIvLL z7091nWoyCJ_(Rv28V%(ds{Vl0p30Mn$%8B1(>uNC(%L2OR6Hu z|9t*kfJgL+Vv3{bb*jELkLNEZZ&1o?uoA)cbPhKj8ZAnx9VRwQdt@hjVE8|H#S0-F zF{kdd8Z8-W5c~iVJ)6ES*;aa$2ITxK1-;jIPA5Ug zI8e_mAm#Y#47UTtPu@>xKYfeK(|p*xP`m%P=*!RoOngZ*_O$Iy8(_ja7}jw>xm3$O zVOyG@mATNHWig$W1NN5~>ak-w$F)7n7(V>2T zlAF&^w(6r4riL>3i#fn|O3OLURr9z|H53P##TTS8;Bvqes0jv2vvN*T=YZy86+6Vs5Lv!A8d(s^#%B7Nwoh|hIvSx(~EOrXnoA)mYM zS&`4lOA^e+Pt;1Z(^G!!huTtenYS>O-y~&P>%A)pV9#Kg%HQ$NANrlyxJUgC4fwQ}4&VQO$nliT*7&5Y)y@v*pXyT9(_Ou5jpf z_3eTW2tY}?9j6}{^oQx%Dh~dwRK-`Dgb*hJKK;mnTBFX7>ujN4nOd za(WVVp_tE>(6!zXnZZU`vBi~#gosr>vI{lRT>Q%`Yt%rynAW#m2w7DzxqBUrJ;s5u zwT4@2Ev+tOUOkLjm6&N=_{e}*k4ds#7)=U!!;Y^GvrfkhpWXRU2D?j4Ick=4p&$_eRUpUbHye1FqivPAzax&NfxhIL_SYMR={9eAeB++n0L8zxOA6 z$`!ghGPFi#|0~i|V~5zS_oIuN7a1`2=pXq#H2IXnQt)7lO&rl9=#|yUjh>tDDQ?|fz^!hqUR$g8x zQO{YGb3kh1=+HTEiz=V>YpG#Ls@VbQ*2q%q-yzBjk|GOQmAXttm&Qiiw%B|>eF1_= z2~(&UEsA4|g`d#E9QG0rEmLI{1umc=2yEC!(vEG+g{15m!@CPiy8cu<8u$Q@ zuTCeL`HK-SJdosE=5B6Uc0Zal(^}|_`a7;Tl!SBr%$gcQK*!!_L1v_+=VQz%&i)0~ zkhDrix&p_2cW1-Sd6-dGYnCx{-;`;myh*2Yf_X!%@r^8TG54=yo z8d5Yy*!D+TfQ43Sfl%3AykzrFh^*Fj1P5h9tnmYk;Wt?yOg;6EuD|+!91S&`pLPSt zV?2({Hjl#j^|;NL_IP32v08D?=7O_e*io^u< zUcEKPRU`aSjBb{qS%1LK)@MF0+eXtUozI7)7-lh++Xi>;KMfBm@XE?GRqge(Vk4MN zRX66X(A@fG0Wt2srx(vI z)Q+9(qqoMUsO$R2=-B2w7;5Y+n;lwfTjrR4pTjc$qDOz%^Sk{+x}!k6kY)@c3^zk2 zK~xx4_Z zOXoGc7~L?EMjdn^jQyh0_-wc!4CAPUmWChGmfa0tz)`zTbQV>PT`Q(@2TRfhGrY}5Zl$=yuI zo1}5%18dY@O=FS?5-hT8ycqLj8)2Q)%ML^A7qe-C0%Y}Pd)fEfa#BqBdw|3^%d?{(c|2EO*!%{q_#_iAed&#LBh1xMe)JfaCx{NohVQT@PH!%c3envR2^S z!u6EGogNTSsUpK5+M+&k6|)LxZ{#H32}I?NAN5HoQP~j7=bW9Xwe+LpnDx*Ebk!L9$6v{H)}tEY?|W!i{gF zn$4na3f8J~HD4Mk=2drait0=;y-ebTZ4yZX1Detj9;V8THw%3L3t>kqw6hVb*cI0L z1x4H#o&-3{Og%Z_sqAO;d8^hZ=QL=3m9Iu3NEN1O-drg;lpok2%c03haL>K|>vmK{ z#N4bn3#tQqC8y5zc5;#+Ovoymbvemu?R2tj%fj-{DJ~IirqJtlO_?-9C9H-#vx_ii z6=_Csm?{Zn4M~xn$I;I$b(>XyB7Q`0yj5wtUVIBZz(94vh6~`bT3&;Gjeih7boaNL z5`7AjCz_;(fbu|`8%O0?bEkjF3Bv(Y0@er1L8qgq>h|LJ6^Z9{HLOMxme!Qz{oP(#X7)<=- z&GdseA!Qj_9mKuV!u8?OQYT}&n?oqD3ryDw)$tBDs}=EAo-MtL!2Z`@ez?#Zmvx7S zFpCWfboI2X0MF4vl4Cj-LX`e-w(>!ka_GQyFs`aCt6aENlm7}73cQ@nZaPYPXXFrN z%bR7Eb|DKi!<1eKL@Xzol8@ybQxp*<({s3>q`^%v*f2$vohUbHn<3!dLdTb^B?>sh z&em1-YrsrCTM-bizIV)MiM$lH1lg|U(1`eR8q~u&^y$fmp?;sUlm*mx+M9m?^}N5( z^5Lrwg_@$^(|)4U6kxW!eTGa^>B)Rg1z zj265G_(xFa2f3YDiI7@`ib1teBo8p8LviI< zOI!+Wwa9`Pic=I*Vm643L6F^GftxxQ8 z;o8A1o4Q}wol?#n$j=>z-YwKCrnq?IF_UimzCy%q&;ki{a^^Sh(n{uTR*dZrWnC@8 zL)G(uiI+*=l$XE%!A648Vj9gMF8U?aP}^OS9QF5Z7?f#5Om{{{*uT!PT*I;)VcAj! zuTh5}YBf`cs>zWEOJ#XtK5)lGp9ifiKm&WKC$pZ)Ob7?yF2%9-1I)eUjJYVBOeR3CMqQ}_s(3sy2x1Vcn_&ZK+nBW3;4@5Ga^DvL&!5|mOMY=EjUQ14%V1{_|N~o z>VWdIZ>Tz32X?La73Zb=bZr>({zTOyNQyn*-|6lg*YUueB%kZGW)I9EjU|2Tg|f#!E^{OuVe5tvK;M5pP}_ZlH{7e^avW5$}LHd%PZt`m8kYcbw%w3)y;D z(E8aiszc^+Cb5=eU$LddzP6c}`vV=$@o*b&G z+}%!zbHr4wR#2`_@=NSu5n!`$$3XzgqO$9ZJT2v zfoeL=dARgMk4Mb}Gxgai<~1&9-;VS7<|WiK%Q&p2a%X@048%KHjXz9NR#`QWt0Dn4 zk?x0w3z*q-18#N5w64#}|NMd1?Il9k@Oey^J0C)afyD`QD5YNsFUW1?<`&IID50@b zUK9@LPM6r!cs&*A!45$KJV@GrYZECs%MN-Ou2suR;G3gAZ}c(s2qb1Cca1HWV&8BW z7&#^)T;1PVLo86vYy`av_aim^f=y|kW03v{Sjl%*;pI%c#uO(RU6d`8v68%lHa~&`QHBv9Kf|jpAZa2ZyjGD( zGC6d3M72dSq_Gf~V03 zN(ar3jzn`stkGRbK%)`ki3xu^dAD{Iuo@54W+cB|pC(0CKbiMRg0Y|QO`zR< zkgSuUdnjkI&GQ^RwSnhp-6T=esjK6R`nI0XOSu1ZN00=?56AX5s zVjb?FW{pNthFzz~?@hKZ6bn9k+=W6E6)Y0|vX7lnb$kZ}xRf2dm|8%AiCKV{Nw5HJ z@w8$VnEhJR313CNPnT{A3UljfNP|uW^}8}>z+LWhR_>F1$oUH!U&mEW5jfH_?{DCl zLuD?ni`IhJ{=<=4$W<`&5&yxnV10Bb#C+aByH>wMZUcGGZ;`2&Cxl@<_w#t^xzmY* zfR%(lAYP*h`Wsgx1QMMpHoQ+cm5@!#k8LL$$>UxtwBR2VM|OE8Lp)sor^_4IYMR0{ z&|&HX44f4l_&WH_S@sEldqGwH&k1fL%w8Ki~ZhW7wOg( zBvyzfPn1fra_Odnqc+WUNHkQX1;O=Yuf%Hh0Yy%|$m2+n@y4q3UpZYI$kpZWo3Sby zzqt&N#XPGk8W;BJ>V~LH^F4W+yI!)KU_#4vSK2TNE_7zdd3p#UB@>3^?&4k`QSP3% zVXM=%g&6;R-fId*=Vk@rUfbRe3W3j+?b~fmXA5=)qj%AzLg#cg0WYCL0J|C(fg8)*R4H|7t0 ziZrylhifz_oX`C5-nmhQ3sW~rW~W6FFYC();Tq|os>N6f3+%Yo_o*b6L_ddDqL!DE zyG6GMSa3_vKf=m#7D!3cwa3vLq|{1PS;Q2{V9zUaH~PB93;1;H#U#;hKZl8r^>v*M z+0CKLDIk+@sk!EVRABZQL&2mEvck_Ye7bUa!t>s>-?$cfNEGmkwORa}uvLT4<rsWv<81si|1VonQ5Tjr8DZ2wcOHIfD1VK9 z(>u0(n`48Dpm|q%$+bs5EqmNh{~VqF*=D#A@8xREe(jU>c!RC2%*yn&B9uNcLQ30!jJi9oHHSd4+)p!`EfsseA?C+x)8munlPkm@s4C^`@r7LG4+sLowXr{95{sQz)TTqy`4(B z>#VJq)6OUQrMA~<^gn*Q{{g%X&@PoS!};54jI_)e)GW?RD9#oc&CTMINIzyOuJU0| z6=o>L88?tLfY8k~KQ57(`;D*DO}U7!Z|+88DnuyPC=wS}s)bTuLupS(#~pIof4!&= z^G&6vO80Xif^Buo-nrii!q&qIU}yoIe+=B^4TH1e=={!9v>4Ym!s~->_uWd;9KO6|A4YZM#_(3Yar9F<*Vj*-%Bw3TV&!;yzH;+bu~Tmg^6lv zyh+EFQ36=K2<$O>)tkx0F3IFtFJ)zK`?1V_<|hY8(xPCKpwaSS>yu1WgOb!{V}P}+kqhCHxr z5Abo$-=<7C)4i7oXWE+=9uRcY8?LU-&~3(%i;qSOPo4dwtVQ)AbhSOS4k<-fWRN+* zMQy*;%UUr9c2hXLI04LVObjcH(NZm| zu*`bS3$%^uCLP1!Bv-u|esJS{Q(@K{e;sP(F(CZ#HknZ>$q<4(!lBXAqPmBp0Euvl z?d+YuBf>*J#{55?zA`SV?fY9Ar9nZuLAtw3KuSTR8>G9tySs*#P`W#Zj-k6@U_iPV z@|pYp-TQp@>v?g`?6cQe-`X+1)a2%_V+4&RV8GP}I9iY}4J1Z3hi=mQMXSz!@>_<9 z3+6fyZ%QkjcT{NOMxgcN);pgkoJ`2H4DHSPqz(LGs8+F-r&kxlT~N&3t`nw7#!nVm z`4&gL8RoIvAM$o#uWkFto>D~`P13tw@agbcN_w6uC^Tvm{|0H6t zz9&FI+w0^l$GJl8>%bp^pDauj);o1X7pa|%WoL*dN+W|sKXcX;r$f-~%#~nsFghHr zVyEOZ0nxp7E;*Ck8b4L{lG{X3DO<-+-6M*-G1h- zxGSD~{Q7p1w381)d|Br-5WC5_vqU<5rGMX$#nAW4=%(lC?kuf8`!Vgc&yJ;mUMwWK zy`cSDl`FP;zwTSnT?dQx)_BOM)5mZuf%=biJ1IrFjOL8iTHl%kgoP<|&glx@+8nX_ zLBjL5 z-xXr-P3be#F~thF{^_Wy%^+nMOWEU?kD%{+Vw@FWwfv);A>Q-)@NyED-&8^+q<2p6GU58x zd+u3+ExMb(rJM!i+lzCmV7QV;F~XT^wN24$L6BsbPA6Jk&>pk>NguPEHx77NzP@}F zT_`>h)OcXNJAzQ=VTWnOJLWB-z7iVBguo7@Yqp z%O4~ItW{fBL#^e55Wk#b=fx$-pQ=j2CbWtcJDi17{=>K=gbrGRgip-H2tS6fHEmJ* zcMBdrolz8Or-4)Uje)@D%MM6RG;8|BG1}D!zgogpt4bD=qI-aoSGVqk*y1QNcTd3& zy)hPWJ8YI`vgmdLSes2vm!E>pPPN?_aUB z?#AT}Zy>x#eSH>kSzDs|7r{A#hpQs@JBe7Jf;c(?aTj;oO#V^33B)bO>0B{6)?p(@ zGvfIg)E$L3!bl}fM9D%~sz0VFherBKEGi)4%d$M*jE+mbJO-3o^2EemkEzx|ykwT; zH_7RI&nM~NG@VmHR-G%bzA!5#ef()=q5%^(m|~yAYT!3c{1EHlIgWIW{JR;bqs8&l zxyn-8LUfoP&dZOKZsHfb8tTzElq(iJMVu(iJ7+%fD>+Am!I)*G%`3i)OX*ElqK9I#W ztrs3}?<-CYx>o%iv#Q_2=jslaW=+B0b4H47Yp4*?GLtgop~^>0Hld;M`XbFEGOiFV zPlJN;;BX0P4KSQqmL~W;6GsxC&9)u#H4#>O{FQz(4ps9^N_EkFK0|HTXCn`>>%cv#8&2BRi%1>U>oL2wew_cmtOuA4wmG z7H$buN-Z~hM9-v35pzUm-A>lR5F*0zIqrxnozY~J2b$NNI*+^DRld`wOws5_aYv6JLzchM-P zDiz79i#oSbO|PQzcKIo*Wh7&MegT=3A-j zxZ)A~G~?nzw`TY`lrz7(O)R#Qy8y&!cBfBt+n=A!mK&{6Zh40+^Y8ELwabNODYH=4 z-G<1oy<1T-3ia`FzAb51N~W)g#f<#aZWs za#zr~jfdguHA2RJHddk@%jR$y<-c$oN4)f{g{Apr?$lc^yqg2c2=HkhJ5VM}J*+-OKAVd^@_6n$ zZ!+dRKb>%Tt(*UX=43lc(vw$=bbQks;(aR!1ju)MK!tbsBxQ}AOC}ig$=%k|vVitg zH6x*PKh799lvW>Pq<&&egr+2$*n$qUY+iCY^fCgJFd>ilqWpgqpYcIMsJc7po3^^<6GHj7HF4r20`s&e6m zt}_L&uctQ{NEs?oV<*X4=}F;c#W7(Ukt!8Uy5Np_}`0wv)_gNJ=}qQ$Fh#l5$YLis%8g(sruHu(<_{M1%ADLd#0nLE+J z&dT3~uHt_cOBJk$NzDzqvn`+dpYSE{}y%@HU=Y5PfT z=pb6<+2r>-+nXQHfh(j!?#AKxR%5k77!z8TNXx!=N=|2@r&2&(p;ffi+M0js?TUCn zlxglyu|?OCiwUcrrbK*W6)a@^67@gasPtP}R({V8Fw4y_!|>(CIB{XRsc*E|f7zPO z4liwzO&N4=4is8%G`@|L`B z2)bERJWn@A=tW_CTcB?z7MUe*VWqqmP0f}BwL#|3S*POQX>J1VoifC9ul{+0UuCAm5a{$MT}x^L*WPV@#Tw!C1&_dxe?jW5qTYXBjzs;vdm`gZZjPLuKy7%U^_NVmLgM0ISR;uWc%8q{^6=$5PgTwwOj#m2 zws3@TOjoDw2WbXLE#TM`%SmRZWC5&3Z*xp8N8$~rH}Cf`h7oXv-k7$Fh=_0sXr+#c zJ`h5S4W5WUmXIe+=*T*hVcuR~HXxo5H4Lr}nm)yq7e6)H(>8(azS7_A*m^roP(4pZ zVR)*Yg$N64IF>NYjiDG1{1W_~6EgGBBCdojM83@?B6L4gv{nxA>fsAqim>Ug;>CbT z_PibSnHrd;GS1SLy&&b|zp6t2gWz!Cx3l&Za@c!ApW%}fFfT@aJ^q7&-(DD#S++Oe zowtf}j@nr`(TUW2hOzuH0rY+fuLRYm-+fQ4cP|I&*aO^DB(9L$wm{8 z8i0N8ucA)N>UHjC5*EQ|s*L!1x2tD~eBC#|%Pg@rX;XU$LfeZrdmlE7_6_9XkE zVxVSlcCYUT!RXaVNHHYLaz%~xZn&v()j=$8axq25hSc*+#C>dT`fYky-8c+c|L>WR z;RTMzQ!64Oy%5;d^c{0_9~)l>!V9Pj z9tZFCimQD}pT-6>#EZJ*=}MhBF|w~c%|aJCYAiK>o<7H2`yFOe?7bMRc6L*945

dNM-Lj{ptIrk*4DN*V^f#TbFgR^C0K)`N;pTDCW9<&D;7|llW1R2=B@ciLA3{ z6~ZoS5}^ihJBtiUjX0K(+A}^;ZOVA0i&uwAgTYl=2B&vNGcKQm9&y|3JQdY!`s&b2 zXSH~Ji;u<$?(XcyhKI4MIGSCJi?jmbgL9^ufwCf1EusIC$bpS9;x%s2#$NY@&|2hs zGjX)v-9F+;^WIQf8B;*vr6;`P<*VEeympBn&)tF&Oi2DI&pSd#! z73fiJmfr&#!Z*5XlRNGQCM8CHUElqF8`-Ue#7pNZh2S&~u}kLbc)>kxQB9qW4R$)O zd2N|a*S>Go8#-!BG!pQ-_BTDxvLE@_urHWIDj=&Syqrw$^WrYTwpo?Fi{f&UJX+~H zeJ|;Lx^P#c|8b$t$a|y{ICp9UQsW+BN`EwUK@aCspQc>N*tMm=a%*$n^!Psgs?^?W z{QKVmT}}$OS9=^@MQt}R8_K2)w`=j46qJ$y{7CN=)KmC@<6=0tMHH)nntHmDP|9$R zx~CTq6BxROAzvIOFX$>c$hm%*(Uh=jI=*hjYx6N!MAW>3m&~VTo<>FS&&Fzta^8Do%v_e?WJ`|LFPu-~5dsFq&F6xEN2Yce&KbvxLWU=Tsj?UkJoKK3;JyY$hSxDUXtO8mD(y55*YH5)jIeDQQ}O z`U*s1@7;7Y7SNQfK^TM#&f2H!%FuQJmLfl*=$hO#BcUu1w~{&e46CnB+V;Tpb^)c_ zMs&QFb`78X7aZp`o5t;?Z;H((j{o{38pGZYAYL=*=C<&MIJzzSMyKd)!U~Mf1X^h8 zD(f_xjsE?0UwY2LLK0=oJM11qx#ST$ReCT7Wm5F-p{52B-_!Qzr6FNe{U_qd9!!>G z(x!dp^8V!Q0l|f3cI||bi$BMkd@QeLuil|g8+o0Qx!z8Bx)IglSSD#iU@%fT!Z&lM z{Gh}fTh2+kNF|xQ_34*;^3gA)T`Ed`vxi2ywKFqcy0l7kTG^G3%2c!<&U;;chbN)F z0uQ}T0*VfmKQRbwJPz>x94q|)@tjeX0=$i0x~tj9bz%fFo5+7qP@sgoBkDc{HJ~kI zP}Vr%I264Rv*gUAi~hnmZyw(#_(in+=KIyb6-nUqG|oRje}M%C9U)Ekx)lp+?4`}B zZc6YYz1e&3%-187S2_LLB(!3G2XSO#b?9DTRCaNTe``C&!xw*K(Z+p)uuACsJX}Vb zOBX{?g^kcjX|ZwUfZ#yj9^nsyFdkc@&9Qk6R+FO~{HHSLX$^bBHm(?f>cMXg%S4r&*_oz~ zNtT@3lR=AK&I%9j(;y7_G_e{cLO?8oTiOuW5FJ`%64$Q3&NEu2G0#(cw!_U8Ut3p^;Ac&=p5O0!`Jkt(5${io10JfZ4o z%(iY3)bm~o!lpN$v?)*-137X;6DaT!qs6fkSf;DQ<2b|gSmG2P5lH3)MH?XNGa03a zUw*(8Gz4id6U<0|e~i!H%W?<9sp3xy)XzY(%mEI-`mp(uzTmi{u%K$f;UQ6zzA&>t z^uZwA;5ijCyijQZ>dJx&y96SW5~C?W8(*S)+5~BQm>u?Q&X-RZt14UU%J#rS84bc7 z`TH}oA44wKWB#BC-gajn^^couRF;+eo@`p;bB)W`O_jlnn(y*7tjt8)Qh#~{&6VM+F|AF?9;b>a3{EN z=C4)XmU?W|>bxB8jO`(uJ*oh9T9y8|l6*w8^<=-kh7sk>HjF_DDg|p9x=$PFV@L$T zIIC>8#u@~G-9ypSxU3$Uf!)88$Jwdr-yil2O3~_YxJGf}e3ex_$obypnLfv+>U*lH zR0~&p4-CZEkFqGyQG6|GpEzQ`JZze|fD(P(IoYQh&gzFY`f|#YT;x@YDDeGHRH})F z>cDaIoo^52SYMC7n~!$7Xs9>xxqwDLb4jLp663Ra!nQh#PcCvB;S1tS_t%r5 zWhr)y3unFXk2d8xVp^Ya;`aM~7Z;JTRBKL-2!Dp(bE_NL^WZzfPx>~N@vlI<#tqwH zY+jg%wF*;IOouV2EV!cAFF70ach(Nr2ZpCmFxyW|bGmKcBJ_+%gK2!F^&;hH%?_lefcMqn(!t zRE_&Dotd`=tI9(>dcN9E9~@D;d<458x2NCubH$6C+5C4xOi%~V z4t`rPTrt<3sC~{h_z9{PWyQ%?)N!tpWzvZw_v(cju;%*IoumEsQb<{bIXTPm;b?Oy z-{!@CEfE?KB$4gx6sa>mGxA()7e!Qkabp0wc?0(YcLfKyY}((bg5LhzZKCvi6f$7( ze_A0Jk*C<3*IrL_qAf2N*UqEPLTrt>cv+LE=E*}!WZT(UsOs?W*vC&nI7^@Gg9+9- zR3nH^7U)*#=%S+2wsmKs+hc)#FAnW3Ti-M0%&gIbqWZ>^di0_}zWIN(kKw-1u&!63 z$dR;H{@=J~4TBv;06M9Y56T=eP-YF~?spFzHhwTyzGfgpp0j@WkYPfKv`@FsH<;f8 zX7u>N2xMinoa1ImR$laZU``Ilki*P6I;!f{(tk!dOKa}BnXU7sSH56=zlUlgLsdom zL+EFQ>u2OE)f@rFYG@}Kc+qbUo`hx&Z8r6@DdTSTS3-z2cDVoO;Znh#tA|{Mq=(!P zzprk%!_DqPb|x9rs1sdv0!l@>xx#u@#D5^Nj0j1@C2DJ&XYv;nqRT78>Sf+vQs$sM zTwu~;QZ)Av&;GB)5QhJ*)yhM&c9i`#L(|oFr{l-z$>L7|hqB0c&Vu^eda1A0juKzO5Tv%>T_)?C1=>C^_r3IH z-C^vRGQ^gj&721h!5;$sHYW+Cea9JPd)sqhSir|V{`Z;>4AjiFFV<~Xj{xAp+B$tN zU2Gr_N&Sf~fyw}m(0~5A%%?6Z-T%+su--%x^^rVU%3!;TPS(bR7_S>y_^xIBs&CyF z6Ms(uJ*9FMSP^g8yL;iuJ*k+2AEDg=#TKVc$(EB?GrJI680 zlJ5M5r*U@|&uO_^kJkStJzc)GRONFM`k4MwGI{oQx2C^gM*RFZ`}&Yock~gI4gXN# zqfGM=C?qcyPrBS$GpxgVOK}%><-T^!=_p09LfW2CNndd?-E$pw zw_7JW=2$$(;#rp)U#t7*?14F6MSsJ-_u079q&*-ZzCN#mdXJh1%eQn=853B&n^CPE z#Fr|cUv{Hxm*Hmo;2CeJ<4G}B4Tb(w(Y8@7VPGC4O3LUm(%{QK>)}7!=)jgH()^4y>vD?uG34RT>iW{*$3oKxpoJOFRYn_ z$?Fth{L}h1u>zxBm95^?5jxL9ieiceR#SC+IZb+{$PdaF0hc1EoAZog#i`SZw3{qMW%p*M;?6*K!;uJ`m!=&W9|vZq-^UrQqa>b5_fDqEh(=wO8rt~@J~`)$ zh!Gx29pk=MT{~p{`?Y1D1VZV)l(cJoUraduIUDe0l6tN%xi&)TYq!T^D09VM9-}7g zkPOWwY)y3dr*kk4mY58g(+VE=b`?{uwYq^KQ?Xh8a(OX59ap(V*ky~o4&|4986w_C zt8U-J!^{$!b2lADS#Lbq4VZMC|DQhXY;7xH?=(${KXXt4Ak;GNfccU z@IKpP;g1Z&zT}=_vACW2BJWqwtpYmD`CIeBUMe3Rt!Q$y=QhedlQ79TTc8w96jAHQ zBA9AcKd0$9?>EM4!$TjMekCl+NY%9 z@1t4&Z{f!NKGDeaVRq#UK-p;G#h<6!@;qu4|3L=TOhBrW0O89TZta(O-ijtRXwL^2 zd_!rzs7xr8nUeqKIIG%>U!r#28OBTOtLoh5uh(IE-A4#|JJ(&PDBg^GJFb$XQWnsP zA@^7?YP(!s{?>YMP@^jp-8uiwO^k6yIma0t?efC-<4#wjehLiU2#Ph^=O68Nn{V|- zbOgzJSrR@Nk-qkt(<2)#KQdMrtBT&1)32YjAi)$-FtAN>2nOlzWv0 z>0|KCP_r&^1H$R0%IXmoVZm42FJ$IB4_YB83Abhz^RICB%A#Qno%cmowvlZ#zZm{& zFUQ6Bk`kC0Af`F73P1MEn!+3LgkaX4`43GB-pV%D4ll}XzfI*~pR|nl2y=U>G~e-` z{i_;Q+=kNJ$B&-#r*3^K3p*eO5gjfa%)S}l2iZ$WBIwZh{1Y;EcUaj^UCEzR zr0PZAa-N}fSx=0WWQ0kt;;grzkICS87-is2e|Tr{p|@s}byxIdy47iOx|wfc@Rc6Wz3${TwVt#zaw1!ps;`|ZfX zNQ6`%>uYSDJA4dVzH@j%q`8Fq5$qM$6t}>I)o06@v7asR&{h>cX2ox0hjKSt;`G0N&N2^Ocj;#&9&f}x zgJ6yuze#Iw#n217vyp~=a*hz+7?Xh?<<1A}ClIAh@1gjr`}K%>H&hC`viQ<0r3Ofg zyem@6^c}~zkh9iL*TDQi3P&DryPEhH_1#K%d|_W|s_?k_!=9DTmgh!+5p>Q*qN(6m z0$lJ@IA^g;zP+^T#5?3T309q!zLQwmReLs z60DIQbd-I{WLb!8yfU_1B6u^b^lu^5@SKpUJGU{;zPs zIN2WPWHplBPst%yf$|5}^dsvZtZK#^U)YQp=>^3v)Su7Vlhg?+NTm#KsPm=2`kvtI zzU&P7V=On>;$gyhA=j1u>K4|p?y@v-c6yupUlxD_9p>aP|1IC^qx*AQ$1RpW3~Yca z^$1Fsg|c9;UbfWxeP(SrcTj|+l4`cD(D5xOEU!q7~+7CX0k;20*5U7c9Hp5M==GTP@QsMkv zK#9&1Qlm7Ntt`8;e~?nncDwl0YNBWKf{gnA zY&I3dh%I5zkz_9OtsVKqD2l4!m(@S{{dGYjQ5_XOH3^l9O&5_cRg-c0p)k9{KO=EZ zjwG&j%5@9z$WdC_+!ppF(Ty`mKrQzMFhu{02>2USve8xT+wGaaCoBQibf4qh>QsY= zfoRh=j2GIK_}M030m#blS89wj{cbcsQddg7%QDKu)puFN3qIy~Yc9JJm#vfjct5$< zvN)#qVTj91K>^n!j#iB4sdZPeX1W1k&<1}0bPnU5K`~|Fe%@(v zTxY+8zo>#UImjBN82h_a@}(G!SpzY1a2h9dI_nt6x9MC#yN-STaBpz>>v>pf>o9&-85ty%O|dW!-73ni%8 z$Jq*h9r{c2LEW~wg0viLd?mnV4r!T5%8@0Vjs&0)rN7lXu4^y&M`~h&C|+xPN%UnU z7HpYC&PJ0*!sYkglI#wDvjK*z-Vzh!x29e9RTvr8Py~OK-E4o%@3{UjnS$kijW>v zNoj}+S}A$1njatZCb5lT0^_W);b3FZd! z>(HJYND4#nNMibEAJ2u{yY#V6=Ig|tqU@M<{5h#UT>|Bn-&L-PgDWaGkfw&~_g2Mc zVZL`N62rf9hDs4IlXa#bZ28OflEcDe4$A%MIi-_eu>5`Q?Q#p~v*_C!mQSxH_ugCN z12Px_q@Aev1ZTHE&bi#Xt-nLQVQ-G{X>tP|l>#zexyWueuwGYNG)QT3TFA>M?Cxs0 z|L?^9K@YFnyFG&@Jw?d3$eKX@UeBe*nMdEH@f4}H%EdL;@P43=z)%C`1+*p)ERNBj z1%E*lddrbJF7b!lcOSSH+I@|V?-}lPhe%-h#{lB zTBtP+Yqf;WARt#Q8Fsyun)32_?K;A26Y>r3a9yNIPYiP8FsL@`wYpu&MVCz_Tv9WR z_7y?AN2Nd)lIyRP2{+W_V+o_v;j;F2PO*C$5T;m)iDww8g!%hzocrhD-Bar7!}5_$ zOwzO*XqGja7N|CMfIn@v?o@R8Su_3F*#CX|KtppG=l$cF777On19?zZUi;$LRh7y+ zEQ(32L_U{aEWq%UI=n}z+_>OkP{{M737t%COsrcj(pGL1eRi_=oGkX4Ea2;fk!*Xc z-MFKmQav;2F7sx%DCSP#GZg>Ylj+56Q)+OtsE2-gGcvr7?o|m|9HkBu<-*vJ8W8r> za_ai65u~3C0S)-ju#WoHv(i??829j^)Fwvhp{!iQ9mu4OwQ1Fc5Q_1aaa6G zaLg)3VaN)q`5Z-IJR|w%~aB! zALE7(93Utop=36&2=^%^w`xDRrCx5HHys@9Uv^MzbBI=_lN3qU*`g1v+!%{bM37cCf=ET+A6;ftUD=H;pzKZAg;N#Zo8^r8Y z3Q-*TPe#EcfyGHS(#4K8jZOmWLhtr{iIk;82nTP>cQYoH`jKogcOLbH^M+CXk|0OI z)S6p&n5unW_@!h8G6tiKT+y$5QMy>t$WX(b3n{S1b+BLf#i4YUtdf=CQo*9*&CE}C zhkq^5{x^u!q`?3f5^wN=n3((nCe`sm1bTbfCc+V zS7na0S3WS3ymZKotK%uR@~{BN3hU;woU^;X-Fqk8ssco>RZL{T47A7cL5h1f7PM|r z>Hr6l!0XM4NrR_s5?Si251~)Zl3Uqwqu&Na9P$m;iuaMRPsm6%p&_wUrF|56-l-<5 zPVR*eIG+@6l$gJzH9}*l?4P^QZ`sZ^rqZhOd*IleSJolZcH~R@*h#J{K zGVk8Kwhd>&{tG8BM{k*x&iMR`O1VwsAip=E8_`F>a@~X~QXhmVmQV_v^BWLhyBNkU z-t*KSb&xCN>oQqvLChy?1W7=%V>TS|uK3ZSBdyLkvt4-EVxR#yrGF&v$*2bbKa4w5 zlo>M@+E(!C5t~$I@l_-n`=9(&7x7%ICcM2BE}aQ-qQ98T^hkV`Ieu3dr+u}-`FmXy zdhM@I&Bb-!!C51-=mc`dOHpA696qs20iWH*4M)4B7f=m`=UL$6f822N+Oj=x9-Xp8 zkRbT!1zu7iiwfp)M_eGi9IVxXCf7O&6li`p=G*;3i(51jp#gv(L$Bi3_cX9< z8p0kiUfk=6H$UGaJ`475hK5JSOO~wGI;)^zMWg=PG%HaAsP|M>`nkm{;E#LT<)YCE z<@FJA6GJo_ZC0FU0;L04ao1&agZ$SCk&<1|U>=G$fqRMlhR6p&A4Zy*s{3`Ki+8h> z^E^Asc*IVwQAVuw-N|mnhA>%ryY`v+;&%D?Y*t_yHLK=($TkIL=B!8r zpru^^5LzkeA@(=C`Lp4M2uc{TJEfsZ6H4PTB#VhByk9=#l0%a;BVVRNb`)~cGCL^l zuf^&E5-4ktVB~VmsGvzkS2DePlEis9RMCH-6%Z6aa#9}6;2&3inNwss2lwP+|e&R`*W+&S7(H20f%(lVmTYJU#*CSXeNx5eV61fHS9go6jjKAp1tTV zax=iUkwuq*cfRUX-7m5f`y;aXBzLsz!_+Wrhr9{g?SbObwL}_1&U{)5pW2roQc{XY zlUUIn4P}ntADhu9(#dOo@E2T3=tgD`Yvex?JvZgxi=RTFTfveRBB_a|B35h*Zsa>ig~P7 zJ21p|lK@5hqi%0CFho;k`uO(a=$CCrr1g<1f`5b$k~mukZv5zJQpYniYV8%aef}Cb=Gkl&mK(!9-VyqjL(FA>Dvq_UV^C0=ZQQ^{v$lnhj^Qpp z4{yr!>T7Z3l3OTZCKh!Zh3t~y?uTuerGtC8V@bSE<=cDV))4OdW`rTWUb$yH;>*j< zM3QkGx${~qQ8@v3djXt%meQUs-};R=H&F9@^pw<--;*_hu$-JYKvBvgI{_&_T;qN3 zVY>L#W@KrM3Y8C5rU>FJ@7&_;`2TUqhO|^$3s}lQfmhaF7!#oYA1)_=0hgms{R9#p zgjYL{sR2*mi!$42CaPg9jKFyxNOITf{C)^6gD%pt_PIx;l+JZlfKm(nDD3X-tX8*9 zM;w-zihx;q#~#LH;!oT7nAoqU{YpxFW{)6B=-pTs^JeF%?2H;?n{RV<&c~F^R@d*M z9{HbEzde2WnaY6fQF^o2%ruj=rQ?(Q1a~06M_{CSbH;Q63?@qTA6Q#o~W$uv7`&0Wo4`;GyRbKUI;JPc5-)N zC}1?fYn&H3;=iK>Cr-q$Rf}>9JAEx?IAJXLS2OUMc7lw~J?lGJ50j074Fe#?X(D8kI45}igpzPaE zy|>}bI8{imhIo={ZZ7}(GgwU2sd%mNtVY+*LE7(h==oAFp<@C&P=~OsRXj8Op@UMM zX4lII7zW^P2+>&NFX5F(|rh ztw9}m}Rv}g63BCc=S!7XbA zr_<|o8B-P6h$mtCYA2HCs>IaY_D1^F<}2;N3BcE_Z6DB~J-!9jsB{UUb+J_oYJs zV7uRlj-ua}^gSjtPBjlxVzsYGVKvphYscq(URr@)R`7k6PYeIwhF27D*b(ui#^y=l zW-FczmJVZFkf9S3P&1fV3E@J72P6<+q;HX~?do%Puw=k3!oGidy%F}LQ1iNp!JZ6@ z$MU9$V48*|4|4aLP$rS>*ABR>l?JBtr40C=6Mb1`02Ue_bDahMl=I*-Mh=tAZkHES z#herno3>`A7??geOiZaK4Miqd;)`=pK7MjYL8b}GGR-ERA(P(PotiNaTu6Hj#rFje z`iKXud%rCWKkd80&SU~^nT1IF45U9hvlNT2w*`g;W28Z$d@xtF_ zm1!UBW-)1w@aViT^uG)PCLB2Xi1gfISU$bZq1C3)rn>cC)n`rR@g7Hh%W>L7X_qm@ zC@t71tcLpDqDc3XQM|(`T&@pyraHY8=Wj$F#a&-+y|c`?@I#q|Qs=x&O@XTlYjB(W zCJV60EHjX?8IH&PqUWRz+CeZ1M$@NF$FfQ5W#p+}N=1+cY1KL=$o^_K$w;o9=E$2x z@X7r&f<-n|Ks99NeK8cvN`6RFZgVsn{;-$0r?pg>Z0gnSm}=mQf3p7`g{9Q-Ml0NC z;%p%-$u#XED%`FZKW~4SJ8D)pl*nANC?T{mfmjF-LBK_ItV{Sq5@5R47>=yngWWDC zD0$jfm2aPYa^-|2ac)15owy43VsfGD${TS%La`tGrX%ni^@R-K6Ms;pzK7Q*rQ`z- z1?0n78LIyF_D>v(!Yg@K7~*h2GcMsJJZjkYWA{RSb)xUwZrf`bP2es=)}8rk z{x=hoeMRIS`OJmaiCM};Nyy@+do--0FP%z0W<4-JcnXiLLLhvz8&-S&?P~B^z|)cP zpHMI?xEF7TTd*f)z;N-9xM0;@+~T5}9F-?Wm1VSLwAoS3Z_(`#+si-cV#MlkUtS&J zxtX{)IlBy+y1|oX4|~DBy;4>lhOaPyqz*E9gKd$8qQ!vaaaICF^#H*H0#sqbns`Cqsg79zZzwyJFu-W$A9 zXTPSa?%sZqJ=P&K$oyWz?hhR8+Jj%?q0Dg>^xX1jEN5{)R{zm}PIYu3R<>#|m}nZ> zv|QlGtJDz;rqBK!XsV~^jTwX_!{A|1_tx9GyDA;C$2dJzFW`XFR-Zu<;jyQFS%c95 z{45V@IpXw$-YEQXnEvtCe$-4vJoC)YZvZMVJ@60F>--`ow}j z->{OBC;0Nqzn3M3V*ec)ZJB00^m>u^E_kg?vBC?K40)5awhM3s;Uof3cKGz3j=ggJ zUk4PLE!O0c?~VMs@NOZcCeb9P{vg4Ma+a&f$})b!VE(IXQDz`Ytlu2ivP5S(Q_mxd zA9hF&G>M*tqx12uEPcksO8zFbLiXo>1pU^F?3*iGC4Q*EPTyNbRUfk!YP7TD90s(X zMqQ(E1G3?Td;NDPzO|7HQbyfJSb?f4@_*(#8uDZ5dS~@SBl>+z&po~x6Vt>~ZZEja zo9BiRSY_|ER70C8iNSmZm*1gJEK;fu>*-?~$;v@%6vpfZ+jlg|AI6NT(s`r!8{6-H z&SH6C`uwVWcLKO`tO^*trEdQT{%xW*gNA=!s3g;R3-U8x;RN1N-GFk z_Wc%Zbuh)fLVbw34h8HaoK_p>`?Xe=*?L$&&!04r0oz0meIGKh+Wk-tEp!4FUJT6%jaocZit1a%5 z58Wl)BKGH@u3o84IYho1{xARdT%58e5*<`ceKju292_bEk<>8C6oaWpDt?g~w__qP zpti|i9O`QRlPmBx5I$G?3JTw1Lrq3ca;%S5j^KY75fUd0z?{+nDxa2uOHjDd5leCPXs0{k8N@3Mct7LYgw$jfWhBm zrvb1bc62mXo6l?j7#+jbJp4W3>5 z>k|#zwu36pa{67~_@gPoQabtu0k*eqsNFNL2|d6|#7TO}qsO9=Ec}1sr>JvVG9X*q zSS0c-OoQYtX$t47AFNz8Hq0lXW`z13XV}^=$fgf)b}#%(d15&JY`OSRO5pW8KlBTu zUs%EUXR@Jhxk)0o@#$U;sX27pju2)Jz9Vmho87;Wa02-g(;V0w5j_z>8R_~V^`~~u=%DMWaCSzw)(pDkCXZtUFS-k$z|tP z?~T^Qm-lf;ND$}(Z78=Dkp*mdgmKrf{g}^}xU?8E-b~hZ9mz{Zgc^Caw{lK!PrAnG zp0yqrT>4}OlmwQmB5b5Q6cWK1kn_`j1b_=4@}1bAT5R^0i-O|NYhEl

M#kd9ly( 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

I1f7Uv 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 From 5ff4c89f046f8296863ffc017927ff789b9172a9 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 20 Sep 2026 21:20:29 +0100 Subject: [PATCH 02/40] website: update cf page (#7549) * website: update cf page * tooltip * mobile * landscape * update user count --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- website/src/crowdfunding.html | 386 ++++++++++++++++++++++++++++++++-- 1 file changed, 365 insertions(+), 21 deletions(-) diff --git a/website/src/crowdfunding.html b/website/src/crowdfunding.html index 1f87477b3c..f2f8a6ab3d 100644 --- a/website/src/crowdfunding.html +++ b/website/src/crowdfunding.html @@ -64,7 +64,7 @@ templateEngineOverride: njk --cf-area-off: calc((var(--sec-h) - 100svh) / 2); } - @media screen and (max-width: 959px) { + @media screen and (max-width: 959px) and (orientation: portrait) { :root { --cf-grad-light: linear-gradient(30deg, #e8f3ff 0%, #c0e2ff 40%, #e9ffff 80%, #ffefd6 90%); --cf-grad-dark: linear-gradient(30deg, #000000 0%, #131d49 52%, #3f5598 65%, #c3faff 85%, #fff6e0 90%); @@ -193,11 +193,12 @@ templateEngineOverride: njk margin-top: calc(var(--sec-vhu) * 3); max-width: calc(var(--sec-vwu) * 40); } + .cf-hero .lead-short { display: none; } .cf-stats { display: flex; gap: calc(var(--sec-vwu) * 5); - margin-top: calc(var(--sec-vhu) * 6); + margin-top: calc(var(--sec-vhu) * 4.67); position: relative; top: calc(var(--sec-vhu) * 2); } @@ -218,6 +219,61 @@ templateEngineOverride: njk color: #dfeaff; } + .cf-hero-offer { + position: relative; + margin-top: calc(var(--sec-vhu) * 6.3); + width: calc(var(--sec-vwu) * 56); + } + .cf-hero-offer p { font-family: "Manrope", sans-serif; } + .cf-hero-offer .cf-offer-lead { + font-weight: 600; + font-size: calc(var(--sec-vwu) * 2.1); + line-height: 1.4; + color: #ffffff; + font-variant-numeric: tabular-nums; + } + .cf-hero-offer .cf-offer-lead b { + font-weight: 700; + background: linear-gradient(90deg, #019bfe 0%, #64fdff 58%, #c8feff 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; + color: transparent; + } + .cf-hero-offer .cf-offer-lead span { white-space: nowrap; } + .cf-hero-offer .cf-offer-terms { + font-weight: 300; + font-size: calc(var(--sec-vwu) * 1.55); + line-height: 1.55; + color: #dfeaff; + margin-top: calc(var(--sec-vhu) * 0.4); + } + .cf-hero-offer .cf-offer-terms a { position: relative; color: inherit; text-decoration: none; } + .cf-hero-offer .cf-offer-terms abbr { text-decoration: underline dotted; text-underline-offset: 3px; cursor: pointer; } + .cf-hero-offer .cf-offer-terms a::after { + content: attr(data-tip); + position: absolute; + left: calc(100% + 12px); + top: 50%; + transform: translateY(-50%); + white-space: nowrap; + padding: 7px 12px; + border-radius: 8px; + border: 1px solid rgba(255, 255, 255, .18); + background: rgba(5, 9, 32, .96); + color: #dfeaff; + font-family: "Manrope", sans-serif; + font-weight: 400; + font-size: calc(var(--sec-vwu) * 1.1); + line-height: 1.4; + opacity: 0; + visibility: hidden; + transition: opacity .12s ease; + pointer-events: none; + } + .cf-hero-offer .cf-offer-terms a:hover::after, + .cf-hero-offer .cf-offer-terms a:focus-visible::after { opacity: 1; visibility: visible; } + /* ---- close: same left-aligned layout as the hero ---- */ .cf-close .area { position: relative; display: flex; align-items: flex-end; padding: 0 calc(var(--sec-vwu) * 7.5) calc(var(--sec-vhu) * 22) 0; } @@ -376,7 +432,7 @@ templateEngineOverride: njk .cf-pill svg { height: 30px; width: auto; display: block; transform: translateY(-3.5px); } - @media screen and (min-width: 960px) { + @media screen and (min-width: 960px), screen and (max-width: 959px) and (orientation: landscape) { .cf-pill { width: 252px; justify-content: center; } } @@ -386,7 +442,7 @@ templateEngineOverride: njk .cf-cta-link:hover, .cf .text-container a.gradient-text:hover { filter: brightness(1.12); } - @media screen and (min-width: 960px) { + @media screen and (min-width: 960px), screen and (max-width: 959px) and (orientation: landscape) { .cf-network .text-container h2 { max-width: calc(var(--sec-vwu) * 23.5) !important; } .cf-network .text-container p { max-width: calc(var(--sec-vwu) * 31) !important; } .cf-network .text-container a { max-width: calc(var(--sec-vwu) * 31) !important; } @@ -426,7 +482,7 @@ templateEngineOverride: njk #navbar.on-light > a.logo.logo-light { display: flex; } #navbar.on-light > a.logo.logo-dark { display: none; } - @media screen and (min-width: 960px) { + @media screen and (min-width: 960px), screen and (max-width: 959px) and (orientation: landscape) { header#navbar { height: 74px; } header#navbar > a.logo { top: 0; @@ -446,15 +502,17 @@ templateEngineOverride: njk opacity: 1 !important; transform: none !important; background: transparent !important; - height: 54px !important; } + } + @media screen and (max-width: 959px) and (orientation: portrait) { + header#navbar { height: 54px !important; } header#navbar > a.logo { top: 0 !important; height: 100% !important; align-items: center; transform: translateY(var(--cf-nav-shift)); } [dir="ltr"] header#navbar > a.logo { padding-left: var(--cf-text-pad); } header#navbar > a.logo img { height: 31.5px; } } /* ---- mobile: portrait art on top, text at the bottom (home page system) ---- */ - @media screen and (max-width: 959px) { + @media screen and (max-width: 959px) and (orientation: portrait) { .cf .text-container h2 { font-size: calc(var(--sec-vwu) * 9.4); } .cf .text-container { margin-left: 0 !important; @@ -596,12 +654,12 @@ templateEngineOverride: njk --cf-phone-h: calc(var(--cf-phone-w) / 0.4914); --cf-phone-part: 0.55; /* bottom of the hero text block, measured from the section top */ - --cf-hero-text-b: calc(var(--cf-top-base) + max(0px, calc(-1 * var(--cf-area-off))) + 78.5vw); + --cf-hero-text-b: calc(var(--cf-top-base) + max(0px, calc(-1 * var(--cf-area-off))) + 76.7vw); /* the arc crest starts 0.2678 down the cover image, which is 2.349 phone widths tall and sits 0.4034 phone heights above the phone top: the phone may rise no higher than this */ --cf-phone-ceiling: calc(var(--cf-hero-text-b) + var(--cf-phone-w) * 0.1917); - --cf-phone-show: max(calc(var(--cf-phone-h) * 0.15), min(calc(var(--cf-phone-h) * var(--cf-phone-part)), calc(100svh - var(--cf-phone-ceiling)))); + --cf-phone-show: max(52vw, min(calc(var(--cf-phone-h) * var(--cf-phone-part)), calc(100svh - var(--cf-phone-ceiling)))); --cf-phone-top: calc(100svh - var(--cf-phone-show) + var(--cf-area-off)); --cf-fade-ext: max(0px, calc(110lvh - 100svh)); /* dvh so the fade rides with the button as the chrome moves */ @@ -623,8 +681,10 @@ templateEngineOverride: njk .cf-hero h1, .cf-hero .lead, .cf-hero .cf-stats { position: relative; z-index: 4; } - .cf-hero h1 { font-size: calc(var(--sec-vwu) * 9.7); } + .cf-hero h1 { font-size: calc(var(--sec-vwu) * 8.54); } .cf-hero .lead { font-size: calc(var(--sec-vwu) * 3.55); max-width: none; margin-top: calc(var(--sec-vhu) * 2); } + .cf-hero .lead:not(.lead-short) { display: none; } + .cf-hero .lead-short { display: block; font-size: calc(var(--sec-vwu) * 4.5); white-space: nowrap; } .cf-close .area { padding: calc(var(--cf-top) + var(--sec-vhu) * 14) var(--cf-gutter) 0; } /* crest a fixed 78px from the section top */ section.page.cf.cf-close { @@ -652,6 +712,19 @@ templateEngineOverride: njk } .cf-close-offer p { font-size: calc(var(--sec-vwu) * 3.6); } .cf-stats { top: 0; gap: calc(var(--sec-vwu) * 8); margin-top: calc(var(--sec-vhu) * 3); } + .cf-hero .cf-hero-offer { + position: relative; + top: 0; + width: auto; + z-index: 4; + margin-top: calc(var(--sec-vhu) * 2); + padding: 10px var(--cf-text-pad) 12px; + margin-left: calc(-1 * var(--cf-gutter)); + margin-right: calc(-1 * var(--cf-gutter)); + background: linear-gradient(to bottom, rgba(2, 7, 29, 0) 0%, rgba(2, 7, 29, var(--cf-offer-veil, 0)) 22%, rgba(2, 7, 29, var(--cf-offer-veil, 0)) 78%, rgba(2, 7, 29, 0) 100%); + } + .cf-hero-offer .cf-offer-lead { font-size: calc(var(--sec-vwu) * 4.2); line-height: 1.3; white-space: nowrap; } + .cf-hero-offer .cf-offer-terms { font-size: calc(var(--sec-vwu) * 4); margin-top: calc(var(--sec-vhu) * 0.8); } .cf-stat img { width: calc(var(--sec-vwu) * 8); } .cf-stat b { font-size: calc(var(--sec-vwu) * 6.5); } .cf-stat span { font-size: calc(var(--sec-vwu) * 3.4); } @@ -743,21 +816,21 @@ templateEngineOverride: njk .cf-tag .n { font-weight: 700; font-size: calc(var(--sec-vwu) * 1.5); line-height: 1.35; } .cf-tag .v { font-weight: 500; font-size: calc(var(--sec-vwu) * 1.2); line-height: 1.45; } .cf-tag .v b { font-weight: 700; } - @media screen and (min-width: 960px) { + @media screen and (min-width: 960px), screen and (max-width: 959px) and (orientation: landscape) { .cf-tags-art, .cf-art { display: none; } } - @media screen and (max-width: 959px) { + @media screen and (max-width: 959px) and (orientation: portrait) { .cf-tag .n { font-size: 3.54cqh; line-height: 1.3; } } /* 320pt phones: keep the headline at three lines */ - @media screen and (max-width: 330px) { - .cf-hero h1 { font-size: calc(var(--sec-vwu) * 9.3); } + @media screen and (max-width: 330px) and (orientation: portrait) { + .cf-hero h1 { font-size: calc(var(--sec-vwu) * 8.18); } } /* narrow phones: keep the corner link clear of the logo */ - @media screen and (max-width: 389px) { + @media screen and (max-width: 389px) and (orientation: portrait) { header#navbar > a.logo img { height: 24px; } .cf-hero-corner { height: 40px; } .cf-tag .v { font-size: 2.96cqh; line-height: 1.4; } @@ -787,7 +860,7 @@ templateEngineOverride: njk .cf-fine-links a { color: #9fb2d8; text-decoration: none; } .cf-fine-links a:hover { color: #ffffff; } - @media screen and (max-width: 959px) { + @media screen and (max-width: 959px) and (orientation: portrait) { /* padding-bottom comes from .safari-ios section.page, which a fit-content footer does not need */ section.page.cf.cf-footer { height: fit-content; min-height: fit-content; padding-bottom: 0; } @@ -917,11 +990,73 @@ templateEngineOverride: njk .cf-modal-panel h2 { font-size: 1.4rem; } } /* 320pt phones: the card's text column is narrower than the submit label */ - @media screen and (max-width: 389px) { + @media screen and (max-width: 389px) and (orientation: portrait) { .cf-modal { padding: 24px 12px; } .cf-modal-panel { padding: 28px 20px; } .cf-form-submit { padding: 0 12px; font-size: 15px; } } + @media screen and (max-width: 959px) and (orientation: landscape) { + :root { + --cover-bg-w: calc(min((3200 / 1920) * 100vw, (3200 / 1080) * 100svh)); + --cover-bg-h: calc(min((1800 / 1920) * 100vw, (1800 / 1080) * 100svh)); + --sec-w: calc(min((1920 / 1920) * 100vw, (1920 / 1080) * 100svh)); + --sec-h: calc(min((1080 / 1920) * 100vw, (1080 / 1080) * 100svh)); + --sec-vwu: calc(var(--sec-w) / 100); + --sec-vhu: calc(var(--sec-h) / 100); + } + html { scroll-snap-type: none; } + section.page.cf:not(.cf-footer), + html.safari-ios section.page.cf:not(.cf-footer), + html.chrome-ios section.page.cf:not(.cf-footer), + html.chrome-android section.page.cf:not(.cf-footer), + html.safari-ios section.page.cf.cf-current:not(.cf-footer), + html.chrome-ios section.page.cf.cf-current:not(.cf-footer) { + height: auto; + min-height: 100dvh; + margin-top: 0; + padding: 74px 0 0; + align-items: flex-start; + } + section.page.cf .area { + height: auto; + min-height: calc(100dvh - 74px); + } + .page .text-container { + height: auto; + min-height: calc(100dvh - 74px); + padding-top: calc(var(--sec-vhu) * 3); + padding-bottom: calc(var(--sec-vhu) * 3); + } + .page .text-container { + justify-content: center; + gap: calc(var(--sec-vhu) * 3.25); + margin-right: calc(var(--sec-vwu) * 7.5) !important; + margin-left: calc(var(--sec-vwu) * 7.5) !important; + padding-bottom: 0; + max-width: none !important; + } + .cf-right .text-container { margin-left: auto !important; } + .cf-left .text-container { margin-right: auto !important; } + .page .text-container h2 { font-size: calc(var(--sec-vwu) * 4.94); line-height: 1.05; } + .page .text-container p { font-weight: 200; font-size: calc(var(--sec-vwu) * 1.62); } + .page .text-container p span { font-weight: 500; } + .page .text-container a { font-weight: 200; font-size: calc(var(--sec-vwu) * 1.62); } + .cf-hero h1 { font-size: calc(var(--sec-vwu) * 4.4); } + .cf-hero .lead:not(.lead-short) { display: none; } + .cf-hero .lead-short { display: block; margin-top: calc(var(--sec-vhu) * 2); } + .cf-hero .cf-hero-cta { margin-top: calc(var(--sec-vhu) * 3); } + .cf-hero .cf-stats { margin-top: calc(var(--sec-vhu) * 3); } + .cf-hero .area { + align-items: center; + padding: calc(var(--sec-vhu) * 2) 0 calc(var(--sec-vhu) * 6); + } + .cf-phone { top: calc(var(--sec-vhu) * 27.1); bottom: auto; } + section.page.cf.cf-hero, + section.page.cf.cf-close { + background-position: calc(50% + var(--sec-vwu) * 40.3) calc(74px + var(--sec-h) / 2 + var(--sec-vhu) * 2.2 - var(--cover-bg-h) / 2); + } + .cf-close .area { padding-bottom: calc(var(--sec-vhu) * 8); } + } @@ -945,6 +1080,7 @@ templateEngineOverride: njk

+ @@ -973,8 +1113,8 @@ templateEngineOverride: njk
-

480,000+ users with zero marketing spend

-

Hundreds of user posts, podcasts and videos and $650,000 in user donations, before any paid features.

+

520,000
monthly users

+

Grown with zero marketing spend: hundreds of user posts, podcasts and videos, and $650,000 in user donations, before any paid features.

Only $1.7M investment over 4 years — more capital efficient than most startups.

@@ -999,7 +1139,7 @@ templateEngineOverride: njk
Users
-
480,000 active monthly,
+
520,000 active monthly,
organic growth
@@ -1238,6 +1378,210 @@ templateEngineOverride: njk
+ + - @@ -1582,8 +1372,7 @@ templateEngineOverride: njk }, { threshold: 0.4 }) sections.forEach(function (s) { watch.observe(s) }) var places = [['#cf-hero-invest', 'Invest', 'hero'], ['.cf-close .cf-primary', 'Invest', 'close'], ['.cf-fine-links a[href*="wefunder"]', 'Invest', 'footer'], - ['#cf-hero-subscribe', 'Subscribe', 'hero'], ['.cf-hero-corner', 'Subscribe', 'corner'], ['.cf-close .cf-cta-link', 'Subscribe', 'close'], - ['#cf-offer-terms a', 'AoE', 'hero']] + ['#cf-hero-subscribe', 'Subscribe', 'hero'], ['.cf-hero-corner', 'Subscribe', 'corner'], ['.cf-close .cf-cta-link', 'Subscribe', 'close']] places.forEach(function (p) { var el = document.querySelector(p[0]) if (el) el.addEventListener('click', function () { track(p[1], { props: { place: p[2] } }) }) From 9a9ce70b2fa73ae3bb37a1c408d14ee83deed962 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 24 Sep 2026 08:11:29 +0100 Subject: [PATCH 20/40] core: fix connecting via prepared connection with contact card (#7575) * core: fix connecting via prepared connection with contact card * simplify * merge transactions * update query plans --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- apps/ios/SimpleXChat/ChatTypes.swift | 2 +- .../chat/simplex/common/model/ChatModel.kt | 2 +- src/Simplex/Chat/Library/Commands.hs | 15 ++++--- .../SQLite/Migrations/agent_query_plans.txt | 16 +++++-- .../SQLite/Migrations/chat_query_plans.txt | 4 ++ src/Simplex/Chat/Store/Shared.hs | 8 ++++ tests/ChatTests/Groups.hs | 3 ++ tests/ChatTests/Profiles.hs | 45 +++++++++++++++++++ 8 files changed, 82 insertions(+), 13 deletions(-) diff --git a/apps/ios/SimpleXChat/ChatTypes.swift b/apps/ios/SimpleXChat/ChatTypes.swift index 84275caf64..cf520a65c7 100644 --- a/apps/ios/SimpleXChat/ChatTypes.swift +++ b/apps/ios/SimpleXChat/ChatTypes.swift @@ -2500,7 +2500,7 @@ public struct Contact: Identifiable, Decodable, NamedChat, Hashable { } public var isContactCard: Bool { - (activeConn == nil || activeConn?.connStatus == .prepared) && profile.contactLink != nil && active && preparedContact == nil && contactRequestId == nil + (activeConn == nil || activeConn?.connStatus == .prepared) && profile.contactLink != nil && active && preparedContact == nil && contactRequestId == nil && groupDirectInv == nil } @inline(__always) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt index 6d82214ad6..9d65606a9c 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt @@ -1931,7 +1931,7 @@ data class Contact( } val isContactCard: Boolean get() = - (activeConn == null || activeConn.connStatus == ConnStatus.Prepared) && profile.contactLink != null && active && preparedContact == null && contactRequestId == null + (activeConn == null || activeConn.connStatus == ConnStatus.Prepared) && profile.contactLink != null && active && preparedContact == null && contactRequestId == null && groupDirectInv == null val isBot: Boolean get() = profile.peerType == ChatPeerType.Bot diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index 7e67dc5b68..d02a189b1d 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -2426,7 +2426,8 @@ processChatCommand cxt nm = \case g' <- withFastStore' $ \db -> setGroupDomainVerified db user g verified pure $ CRGroupDomainVerified user g' reason APIConnectContactViaAddress userId incognito contactId -> withUserId userId $ \user -> do - ct@Contact {profile = LocalProfile {contactLink}} <- withFastStore $ \db -> getContact db cxt user contactId + ct@Contact {profile = LocalProfile {contactLink}, groupDirectInv} <- withFastStore $ \db -> getContact db cxt user contactId + when (isJust groupDirectInv) $ throwCmdError "contact is a member contact request" ccLink <- case contactLink of Just (CLFull cReq) -> pure $ CCLink cReq Nothing Just (CLShort sLnk) -> do @@ -3873,13 +3874,13 @@ processChatCommand cxt nm = \case relayMemberId_ = case preparedEntity_ of Just (PCEGroup (GIK gInfo _) m) | useRelays' gInfo -> Just (memberId' m) _ -> Nothing - joinPreparedConn' xContactId_ conn@Connection {customUserProfileId} gInfo_ = do + joinPreparedConn' xContactId_ conn@Connection {connId, customUserProfileId} gInfo_ = do when (incognito /= isJust customUserProfileId) $ throwCmdError "incognito mode is different from prepared connection" -- TODO [relays] member: refactor joinContact and up avoiding parallel ifs, xContactId is not used xContactId <- mkXContactId xContactId_ - localIncognitoProfile <- forM customUserProfileId $ \pId -> withFastStore $ \db -> getProfileById db userId pId + (cReq', localIncognitoProfile) <- withFastStore $ \db -> (,) <$> getConnReqContact db connId <*> forM customUserProfileId (getProfileById db userId) let incognitoProfile = fromLocalProfile <$> localIncognitoProfile - conn' <- joinContact user conn cReq incognitoProfile xContactId welcomeSharedMsgId msg_ gInfo_ relayMemberId_ PQSupportOn + conn' <- joinContact user conn cReq' incognitoProfile xContactId welcomeSharedMsgId msg_ gInfo_ relayMemberId_ PQSupportOn pure $ CVRSentInvitation conn' incognitoProfile connect' groupLinkId xContactId_ gInfo_ = do let inGroup = isJust groupLinkId @@ -3912,13 +3913,13 @@ processChatCommand cxt nm = \case void $ joinContact user conn cReq incognitoProfile newXContactId Nothing Nothing Nothing Nothing pqSup ct' <- withStore $ \db -> getContact db cxt user contactId pure $ CRSentInvitationToContact user ct' incognitoProfile - Just conn@Connection {connStatus, xContactId = xContactId_, customUserProfileId} -> case connStatus of + Just conn@Connection {connId, connStatus, xContactId = xContactId_, customUserProfileId} -> case connStatus of ConnPrepared -> do when (incognito /= isJust customUserProfileId) $ throwCmdError "incognito mode is different from prepared connection" xContactId <- mkXContactId xContactId_ - localIncognitoProfile <- forM customUserProfileId $ \pId -> withFastStore $ \db -> getProfileById db userId pId + (cReq', localIncognitoProfile) <- withFastStore $ \db -> (,) <$> getConnReqContact db connId <*> forM customUserProfileId (getProfileById db userId) let incognitoProfile = fromLocalProfile <$> localIncognitoProfile - void $ joinContact user conn cReq incognitoProfile xContactId Nothing Nothing Nothing Nothing PQSupportOn + void $ joinContact user conn cReq' incognitoProfile xContactId Nothing Nothing Nothing Nothing PQSupportOn ct' <- withStore $ \db -> getContact db cxt user contactId pure $ CRSentInvitationToContact user ct' incognitoProfile _ -> throwCmdError "contact already has connection" diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt b/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt index 04d1caeb1a..aec4d76287 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt +++ b/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt @@ -637,9 +637,11 @@ SEARCH snd_message_deliveries USING COVERING INDEX idx_snd_message_deliveries_co Query: INSERT INTO ratchets - (conn_id, ratchet_state, x3dh_pub_key_1, x3dh_pub_key_2, pq_pub_kem) VALUES (?, ?, ?, ?, ?) + (conn_id, ratchet_state, rc_verify_code_ad, rc_verify_code_pq, x3dh_pub_key_1, x3dh_pub_key_2, pq_pub_kem) VALUES (?, ?, ?, ?, ?, ?, ?) ON CONFLICT (conn_id) DO UPDATE SET ratchet_state = EXCLUDED.ratchet_state, + rc_verify_code_ad = EXCLUDED.rc_verify_code_ad, + rc_verify_code_pq = EXCLUDED.rc_verify_code_pq, x3dh_priv_key_1 = NULL, x3dh_priv_key_2 = NULL, x3dh_pub_key_1 = EXCLUDED.x3dh_pub_key_1, @@ -650,10 +652,12 @@ Query: Plan: Query: - INSERT INTO ratchets (conn_id, ratchet_state) - VALUES (?, ?) + INSERT INTO ratchets (conn_id, ratchet_state, rc_verify_code_ad, rc_verify_code_pq) + VALUES (?, ?, ?, ?) ON CONFLICT (conn_id) DO UPDATE SET - ratchet_state = ?, + ratchet_state = EXCLUDED.ratchet_state, + rc_verify_code_ad = EXCLUDED.rc_verify_code_ad, + rc_verify_code_pq = EXCLUDED.rc_verify_code_pq, x3dh_priv_key_1 = NULL, x3dh_priv_key_2 = NULL, x3dh_pub_key_1 = NULL, @@ -1222,6 +1226,10 @@ Query: SELECT conn_id FROM connections WHERE user_id = ? Plan: SEARCH connections USING COVERING INDEX idx_connections_user (user_id=?) +Query: SELECT conn_id, rc_verify_code_ad, rc_verify_code_pq, CASE WHEN rc_verify_code_ad IS NULL THEN ratchet_state END FROM ratchets WHERE conn_id = ? +Plan: +SEARCH ratchets USING PRIMARY KEY (conn_id=?) + Query: SELECT count(1) FROM connections Plan: SCAN connections USING COVERING INDEX idx_connections_deleted diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt b/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt index 838a172a15..152d6c0c8d 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt +++ b/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt @@ -7768,6 +7768,10 @@ Query: SELECT user_id FROM users WHERE local_display_name = ? Plan: SEARCH users USING COVERING INDEX sqlite_autoindex_users_2 (local_display_name=?) +Query: SELECT via_contact_uri FROM connections WHERE connection_id = ? +Plan: +SEARCH connections USING INTEGER PRIMARY KEY (rowid=?) + Query: SELECT via_contact_uri, via_contact_uri_hash FROM connections WHERE connection_id = ? Plan: SEARCH connections USING INTEGER PRIMARY KEY (rowid=?) diff --git a/src/Simplex/Chat/Store/Shared.hs b/src/Simplex/Chat/Store/Shared.hs index d04a484232..c3d42de3d1 100644 --- a/src/Simplex/Chat/Store/Shared.hs +++ b/src/Simplex/Chat/Store/Shared.hs @@ -588,6 +588,14 @@ getConnReqInv db connId = "SELECT conn_req_inv FROM connections WHERE connection_id = ?" (Only connId) +getConnReqContact :: DB.Connection -> Int64 -> ExceptT StoreError IO ConnReqContact +getConnReqContact db connId = + ExceptT . firstRow fromOnly (SEConnectionNotFoundById connId) $ + DB.query + db + "SELECT via_contact_uri FROM connections WHERE connection_id = ?" + (Only connId) + -- | Saves unique local display name based on passed displayName, suffixed with _N if required. -- This function should be called inside transaction. withLocalDisplayName :: forall a. DB.Connection -> UserId -> Text -> (Text -> IO (Either StoreError a)) -> IO (Either StoreError a) diff --git a/tests/ChatTests/Groups.hs b/tests/ChatTests/Groups.hs index 66deaae225..cd82896c6c 100644 --- a/tests/ChatTests/Groups.hs +++ b/tests/ChatTests/Groups.hs @@ -5234,6 +5234,9 @@ testMemberContactAccept = cath #$> ("/_get chat @3 count=1", chat, [(0, "requested connection from group team")]) + cath ##> "/_connect contact 1 3" + cath <## "bad chat command: contact is a member contact request" + cath ##> "/accept_member_contact @bob" cath <## "contact bob is accepted, starting connection" concurrently_ diff --git a/tests/ChatTests/Profiles.hs b/tests/ChatTests/Profiles.hs index 10cb6e45ff..6fb8ad44fe 100644 --- a/tests/ChatTests/Profiles.hs +++ b/tests/ChatTests/Profiles.hs @@ -67,6 +67,7 @@ chatProfileTests = do it "rotate address ratchet keys" testRotateAddressRatchetKeys it "create address on specified server" testCreateAddressOnServer it "retry connecting via contact link" testRetryConnectingViaContactLink + it "retry connecting via address in contact profile after address keys rotation" testRetryConnectingContactViaAddress it "add contact link to profile" testProfileLink it "auto accept contact requests" testUserContactLinkAutoAccept it "deduplicate contact requests" testDeduplicateContactRequests @@ -822,6 +823,50 @@ testRetryConnectingViaContactLink ps = testChatCfgOpts2 cfg' opts' aliceProfile } } +testRetryConnectingContactViaAddress :: HasCallStack => TestParams -> IO () +testRetryConnectingContactViaAddress ps = + withNewTestChatOpts ps testOptsNoFullLinks "alice" aliceProfile $ \alice -> + withNewTestChatCfgOpts ps cfg' opts' "bob" bobProfile $ \bob -> do + alice ##> "/ad" + sLink <- getContactLink_ alice True + alice ##> "/pa on" + alice <## "new contact address set" + rotateAddressKeys alice + case A.parseOnly strP (B.pack sLink) of + Left _ -> error "error parsing contact link" + Right shortLink -> do + void $ withCCUser bob $ \user -> withCCTransaction bob $ \db -> runExceptT $ createContact db (storeCxt $ chatController bob) user aliceProfile {contactLink = Just shortLink} + bob ##> "/_connect contact 1 2" + bob <##. "smp agent error: BROKER" + rotateAddressKeys alice + withSmpServer' serverCfg' $ do + bob ##> "/_connect contact 1 2" + bob <## "connection request sent!" + alice <## "bob (Bob) wants to connect to you!" + alice <## "to accept: /ac bob" + alice <## "to reject: /rc bob (the sender will NOT be notified)" + alice ##> "/ac bob" + alice <## "bob (Bob): accepting contact request, you can send messages to contact" + concurrently_ + (bob <## "alice (Alice): contact is connected") + (alice <## "bob (Bob): contact is connected") + alice <##> bob + bob <## "disconnected 1 connections on server localhost" + where + rotateAddressKeys alice = do + alice ##> "/_rotate_address_keys 1" + _ <- getContactLink_ alice False + alice <## "auto_accept off" + serverCfg' = smpServerCfg {transports = [("7003", transport @TLS, False)]} + cfg' = testCfg {agentConfig = testAgentCfg {persistErrorInterval = 0}} + opts' = + testOpts + { coreOptions = + testCoreOpts + { smpServers = ["smp://LcJUMfVhwD8yxjAiSaDzzGF3-kLG4Uh0Fl_ZIjrRwjI=:server_password@localhost:7003"] + } + } + testProfileLink :: HasCallStack => TestParams -> IO () testProfileLink = testChat3 aliceProfile bobProfile cathProfile $ From 50b0d8cf93a8a3a751fe23478edfb5a4f761fc5c Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 24 Sep 2026 10:14:14 +0100 Subject: [PATCH 21/40] tests: fix race conditions (#7579) Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- tests/ChatTests/Direct.hs | 3 ++- tests/ChatTests/Groups.hs | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/ChatTests/Direct.hs b/tests/ChatTests/Direct.hs index 9319f6e711..b630039c62 100644 --- a/tests/ChatTests/Direct.hs +++ b/tests/ChatTests/Direct.hs @@ -283,7 +283,8 @@ testRetryConnecting ps = testChatCfgOpts2 cfg' opts' aliceProfile bobProfile tes { agentConfig = testAgentCfg { quotaExceededTimeout = 1, - messageRetryInterval = RetryInterval2 {riFast = fastRetryInterval, riSlow = fastRetryInterval} + messageRetryInterval = RetryInterval2 {riFast = fastRetryInterval, riSlow = fastRetryInterval}, + persistErrorInterval = 0 } } opts' = diff --git a/tests/ChatTests/Groups.hs b/tests/ChatTests/Groups.hs index cd82896c6c..e2bcc5e3e6 100644 --- a/tests/ChatTests/Groups.hs +++ b/tests/ChatTests/Groups.hs @@ -4167,6 +4167,7 @@ setupDesynchronizedRatchet ps alice = do bob <# "#team alice> 3" bob #> "#team 4" alice <# "#team bob> 4" + threadDelay 500000 withTestChat ps "bob_old" $ \bob -> do bob <## "subscribed 2 connections on server localhost" bob ##> "/sync #team alice" From 402d63d294f0b28b21dfc06a2b55a34695ea117a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 24 Sep 2026 10:14:14 +0100 Subject: [PATCH 22/40] tests: fix race conditions (#7579) Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- tests/ChatTests/Direct.hs | 3 ++- tests/ChatTests/Groups.hs | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/ChatTests/Direct.hs b/tests/ChatTests/Direct.hs index e34f071fd0..4f993b9230 100644 --- a/tests/ChatTests/Direct.hs +++ b/tests/ChatTests/Direct.hs @@ -272,7 +272,8 @@ testRetryConnecting ps = testChatCfgOpts2 cfg' opts' aliceProfile bobProfile tes { agentConfig = testAgentCfg { quotaExceededTimeout = 1, - messageRetryInterval = RetryInterval2 {riFast = fastRetryInterval, riSlow = fastRetryInterval} + messageRetryInterval = RetryInterval2 {riFast = fastRetryInterval, riSlow = fastRetryInterval}, + persistErrorInterval = 0 } } opts' = diff --git a/tests/ChatTests/Groups.hs b/tests/ChatTests/Groups.hs index 37827ab2ad..0be5d858a1 100644 --- a/tests/ChatTests/Groups.hs +++ b/tests/ChatTests/Groups.hs @@ -3838,6 +3838,7 @@ setupDesynchronizedRatchet ps alice = do bob <# "#team alice> 3" bob #> "#team 4" alice <# "#team bob> 4" + threadDelay 500000 withTestChat ps "bob_old" $ \bob -> do bob <## "subscribed 2 connections on server localhost" bob ##> "/sync #team alice" From 64014cd8b085ba6c9eccce94e43dc81d68b17b07 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 24 Sep 2026 12:30:31 +0100 Subject: [PATCH 23/40] tests: stabilize (#7576) * tests: stabilize * query plans * fix test --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> --- src/Simplex/Chat/Core.hs | 3 +- src/Simplex/Chat/Terminal/Input.hs | 2 +- tests/ChatClient.hs | 84 +++++++++++++++--------------- tests/ChatTests/Direct.hs | 19 ++++--- tests/ChatTests/Groups.hs | 4 +- tests/ChatTests/Profiles.hs | 4 +- tests/ChatTests/Utils.hs | 2 +- 7 files changed, 63 insertions(+), 55 deletions(-) diff --git a/src/Simplex/Chat/Core.hs b/src/Simplex/Chat/Core.hs index f5f7f581df..433e2605fd 100644 --- a/src/Simplex/Chat/Core.hs +++ b/src/Simplex/Chat/Core.hs @@ -42,6 +42,7 @@ import System.Exit (exitFailure) import System.IO (hFlush, stdout) import Text.Read (readMaybe) import UnliftIO.Async +import UnliftIO.Exception (finally) simplexChatCore :: ChatConfig -> ChatOpts -> (User -> ChatController -> IO ()) -> IO () simplexChatCore cfg@ChatConfig {confirmMigrations, testView, chatHooks} opts@ChatOpts {coreOptions = coreOptions@CoreChatOpts {dbOptions, logAgent, yesToUpMigrations, migrationBackupPath, maintenance}, createBot, userDisplayName, userImageFile} chat = @@ -89,7 +90,7 @@ simplexChatCore cfg@ChatConfig {confirmMigrations, testView, chatHooks} opts@Cha runSimplexChat :: ChatConfig -> ChatOpts -> User -> ChatController -> (User -> ChatController -> IO ()) -> IO () runSimplexChat ChatConfig {testView} ChatOpts {coreOptions = CoreChatOpts {chatRelay, chatRelayServer, headless, maintenance}} u cc@ChatController {config = ChatConfig {chatHooks}} chat | maintenance = wait =<< async (chat u cc) - | otherwise = do + | otherwise = flip finally (stopChatController cc) $ do a1 <- runReaderT (startChatController True True False) cc when (chatRelay && not testView) $ askCreateRelayAddress cc u chatRelayServer headless forM_ (postStartHook chatHooks) ($ cc) diff --git a/src/Simplex/Chat/Terminal/Input.hs b/src/Simplex/Chat/Terminal/Input.hs index fa5efd0354..3f1c434433 100644 --- a/src/Simplex/Chat/Terminal/Input.hs +++ b/src/Simplex/Chat/Terminal/Input.hs @@ -154,7 +154,7 @@ sendUpdatedLiveMessage cc sentMsg LiveMessage {chatName, chatItemId} live = do runTerminalInput :: ChatTerminal -> ChatController -> IO () runTerminalInput ct cc = withChatTerm ct $ do - updateInput ct + withTermLock ct $ updateInput ct receiveFromTTY cc ct receiveFromTTY :: forall m. MonadTerminal m => ChatController -> ChatTerminal -> m () diff --git a/tests/ChatClient.hs b/tests/ChatClient.hs index 0a7914d366..d321e37b72 100644 --- a/tests/ChatClient.hs +++ b/tests/ChatClient.hs @@ -40,7 +40,7 @@ import Simplex.Chat.Options.DB import Simplex.Chat.Store import Simplex.Chat.Store.Profiles import Simplex.Chat.Terminal -import Simplex.Chat.Terminal.Output (newChatTerminal) +import Simplex.Chat.Terminal.Output (WithTerminal (..), newChatTerminal) import Simplex.Chat.Types import Simplex.Chat.Types.Shared (GroupMemberRole (..)) import Simplex.FileTransfer.Description (kb, mb) @@ -70,7 +70,7 @@ import Simplex.Messaging.Version.Internal import System.Directory (createDirectoryIfMissing, removeDirectoryRecursive) import System.FilePath (()) import qualified System.Terminal as C -import System.Terminal.Internal (VirtualTerminal (..), VirtualTerminalSettings (..), withVirtualTerminal) +import System.Terminal.Internal (Command (..), Terminal (..), VirtualTerminal (..), VirtualTerminalSettings (..), withVirtualTerminal) import System.Timeout (timeout) import Test.Hspec (Expectation, HasCallStack, shouldReturn) #if defined(dbPostgres) @@ -197,13 +197,32 @@ termSettings = data TestCC = TestCC { chatController :: ChatController, - virtualTerminal :: VirtualTerminal, chatAsync :: Async (), - termAsync :: Async (), termQ :: TQueue String, printOutput :: Bool } +data TestTerminal = TestTerminal VirtualTerminal (TQueue String) + +instance Terminal TestTerminal where + termType (TestTerminal t _) = termType t + termEvent (TestTerminal t _) = termEvent t + termInterrupt (TestTerminal t _) = termInterrupt t + termCommand (TestTerminal t q) c = do + case c of + PutLn -> atomically $ do + C.Position {row} <- readTVar $ virtualCursor t + rows <- readTVar $ virtualWindow t + writeTQueue q $ dropWhileEnd (== ' ') $ rows !! row + _ -> pure () + termCommand t c + termFlush (TestTerminal t _) = termFlush t + termGetWindowSize (TestTerminal t _) = termGetWindowSize t + termGetCursorPosition (TestTerminal t _) = termGetCursorPosition t + +instance WithTerminal TestTerminal where + withTerm t = ($ t) + aCfg :: AgentConfig aCfg = (agentConfig defaultChatConfig) {tbqSize = 16} @@ -306,29 +325,31 @@ insertUser st = withTransaction st (`DB.execute_` "INSERT INTO users (user_id) V startTestChat_ :: TestParams -> ChatDatabase -> ChatConfig -> ChatOpts -> String -> User -> IO TestCC startTestChat_ TestParams {tmpPath, printOutput} db cfg opts@ChatOpts {coreOptions = CoreChatOpts {maintenance}} dbPrefix user = do - t <- withVirtualTerminal termSettings pure + termQ <- newTQueueIO + t <- withVirtualTerminal termSettings $ pure . (`TestTerminal` termQ) ct <- newChatTerminal t opts Right cc <- newChatController db (Just user) cfg opts False void $ execChatCommand' (SetTempFolder (tmpPath dbPrefix)) 0 `runReaderT` cc chatAsync <- async $ runSimplexChat cfg opts user cc $ \_u cc' -> runChatTerminal ct cc' opts unless maintenance $ atomically $ readTVar (agentAsync cc) >>= \a -> when (isNothing a) retry - termQ <- newTQueueIO - termAsync <- async $ readTerminalOutput t termQ - pure TestCC {chatController = cc, virtualTerminal = t, chatAsync, termAsync, termQ, printOutput} + pure TestCC {chatController = cc, chatAsync, termQ, printOutput} stopTestChat :: TestParams -> TestCC -> IO () -stopTestChat ps TestCC {chatController = cc@ChatController {smpAgent, chatStore}, chatAsync, termAsync} = do - stopChatController cc - uninterruptibleCancel termAsync - uninterruptibleCancel chatAsync - liftIO $ disposeAgentClient smpAgent +stopTestChat ps TestCC {chatController = cc@ChatController {smpAgent, chatStore}, chatAsync} = do + stopped <- async $ do + stopChatController cc + cancel chatAsync + disposeAgentClient smpAgent + r <- timeout 60000000 $ wait stopped #if !defined(dbPostgres) chatStats <- withConnection chatStore $ readTVarIO . DB.slow atomically $ modifyTVar' (chatQueryStats ps) $ M.unionWith combineStats chatStats agentStats <- withConnection (agentClientStore smpAgent) $ readTVarIO . DB.slow atomically $ modifyTVar' (agentQueryStats ps) $ M.unionWith combineStats agentStats #endif - closeDBStore chatStore + case r of + Just () -> closeDBStore chatStore + Nothing -> putStrLn "stopTestChat: chat did not stop in 60 seconds" threadDelay 200000 #if !defined(dbPostgres) where @@ -381,7 +402,8 @@ withTestChatOpts :: HasCallStack => TestParams -> ChatOpts -> String -> (HasCall withTestChatOpts ps = withTestChatCfgOpts ps testCfg withTestChatCfgOpts :: HasCallStack => TestParams -> ChatConfig -> ChatOpts -> String -> (HasCallStack => TestCC -> IO a) -> IO a -withTestChatCfgOpts ps cfg opts dbPrefix = bracket (startTestChat ps cfg opts dbPrefix) (\cc -> cc > stopTestChat ps cc) +withTestChatCfgOpts ps cfg opts dbPrefix runTest = + bracket (startTestChat ps cfg opts dbPrefix) (stopTestChat ps) (\cc -> runTest cc >>= ((cc )) -- enable output for specific test. -- usage: withTestOutput $ testChat2 aliceProfile bobProfile $ \alice bob -> do ... @@ -408,29 +430,6 @@ enableNamesRole TestCC {chatController = cc} = do } enableNames srv@UserServer {roles} = (srv :: UserServer 'PSMP) {roles = (roles :: ServerRolesOverride) {names = Just True}} -readTerminalOutput :: VirtualTerminal -> TQueue String -> IO () -readTerminalOutput t termQ = do - let w = virtualWindow t - winVar <- atomically $ newTVar . init =<< readTVar w - forever . atomically $ do - win <- readTVar winVar - win' <- init <$> readTVar w - if win' == win - then retry - else do - let diff = getDiff win' win - forM_ diff $ writeTQueue termQ - writeTVar winVar win' - where - getDiff :: [String] -> [String] -> [String] - getDiff win win' = getDiff_ 1 (length win) win win' - getDiff_ :: Int -> Int -> [String] -> [String] -> [String] - getDiff_ n len win' win = - let diff = drop (len - n) win' - in if drop n win <> diff == win' - then map (dropWhileEnd (== ' ')) diff - else getDiff_ (n + 1) len win' win - withTmpFiles :: IO () -> IO () withTmpFiles = bracket_ @@ -439,16 +438,15 @@ withTmpFiles = testChatN :: HasCallStack => ChatConfig -> ChatOpts -> [Profile] -> (HasCallStack => [TestCC] -> IO ()) -> TestParams -> IO () testChatN cfg opts ps test params = - bracket (getTestCCs $ zip ps [1 ..]) endTests test + bracket (getTestCCs $ zip ps [1 ..]) (mapConcurrently_ $ stopTestChat params) $ \tcs -> do + test tcs + mapConcurrently_ ( IO [TestCC] getTestCCs [] = pure [] getTestCCs ((p, db) : envs') = (:) <$> createTestChat params cfg opts (show db) useClientServices p <*> getTestCCs envs' - endTests tcs = do - mapConcurrently_ ( TestCC -> Int -> Expectation ( ": no output for 5 seconds" <> expectedMsg userName :: TestCC -> IO [Char] -userName (TestCC ChatController {currentUser} _ _ _ _ _) = +userName TestCC {chatController = ChatController {currentUser}} = maybe "no current user" (\User {localDisplayName} -> T.unpack localDisplayName) <$> readTVarIO currentUser testChat :: HasCallStack => Profile -> (HasCallStack => TestCC -> IO ()) -> TestParams -> IO () diff --git a/tests/ChatTests/Direct.hs b/tests/ChatTests/Direct.hs index b630039c62..6a85f6f463 100644 --- a/tests/ChatTests/Direct.hs +++ b/tests/ChatTests/Direct.hs @@ -21,7 +21,7 @@ import Data.Aeson (ToJSON) import qualified Data.Aeson as J import qualified Data.ByteString.Char8 as B import qualified Data.ByteString.Lazy.Char8 as LB -import Data.List (intercalate, stripPrefix) +import Data.List (intercalate, isPrefixOf, stripPrefix) import qualified Data.Map.Strict as M import Data.Maybe (isJust, isNothing) import qualified Data.Text as T @@ -1351,18 +1351,23 @@ testNegotiateCall = alice ##> "/_call status @2 connected" alice <## "ok" threadDelay 100000 - alice #$> ("/_get chat @2 count=100", chat, chatFeatures <> [(1, "outgoing call: in progress (00:00)")]) + alice #$> ("/_get chat @2 count=100", callChat, chatFeatures <> [(1, "outgoing call: in progress")]) bob ##> "/_call status @2 connected" bob <## "ok" threadDelay 100000 - bob #$> ("/_get chat @2 count=100", chat, chatFeatures <> [(0, "incoming call: in progress (00:00)")]) + bob #$> ("/_get chat @2 count=100", callChat, chatFeatures <> [(0, "incoming call: in progress")]) -- either party can end the call bob ##> "/_call end @2" bob <## "ok" threadDelay 100000 - bob #$> ("/_get chat @2 count=100", chat, chatFeatures <> [(0, "incoming call: ended (00:00)")]) + bob #$> ("/_get chat @2 count=100", callChat, chatFeatures <> [(0, "incoming call: ended")]) alice <## "call with bob ended" - alice #$> ("/_get chat @2 count=100", chat, chatFeatures <> [(1, "outgoing call: ended (00:00)")]) + alice #$> ("/_get chat @2 count=100", callChat, chatFeatures <> [(1, "outgoing call: ended")]) + where + callChat = map (fmap noDuration) . chat + noDuration s = case words s of + ws@(_ : _) | "(0" `isPrefixOf` last ws -> unwords $ init ws + _ -> s testStopStartChat :: HasCallStack => TestParams -> IO () testStopStartChat ps = @@ -3112,13 +3117,15 @@ testMsgDecryptError ps = withTestChat ps "bob" $ \bob -> do bob <## "subscribed 1 connections on server localhost" alice #> "@bob hello again" - bob <# "alice> skipped message ID 9..11" + bob <# "alice> skipped message ID 7..9" bob <# "alice> hello again" bob #> "@alice received!" alice <# "bob> received!" setupDesynchronizedRatchet :: HasCallStack => TestParams -> TestCC -> IO () setupDesynchronizedRatchet ps alice = do + alice ##> "/set receipts all off" + alice <## "ok" copyDb "bob" "bob_old" withTestChat ps "bob" $ \bob -> do bob <## "subscribed 1 connections on server localhost" diff --git a/tests/ChatTests/Groups.hs b/tests/ChatTests/Groups.hs index e2bcc5e3e6..0cc697b012 100644 --- a/tests/ChatTests/Groups.hs +++ b/tests/ChatTests/Groups.hs @@ -4149,13 +4149,15 @@ testGroupMsgDecryptError ps = withTestChat ps "bob" $ \bob -> do bob <## "subscribed 2 connections on server localhost" alice #> "#team hello again" - bob <# "#team alice> skipped message ID 8..10" + bob <# "#team alice> skipped message ID 6..8" bob <# "#team alice> hello again" bob #> "#team received!" alice <# "#team bob> received!" setupDesynchronizedRatchet :: HasCallStack => TestParams -> TestCC -> IO () setupDesynchronizedRatchet ps alice = do + alice ##> "/set receipts all off" + alice <## "ok" copyDb "bob" "bob_old" withTestChat ps "bob" $ \bob -> do bob <## "subscribed 2 connections on server localhost" diff --git a/tests/ChatTests/Profiles.hs b/tests/ChatTests/Profiles.hs index 6fb8ad44fe..2a4eeccb74 100644 --- a/tests/ChatTests/Profiles.hs +++ b/tests/ChatTests/Profiles.hs @@ -1672,7 +1672,7 @@ testPlanAddressContactViaAddress = bob ##> ("/c " <> cLink) connecting alice bob - bob ##> "/delete @alice" + bob ##> "/delete @alice notify=off" bob <## "alice: contact is deleted" alice ##> "/delete @bob" alice <## "bob: contact is deleted" @@ -1734,7 +1734,7 @@ testPlanAddressContactViaShortAddress = bob ##> ("/c " <> sLink) connecting alice bob - bob ##> "/delete @alice" + bob ##> "/delete @alice notify=off" bob <## "alice: contact is deleted" alice ##> "/delete @bob" alice <## "bob: contact is deleted" diff --git a/tests/ChatTests/Utils.hs b/tests/ChatTests/Utils.hs index 305207fef6..9586957281 100644 --- a/tests/ChatTests/Utils.hs +++ b/tests/ChatTests/Utils.hs @@ -745,7 +745,7 @@ connectUsers_ cc1 cc2 noShortLink = do (cc1 <## (name2 <> ": contact is connected")) showName :: TestCC -> IO String -showName (TestCC ChatController {currentUser} _ _ _ _ _) = do +showName TestCC {chatController = ChatController {currentUser}} = do Just User {localDisplayName, profile = LocalProfile {fullName, shortDescr}} <- readTVarIO currentUser pure . T.unpack $ viewName localDisplayName <> optionalFullName localDisplayName fullName shortDescr From 19e70faeec3e044263bf3fd7fb3d9798d56b92f6 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 25 Sep 2026 10:01:51 +0100 Subject: [PATCH 24/40] badges: webapp feature branch (#7548) * badges: webapp (#7433) * badges: service migrations, store and catalog * badges: BTCPay provider and settlement poller * badges: web listener and /api endpoints * web: checkout single-page app * badges: tests and BTCPay fixtures * badges: README and ini reference * badges: fix hex16 build on GHC 8.10.7 * badges: Stripe card lane * badges: fix Stripe card checkout, add theming * badges: add a discount row to the order summary * badges: site navbar, embedding, theme, Forget move * badges: use SB code prefix in web checkout * badges: rename sxb app namespace to sb * badges: embed checkout nav via site; keep original app navbar * badges: post iframe height, apply site background when embedded * badges: embed dark surfaces, steadier iframe height * badges: hide app footer when embedded * badges: size embedded body to content, not viewport * badges: declare color-scheme to stop reload flash * badges: fade shell in on load, no reload blank * badges: prerender app shell into index.html * badges: pre-paint theme, hide shell on deep reload * badges: logo returns to landing client-side * badges: embedded wizard back, buy-a-code, resume * badges: signal app-managed screens, resume across reload * badges: rebuild wizard history on deep load so Back walks it * badges: carry welcome-page height as the iframe floor * badges: keep selection on Buy a code; rename to Your codes * badges: read web shell as UTF-8, not locale * badges: resume the exact paid order after Stripe card redirect * badges: move docker deploy under scripts * badges: add serve_webapp toggle and webapp export * badges: wire split webapp deploy in docker config * badges: quiet agent logs by default * badges: resume card redirect in the embedded frame * badges: migrate Stripe adapter to PaymentIntents * badges: correct Stripe restricted key scopes in ini example * badges: card via Payment Element and PaymentIntents * badges: fix stale Checkout Session wording in Stripe adapter * badges: fix stale CheckoutActions reference in card comment * badges: order shell stylesheet before bootstrap script * badges: remove development card stand-in * badges: theme the Stripe card form with the site palette * badges: exclude web from the Haskell build stage * badges: unify invoice cancel and mark canceled * badges: default log level to info * badges: unify closed-invoice buy-again button * badges: mute agent connection logs at info level * badges: show purchase time in local timezone in Your codes * badges: log service events on own channel, quiet agent * badges: fold service migrations into one baseline * badges: run compose on postgres over host network * badges: use high-res hero art * badges: add web CI to catch stale builds * badges: rebuild web shell from committed source * badges: normalize invoice-code link and columns * badges: drop unused columns, rename index * badges: note deferred receipt_hash in migrations * badges: apply code-review fixes * badges: reduce comments across service and web --------- Co-authored-by: Evgeny Poberezkin Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> * badges: improve web page (#7546) * badges: improve web page * improve layout * improve layout * fix * small changes --------- Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> * badges: read one issuer key from the ini * badges: move and group the service tests * badges: service fixes (#7567) * badges: match the redeem error wording in tests * badges: drop unused imports in the bot tests * badges: cancel Stripe orders when they expire * badges: correct the Stripe config and docs * badges: refuse to revoke a redeemed code * badges: make the fake Stripe cancel like Stripe * badges: limit replayed webhook deliveries --------- Co-authored-by: sh <37271604+shumvgolove@users.noreply.github.com> Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com> Co-authored-by: shum Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> --- .github/workflows/badge-web.yml | 33 + .gitignore | 7 + apps/simplex-badge-service/Main.hs | 5 +- apps/simplex-badge-service/README.md | 200 +- .../badge_service.ini.example | 56 + .../src/BadgeService/Catalog.hs | 135 + .../src/BadgeService/Config.hs | 284 ++ .../src/BadgeService/Log.hs | 36 + .../src/BadgeService/Options.hs | 31 +- .../src/BadgeService/Orders.hs | 117 + .../src/BadgeService/Poller.hs | 376 ++ .../src/BadgeService/Providers.hs | 81 + .../src/BadgeService/Providers/BTCPay.hs | 519 +++ .../src/BadgeService/Providers/Stripe.hs | 355 ++ .../src/BadgeService/Service.hs | 249 +- .../src/BadgeService/Store.hs | 86 +- .../src/BadgeService/Store/Invoices.hs | 613 +++ .../BadgeService/Store/Postgres/Migrations.hs | 49 +- .../BadgeService/Store/SQLite/Migrations.hs | 49 +- .../src/BadgeService/Waiters.hs | 91 + .../src/BadgeService/Web/Server.hs | 741 ++++ .../test-fixtures/btcpay/invoice-expired.json | 36 + .../test-fixtures/btcpay/invoice-invalid.json | 36 + .../btcpay/invoice-list-alien-method.json | 133 + .../btcpay/invoice-list-alien-status.json | 133 + .../btcpay/invoice-list-no-id.json | 132 + .../invoice-list-no-payment-methods.json | 43 + .../test-fixtures/btcpay/invoice-list.json | 188 + .../test-fixtures/btcpay/invoice-new.json | 36 + .../btcpay/invoice-processing.json | 36 + .../test-fixtures/btcpay/invoice-settled.json | 36 + .../btcpay/payment-methods-btc.json | 29 + .../btcpay/payment-methods-no-amount.json | 19 + .../payment-methods-no-destination.json | 18 + .../btcpay/payment-methods-xmr.json | 29 + .../btcpay/store-payment-methods.json | 21 + .../test-fixtures/stripe/intent-canceled.json | 12 + .../stripe/intent-list-cursor-gap.json | 12 + .../test-fixtures/stripe/intent-list.json | 13 + .../test-fixtures/stripe/intent-open.json | 13 + .../stripe/intent-succeeded.json | 18 + apps/simplex-badge-service/web/.gitignore | 3 + apps/simplex-badge-service/web/README.md | 301 ++ apps/simplex-badge-service/web/build.js | 160 + apps/simplex-badge-service/web/check-tests.js | 20 + apps/simplex-badge-service/web/mock/server.py | 323 ++ .../web/package-lock.json | 45 + apps/simplex-badge-service/web/package.json | 14 + .../public/fonts/GT-Walsheim-LC-Bold.woff2 | Bin 0 -> 60160 bytes .../web/public/fonts/Manrope-Bold.woff2 | Bin 0 -> 31244 bytes .../web/public/fonts/Manrope-Medium.woff2 | Bin 0 -> 30668 bytes .../web/public/fonts/Manrope-Regular.woff2 | Bin 0 -> 30988 bytes .../web/public/fonts/Manrope-SemiBold.woff2 | Bin 0 -> 31100 bytes .../web/public/img/hero-dark.png | Bin 0 -> 324524 bytes .../web/public/img/hero-light.png | Bin 0 -> 300721 bytes .../web/public/img/symbol-dark.svg | 10 + .../web/public/img/symbol-light.svg | 15 + .../web/public/img/wordmark-dark.svg | 11 + .../web/public/img/wordmark-light.svg | 11 + .../web/public/index.html | 49 + .../web/public/styles.css | 1252 ++++++ apps/simplex-badge-service/web/public/sw.js | 155 + apps/simplex-badge-service/web/src/api.ts | 297 ++ apps/simplex-badge-service/web/src/catalog.ts | 71 + apps/simplex-badge-service/web/src/codes.ts | 79 + .../web/src/crowdfunding.ts | 26 + apps/simplex-badge-service/web/src/domain.ts | 80 + apps/simplex-badge-service/web/src/embed.ts | 61 + apps/simplex-badge-service/web/src/flow.ts | 381 ++ apps/simplex-badge-service/web/src/format.ts | 49 + apps/simplex-badge-service/web/src/icons.ts | 140 + apps/simplex-badge-service/web/src/main.ts | 930 +++++ apps/simplex-badge-service/web/src/order.ts | 232 ++ apps/simplex-badge-service/web/src/parse.ts | 34 + apps/simplex-badge-service/web/src/qr.ts | 424 +++ apps/simplex-badge-service/web/src/routing.ts | 19 + apps/simplex-badge-service/web/src/screens.ts | 1070 ++++++ apps/simplex-badge-service/web/src/store.ts | 205 + apps/simplex-badge-service/web/src/stripe.ts | 237 ++ apps/simplex-badge-service/web/test/boot.ts | 195 + .../web/test/build.test.ts | 117 + .../web/test/catalog.test.ts | 65 + .../web/test/codes.test.ts | 140 + apps/simplex-badge-service/web/test/css.ts | 59 + .../web/test/design.test.ts | 691 ++++ .../web/test/embed.test.ts | 49 + .../web/test/flow-controller.test.ts | 1401 +++++++ .../web/test/flow.test.ts | 799 ++++ .../web/test/main-boot.test.ts | 66 + .../web/test/main-cancel-navigated.test.ts | 40 + .../web/test/main-cancel-race.test.ts | 46 + .../web/test/main-cancel-refusal.test.ts | 83 + .../main-cancel-refused-navigated.test.ts | 38 + .../web/test/main-cancel-reopened.test.ts | 45 + .../web/test/main-cancel.test.ts | 92 + .../web/test/main-card-cancel.test.ts | 91 + .../web/test/main-card-full-store.test.ts | 91 + .../web/test/main-card-return.test.ts | 46 + .../web/test/main-forget-race.test.ts | 34 + .../web/test/main-forget-refused.test.ts | 35 + .../web/test/main-nav-race.test.ts | 30 + .../web/test/main-no-storage.test.ts | 35 + .../web/test/main-offline.test.ts | 154 + .../web/test/main-one-month.test.ts | 135 + .../web/test/main-pay-forget.test.ts | 45 + .../web/test/main-pay-navigated.test.ts | 52 + .../web/test/main-pay-rechoice.test.ts | 45 + .../web/test/main-pay-repaint.test.ts | 38 + .../web/test/main-quota-full.test.ts | 35 + .../web/test/main-resume-step.test.ts | 35 + .../web/test/main-resume.test.ts | 236 ++ .../web/test/main-silent-storage.test.ts | 27 + .../web/test/main.test.ts | 598 +++ .../web/test/open-order.ts | 31 + .../simplex-badge-service/web/test/qr.test.ts | 705 ++++ .../web/test/routing.test.ts | 70 + .../web/test/screens.test.ts | 1236 ++++++ .../web/test/smoke.test.ts | 9 + .../web/test/store.test.ts | 304 ++ .../web/test/stripe.test.ts | 599 +++ .../web/test/stub-dom.ts | 316 ++ .../simplex-badge-service/web/test/sw.test.ts | 576 +++ apps/simplex-badge-service/web/tsconfig.json | 24 + .../web/tsconfig.test.json | 7 + plans/badges-codes/2026-08-27-badge-codes.md | 1323 +++++++ .../2026-08-28-web-implementation.md | 1771 +++++++++ .../badges-codes/2026-08-31-service-btcpay.md | 1708 +++++++++ .../badges-codes/2026-09-07-service-stripe.md | 603 +++ plans/badges-codes/badges-flow-mvp.svg | 1 + plans/badges-codes/screens/b1.svg | 1 + plans/badges-codes/screens/b2.svg | 1 + plans/badges-codes/screens/b3.svg | 1 + plans/badges-codes/screens/b4.svg | 1 + plans/badges-codes/screens/b4b.svg | 1 + plans/badges-codes/screens/b4c.svg | 1 + plans/badges-codes/screens/b4d.svg | 1 + plans/badges-codes/screens/b5.svg | 1 + plans/badges-codes/screens/b5b.svg | 1 + plans/badges-codes/screens/b5c.svg | 1 + plans/badges-codes/screens/b6.svg | 1 + plans/badges-codes/screens/b6b.svg | 1 + plans/badges-codes/screens/m1.svg | 1 + plans/badges-codes/screens/m2.svg | 1 + plans/badges-codes/screens/m3.svg | 1 + plans/badges-codes/screens/m4.svg | 1 + plans/badges-codes/screens/m5.svg | 1 + plans/badges-codes/screens/m6.svg | 1 + plans/badges-codes/screens/m7.svg | 1 + plans/badges-codes/screens/op2.svg | 1 + scripts/badge-service/Dockerfile | 99 + scripts/badge-service/Dockerfile.dockerignore | 30 + .../badge-service/badge_service.ini.example | 46 + scripts/badge-service/compose.yml | 24 + simplex-chat.cabal | 47 +- src/Simplex/Chat/PaymentService/Types.hs | 2 +- tests/Bots/BadgeService/BTCPayTests.hs | 794 ++++ .../BotTests.hs} | 310 +- tests/Bots/BadgeService/CatalogTests.hs | 308 ++ tests/Bots/BadgeService/ConfigTests.hs | 369 ++ tests/Bots/BadgeService/FakeBTCPay.hs | 527 +++ tests/Bots/BadgeService/FakeStripe.hs | 427 +++ tests/Bots/BadgeService/StripeTests.hs | 353 ++ tests/Bots/BadgeService/WaitersTests.hs | 146 + tests/Bots/BadgeService/WebTests.hs | 3365 +++++++++++++++++ tests/Test.hs | 17 +- 165 files changed, 33352 insertions(+), 313 deletions(-) create mode 100644 .github/workflows/badge-web.yml create mode 100644 apps/simplex-badge-service/badge_service.ini.example create mode 100644 apps/simplex-badge-service/src/BadgeService/Catalog.hs create mode 100644 apps/simplex-badge-service/src/BadgeService/Config.hs create mode 100644 apps/simplex-badge-service/src/BadgeService/Log.hs create mode 100644 apps/simplex-badge-service/src/BadgeService/Orders.hs create mode 100644 apps/simplex-badge-service/src/BadgeService/Poller.hs create mode 100644 apps/simplex-badge-service/src/BadgeService/Providers.hs create mode 100644 apps/simplex-badge-service/src/BadgeService/Providers/BTCPay.hs create mode 100644 apps/simplex-badge-service/src/BadgeService/Providers/Stripe.hs create mode 100644 apps/simplex-badge-service/src/BadgeService/Store/Invoices.hs create mode 100644 apps/simplex-badge-service/src/BadgeService/Waiters.hs create mode 100644 apps/simplex-badge-service/src/BadgeService/Web/Server.hs create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/invoice-expired.json create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/invoice-invalid.json create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-alien-method.json create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-alien-status.json create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-no-id.json create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-no-payment-methods.json create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/invoice-list.json create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/invoice-new.json create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/invoice-processing.json create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/invoice-settled.json create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-btc.json create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-no-amount.json create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-no-destination.json create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-xmr.json create mode 100644 apps/simplex-badge-service/test-fixtures/btcpay/store-payment-methods.json create mode 100644 apps/simplex-badge-service/test-fixtures/stripe/intent-canceled.json create mode 100644 apps/simplex-badge-service/test-fixtures/stripe/intent-list-cursor-gap.json create mode 100644 apps/simplex-badge-service/test-fixtures/stripe/intent-list.json create mode 100644 apps/simplex-badge-service/test-fixtures/stripe/intent-open.json create mode 100644 apps/simplex-badge-service/test-fixtures/stripe/intent-succeeded.json create mode 100644 apps/simplex-badge-service/web/.gitignore create mode 100644 apps/simplex-badge-service/web/README.md create mode 100644 apps/simplex-badge-service/web/build.js create mode 100644 apps/simplex-badge-service/web/check-tests.js create mode 100644 apps/simplex-badge-service/web/mock/server.py create mode 100644 apps/simplex-badge-service/web/package-lock.json create mode 100644 apps/simplex-badge-service/web/package.json create mode 100644 apps/simplex-badge-service/web/public/fonts/GT-Walsheim-LC-Bold.woff2 create mode 100644 apps/simplex-badge-service/web/public/fonts/Manrope-Bold.woff2 create mode 100644 apps/simplex-badge-service/web/public/fonts/Manrope-Medium.woff2 create mode 100644 apps/simplex-badge-service/web/public/fonts/Manrope-Regular.woff2 create mode 100644 apps/simplex-badge-service/web/public/fonts/Manrope-SemiBold.woff2 create mode 100644 apps/simplex-badge-service/web/public/img/hero-dark.png create mode 100644 apps/simplex-badge-service/web/public/img/hero-light.png create mode 100644 apps/simplex-badge-service/web/public/img/symbol-dark.svg create mode 100644 apps/simplex-badge-service/web/public/img/symbol-light.svg create mode 100644 apps/simplex-badge-service/web/public/img/wordmark-dark.svg create mode 100644 apps/simplex-badge-service/web/public/img/wordmark-light.svg create mode 100644 apps/simplex-badge-service/web/public/index.html create mode 100644 apps/simplex-badge-service/web/public/styles.css create mode 100644 apps/simplex-badge-service/web/public/sw.js create mode 100644 apps/simplex-badge-service/web/src/api.ts create mode 100644 apps/simplex-badge-service/web/src/catalog.ts create mode 100644 apps/simplex-badge-service/web/src/codes.ts create mode 100644 apps/simplex-badge-service/web/src/crowdfunding.ts create mode 100644 apps/simplex-badge-service/web/src/domain.ts create mode 100644 apps/simplex-badge-service/web/src/embed.ts create mode 100644 apps/simplex-badge-service/web/src/flow.ts create mode 100644 apps/simplex-badge-service/web/src/format.ts create mode 100644 apps/simplex-badge-service/web/src/icons.ts create mode 100644 apps/simplex-badge-service/web/src/main.ts create mode 100644 apps/simplex-badge-service/web/src/order.ts create mode 100644 apps/simplex-badge-service/web/src/parse.ts create mode 100644 apps/simplex-badge-service/web/src/qr.ts create mode 100644 apps/simplex-badge-service/web/src/routing.ts create mode 100644 apps/simplex-badge-service/web/src/screens.ts create mode 100644 apps/simplex-badge-service/web/src/store.ts create mode 100644 apps/simplex-badge-service/web/src/stripe.ts create mode 100644 apps/simplex-badge-service/web/test/boot.ts create mode 100644 apps/simplex-badge-service/web/test/build.test.ts create mode 100644 apps/simplex-badge-service/web/test/catalog.test.ts create mode 100644 apps/simplex-badge-service/web/test/codes.test.ts create mode 100644 apps/simplex-badge-service/web/test/css.ts create mode 100644 apps/simplex-badge-service/web/test/design.test.ts create mode 100644 apps/simplex-badge-service/web/test/embed.test.ts create mode 100644 apps/simplex-badge-service/web/test/flow-controller.test.ts create mode 100644 apps/simplex-badge-service/web/test/flow.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-boot.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-cancel-navigated.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-cancel-race.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-cancel-refusal.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-cancel-refused-navigated.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-cancel-reopened.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-cancel.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-card-cancel.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-card-full-store.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-card-return.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-forget-race.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-forget-refused.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-nav-race.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-no-storage.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-offline.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-one-month.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-pay-forget.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-pay-navigated.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-pay-rechoice.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-pay-repaint.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-quota-full.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-resume-step.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-resume.test.ts create mode 100644 apps/simplex-badge-service/web/test/main-silent-storage.test.ts create mode 100644 apps/simplex-badge-service/web/test/main.test.ts create mode 100644 apps/simplex-badge-service/web/test/open-order.ts create mode 100644 apps/simplex-badge-service/web/test/qr.test.ts create mode 100644 apps/simplex-badge-service/web/test/routing.test.ts create mode 100644 apps/simplex-badge-service/web/test/screens.test.ts create mode 100644 apps/simplex-badge-service/web/test/smoke.test.ts create mode 100644 apps/simplex-badge-service/web/test/store.test.ts create mode 100644 apps/simplex-badge-service/web/test/stripe.test.ts create mode 100644 apps/simplex-badge-service/web/test/stub-dom.ts create mode 100644 apps/simplex-badge-service/web/test/sw.test.ts create mode 100644 apps/simplex-badge-service/web/tsconfig.json create mode 100644 apps/simplex-badge-service/web/tsconfig.test.json create mode 100644 plans/badges-codes/2026-08-27-badge-codes.md create mode 100644 plans/badges-codes/2026-08-28-web-implementation.md create mode 100644 plans/badges-codes/2026-08-31-service-btcpay.md create mode 100644 plans/badges-codes/2026-09-07-service-stripe.md create mode 100644 plans/badges-codes/badges-flow-mvp.svg create mode 100644 plans/badges-codes/screens/b1.svg create mode 100644 plans/badges-codes/screens/b2.svg create mode 100644 plans/badges-codes/screens/b3.svg create mode 100644 plans/badges-codes/screens/b4.svg create mode 100644 plans/badges-codes/screens/b4b.svg create mode 100644 plans/badges-codes/screens/b4c.svg create mode 100644 plans/badges-codes/screens/b4d.svg create mode 100644 plans/badges-codes/screens/b5.svg create mode 100644 plans/badges-codes/screens/b5b.svg create mode 100644 plans/badges-codes/screens/b5c.svg create mode 100644 plans/badges-codes/screens/b6.svg create mode 100644 plans/badges-codes/screens/b6b.svg create mode 100644 plans/badges-codes/screens/m1.svg create mode 100644 plans/badges-codes/screens/m2.svg create mode 100644 plans/badges-codes/screens/m3.svg create mode 100644 plans/badges-codes/screens/m4.svg create mode 100644 plans/badges-codes/screens/m5.svg create mode 100644 plans/badges-codes/screens/m6.svg create mode 100644 plans/badges-codes/screens/m7.svg create mode 100644 plans/badges-codes/screens/op2.svg create mode 100644 scripts/badge-service/Dockerfile create mode 100644 scripts/badge-service/Dockerfile.dockerignore create mode 100644 scripts/badge-service/badge_service.ini.example create mode 100644 scripts/badge-service/compose.yml create mode 100644 tests/Bots/BadgeService/BTCPayTests.hs rename tests/Bots/{BadgeServiceTests.hs => BadgeService/BotTests.hs} (81%) create mode 100644 tests/Bots/BadgeService/CatalogTests.hs create mode 100644 tests/Bots/BadgeService/ConfigTests.hs create mode 100644 tests/Bots/BadgeService/FakeBTCPay.hs create mode 100644 tests/Bots/BadgeService/FakeStripe.hs create mode 100644 tests/Bots/BadgeService/StripeTests.hs create mode 100644 tests/Bots/BadgeService/WaitersTests.hs create mode 100644 tests/Bots/BadgeService/WebTests.hs diff --git a/.github/workflows/badge-web.yml b/.github/workflows/badge-web.yml new file mode 100644 index 0000000000..4961c79fd1 --- /dev/null +++ b/.github/workflows/badge-web.yml @@ -0,0 +1,33 @@ +name: badge web + +on: + push: + branches: + - master + - stable + paths: + - "apps/simplex-badge-service/web/**" + - ".github/workflows/badge-web.yml" + pull_request: + paths: + - "apps/simplex-badge-service/web/**" + - ".github/workflows/badge-web.yml" + +jobs: + test: + runs-on: ubuntu-latest + defaults: + run: + working-directory: apps/simplex-badge-service/web + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 24 + cache: npm + cache-dependency-path: apps/simplex-badge-service/web/package-lock.json + + - run: npm ci + + - run: npm test diff --git a/.gitignore b/.gitignore index 4f73442c36..4ceea4d1a1 100644 --- a/.gitignore +++ b/.gitignore @@ -87,4 +87,11 @@ website/.cache website/test/stubs-layout-cache/_includes/*.js apps/android/app/release apps/multiplatform/.kotlin/sessions +# anywhere in the tree: this file holds a real BTCPay api_key and webhook_secret +badge_service.ini +# Badge service Docker deployment: the Dockerfile, compose, and example config are tracked; the +# live config (a secret) and its data volume are not. +scripts/badge-service/badge_service.ini +scripts/badge-service/data/ +scripts/badge-service/web/ diff --git a/apps/simplex-badge-service/Main.hs b/apps/simplex-badge-service/Main.hs index 64a2e1d553..cdeb1c0c1e 100644 --- a/apps/simplex-badge-service/Main.hs +++ b/apps/simplex-badge-service/Main.hs @@ -4,10 +4,13 @@ module Main where import BadgeService.Options (BadgeServiceOpts (..)) import BadgeService.Service +import Control.Logger.Simple (LogConfig (..), LogLevel (..), setLogLevel, withGlobalLogging) import Simplex.Chat.Terminal (terminalChatConfig) +-- | withGlobalLogging installs the SMP agent's log sinks, which the chat core otherwise installs only under --log-agent. main :: IO () -main = do +main = withGlobalLogging LogConfig {lc_file = Nothing, lc_stderr = True} $ do + setLogLevel LogWarn opts@BadgeServiceOpts {runCLI} <- welcomeGetOpts if runCLI then badgeServiceCLI opts diff --git a/apps/simplex-badge-service/README.md b/apps/simplex-badge-service/README.md index 9776a8de05..945256f814 100644 --- a/apps/simplex-badge-service/README.md +++ b/apps/simplex-badge-service/README.md @@ -1,16 +1,34 @@ # SimpleX badge service -Scaffolding for the SimpleX supporter-badge RPC service. The wire protocol is specified in [`docs/protocol/badges-rpc.md`](../../docs/protocol/badges-rpc.md), and the implementation plans live under [`plans/`](../../plans) (`2026-07-30-supporter-badges-v3-ux.md`, `2026-07-31-badges-core-implementation.md`, `2026-08-04-badges-mvp-scope.md`). +`simplex-badge-service` runs the whole supporter-badge service as one process, two +lanes: a SimpleX chat bot that answers service RPC over a double-ratchet contact +address, and — only when `--service-config` names a `badge_service.ini` — the badge-codes +web checkout (BTCPay and Stripe payment, code issuance, the poller). **Without +`--service-config` the web listener does not start at all**; the process still runs the +chat side and nothing else. + +The wire protocol for the RPC side is +[`docs/protocol/badges-rpc.md`](../../docs/protocol/badges-rpc.md). The web checkout is +specified in +[`plans/badges-codes/2026-08-27-badge-codes.md`](../../plans/badges-codes/2026-08-27-badge-codes.md), +whose §9 is the `badge_service.ini` reference, with the implementation plan in +[`plans/badges-codes/2026-08-31-service-btcpay.md`](../../plans/badges-codes/2026-08-31-service-btcpay.md). +Earlier plans (`2026-07-30-supporter-badges-v3-ux.md`, `2026-07-31-badges-core-implementation.md`, +`2026-08-04-badges-mvp-scope.md`) predate the web checkout and describe the RPC-only +scaffold this service started as. At this stage the service: - creates a double-ratchet contact address on first start (service RPC requires DR, see [`docs/protocol/badges-rpc.md`](../../docs/protocol/badges-rpc.md)), - listens for service requests (`CEvtServiceRequest`) on that address, rejects a request whose `purchaseKey` is not the key the agent verified the signature against, and answers `redeemBadgeCode`, - issues redemption codes, storing only their `SHA-256` and printing each code once, -- does not accept contact requests — the address is for RPC only, +- does not accept contact requests unless `[dev] chat_redeem` is on: the address is for RPC only, +- in service mode with `--service-config`, also serves the built web app (`npm run build` in `web/`), `POST /api/invoice` and `GET /api/invoice/:id`, the BTCPay and Stripe webhook routes, and a payment poller, seeding its price/offer catalog on every start, - owns the `sx_badge_service_`-prefixed tables and its own migrations table (`sx_badge_service_migrations`). -Every other command still answers `unsupported_version`. Ledger writes, invoices and provider webhooks are left for follow-up per the plans; a redemption issues one credential and reports an empty statement. +Every other command answers `unsupported_version`, or `unknown_purchase_key` when the key that +signed it is not one the service has stored — every command but `redeemBadgeCode` needs a +purchase that already exists. ## Build @@ -27,9 +45,11 @@ simplex-badge-service --help ``` - default (no `--run-cli`): background service mode, no interactive terminal. -- `--run-cli`: interactive CLI that also processes service requests (mirrors `simplex-directory-service --run-cli`). +- `--run-cli`: interactive CLI that also processes service requests (mirrors + `simplex-directory-service --run-cli`). This mode is the chat/RPC side and the `//` commands + below: it starts no web listener and no poller, and `[dev] chat_redeem` does not apply to it, + whatever `--service-config` says. - `--no-address`: skip address creation on start-up (for operators who provision the address themselves). - The service cannot sign credentials without an issuer key and refuses to start without one: - `--issuer-key-idx IDX` — the index the apps find the matching public key under (`badgePublicKeys` in `ChatConfig`). @@ -39,6 +59,163 @@ The service checks the secret against the configured public key at that index an if they disagree: credentials signed with the wrong key cannot be verified by any client, and the codes redeemed against them would be spent for nothing. +The key can come from `badge_service.ini` instead: + +```ini +[issuer] +index = 1 +private_key = +``` + +`index` is the index clients verify against (`badgePublicKeys` in `ChatConfig`), and `private_key` +is the secret that signs. Both are required, and the key is checked at startup like the flags. +Rotating is a change to both and a restart, once clients trust the new index. + +The command line wins over the file when both `--issuer-key-idx` and `--issuer-secret` are given. +Note that a secret passed as a flag is visible to every user on the machine through `ps`, where one +in the ini is only as readable as the file: `badge_service.ini` is gitignored and already holds the +provider API keys and webhook secrets. + +Other options: + +- `--service-config INI_FILE`: path to `badge_service.ini`. Omit it to run the chat/RPC side + only; the process never starts a web listener without it, and never starts one under + `--run-cli`, which parses and validates the whole file (`[listener] static_dir` included) but + uses only its `[issuer]` section. An issuer key is still required either way. +- `--service-name NAME`: the bot's display name, without `*`s or spaces (default `SimpleX Badges`). +- `--client-service`: use the client service certificate. +- also accepts the standard SimpleX Chat core options — database path, SMP/XFTP servers, + `--socks-proxy`, `--log-level`/`-l`, and the rest — run `simplex-badge-service --help` + for the complete list. + +### Running the web checkout + +`badge_service.ini` holds the listener bind address and `static_dir`, an optional +`[btcpay]` section (omitting it disables Bitcoin and Monero), an optional `[stripe]` +section (omitting it disables card payments) and the poll cadence. +`badge_service.ini.example` is the committed template; `badge_service.ini` itself is +gitignored, since a real one holds API keys and webhook secrets. + +The full walkthrough is in +[`web/README.md`](web/README.md#running-the-real-service-against-this-build). Short version: + +``` +cd apps/simplex-badge-service/web && npm install && npm run build && cd ../../.. +cp apps/simplex-badge-service/badge_service.ini.example apps/simplex-badge-service/badge_service.ini +cabal run simplex-badge-service -- \ + --issuer-key-idx IDX --issuer-secret SECRET \ + --service-config apps/simplex-badge-service/badge_service.ini +``` + +`IDX` and `SECRET` must be one of the issuer keys clients already ship, not a fresh +`simplex-chat badge keygen` pair: startup refuses a key no client could verify against. + +`trust_forwarded_for` decides what the rate limiter counts. Behind a reverse proxy it must be +`on`, or every request keys on the proxy's address and the whole service shares one bucket of 60 +reads and 5 checkouts a minute. Where the listener is reached directly it must be `off`, because +then the header is whatever the caller wrote. The last entry is the one read, which is the one a +proxy appends. + +The BTCPay API key needs four permissions, each scoped to the one store: +`cancreateinvoice` and `canviewinvoices` for checkout and the poller, +`canviewstoresettings` to log the store's live payment methods at startup, and +`canmodifyinvoices` so `POST /api/invoice/:id/cancel` can invalidate an invoice at BTCPay +rather than only in this store. + +### Card payments (Stripe) + +An optional `[stripe]` section enables the card lane; omitting it disables card payments +and `POST /api/invoice` answers `provider_unavailable` for a card order, the same as an +absent `[btcpay]` does for Bitcoin and Monero. Its keys: + +- `secret_key` — a **restricted** key (`rk_...`), never a full secret key (`sk_...`). Grant it + **PaymentIntents: write**, to create and cancel intents, plus **Charges: read** — the poller + reads an intent with `expand[]=latest_charge`, and Stripe rejects the whole read if the key + lacks read on an expanded object (settlement then falls back to the slower list pass). +- `publishable_key` (`pk_...`) — the public key the browser mounts the Payment Element with. +- `webhook_secret` (`whsec_...`) — the signing secret of the `/webhooks/stripe` endpoint, + configured in the Stripe Dashboard alongside it. +- `session_minutes` — how many minutes an unpaid card order stays open (1 to 1440, default 60). + Ten minutes after that, the service cancels the payment at Stripe, and retries if that fails. + If the order is over 72 hours old and the cancel has kept failing for an hour, the service marks + it expired and logs an error. Check such orders in the Stripe Dashboard. After a restart, the + hour starts again. + +The service fills `publishable_key` into the shell at boot: the built `index.html` ships +with an empty `` +(`web/public/index.html`), and the listener serves a copy with the configured key +substituted in, so the ini is the only place the key is set. With no `[stripe]` section the +pristine (empty) shell is served and the page shows its development stand-in card form. The +dev mock (`web/mock/server.py`) does the same substitution from `$STRIPE_PUBLISHABLE_KEY`, +since it runs without an ini. + +`POST /webhooks/stripe` verifies `Stripe-Signature` against `webhook_secret` and queues a +read, the same hint-only role as `POST /webhooks/btcpay`: the poller carries authority, so +an unverified or unreadable delivery costs nothing but a log line. A delivery signed more than +15 minutes away from the server's clock is refused with a warning, so keep the clock synced (NTP). + +The reverse proxy in front of this service must send a Content-Security-Policy that +allows Stripe.js and its iframes, since Stripe forbids bundling or self-hosting its +script: + +``` +script-src 'self' https://js.stripe.com https://*.js.stripe.com; +frame-src https://js.stripe.com https://*.js.stripe.com https://hooks.stripe.com +``` + +**Stripe Link must be disabled in the Dashboard.** Left on, it needs `link.com` in the +CSP above and reintroduces an email prompt of its own, which this design otherwise avoids. + +**Enable card only; do not enable redirect-based methods** (iDEAL, Bancontact, PayPal, and +the rest) in the Dashboard. The embedded checkout sends no `return_url`, which Stripe requires +the moment a redirect-based method is offered, so enabling one makes every checkout fail to +create. The service pins the Stripe API version it was built against, so the account's default +version does not affect the card lane. + +### The checkout endpoints + +The browser in `web/` is the only client of the `/api` routes; the two webhooks below are the +providers', one each for BTCPay and Stripe. +The invoice id is the only credential for reading or cancelling an order: it is 16 random bytes, +it travels in the path, and anything that logs request paths logs it. It is also what the buyer +is shown as their reference and asked to quote, so support sees it: losing it lets someone cancel +an invoice, which is why the code, which lets them take the badge, is never printed until the +service says the invoice is paid. The service keeps it out of its own logs, which name the +provider's reference instead. + +| Route | Answers | +|---|---| +| `POST /api/invoice` | `{invoiceId, badgeType, months, amount, currency, expiresAt}` plus a destination: `clientSecret` for a card, or `address`, `cryptoAmount`, `cryptoCurrency`. Refuses with `code_conflict`, `catalog_changed`, `bad_request`, `provider_unavailable` or `rate_limited`. | +| `GET /api/invoice/:id` | `{status, badgeType, months, amount, currency, expiresAt}` and the same destination — no `invoiceId`, since the caller already has it — plus `amountPaid`, `cryptoAmountPaid`, `cryptoAmountDue`, `paidInFull`, `settledAt` and `requiredConfirmations` once each has a value. Never the code, which this service has never seen. | +| `GET /api/invoice/:id?wait=&seenPaid=
&seenFull=<0\|1>` | The same, held for up to 30 seconds while the invoice's status is still `` **and** its payment is the one the caller says it has rendered. `wait=paid` and any value that is not a status answer at once, since neither can change. A status the caller has not seen, or a payment it has not seen, answers at once — the provider's verdict counts as much as the figure, because Monero reports an invoice as confirming while its figures are still zero. A request that omits `seenPaid` holds on the status alone. | +| `POST /api/invoice/:id/cancel` | Invalidates an open invoice at the provider and expires it here. Refuses a settled or expired one with `not_open`, and one that already holds a payment with `funded`. The provider is told first, and a payment landing in between does not keep the invoice open: nothing can reach that address any more, so the row is expired either way and the poller settles or reports what arrived. | +| `POST /webhooks/btcpay` | Verifies `BTCPay-Sig` over the bytes as received and queues a read. A hint only: the poller is what carries authority, so an unverified or unreadable delivery costs nothing but a log line. | +| `POST /webhooks/stripe` | Verifies `Stripe-Signature` over the bytes as received and queues a read. The card lane's equivalent of the row above, and a hint just the same: the poller carries authority, so an unverified or unreadable delivery costs nothing but a log line. | + +Every `/api` refusal is `{"error": ""}`. Besides the codes above, any of them can answer +`internal`, an unknown id answers `not_found`, and a wrong verb answers `method_not_allowed` — +ten codes in all, which is what the browser's `WIRE_ERROR_CODES` lists. The two webhook routes are +the exception: each answers 200, 400 or 413 with an empty body, because its provider is the only +caller and nothing it could read would change what the route does. A wrong verb on any route, those +two included, answers `method_not_allowed`. + +### Redeeming over chat, for local testing + +```ini +[dev] +chat_redeem = on +``` + +With this on, the service accepts contact requests and answers `/redeem ` from a contact +with the credential as one-line JSON, ready to paste into a client as `/badge add `. Off by +default, and only `on`/`off` parse, so a typo cannot silently arm it. It applies to the service +mode only; `--run-cli` ignores it. + +Keep it off anywhere real. The service RPC signs over a master key only the client holds; here +there is no client key, so the service generates one and hands it over with the credential, which +means it can link every badge it issues this way. `simplex-chat badge sign` has the same property +and is the offline equivalent. + ## Issuing codes Issuing a code is an operator command sent to the running service in `--run-cli` mode, not a way @@ -51,10 +228,21 @@ to start it — so codes are issued without a second process touching the servic `months` defaults to 1 and must be between 1 and 255; the status defaults to `free` and records whether the code was sold (`paid`), is awaiting payment (`unpaid`), or was issued by an operator -(`free`) — redemption never reads it. +(`free`). Redemption refuses an `unpaid` code with `payment_pending`: the web checkout writes the +code row when the invoice is created, and settlement is what marks it paid. The code is printed once and only its `SHA-256` is stored, so a code that is not copied when it is shown cannot be recovered. +A code that leaked, or that was refunded, is withdrawn the same way: + +``` +//revoke +``` + +A revoked code answers redemption with `code_invalid`, as if it had never existed, so its holder +learns nothing from trying. Revoking is not repeatable: the second attempt says so. A code that +was already redeemed cannot be revoked: its badge was issued, and the command answers with an error. + Core parses `//...` into `CustomChatCommand` and leaves it to the service's `preCmdHook`, which is why issuing codes lives in the service rather than in core. diff --git a/apps/simplex-badge-service/badge_service.ini.example b/apps/simplex-badge-service/badge_service.ini.example new file mode 100644 index 0000000000..b1f5f4b1c1 --- /dev/null +++ b/apps/simplex-badge-service/badge_service.ini.example @@ -0,0 +1,56 @@ +[listener] +; bind locally; the reverse proxy terminates TLS. It must pass the query string through: +; the long poll's `wait`, `seenPaid` and `seenFull` all travel in it +host = 127.0.0.1 +port = 8080 +; required: the directory `npm run build` writes in apps/simplex-badge-service/web +static_dir = ./apps/simplex-badge-service/web/dist +; serve the webapp over HTTP. On (default) is the all-in-one deployment. Off is a split deployment +; where a reverse proxy serves the exported folder and this service is only the API and webhooks. +serve_webapp = on +; when set, the webapp is written here at boot with the publishable key injected, copied from +; static_dir, for a reverse proxy to serve. Leave unset in the all-in-one deployment. +; webapp_export_dir = /srv/webapp +; on behind the reverse proxy above: without it every request keys the rate limiter on the +; proxy's own address, so one bucket is shared by everyone. Set it off only where this +; listener is reached directly, since a client can write the header itself. +trust_forwarded_for = on + +; omit this whole section to disable Bitcoin and Monero (the browser shows the provider-unavailable screen) +[btcpay] +host = https://btcpay.example.org +api_key = replace-me +store_id = replace-me +webhook_secret = replace-me +expiry_minutes = 60 +speed_policy = MediumSpeed +payment_tolerance = 0.5 + +; omit this whole section to disable card payments (the browser shows the provider-unavailable screen) +[stripe] +; restricted key (rk_): Payment Intents write + Charges read — never a full secret key (sk_) +secret_key = rk_test_replace-me +publishable_key = pk_test_replace-me +; the signing secret of the /webhooks/stripe endpoint configured in the Dashboard +webhook_secret = whsec_replace-me +; minutes the service holds an unpaid card invoice open before it expires it; 1-1440 +session_minutes = 60 + +[poll] +waiting_seconds = 3 +idle_seconds = 60 + +; the key this service signs credentials with. index is the index clients verify against, so +; private_key has to be one whose public half already ships in the apps at that index: a fresh +; `simplex-chat badge keygen` pair is refused until it does. +; --issuer-key-idx and --issuer-secret override this section if both are given. +; to rotate, change index and private_key together, once clients trust the new index. +; the key is checked at startup, so this section stays commented out until it holds a real key. +;[issuer] +;index = 1 +;private_key = replace-me + +; local testing only: signs a credential for anyone who sends /redeem over chat, +; with a master key this service generates and can therefore link +[dev] +chat_redeem = off diff --git a/apps/simplex-badge-service/src/BadgeService/Catalog.hs b/apps/simplex-badge-service/src/BadgeService/Catalog.hs new file mode 100644 index 0000000000..b15185da68 --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Catalog.hs @@ -0,0 +1,135 @@ +{-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} + +module BadgeService.Catalog + ( OfferInvalid (..), + CatalogRefusal (..), + offerTotal, + PricedOffer (..), + priceOffer, + catalogCurrency, + defaultCatalog, + ) +where + +import Data.List (find) +import Data.Text (Text) +import Data.Time.Clock (UTCTime) +import Data.Word (Word32, Word64, Word8) +import Simplex.Chat.Badges (BadgeType (..)) +import Simplex.Chat.Badges.Service (BadgeOffer (..), BadgePrice (..)) +import Simplex.Chat.Badges.Types (BadgeItemStatus (..), BadgeOfferId (..), BadgePriceId (..), OfferDiscount (..)) +import Simplex.Chat.PaymentService.Types (CurrencyAmount (..)) + +data OfferInvalid = OIZeroMonths | OIFreeMonthsExceedTerm | OIDiscountTooLarge | OIAmountUnsellable + deriving (Eq, Show) + +offerTotal :: CurrencyAmount -> Maybe BadgeOffer -> Either OfferInvalid (Word8, CurrencyAmount, CurrencyAmount) +offerTotal (CurrencyAmount p) = \case + Nothing -> charge 1 (gross 1) + Just BadgeOffer {months, discount} + | months == 0 -> Left OIZeroMonths + | otherwise -> case discount of + ODFreeMonths f + | f >= months -> Left OIFreeMonthsExceedTerm + | otherwise -> charge months (gross (months - f)) + ODDiscount d + | d >= 100 -> Left OIDiscountTooLarge + | otherwise -> charge months (gross months * (100 - fromIntegral d) `div` 100) + where + gross :: Word8 -> Word64 + gross m = fromIntegral p * fromIntegral m + maxAmount :: Word64 -- $1,000,000 in minor units + maxAmount = 100000000 + charge :: Word8 -> Word64 -> Either OfferInvalid (Word8, CurrencyAmount, CurrencyAmount) + charge m c + -- Bound gross too, not just the charge, or a large price wraps the Word32 amount field. + | c == 0 || c > maxAmount || gross m > maxAmount = Left OIAmountUnsellable + | otherwise = Right (m, CurrencyAmount (fromIntegral (gross m)), CurrencyAmount (fromIntegral c)) + +data PricedOffer = PricedOffer + { poBadgeType :: BadgeType, + poMonths :: Word8, + poPrice :: CurrencyAmount, + poAmount :: CurrencyAmount, + poCurrency :: Text + } + deriving (Eq, Show) + +data CatalogRefusal + = CRUnknownPrice + | CRDisabledPrice + | CRUnknownOffer + | CRDisabledOffer + | CROfferNotForPrice + | CRUnsoldBadgeType BadgeType + | CRUnpriced OfferInvalid + deriving (Eq, Show) + +priceOffer :: [BadgePrice] -> [BadgeOffer] -> BadgePriceId -> Maybe BadgeOfferId -> Either CatalogRefusal PricedOffer +priceOffer prices offers wantedPriceId wantedOfferId = do + BadgePrice {badgeType, monthPrice, currency, status = priceStatus} <- known CRUnknownPrice (findPrice wantedPriceId) + soldBadgeType badgeType + active CRDisabledPrice priceStatus + chosenOffer <- resolveOffer wantedPriceId wantedOfferId + (months, price, amount) <- either (Left . CRUnpriced) Right (offerTotal monthPrice chosenOffer) + pure PricedOffer {poBadgeType = badgeType, poMonths = months, poPrice = price, poAmount = amount, poCurrency = currency} + where + known refusal = maybe (Left refusal) Right + findPrice p = find (\BadgePrice {priceId} -> priceId == p) prices + findOffer o = find (\BadgeOffer {offerId} -> offerId == o) offers + soldBadgeType bt + | bt == BTSupporter || bt == BTLegend = Right () + | otherwise = Left (CRUnsoldBadgeType bt) + active _ BISActive = Right () + active _ BISDeprecated = Right () + active refusal BISDisabled = Left refusal + resolveOffer _ Nothing = Right Nothing + resolveOffer p (Just o) = do + chosen@BadgeOffer {priceId = offerPriceId, status = offerStatus} <- known CRUnknownOffer (findOffer o) + active CRDisabledOffer offerStatus + case offerPriceId of + Nothing -> Right (Just chosen) + Just op + | op == p -> Right (Just chosen) + | otherwise -> Left CROfferNotForPrice + +catalogCurrency :: Text +catalogCurrency = "usd" + +-- | Mirrors web/src/catalog.ts; seeded insert-only, so repricing needs a new price id. +defaultCatalog :: UTCTime -> ([BadgePrice], [BadgeOffer]) +defaultCatalog seededAt = (prices, offers) + where + prices = + [ mkPrice "price_supporter" BTSupporter 700, + mkPrice "price_legend" BTLegend 7000 + ] + offers = + [ mkOffer "offer_3m" "price_legend" 3 (ODFreeMonths 1), + mkOffer "offer_12m" "price_legend" 12 (ODDiscount 50), + mkOffer "offer_3m_s" "price_supporter" 3 (ODFreeMonths 1), + mkOffer "offer_12m_s" "price_supporter" 12 (ODDiscount 50) + ] + mkPrice :: Text -> BadgeType -> Word32 -> BadgePrice + mkPrice pId bType mPrice = + BadgePrice + { priceId = BadgePriceId pId, + badgeType = bType, + monthPrice = CurrencyAmount mPrice, + currency = catalogCurrency, + status = BISActive, + createdAt = seededAt + } + mkOffer :: Text -> Text -> Word8 -> OfferDiscount -> BadgeOffer + mkOffer oId pId mMonths mDiscount = + BadgeOffer + { offerId = BadgeOfferId oId, + priceId = Just (BadgePriceId pId), + months = mMonths, + discount = mDiscount, + status = BISActive, + createdAt = seededAt + } diff --git a/apps/simplex-badge-service/src/BadgeService/Config.hs b/apps/simplex-badge-service/src/BadgeService/Config.hs new file mode 100644 index 0000000000..10d55d7da7 --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Config.hs @@ -0,0 +1,284 @@ +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE ScopedTypeVariables #-} + +module BadgeService.Config + ( ListenerConfig (..), + BTCPayConfig (..), + StripeConfig (..), + SpeedPolicy (..), + speedPolicyName, + PollConfig (..), + BadgeIssuerKey (..), + ServiceConfig (..), + defaultExpiryMinutes, + defaultSessionMinutes, + readServiceConfig, + unknownKeys, + ) +where + +import qualified Control.Exception as E +import BadgeService.Log (logWarn) +import Data.Attoparsec.Text (Parser, endOfInput, isEndOfLine, parseOnly, satisfy, skipMany, skipSpace, skipWhile) +import qualified Data.ByteString.Char8 as B +import Data.Ini (Ini, iniGlobals, iniParser, keys, lookupValue, sections) +import Data.Text (Text) +import qualified Data.Text as T +import qualified Data.Text.IO as TIO +import Simplex.Messaging.Crypto.BBS (BBSSecretKey) +import Simplex.Messaging.Encoding.String (strDecode) +import System.IO.Error (ioeGetErrorString) +import Text.Read (readMaybe) + +data ListenerConfig = ListenerConfig + { lHost :: Text, + lPort :: Int, + lStaticDir :: FilePath, + lServeWebapp :: Bool, + lWebappExportDir :: Maybe FilePath, + lTrustForwardedFor :: Bool + } + deriving (Eq, Show) + +-- | Sent by name, since BTCPay's numbering is not in speed order. +data SpeedPolicy = HighSpeed | MediumSpeed | LowMediumSpeed | LowSpeed + deriving (Bounded, Enum, Eq, Show) + +speedPolicies :: [SpeedPolicy] +speedPolicies = [minBound .. maxBound] + +speedPolicyName :: SpeedPolicy -> Text +speedPolicyName = \case + HighSpeed -> "HighSpeed" + MediumSpeed -> "MediumSpeed" + LowMediumSpeed -> "LowMediumSpeed" + LowSpeed -> "LowSpeed" + +data BTCPayConfig = BTCPayConfig + { bHost :: Text, + bApiKey :: Text, + bStoreId :: Text, + bWebhookSecret :: Text, + bExpiryMinutes :: Int, + bSpeedPolicy :: SpeedPolicy, + bPaymentTolerance :: Double + } + deriving (Eq) + +-- Hand-written to keep the api key and webhook secret out of logs. +instance Show BTCPayConfig where + show BTCPayConfig {bHost, bStoreId} = "btcpay " <> T.unpack bHost <> " store " <> T.unpack bStoreId + +data StripeConfig = StripeConfig + { sSecretKey :: Text, + sPublishableKey :: Text, + sWebhookSecret :: Text, + sSessionMinutes :: Int, + sHost :: Text + } + deriving (Eq) + +-- Hand-written to keep the restricted key and signing secret out of logs. +instance Show StripeConfig where + show StripeConfig {sHost} = "stripe " <> T.unpack sHost + +data PollConfig = PollConfig {pWaitingSeconds :: Int, pIdleSeconds :: Int} + deriving (Eq, Show) + +data BadgeIssuerKey = BadgeIssuerKey + { keyIdx :: Int, + secretKey :: BBSSecretKey + } + deriving (Eq) + +-- BBSSecretKey derives Show, so this is written out to keep the secret out of logs and errors +instance Show BadgeIssuerKey where + show BadgeIssuerKey {keyIdx} = "issuer key " <> show keyIdx + +data ServiceConfig = ServiceConfig + { listener :: ListenerConfig, + btcpay :: Maybe BTCPayConfig, + stripe :: Maybe StripeConfig, + poll :: PollConfig, + issuer :: Maybe BadgeIssuerKey, + -- Local testing only; signs credentials with a master key this service can link. + devChatRedeem :: Bool + } + deriving (Eq, Show) + +defaultExpiryMinutes :: Int +defaultExpiryMinutes = 60 + +defaultStripeHost :: Text +defaultStripeHost = "https://api.stripe.com" + +defaultSessionMinutes :: Int +defaultSessionMinutes = 60 + +-- | At most one day, so a card order expires long before the poller stops checking it at 72 hours. +minSessionMinutes, maxSessionMinutes :: Int +minSessionMinutes = 1 +maxSessionMinutes = 1440 + +-- | An http host would carry the API key in the clear on every call. +requireHttps :: Text -> Either String Text +requireHttps u + | "https://" `T.isPrefixOf` u = Right u + | otherwise = Left "btcpay.host must be an absolute https URL" + +-- | Well below 100, where BTCPay settles an invoice for one satoshi. +maxTolerance :: Double +maxTolerance = 10 + +readServiceConfig :: FilePath -> IO (Either String ServiceConfig) +readServiceConfig path = + E.try (TIO.readFile path) >>= \case + Left (e :: E.IOException) -> pure (Left (ioeGetErrorString e)) + -- Data.Ini stops at the first unparseable line and keeps what it has, so a missing `=` silently drops every section below. + Right text -> case parseOnly (iniParser <* trailingNoise <* endOfInput) text of + Left _ -> pure (Left "could not be read as an ini file: a line is malformed") + Right ini -> do + mapM_ (\k -> logWarn (T.pack path <> ": nothing reads " <> k <> ", so it was ignored")) (unknownKeys ini) + pure (parseConfig ini) + +-- | iniParser stops before a trailing comment, so endOfInput alone would reject a valid file. +trailingNoise :: Parser () +trailingNoise = skipSpace *> skipMany (comment *> skipSpace) + where + comment = satisfy (\c -> c == ';' || c == '#') *> skipWhile (not . isEndOfLine) + +knownSettings :: [(Text, [Text])] +knownSettings = + [ ("listener", ["host", "port", "static_dir", "serve_webapp", "webapp_export_dir", "trust_forwarded_for"]), + ("btcpay", ["host", "api_key", "store_id", "webhook_secret", "expiry_minutes", "speed_policy", "payment_tolerance"]), + ("stripe", ["secret_key", "publishable_key", "webhook_secret", "session_minutes"]), + ("poll", ["waiting_seconds", "idle_seconds"]), + ("dev", ["chat_redeem"]), + ("issuer", ["index", "private_key"]) + ] + +unknownKeys :: Ini -> [Text] +unknownKeys ini = beforeAnySection <> unknownSections <> settings + where + beforeAnySection = [k <> ", written above the first section header" | (k, _) <- iniGlobals ini] + unknownSections = ["[" <> s <> "]" | s <- sections ini, T.strip s `notElem` map fst knownSettings] + settings = + [ section <> "." <> key + | (section, known) <- knownSettings, + key <- either (const []) id (keys section ini), + T.strip key `notElem` known + ] + +parseConfig :: Ini -> Either String ServiceConfig +parseConfig ini = do + lStaticDir <- T.unpack <$> required "listener" "static_dir" + lHost <- optional "listener" "host" "127.0.0.1" + lPort <- do + p <- num "listener" "port" 8080 + if 1 <= p && p <= 65535 then Right p else Left "listener.port must be between 1 and 65535" + lServeWebapp <- bool "listener" "serve_webapp" True + let lWebappExportDir = case fmap T.strip (look "listener" "webapp_export_dir") of + Just v | not (T.null v) -> Just (T.unpack v) + _ -> Nothing + lTrustForwardedFor <- bool "listener" "trust_forwarded_for" False + btc <- btcpaySection + str <- stripeSection + iss <- issuerSection + pWaitingSeconds <- cadence "waiting_seconds" 3 + pIdleSeconds <- cadence "idle_seconds" 60 + devRedeem <- bool "dev" "chat_redeem" False + pure + ServiceConfig + { listener = ListenerConfig {lHost, lPort, lStaticDir, lServeWebapp, lWebappExportDir, lTrustForwardedFor}, + btcpay = btc, + stripe = str, + poll = PollConfig {pWaitingSeconds, pIdleSeconds}, + issuer = iss, + devChatRedeem = devRedeem + } + where + hasSection s = s `elem` sections ini + look s k = either (const Nothing) Just (lookupValue s k ini) + required s k = case look s k of + Just v | not (T.null (T.strip v)) -> Right (T.strip v) + _ -> Left (T.unpack s <> "." <> T.unpack k <> " is required") + optional s k d = case fmap T.strip (look s k) of + Just v | not (T.null v) -> Right v + _ -> Right d + -- Integer, because readMaybe at Int wraps silently, reading 2^64+4 as 4. + num s k d = case look s k of + Nothing -> Right d + Just v -> case readMaybe (T.unpack (T.strip v)) of + Just n | n >= toInteger (minBound :: Int), n <= toInteger (maxBound :: Int) -> Right (fromInteger n) + _ -> Left (T.unpack k <> " must be a whole number") + bool s k d = case fmap (T.toLower . T.strip) (look s k) of + Nothing -> Right d + Just "on" -> Right True + Just "off" -> Right False + Just other -> Left (T.unpack k <> " must be on or off, not " <> T.unpack other) + -- num accepts 0 and negatives, and a zero cadence is a busy loop. + cadence k d = do + v <- num "poll" k d + if v >= 1 then Right v else Left ("poll." <> T.unpack k <> " must be at least 1 second") + issuerSection + | not (hasSection "issuer") = Right Nothing + | otherwise = do + keyIdx <- issuerIndex + secretKey <- issuerSecret + pure (Just BadgeIssuerKey {keyIdx, secretKey}) + issuerIndex = do + v <- required "issuer" "index" + case readMaybe (T.unpack v) of + Just n | n >= 1, n <= toInteger (maxBound :: Int) -> Right (fromInteger n) + _ -> Left "issuer.index must be a positive whole number" + issuerSecret = do + v <- required "issuer" "private_key" + either (const (Left "issuer.private_key is not a valid issuer secret; use the value from `simplex-chat badge keygen`")) Right $ + strDecode (B.pack (T.unpack v)) + btcpaySection + | not (hasSection "btcpay") = Right Nothing + | otherwise = do + bHost <- required "btcpay" "host" >>= requireHttps + bApiKey <- required "btcpay" "api_key" + bStoreId <- required "btcpay" "store_id" + bWebhookSecret <- required "btcpay" "webhook_secret" + bExpiryMinutes <- expiryMinutes + bSpeedPolicy <- speedPolicy + bPaymentTolerance <- tolerance + pure (Just BTCPayConfig {bHost, bApiKey, bStoreId, bWebhookSecret, bExpiryMinutes, bSpeedPolicy, bPaymentTolerance}) + -- A negative window puts BTCPay's startDate in the future, so every poll comes back empty. + expiryMinutes = do + v <- num "btcpay" "expiry_minutes" defaultExpiryMinutes + if v >= 1 then Right v else Left "btcpay.expiry_minutes must be at least 1 minute" + speedPolicy = case look "btcpay" "speed_policy" of + Nothing -> Right MediumSpeed + Just v -> case lookup (T.strip v) [(speedPolicyName p, p) | p <- speedPolicies] of + Just p -> Right p + Nothing -> + Left + ( "btcpay.speed_policy must be one of " + <> T.unpack (T.intercalate ", " (map speedPolicyName speedPolicies)) + <> ", not " + <> T.unpack (T.strip v) + ) + tolerance = case look "btcpay" "payment_tolerance" of + Nothing -> Right 0.5 + Just v -> case readMaybe (T.unpack (T.strip v)) of + Just d | d >= 0 && d <= maxTolerance -> Right d + _ -> Left ("btcpay.payment_tolerance must be a percentage between 0 and " <> show maxTolerance) + stripeSection + | not (hasSection "stripe") = Right Nothing + | otherwise = do + sSecretKey <- required "stripe" "secret_key" + sPublishableKey <- required "stripe" "publishable_key" + sWebhookSecret <- required "stripe" "webhook_secret" + sSessionMinutes <- sessionMinutes + let sHost = defaultStripeHost + pure (Just StripeConfig {sSecretKey, sPublishableKey, sWebhookSecret, sSessionMinutes, sHost}) + sessionMinutes = do + v <- num "stripe" "session_minutes" defaultSessionMinutes + if v >= minSessionMinutes && v <= maxSessionMinutes + then Right v + else Left ("stripe.session_minutes must be between " <> show minSessionMinutes <> " and " <> show maxSessionMinutes <> " minutes") diff --git a/apps/simplex-badge-service/src/BadgeService/Log.hs b/apps/simplex-badge-service/src/BadgeService/Log.hs new file mode 100644 index 0000000000..a2f54f4420 --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Log.hs @@ -0,0 +1,36 @@ +{-# LANGUAGE OverloadedStrings #-} + +-- | The SMP agent logs unconditionally at info on the global logger, so the service keeps its own info lines on this separate channel when that logger is raised to Warn. +module BadgeService.Log + ( logInfo, + logWarn, + logError, + ) +where + +import Control.Monad.IO.Class (MonadIO, liftIO) +import Data.Text (Text) +import qualified Data.Text as T +import qualified Data.Text.IO as T +import Data.Time.Format (defaultTimeLocale, formatTime) +import Data.Time.LocalTime (getZonedTime) +import GHC.Stack (CallStack, HasCallStack, callStack, getCallStack, srcLocFile, srcLocStartLine) +import System.IO (stderr) + +logInfo :: (HasCallStack, MonadIO m) => Text -> m () +logInfo = logAt "INFO" callStack + +logWarn :: (HasCallStack, MonadIO m) => Text -> m () +logWarn = logAt "WARN" callStack + +logError :: (HasCallStack, MonadIO m) => Text -> m () +logError = logAt "ERROR" callStack + +logAt :: MonadIO m => Text -> CallStack -> Text -> m () +logAt tag cs msg = liftIO $ do + ts <- formatTime defaultTimeLocale "%Y-%m-%d %H:%M:%S %z" <$> getZonedTime + T.hPutStrLn stderr $ "[" <> tag <> " " <> T.pack ts <> " " <> loc <> "] " <> msg + where + loc = case getCallStack cs of + ((_, l) : _) -> T.pack (srcLocFile l) <> ":" <> T.pack (show (srcLocStartLine l)) + [] -> "unknown" diff --git a/apps/simplex-badge-service/src/BadgeService/Options.hs b/apps/simplex-badge-service/src/BadgeService/Options.hs index a2cd46fd84..1d2423771a 100644 --- a/apps/simplex-badge-service/src/BadgeService/Options.hs +++ b/apps/simplex-badge-service/src/BadgeService/Options.hs @@ -5,19 +5,18 @@ module BadgeService.Options ( BadgeServiceOpts (..), - BadgeIssuerKey (..), getBadgeServiceOpts, badgeServiceOpts, mkChatOpts, ) where +import BadgeService.Config (BadgeIssuerKey (..)) import qualified Data.ByteString.Char8 as B import qualified Data.Text as T import Options.Applicative import Simplex.Chat.Controller (updateStr, versionNumber, versionString) import Simplex.Chat.Options (ChatCmdLog (..), ChatOpts (..), CoreChatOpts, CreateBotOpts (..), coreChatOptsP) -import Simplex.Messaging.Crypto.BBS (BBSSecretKey) import Simplex.Messaging.Encoding.String (strDecode) data BadgeServiceOpts = BadgeServiceOpts @@ -26,21 +25,11 @@ data BadgeServiceOpts = BadgeServiceOpts clientService :: Bool, noAddress :: Bool, runCLI :: Bool, - -- the service refuses to start without this: it cannot sign a credential - issuerKey :: Maybe BadgeIssuerKey, + serviceConfigFile :: Maybe FilePath, + issuerKey :: Either String (Maybe BadgeIssuerKey), testing :: Bool } --- | The issuer secret that signs credentials, and the index the apps find its public half under. -data BadgeIssuerKey = BadgeIssuerKey - { keyIdx :: Int, - secretKey :: BBSSecretKey - } - --- BBSSecretKey derives Show, so this is written out to keep the secret out of logs and errors -instance Show BadgeIssuerKey where - show BadgeIssuerKey {keyIdx} = "issuer key " <> show keyIdx - badgeServiceOpts :: FilePath -> FilePath -> Parser BadgeServiceOpts badgeServiceOpts appDir defaultDbName = do coreOptions <- coreChatOptsP appDir defaultDbName @@ -66,6 +55,14 @@ badgeServiceOpts appDir defaultDbName = do ( long "run-cli" <> help "Run badge service as CLI" ) + serviceConfigFile <- + optional + ( strOption + ( long "service-config" + <> metavar "INI_FILE" + <> help "Path to badge_service.ini: parsed in full in every mode, but --run-cli starts no web listener" + ) + ) issuerKeyIdx <- optional $ option @@ -89,7 +86,11 @@ badgeServiceOpts appDir defaultDbName = do clientService, noAddress, runCLI, - issuerKey = BadgeIssuerKey <$> issuerKeyIdx <*> issuerSecret, + serviceConfigFile, + issuerKey = case (issuerKeyIdx, issuerSecret) of + (Just idx, Just secret) -> Right (Just (BadgeIssuerKey idx secret)) + (Nothing, Nothing) -> Right Nothing + _ -> Left "--issuer-key-idx and --issuer-secret are given together or not at all", testing = False } diff --git a/apps/simplex-badge-service/src/BadgeService/Orders.hs b/apps/simplex-badge-service/src/BadgeService/Orders.hs new file mode 100644 index 0000000000..63359b0880 --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Orders.hs @@ -0,0 +1,117 @@ +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} + +module BadgeService.Orders (settleOrder, decide, codeLifetime) where + +import BadgeService.Providers (Funded (..), PaymentSignal (..), Received (..)) +import BadgeService.Store.Invoices (InvoicePayment (..), InvoiceRow (..), markCodePaid, paymentStatusText, settlementCodeHash, settlementInvoice, truncateToSecond, updateInvoiceStatus, upsertPayment) +import BadgeService.Waiters (Waiters, publish, publishPayment) +import Control.Concurrent.STM (atomically) +import Control.Monad (when) +import Data.ByteString (ByteString) +import Data.Maybe (fromMaybe) +import Data.Text (Text) +import Data.Time.Clock (NominalDiffTime, UTCTime, addUTCTime) +import Simplex.Chat.PaymentService.Types (CurrencyAmount (..), InvoiceId, InvoiceStatus (..), PaymentStatus (..)) +import Simplex.Messaging.Agent.Store.Common (DBStore, withTransaction) +import qualified Simplex.Messaging.Agent.Store.DB as DB + +-- | Written onto the row at settlement and read back, so changing it moves only codes sold afterwards. +codeLifetime :: NominalDiffTime +codeLifetime = 365 * 24 * 60 * 60 + +data Write = Write + { wStatus :: Maybe InvoiceStatus, + wPayment :: PaymentStatus, + wCode :: Bool + } + +decide :: InvoiceStatus -> PaymentSignal -> Maybe Write +decide ISPaid _ = Nothing +decide _ SigSettled {} = Just Write {wStatus = Just ISPaid, wPayment = PSSettled, wCode = True} +decide _ SigFunded {} = Just Write {wStatus = Nothing, wPayment = PSPending, wCode = False} +decide ISOpen SigClosed {} = Just Write {wStatus = Just ISExpired, wPayment = PSPending, wCode = False} +decide ISExpired SigClosed {} = Just Write {wStatus = Nothing, wPayment = PSPending, wCode = False} + +paidInFull :: PaymentSignal -> Bool +paidInFull = \case + SigFunded _ f -> f == PaidInFull + SigSettled {} -> True + SigClosed {} -> False + +received :: PaymentSignal -> Received +received = \case + SigFunded r _ -> r + SigSettled r _ -> r + SigClosed r -> r + +-- | Uses the provider's settlement instant, not now, so an outage does not push deadlines out; +-- an implausible value (zero, milliseconds, negative) falls back to now. +settledInstant :: PaymentSignal -> UTCTime -> UTCTime +settledInstant signal now = case signal of + SigSettled _ at | at <= now, at >= addUTCTime (negate maxBackdate) now -> at + _ -> now + +-- | Longer than any outage the poller must survive, far short of the code's lifetime. +maxBackdate :: NominalDiffTime +maxBackdate = 30 * 24 * 60 * 60 + +data Published = PubNothing | PubStatus InvoiceStatus | PubPayment + +settleOrder :: DBStore -> Waiters -> InvoiceId -> PaymentSignal -> UTCTime -> IO (Either Text InvoiceStatus) +settleOrder st waiters invId signal now' = do + outcome <- withTransaction st $ \db -> + settlementInvoice db invId >>= \case + Nothing -> pure (Left "no such invoice") + Just row@InvoiceRow {irStatus} -> case decide irStatus signal of + Nothing -> pure (Right (irStatus, PubNothing)) + -- look up the code first, so an invoice with none leaves the transaction empty, not paid with an unpaid code + Just w -> codeToMark db w >>= either (pure . Left) (settle db row w) + case outcome of + Left e -> pure (Left e) + Right (status, toPublish) -> do + -- after the commit, or a woken reader will not see the write + atomically $ case toPublish of + PubStatus s -> publish waiters invId s + PubPayment -> publishPayment waiters invId + PubNothing -> pure () + pure (Right status) + where + now = truncateToSecond now' + at = truncateToSecond (settledInstant signal now) + codeToMark :: DB.Connection -> Write -> IO (Either Text (Maybe ByteString)) + codeToMark db Write {wCode} + | not wCode = pure (Right Nothing) + | otherwise = maybe (Left "settled invoice has no code hash") (Right . Just) <$> settlementCodeHash db invId + newPayment :: InvoiceRow -> Write -> Bool + newPayment InvoiceRow {irPayment} Write {wPayment} + -- Monero reports an invoice as confirming while its figures are still zero, so a funded verdict earns a row + | not (paidInFull signal) && rcvCrypto == Nothing && rcvAmount == CurrencyAmount 0 = False + | otherwise = case irPayment of + Nothing -> True + -- the write is monotonic, so a lower figure or withdrawn verdict is not a new payment + Just InvoicePayment {ipAmount, ipCryptoPaid, ipPaidInFull, ipStatus} + | ipStatus == paymentStatusText PSSettled -> False + | otherwise -> + maybe True (\(CurrencyAmount held) -> held < minor) ipAmount + || (ipCryptoPaid == Nothing && rcvCrypto /= Nothing) + || (paidInFull signal && not ipPaidInFull) + || ipStatus /= paymentStatusText wPayment + where + Received {rcvAmount, rcvCrypto} = received signal + CurrencyAmount minor = rcvAmount + settle :: DB.Connection -> InvoiceRow -> Write -> Maybe ByteString -> IO (Either Text (InvoiceStatus, Published)) + settle db row@InvoiceRow {irStatus} w@Write {wStatus, wPayment} codeHash = do + let Received {rcvAmount, rcvCrypto, rcvDue} = received signal + wrotePayment = newPayment row w + when wrotePayment $ upsertPayment db row wPayment rcvAmount rcvCrypto rcvDue (paidInFull signal) at + moved <- maybe (pure True) (\new -> updateInvoiceStatus db invId irStatus new at) wStatus + if moved + then do + mapM_ (\h -> markCodePaid db h (addUTCTime codeLifetime at)) codeHash + pure (Right (fromMaybe irStatus wStatus, maybe (if wrotePayment then PubPayment else PubNothing) PubStatus wStatus)) + else do + -- another writer moved the row first, so publish what we found + current <- maybe irStatus (\InvoiceRow {irStatus = s} -> s) <$> settlementInvoice db invId + pure (Right (current, PubStatus current)) diff --git a/apps/simplex-badge-service/src/BadgeService/Poller.hs b/apps/simplex-badge-service/src/BadgeService/Poller.hs new file mode 100644 index 0000000000..c91ffcd22f --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Poller.hs @@ -0,0 +1,376 @@ +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE MultiWayIf #-} +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE ScopedTypeVariables #-} + +module BadgeService.Poller + ( PollerEnv (..), + ReadHints, + newReadHints, + queueReadHint, + hintQueueSize, + newPollerEnv, + runOnePass, + drainHints, + passDue, + runPoller, + passDelay, + SkipOwner (..), + skipOwner, + dueToWarn, + expiryGrace, + cancelGiveUpDelay, + readsPerPass, + skipWarnInterval, + maxSkipReasons, + ) +where + +import BadgeService.Config (PollConfig (..)) +import BadgeService.Orders (decide, settleOrder) +import BadgeService.Providers (ListPass (..), PaymentSignal (..), Provider (..), ProviderError (..), Received (..), expiresItself, settleWindow) +import BadgeService.Store.Invoices (InvoiceRow (..), OverdueInvoice (..), expireOverdue, getInvoiceByProviderRef, overdueInvoices, providerText, unpaidRefs) +import BadgeService.Waiters (Waiters, publish, waitingCount, waitingCountSTM) +import Control.Concurrent.STM +import Control.Exception (SomeAsyncException, SomeException, fromException, throwIO, try) +import BadgeService.Log (logError, logInfo, logWarn) +import Control.Monad (filterM, forever, unless, void, when) +import Data.List (find, partition, sortOn) +import Data.Map.Strict (Map) +import qualified Data.Map.Strict as M +import Data.Maybe (fromMaybe, isJust) +import Data.Set (Set) +import qualified Data.Set as S +import Data.Text (Text) +import Data.Time.Clock (NominalDiffTime, UTCTime, addUTCTime, diffUTCTime, getCurrentTime) +import Numeric.Natural (Natural) +import Simplex.Chat.PaymentService.Types (InvoiceStatus (..), PaymentProvider) +import Simplex.Messaging.Agent.Store.Common (DBStore) +import Simplex.Messaging.Util (tshow) + +-- | Allows for our clock running ahead of the provider's; an expired invoice can still be marked paid. +expiryGrace :: NominalDiffTime +expiryGrace = 600 + +-- | Give up on a failing cancel only after an hour, not on the first failure. +cancelGiveUpDelay :: NominalDiffTime +cancelGiveUpDelay = 3600 + +skipWarnInterval :: NominalDiffTime +skipWarnInterval = 3600 + +maxSkipReasons :: Int +maxSkipReasons = 4096 + +-- | Webhooks queue reads here, so all settling happens on the poller thread. +-- An order already waiting in the queue is not added again, so repeated webhooks don't pile up reads. +data ReadHints = ReadHints (TBQueue Text) (TVar (Set Text)) + +hintQueueSize :: Natural +hintQueueSize = 256 + +newReadHints :: IO ReadHints +newReadHints = ReadHints <$> newTBQueueIO hintQueueSize <*> newTVarIO S.empty + +queueReadHint :: ReadHints -> Text -> IO Bool +queueReadHint (ReadHints q queued) ref = atomically $ do + already <- S.member ref <$> readTVar queued + full <- isFullTBQueue q + if + | already -> pure True + | full -> pure False + | otherwise -> do + writeTBQueue q ref + modifyTVar' queued (S.insert ref) + pure True + +minCadenceSeconds :: Int +minCadenceSeconds = 1 + +data PollerEnv = PollerEnv + { peStore :: DBStore, + peWaiters :: Waiters, + peHints :: ReadHints, + peProviders :: [Provider], + pePoll :: PollConfig, + peSkipped :: TVar (Map Text UTCTime), + peListedAt :: TVar (Maybe UTCTime), + peStrayEvery :: NominalDiffTime, + -- When the cancel first failed, for orders older than 72 hours. + peCancelFailed :: TVar (Map Text UTCTime) + } + +newPollerEnv :: DBStore -> Waiters -> ReadHints -> [Provider] -> PollConfig -> IO PollerEnv +newPollerEnv peStore peWaiters peHints peProviders pePoll = do + peSkipped <- newTVarIO M.empty + peListedAt <- newTVarIO Nothing + peCancelFailed <- newTVarIO M.empty + pure PollerEnv {peStore, peWaiters, peHints, peProviders, pePoll, peSkipped, peListedAt, peStrayEvery = strayListInterval, peCancelFailed} + +-- | Read providers before the sweep, and skip the sweep entirely when a read failed, so an +-- invoice with money in it is never expired. +runOnePass :: PollerEnv -> IO () +runOnePass env@PollerEnv {peStore, peProviders} = do + now <- getCurrentTime + rows <- unpaidRefs peStore (addUTCTime (negate settleWindow) now) + let bulk = length rows > readsPerPass + listNow <- listDue env now bulk + accounted <- + if bulk + then do + covered <- and <$> mapM (rowIsCovered env now) rows + (covered &&) . and <$> mapM (listPass env now) peProviders + else do + read' <- readRows env now rows + when listNow $ mapM_ (listPass env now) peProviders + pure read' + pruneSkipLog env now + when (accounted && not (null peProviders)) $ sweepExpired env now + +-- | The cases the stray list catches are rare and not urgent, so minutes, not the pass cadence. +strayListInterval :: NominalDiffTime +strayListInterval = 60 + +listDue :: PollerEnv -> UTCTime -> Bool -> IO Bool +listDue PollerEnv {peListedAt, peStrayEvery} now forced = atomically $ do + last' <- readTVar peListedAt + let due = forced || maybe True (\at -> diffUTCTime now at >= peStrayEvery) last' + when due $ writeTVar peListedAt (Just now) + pure due + +-- | Past this many open invoices one list is fewer bytes and requests than reading each. +readsPerPass :: Int +readsPerPass = 25 + +coveringProvider :: PollerEnv -> UTCTime -> (Text, Text) -> IO (Maybe Provider) +coveringProvider env@PollerEnv {peProviders} now (provider, ref) = + case find ((== provider) . providerText . pProvider) peProviders of + Just p -> pure (Just p) + Nothing -> do + due <- dueToWarn env now ("no provider for " <> provider) + when due $ logError ("badge poller: invoice " <> ref <> " names provider " <> provider <> ", which this build has none of") + pure Nothing + +rowIsCovered :: PollerEnv -> UTCTime -> (Text, Text) -> IO Bool +rowIsCovered env now row = isJust <$> coveringProvider env now row + +readRows :: PollerEnv -> UTCTime -> [(Text, Text)] -> IO Bool +readRows env now rows = + and <$> mapM (\r -> safelyWith (readWhat r) False (readRow r)) rows + where + readWhat (provider, ref) = "reading " <> provider <> " invoice " <> ref + readRow row@(_, ref) = coveringProvider env now row >>= maybe (pure False) (`readOne` ref) + readOne p ref = + pReadInvoice p ref >>= \case + Left (ProviderError e) -> do + due <- dueToWarn env now ("read failed: " <> tshow (pProvider p)) + when due $ logWarn ("badge poller: " <> tshow (pProvider p) <> " reads are failing; every invoice waits for the next pass: " <> e) + pure False + Right Nothing -> pure True + Right (Just signal) -> True <$ settleMoved env (pProvider p) now (ref, signal) + +-- | False when the pass cannot account for every invoice sold, so the sweep does not expire one +-- over money it missed. +listPass :: PollerEnv -> UTCTime -> Provider -> IO Bool +listPass env now p = + pListOpen p >>= \case + Left (ProviderError e) -> do + due <- dueToWarn env now ("list failed: " <> tshow (pProvider p)) + when due $ logWarn ("badge poller: " <> tshow (pProvider p) <> " list failed; every invoice waits for the next pass: " <> e) + pure False + Right ListPass {lpMoved, lpSkipped} -> do + owners <- mapM (\s -> safelyWith (skipWhat s) SkipUnaccounted (reportSkip env (pProvider p) now s)) lpSkipped + settled <- mapM (\m -> safely (settleWhat m) (settleMoved env (pProvider p) now m)) lpMoved + pure (all (== SkipStranger) owners && and settled) + where + settleWhat (ref, _) = "settling " <> tshow (pProvider p) <> " invoice " <> ref + skipWhat (ref, _) = "reading the skipped " <> tshow (pProvider p) <> " invoice " <> fromMaybe "the provider did not name" ref + +-- | provider_ref is unique table-wide, not per provider, so check the provider too. +settleMoved :: PollerEnv -> PaymentProvider -> UTCTime -> (Text, PaymentSignal) -> IO () +settleMoved env@PollerEnv {peStore, peWaiters} provider now (ref, signal) = + getInvoiceByProviderRef peStore ref >>= \case + Just InvoiceRow {irInvoiceId, irStatus, irProvider} | irProvider == provider -> + when (isJust (decide irStatus signal)) $ + settleOrder peStore peWaiters irInvoiceId signal now >>= \case + Left e -> logError ("badge poller: settling order " <> ref <> " failed: " <> e) + Right status -> reportSettled irStatus status + _ -> pure () + where + reportSettled before after + -- checked before the no-change case, so a refund still alerts when money lands after expiry + | after == ISExpired, SigClosed Received {rcvCrypto = Just paid} <- signal = do + let alert = "badge poller: order " <> ref <> " expired holding " <> paid <> ", which needs a refund" + due <- dueToWarn env now alert + when due $ logError alert + | before == after = pure () + | otherwise = logInfo ("badge poller: order " <> ref <> " " <> tshow before <> " -> " <> tshow after) + +serveHint :: PollerEnv -> Text -> IO () +serveHint env ref = do + now <- getCurrentTime + hintSafely env now ref + +readHint :: PollerEnv -> UTCTime -> Text -> IO () +readHint env@PollerEnv {peStore, peProviders} now ref = + getInvoiceByProviderRef peStore ref >>= \case + Nothing -> pure () + Just InvoiceRow {irProvider} -> case find ((== irProvider) . pProvider) peProviders of + Nothing -> pure () + Just p -> + pReadInvoice p ref >>= \case + Left (ProviderError e) -> + logWarn ("badge poller: the hinted read of " <> ref <> " failed; the next pass will run: " <> e) + Right Nothing -> pure () + Right (Just signal) -> settleMoved env irProvider now (ref, signal) + +sweepExpired :: PollerEnv -> UTCTime -> IO () +sweepExpired env@PollerEnv {peStore, peWaiters, peCancelFailed} now = do + let cutoff = addUTCTime (negate expiryGrace) now + (selfExpiring, payable) <- partition (expiresItself . oiProvider) <$> overdueInvoices peStore cutoff + atomically $ modifyTVar' peCancelFailed (`M.restrictKeys` S.fromList (map oiProviderRef payable)) + -- Cancel only a few orders per pass, so a long list does not block other work. + cancelled <- filterM (closedAtProvider env now) (take readsPerPass payable) + expired <- expireOverdue peStore cutoff (map oiInvoiceId (selfExpiring <> cancelled)) + -- publish only after the write commits, or a woken reader will not see it + unless (null expired) $ do + atomically $ mapM_ (\invId -> publish peWaiters invId ISExpired) expired + logInfo ("badge poller: expired " <> tshow (length expired) <> " invoice(s) past their window") + +-- | Cancel the order at the provider first, so the buyer can no longer pay it. +closedAtProvider :: PollerEnv -> UTCTime -> OverdueInvoice -> IO Bool +closedAtProvider env@PollerEnv {peProviders} now oi@OverdueInvoice {oiProvider, oiProviderRef = ref} = + safelyWith ("cancelling " <> tshow oiProvider <> " invoice " <> ref) False $ + case find ((== oiProvider) . pProvider) peProviders of + Nothing -> uncancelled env now oi "no provider is configured for it" + Just p -> + pCancelInvoice p ref >>= \case + Right () -> pure True + -- The provider won't cancel an order that is already paid or closed. Reading it shows which. + Left (ProviderError cancelError) -> + pReadInvoice p ref >>= \case + Right (Just signal) -> False <$ settleMoved env oiProvider now (ref, signal) + Right Nothing -> uncancelled env now oi cancelError + Left (ProviderError readError) -> uncancelled env now oi (cancelError <> "; reading it failed too: " <> readError) + +-- | After 72 hours the poller only reads an order when a webhook asks. If an older order still +-- can't be cancelled after an hour of trying, mark it expired here and log an error. +uncancelled :: PollerEnv -> UTCTime -> OverdueInvoice -> Text -> IO Bool +uncancelled env@PollerEnv {peCancelFailed} now OverdueInvoice {oiProvider, oiProviderRef = ref, oiCreatedAt} e + | diffUTCTime now oiCreatedAt <= settleWindow = keepOpen "it stays open until a cancel succeeds or it settles" + | otherwise = do + firstFailed <- atomically $ stateTVar peCancelFailed $ \failed -> (M.lookup ref failed, M.insertWith (\_ first -> first) ref now failed) + case firstFailed of + Just at | diffUTCTime now at >= cancelGiveUpDelay -> do + logError ("badge poller: overdue " <> tshow oiProvider <> " invoice " <> ref <> " could not be cancelled at the provider, so it was expired here only; check it in the provider's dashboard: " <> e) + pure True + _ -> keepOpen "it is expired here if the cancel still fails an hour after its first failure" + where + keepOpen outcome = do + due <- dueToWarn env now ("cancel failed: " <> tshow oiProvider <> " invoice " <> ref) + when due $ logWarn ("badge poller: cancelling overdue " <> tshow oiProvider <> " invoice " <> ref <> " failed; " <> outcome <> ": " <> e) + pure False + +data SkipOwner + = SkipOurs + | SkipStranger + | -- | The provider named no invoice, so this skip could be any of ours. + SkipUnaccounted + deriving (Eq, Show) + +skipOwner :: PollerEnv -> PaymentProvider -> Maybe Text -> IO SkipOwner +skipOwner PollerEnv {peStore} provider = \case + Nothing -> pure SkipUnaccounted + Just ref -> + getInvoiceByProviderRef peStore ref >>= \case + Just InvoiceRow {irProvider} | irProvider == provider -> pure SkipOurs + _ -> pure SkipStranger + +reportSkip :: PollerEnv -> PaymentProvider -> UTCTime -> (Maybe Text, Text) -> IO SkipOwner +reportSkip env provider now (ref, reason) = do + owner <- skipOwner env provider ref + due <- dueToWarn env now reason + when due $ case owner of + SkipOurs -> logError ("badge poller: an invoice this service sold was not read, so its payment cannot be detected: " <> reason) + SkipUnaccounted -> logError ("badge poller: part of the window was not read, so a payment to any invoice in it cannot be detected: " <> reason) + SkipStranger -> logWarn ("badge poller: the list pass could not read everything: " <> reason) + pure owner + +dueToWarn :: PollerEnv -> UTCTime -> Text -> IO Bool +dueToWarn PollerEnv {peSkipped} now reason = atomically $ do + seen <- readTVar peSkipped + let due = case M.lookup reason seen of + Nothing -> True + Just at -> diffUTCTime now at >= skipWarnInterval + when due $ writeTVar peSkipped (M.insert reason now seen) + pure due + +pruneSkipLog :: PollerEnv -> UTCTime -> IO () +pruneSkipLog PollerEnv {peSkipped} now = atomically $ modifyTVar' peSkipped prune + where + prune seen + | M.size seen <= maxSkipReasons = seen + | M.size fresh <= maxSkipReasons = fresh + | otherwise = M.fromList (drop (M.size fresh - maxSkipReasons) (sortOn snd (M.toList fresh))) + where + fresh = M.filter (\at -> diffUTCTime now at < skipWarnInterval) seen + +passDelay :: PollConfig -> Int -> Int +passDelay PollConfig {pWaitingSeconds, pIdleSeconds} waiting = + 1000000 * max minCadenceSeconds (if waiting > 0 then pWaitingSeconds else pIdleSeconds) + +waitingDelay :: PollConfig -> Int +waitingDelay cfg = passDelay cfg 1 + +-- | Both timers start now, not when a browser arrives, so browsers cannot make us poll faster than the short cadence. +passDue :: PollerEnv -> IO (STM ()) +passDue PollerEnv {peWaiters, pePoll} = do + waiting <- waitingCount peWaiters + soonest <- registerDelay (waitingDelay pePoll) + full <- registerDelay (passDelay pePoll waiting) + pure $ + (readTVar full >>= check) + `orElse` ( do + readTVar soonest >>= check + waitingCountSTM peWaiters >>= \n -> check (n > 0) + ) + +runPoller :: PollerEnv -> IO () +runPoller env = forever $ do + passSafely env + passDue env >>= serveHints env + +-- | The deadline is checked per hint, not per batch, so a redelivery backlog cannot block the pass for the sum of their timeouts. +serveHints :: PollerEnv -> STM () -> IO () +serveHints env@PollerEnv {peHints = ReadHints q queued} due = do + next <- atomically ((Nothing <$ due) `orElse` (Just <$> takeHint)) + case next of + Nothing -> pure () + Just ref -> serveHint env ref >> serveHints env due + where + takeHint = do + ref <- readTBQueue q + modifyTVar' queued (S.delete ref) + pure ref + +drainHints :: PollerEnv -> IO () +drainHints env@PollerEnv {peHints = ReadHints q _} = serveHints env (isEmptyTBQueue q >>= check) + +passSafely :: PollerEnv -> IO () +passSafely env = void $ safely "the pass" (runOnePass env) + +hintSafely :: PollerEnv -> UTCTime -> Text -> IO () +hintSafely env now ref = void $ safely ("the hinted read of " <> ref) (readHint env now ref) + +safely :: Text -> IO () -> IO Bool +safely what action = safelyWith what False (True <$ action) + +-- | Asynchronous exceptions are rethrown, since that is how the race stops this thread. +safelyWith :: Text -> a -> IO a -> IO a +safelyWith what fallback action = + try action >>= \case + Right a -> pure a + Left (e :: SomeException) -> case fromException e :: Maybe SomeAsyncException of + Just _ -> throwIO e + Nothing -> fallback <$ logError ("badge poller: " <> what <> " failed; the next pass will run: " <> tshow e) diff --git a/apps/simplex-badge-service/src/BadgeService/Providers.hs b/apps/simplex-badge-service/src/BadgeService/Providers.hs new file mode 100644 index 0000000000..8faabd2a2c --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Providers.hs @@ -0,0 +1,81 @@ +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE NamedFieldPuns #-} + +module BadgeService.Providers + ( ProviderError (..), + WebhookError (..), + Received (..), + PaymentSignal (..), + ProviderInvoice (..), + Funded (..), + OrderDraft (..), + ListPass (..), + settleWindow, + expiresItself, + Provider (..), + ) +where + +import Data.ByteString (ByteString) +import Data.Text (Text) +import Data.Time.Clock (NominalDiffTime, UTCTime) +import Network.HTTP.Types.Header (Header) +import Simplex.Chat.PaymentService.Types (CurrencyAmount, PaymentProvider (..), ServicePaymentDestination, ServicePaymentMethod) + +newtype ProviderError = ProviderError Text deriving (Eq, Show) + +-- | WebhookStale is a valid signature with a timestamp too far from our clock. +data WebhookError = WebhookError Text | WebhookStale Text deriving (Eq, Show) + +-- rcvAmount is the total received on the invoice so far, not the amount of one payment. +-- rcvDue is the provider's figure for what is still owed. +data Received = Received {rcvAmount :: CurrencyAmount, rcvCrypto :: Maybe Text, rcvDue :: Maybe Text} + deriving (Eq, Show) + +-- The provider applies its own tolerance, so this cannot be recomputed from the amounts. +data Funded = PaidInFull | PaidInPart + deriving (Eq, Show) + +data PaymentSignal + = SigFunded Received Funded + | SigSettled Received UTCTime + | SigClosed Received + deriving (Eq, Show) + +data ProviderInvoice = ProviderInvoice + { piProviderRef :: Text, + piDestination :: ServicePaymentDestination + } + deriving (Eq, Show) + +-- | BTCPay invoices expire by themselves. Stripe payments stay open until we cancel them. +expiresItself :: PaymentProvider -> Bool +expiresItself = \case + PPCrypto -> True + _ -> False + +-- A payment can land after the buyer's checkout window closes, so the poller keeps asking about an invoice for this long after it was created. +settleWindow :: NominalDiffTime +settleWindow = 72 * 3600 + +data OrderDraft = OrderDraft + { odAmount :: CurrencyAmount, + odCurrency :: Text + } + deriving (Eq, Show) + +data ListPass = ListPass + { lpMoved :: [(Text, PaymentSignal)], + lpSkipped :: [(Maybe Text, Text)] + } + deriving (Eq, Show) + +data Provider = Provider + { pProvider :: PaymentProvider, + pCreateInvoice :: ServicePaymentMethod -> OrderDraft -> IO (Either ProviderError ProviderInvoice), + pReadInvoice :: Text -> IO (Either ProviderError (Maybe PaymentSignal)), + -- Stops the provider from accepting payment for this order. + pCancelInvoice :: Text -> IO (Either ProviderError ()), + pListOpen :: IO (Either ProviderError ListPass), + pVerifyWebhook :: UTCTime -> [Header] -> ByteString -> Either WebhookError (Maybe Text) + } diff --git a/apps/simplex-badge-service/src/BadgeService/Providers/BTCPay.hs b/apps/simplex-badge-service/src/BadgeService/Providers/BTCPay.hs new file mode 100644 index 0000000000..2df54789a3 --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Providers/BTCPay.hs @@ -0,0 +1,519 @@ +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE ScopedTypeVariables #-} + +module BadgeService.Providers.BTCPay + ( btcpayProvider, + btcMethodId, + xmrMethodId, + minorToDecimal, + paymentMethodsSignal, + listSignals, + verifyBTCPaySig, + listPageSize, + maxListPages, + ) +where + +import BadgeService.Config (BTCPayConfig (..), speedPolicyName) +import BadgeService.Providers + ( ListPass (..), + OrderDraft (..), + PaymentSignal (..), + Provider (..), + ProviderError (..), + ProviderInvoice (..), + Funded (..), + Received (..), + settleWindow, + WebhookError (..), + ) +import Control.Exception (try) +import BadgeService.Log (logError, logInfo, logWarn) +import Control.Monad (unless) +import Crypto.Hash (Digest, SHA256) +import Crypto.MAC.HMAC (HMAC, hmac, hmacGetDigest) +import qualified Data.Aeson as J +import qualified Data.Aeson.KeyMap as KM +import qualified Data.Aeson.Types as JT +import Data.ByteArray (constEq) +import Data.ByteArray.Encoding (Base (Base16), convertFromBase) +import qualified Data.ByteString as B +import qualified Data.ByteString.Char8 as B8 +import qualified Data.ByteString.Lazy as LB +import Data.Char (toLower) +import Data.Int (Int64) +import Data.List (find) +import Data.Maybe (fromMaybe, mapMaybe) +import Data.Scientific (FPFormat (Fixed), Scientific, base10Exponent, formatScientific) +import Data.Text (Text) +import qualified Data.Text as T +import qualified Data.Text.Encoding as TE +import Data.Time.Clock (UTCTime, addUTCTime, getCurrentTime) +import Data.Time.Clock.POSIX (posixSecondsToUTCTime, utcTimeToPOSIXSeconds) +import Data.Word (Word32) +import Network.HTTP.Client + ( HttpException, + Manager, + Request (..), + RequestBody (..), + Response (..), + brReadSome, + parseRequest, + withResponse, + ) +import Network.HTTP.Client.TLS (newTlsManager) +import Network.HTTP.Types (Header, HeaderName, Method, Query, Status (..), methodGet, methodPost, renderQuery, urlEncode) +import Simplex.Chat.PaymentService.Types + ( CryptoCurrency (..), + CurrencyAmount (..), + PaymentProvider (..), + ServicePaymentDestination (..), + ServicePaymentMethod (..), + ) +import Simplex.Messaging.Util (safeDecodeUtf8, tshow) + +btcMethodId, xmrMethodId :: Text +btcMethodId = "BTC-CHAIN" +xmrMethodId = "XMR-CHAIN" + +knownMethodIds :: [Text] +knownMethodIds = [btcMethodId, xmrMethodId] + +actedOnEventTypes :: [Text] +actedOnEventTypes = ["InvoiceProcessing", "InvoiceSettled", "InvoiceExpired", "InvoiceInvalid"] + +maxErrorBytes :: Int64 +maxErrorBytes = 4000 + +-- Far above any BTCPay response, far below what would exhaust the poller thread. +maxProviderBytes :: Int64 +maxProviderBytes = 10 * 1024 * 1024 + +listPageSize :: Int +listPageSize = 100 + +-- Caps a server that ignores @take@, so the poller still reaches its expiry sweep. +maxListPages :: Int +maxListPages = 50 + +pageCapReason :: Text +pageCapReason = + "btcpay: the list stopped at " + <> tshow maxListPages + <> " pages, so any open invoice past the first " + <> tshow (maxListPages * listPageSize) + <> " was not read — and will not be read by a later pass either" + +minorToDecimal :: CurrencyAmount -> Text +minorToDecimal (CurrencyAmount a) = + T.pack (show (a `div` 100)) <> "." <> T.justifyRight 2 '0' (T.pack (show (a `mod` 100))) + +cryptoTarget :: ServicePaymentMethod -> Either ProviderError (Text, CryptoCurrency) +cryptoTarget = \case + SPMCrypto CCBtc -> Right (btcMethodId, CCBtc) + SPMCrypto CCXmr -> Right (xmrMethodId, CCXmr) + SPMCard _ -> Left (ProviderError "btcpay offers no card payment method") + +-- BTCPay sends numbers as JSON strings; keep the exact text as sent, plus a decimal to compute with. +data WireNum = WireNum {wnText :: Text, wnValue :: Scientific} + deriving (Eq, Show) + +instance J.FromJSON WireNum where + parseJSON = \case + J.String t -> case J.decodeStrict (TE.encodeUtf8 t) of + Just v | inRange v -> pure WireNum {wnText = t, wnValue = v} + Just v -> outOfRange v + Nothing -> fail ("not a decimal number: " <> show t) + J.Number v + | inRange v -> pure WireNum {wnText = T.pack (formatScientific Fixed (Just (wireDecimals v)) v), wnValue = v} + | otherwise -> outOfRange v + v -> JT.typeMismatch "numeric string" v + where + -- Check the exponent before formatting: 1e1000000000 parses but then demands a billion digits. + inRange v = base10Exponent v >= minExponent && base10Exponent v <= maxExponent + outOfRange v = fail ("decimal exponent out of range: " <> show (base10Exponent v)) + +-- Bounds the magnitude only, so no number demands more digits than a machine can hold. +minExponent, maxExponent :: Int +minExponent = -64 +maxExponent = 64 + +wireDecimals :: Scientific -> Int +wireDecimals = max 0 . negate . base10Exponent + +data GInvoice = GInvoice + { giId :: Text, + giStatus :: Text, + giAdditionalStatus :: Maybe Text, + giPaymentMethods :: Maybe [GPaymentMethod] + } + deriving (Show) + +instance J.FromJSON GInvoice where + parseJSON = J.withObject "invoice" $ \o -> + GInvoice + <$> o J..: "id" + <*> o J..: "status" + <*> o J..:? "additionalStatus" + <*> o J..:? "paymentMethods" + +-- totalPaid is not decoded because it counts every method's payment in this currency, so it is non-zero +-- even when this method got nothing. +data GPaymentMethod = GPaymentMethod + { gpmId :: Text, + gpmDestination :: Maybe Text, + gpmAmount :: Maybe WireNum, + gpmRate :: Maybe WireNum, + gpmPaid :: Maybe WireNum, + gpmDue :: Maybe WireNum, + gpmPayments :: [GPayment] + } + deriving (Show) + +instance J.FromJSON GPaymentMethod where + parseJSON = J.withObject "payment method" $ \o -> + GPaymentMethod + <$> o J..: "paymentMethodId" + <*> o J..:? "destination" + <*> o J..:? "amount" + <*> o J..:? "rate" + <*> o J..:? "paymentMethodPaid" + <*> o J..:? "due" + <*> (fromMaybe [] <$> o J..:? "payments") + +data GPayment = GPayment + { gpStatus :: Text, + gpReceivedDate :: WireNum + } + deriving (Show) + +instance J.FromJSON GPayment where + parseJSON = J.withObject "payment" $ \o -> + GPayment <$> o J..: "status" <*> o J..: "receivedDate" + +newtype GCreated = GCreated {gcId :: Text} + deriving (Show) + +instance J.FromJSON GCreated where + parseJSON = J.withObject "created invoice" $ \o -> GCreated <$> o J..: "id" + +newtype GStoreMethod = GStoreMethod {gsmId :: Text} + deriving (Show) + +instance J.FromJSON GStoreMethod where + parseJSON = J.withObject "store payment method" $ \o -> GStoreMethod <$> o J..: "paymentMethodId" + +data GEvent = GEvent {geType :: Text, geInvoiceId :: Text} + deriving (Show) + +instance J.FromJSON GEvent where + parseJSON = J.withObject "webhook event" $ \o -> GEvent <$> o J..: "type" <*> o J..: "invoiceId" + +data BTCPayEnv = BTCPayEnv {beCfg :: BTCPayConfig, beManager :: Manager} + +btcpayProvider :: BTCPayConfig -> IO Provider +btcpayProvider cfg = do + beManager <- newTlsManager + let env = BTCPayEnv {beCfg = cfg, beManager} + logStoreMethods env + pure + Provider + { pProvider = PPCrypto, + pCreateInvoice = createInvoice env, + pReadInvoice = readInvoice env, + pCancelInvoice = cancelInvoice env, + pListOpen = listOpen env, + pVerifyWebhook = const (verifyBTCPaySig (bWebhookSecret cfg)) + } + +-- enabledOnly returns only enabled methods, so the boot log shows what the store can actually use. +logStoreMethods :: BTCPayEnv -> IO () +logStoreMethods env@BTCPayEnv {beCfg} = do + r <- greenfield env what methodGet ["payment-methods"] [("enabledOnly", Just "true")] Nothing + case r >>= decodeGreenfield what of + Left (ProviderError e) -> do + logWarn ("btcpay: could not read the payment methods of store " <> bStoreId beCfg <> ": " <> e) + logInfo ("btcpay: this build offers " <> T.intercalate ", " knownMethodIds) + Right ms -> do + let enabled = map gsmId ms + missing = filter (`notElem` enabled) knownMethodIds + logInfo ("btcpay: store " <> bStoreId beCfg <> " has enabled " <> T.intercalate ", " enabled) + unless (null missing) $ + logError $ + "btcpay: this build offers " + <> T.intercalate ", " missing + <> ", which the store has not enabled; every checkout on those will be refused" + where + what = "read store payment methods" + +createInvoice :: BTCPayEnv -> ServicePaymentMethod -> OrderDraft -> IO (Either ProviderError ProviderInvoice) +createInvoice env@BTCPayEnv {beCfg} spm OrderDraft {odAmount, odCurrency} = + case cryptoTarget spm of + Left e -> pure (Left e) + Right (methodId, cc) -> do + created <- greenfield env what methodPost ["invoices"] [] (Just (body methodId)) + case created >>= decodeGreenfield what of + Left e@(ProviderError m) -> do + logWarn ("btcpay: the refused request was " <> safeDecodeUtf8 (LB.toStrict (J.encode (body methodId))) <> " -- " <> m) + pure (Left e) + Right GCreated {gcId} -> do + ms <- greenfield env what methodGet ["invoices", gcId, "payment-methods"] [] Nothing + pure (ms >>= destination methodId cc gcId) + where + what = "create invoice" + body methodId = + J.object + [ "amount" J..= minorToDecimal odAmount, + "currency" J..= T.toUpper odCurrency, + "checkout" + J..= J.object + [ -- the listener derives the row's expires_at from this same key + "expirationMinutes" J..= bExpiryMinutes beCfg, + "speedPolicy" J..= speedPolicyName (bSpeedPolicy beCfg), + "paymentTolerance" J..= bPaymentTolerance beCfg, + "paymentMethods" J..= [methodId] + ] + ] + destination methodId cc ref ms = do + m <- findMethod what ref methodId ms + addr <- required "destination" (gpmDestination m) + payable <- required "amount" (gpmAmount m) + pure + ProviderInvoice + { piProviderRef = ref, + piDestination = SPDCrypto cc addr (wnText payable) + } + where + required field = + maybe (Left (ProviderError (what <> ": " <> methodId <> " on invoice " <> ref <> " has no " <> field))) Right + +-- | Needs the API key's canmodifyinvoices permission, which the read and create calls do not. +cancelInvoice :: BTCPayEnv -> Text -> IO (Either ProviderError ()) +cancelInvoice env ref = + fmap (fmap (const ())) $ greenfield env what methodPost ["invoices", ref, "status"] [] (Just body) + where + what = "cancel invoice" + -- Invalid, not Archive: archiving only hides the invoice, and BTCPay keeps crediting + -- payments to it + body = J.object ["status" J..= ("Invalid" :: Text)] + +readInvoice :: BTCPayEnv -> Text -> IO (Either ProviderError (Maybe PaymentSignal)) +readInvoice env ref = do + inv <- greenfield env what methodGet ["invoices", ref] [] Nothing + case inv >>= decodeGreenfield what of + Left e -> pure (Left e) + Right GInvoice {giStatus, giAdditionalStatus} -> do + logAdditionalStatus ref giAdditionalStatus + ms <- greenfield env what methodGet ["invoices", ref, "payment-methods"] [] Nothing + now <- getCurrentTime + pure (ms >>= paymentMethodsSignal now ref giStatus) + where + what = "read invoice" + +listOpen :: BTCPayEnv -> IO (Either ProviderError ListPass) +listOpen env@BTCPayEnv {beCfg} = do + now <- getCurrentTime + let oldest = addUTCTime (negate (settleWindow + fromIntegral (60 * bExpiryMinutes beCfg))) now + fetch now (B8.pack (show (unixSeconds oldest))) 0 maxListPages (ListPass {lpMoved = [], lpSkipped = []}) + where + unixSeconds :: UTCTime -> Integer + unixSeconds = floor . utcTimeToPOSIXSeconds + query startDate skip = + [ ("includePaymentMethods", Just "true"), + ("startDate", Just startDate), + ("take", Just (B8.pack (show listPageSize))), + ("skip", Just (B8.pack (show skip))) + ] + fetch :: UTCTime -> B.ByteString -> Int -> Int -> ListPass -> IO (Either ProviderError ListPass) + fetch now startDate skip pagesLeft acc + | pagesLeft <= 0 = pure (Right acc {lpSkipped = lpSkipped acc <> [(Nothing, pageCapReason)]}) + | otherwise = do + listed <- greenfield env listWhat methodGet ["invoices"] (query startDate skip) Nothing + case listed >>= decodeGreenfield listWhat of + Left e -> pure (Left e) + Right invs -> case invoicesPass now invs of + Left e -> pure (Left e) + Right pass + | length invs < listPageSize -> pure (Right (merge acc pass)) + | otherwise -> fetch now startDate (skip + listPageSize) (pagesLeft - 1) (merge acc pass) + merge a b = ListPass {lpMoved = lpMoved a <> lpMoved b, lpSkipped = lpSkipped a <> lpSkipped b} + +listWhat :: Text +listWhat = "list invoices" + +listSignals :: UTCTime -> LB.ByteString -> Either ProviderError ListPass +listSignals now body = decodeGreenfield listWhat body >>= invoicesPass now + +-- When paymentMethods is absent or null the pass fails, because that means includePaymentMethods was ignored, and a +-- skip would report a healthy empty pass. Every other unreadable invoice is skipped, not failed. +invoicesPass :: UTCTime -> [J.Value] -> Either ProviderError ListPass +invoicesPass now invs = foldr add (Right ListPass {lpMoved = [], lpSkipped = []}) invs + where + add _ (Left e) = Left e + add v (Right pass) = case J.fromJSON v of + J.Error e -> Right pass {lpSkipped = (invoiceIdOf v, T.pack e) : lpSkipped pass} + J.Success gi -> addInvoice gi pass + addInvoice GInvoice {giId, giStatus, giPaymentMethods} pass = case giPaymentMethods of + Nothing -> + Left . ProviderError $ + listWhat <> ": invoice " <> giId <> " carries no paymentMethods, so includePaymentMethods was not honoured" + Just ms -> case invoiceSignal now giId giStatus ms of + Left (ProviderError e) -> Right pass {lpSkipped = (Just giId, e) : lpSkipped pass} + Right Nothing -> Right pass + Right (Just sig) -> Right pass {lpMoved = (giId, sig) : lpMoved pass} + +invoiceIdOf :: J.Value -> Maybe Text +invoiceIdOf v = case J.fromJSON v :: J.Result (KM.KeyMap J.Value) of + J.Success o -> case KM.lookup "id" o of + Just (J.String i) -> Just i + _ -> Nothing + J.Error _ -> Nothing + +logAdditionalStatus :: Text -> Maybe Text -> IO () +logAdditionalStatus ref = \case + Just s | s /= "None" -> logInfo ("btcpay: invoice " <> ref <> " additionalStatus " <> s) + _ -> pure () + +paymentMethodsSignal :: UTCTime -> Text -> Text -> LB.ByteString -> Either ProviderError (Maybe PaymentSignal) +paymentMethodsSignal now ref status body = + decodeGreenfield "read invoice" body >>= invoiceSignal now ref status + +-- Complete is the old API's status name and never matches, so it has no case here. +invoiceSignal :: UTCTime -> Text -> Text -> [GPaymentMethod] -> Either ProviderError (Maybe PaymentSignal) +invoiceSignal now ref status ms = do + m@GPaymentMethod {gpmRate, gpmPaid, gpmDue} <- chooseMethod ref ms + rate <- priced "rate" gpmRate + paid <- priced "paymentMethodPaid" gpmPaid + let received = receivedOf rate paid gpmDue + case status of + "Settled" -> Right (Just (SigSettled received (fromMaybe now (latestSettledAt m)))) + "Processing" -> Right (Just (SigFunded received PaidInFull)) + "Expired" -> Right (Just (SigClosed received)) + "Invalid" -> Right (Just (SigClosed received)) + "New" -> Right (SigFunded received PaidInPart <$ rcvCrypto received) + other -> Left (ProviderError ("btcpay invoice " <> ref <> ": unknown status " <> other)) + where + priced field = + maybe (Left (ProviderError ("btcpay invoice " <> ref <> ": its payment method carries no " <> field))) Right + +chooseMethod :: Text -> [GPaymentMethod] -> Either ProviderError GPaymentMethod +chooseMethod ref ms = case filter ((`elem` knownMethodIds) . gpmId) ms of + m : _ -> Right m + [] -> + Left . ProviderError $ + "btcpay invoice " + <> ref + <> ": no known payment method in [" + <> T.intercalate ", " (map gpmId ms) + <> "]; this build knows " + <> T.intercalate ", " knownMethodIds + +findMethod :: Text -> Text -> Text -> LB.ByteString -> Either ProviderError GPaymentMethod +findMethod what ref methodId body = do + ms <- decodeGreenfield what body + case find ((methodId ==) . gpmId) ms of + Just m -> Right m + Nothing -> + Left . ProviderError $ + what + <> ": invoice " + <> ref + <> " offers no " + <> methodId + <> ", only [" + <> T.intercalate ", " (map gpmId ms) + <> "]" + +receivedOf :: WireNum -> WireNum -> Maybe WireNum -> Received +receivedOf rate paid due = + Received + { rcvAmount = toMinorUnits (wnValue paid * wnValue rate), + rcvCrypto = if wnValue paid > 0 then Just (wnText paid) else Nothing, + rcvDue = wnText <$> due + } + +-- Clamp stops a wildly wrong figure wrapping Word32 and coming out small. +toMinorUnits :: Scientific -> CurrencyAmount +toMinorUnits s = CurrencyAmount (fromInteger (max 0 (min largestAmount (round (s * 100))))) + where + largestAmount = toInteger (maxBound :: Word32) + +latestSettledAt :: GPaymentMethod -> Maybe UTCTime +latestSettledAt GPaymentMethod {gpmPayments} = case mapMaybe settledAt gpmPayments of + [] -> Nothing + ts -> Just (posixSecondsToUTCTime (maximum ts)) + where + settledAt GPayment {gpStatus, gpReceivedDate} + | gpStatus == "Settled" = Just (fromRational (toRational (wnValue gpReceivedDate))) + | otherwise = Nothing + +sigHeaderName :: HeaderName +sigHeaderName = "BTCPay-Sig" + +sigPrefix :: B.ByteString +sigPrefix = "sha256=" + +-- Constant-time, over the bytes as they arrived: BTCPay indents its payload, so re-encoding would not match. +verifyBTCPaySig :: Text -> [Header] -> B.ByteString -> Either WebhookError (Maybe Text) +verifyBTCPaySig secret hdrs body = do + provided <- note "missing BTCPay-Sig header" (lookup sigHeaderName hdrs) + hex <- note "BTCPay-Sig is not sha256=" (B.stripPrefix sigPrefix provided) + given <- case convertFromBase Base16 (B8.map toLower hex) of + Right (bs :: B.ByteString) -> Right bs + Left (_ :: String) -> Left (WebhookError "BTCPay-Sig is not hex") + if constEq expected given + then Right actedOn + else Left (WebhookError "BTCPay-Sig does not verify") + where + expected :: Digest SHA256 + expected = hmacGetDigest (hmac (TE.encodeUtf8 secret) body :: HMAC SHA256) + note e = maybe (Left (WebhookError e)) Right + actedOn = do + GEvent {geType, geInvoiceId} <- J.decodeStrict' body + if geType `elem` actedOnEventTypes then Just geInvoiceId else Nothing + +greenfield :: BTCPayEnv -> Text -> Method -> [Text] -> Query -> Maybe J.Value -> IO (Either ProviderError LB.ByteString) +greenfield BTCPayEnv {beCfg, beManager} what verb segments query body = do + r <- try $ do + req <- parseRequest (T.unpack url) + let asked = + req + { method = verb, + requestHeaders = + [ ("Authorization", "token " <> TE.encodeUtf8 (bApiKey beCfg)), + ("Accept", "application/json"), + ("Content-Type", "application/json") + ], + requestBody = RequestBodyLBS (maybe LB.empty J.encode body) + } + -- Read to a bound, not the whole body, so an enormous response cannot exhaust the poller thread. + withResponse asked beManager $ \resp -> do + taken <- brReadSome (responseBody resp) (fromIntegral maxProviderBytes + 1) + pure (statusCode (responseStatus resp), taken) + pure $ case r of + -- http-client hides the Authorization header when showing a Request + Left (e :: HttpException) -> Left (ProviderError (what <> " failed: " <> tshow e)) + Right (code, taken) + | LB.length taken > maxProviderBytes -> + Left . ProviderError $ + what <> " failed: HTTP " <> tshow code <> ", and the answer is over " <> tshow maxProviderBytes <> " bytes" + | code >= 200 && code < 300 -> Right taken + | otherwise -> + Left . ProviderError $ + what <> " failed: HTTP " <> tshow code <> " " <> snippet taken + where + url = + T.dropWhileEnd (== '/') (bHost beCfg) + <> "/api/v1/stores/" + <> T.intercalate "/" (map escape (bStoreId beCfg : segments)) + <> TE.decodeUtf8 (renderQuery True query) + escape = TE.decodeUtf8 . urlEncode False . TE.encodeUtf8 + -- BTCPay puts the refusal reason at the end of an inline log, so keep enough bytes to reach it. + snippet = TE.decodeUtf8With (\_ _ -> Just '?') . LB.toStrict . LB.take maxErrorBytes + +decodeGreenfield :: J.FromJSON a => Text -> LB.ByteString -> Either ProviderError a +decodeGreenfield what body = case J.eitherDecode' body of + Right v -> Right v + Left e -> Left (ProviderError (what <> ": could not read the response: " <> T.pack e)) diff --git a/apps/simplex-badge-service/src/BadgeService/Providers/Stripe.hs b/apps/simplex-badge-service/src/BadgeService/Providers/Stripe.hs new file mode 100644 index 0000000000..93f55f37b2 --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Providers/Stripe.hs @@ -0,0 +1,355 @@ +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE ScopedTypeVariables #-} + +module BadgeService.Providers.Stripe + ( stripeProvider, + signalOf, + IntentRead (..), + ) +where + +import BadgeService.Config (StripeConfig (..)) +import BadgeService.Providers + ( ListPass (..), + OrderDraft (..), + PaymentSignal (..), + Provider (..), + ProviderError (..), + ProviderInvoice (..), + Received (..), + settleWindow, + WebhookError (..), + ) +import Control.Exception (try) +import Control.Monad (unless) +import Crypto.Hash (Digest, SHA256) +import Crypto.MAC.HMAC (HMAC, hmac, hmacGetDigest) +import qualified Data.Aeson as J +import qualified Data.Aeson.KeyMap as KM +import Data.ByteArray (constEq) +import Data.ByteArray.Encoding (Base (Base16), convertFromBase) +import Data.ByteString (ByteString) +import qualified Data.ByteString.Char8 as B8 +import qualified Data.ByteString.Lazy as LB +import Data.Char (toLower) +import Data.Functor ((<&>)) +import Data.Int (Int64) +import Data.Maybe (isJust) +import Data.Scientific (floatingOrInteger) +import Data.Text (Text) +import qualified Data.Text as T +import qualified Data.Text.Encoding as TE +import Data.Time.Clock (NominalDiffTime, UTCTime, addUTCTime, diffUTCTime, getCurrentTime) +import Data.Time.Clock.POSIX (POSIXTime, posixSecondsToUTCTime, utcTimeToPOSIXSeconds) +import Data.Word (Word32) +import Network.HTTP.Client + ( HttpException, + Manager, + Request (..), + RequestBody (..), + Response (..), + applyBasicAuth, + brReadSome, + parseRequest, + withResponse, + ) +import Network.HTTP.Client.TLS (newTlsManager) +import Network.HTTP.Types (Header, HeaderName, Method, Query, Status (..), methodGet, methodPost, renderQuery, renderSimpleQuery) +import Simplex.Chat.PaymentService.Types + ( CardProvider (..), + CurrencyAmount (..), + PaymentProvider (..), + ServicePaymentDestination (..), + ServicePaymentMethod (..), + ) +import Simplex.Messaging.Util (safeDecodeUtf8, tshow) + +maxErrorBytes :: Int64 +maxErrorBytes = 4000 + +-- Far above any Stripe response, far below what would exhaust the poller thread. +maxProviderBytes :: Int64 +maxProviderBytes = 10 * 1024 * 1024 + +secondsPerMinute :: Int +secondsPerMinute = 60 + +listPageSize :: Int +listPageSize = 100 + +-- Caps a server that ignores @limit@, so the poller still reaches its expiry sweep. +maxListPages :: Int +maxListPages = 50 + +pageCapReason :: Text +pageCapReason = + "stripe: the list stopped at " + <> tshow maxListPages + <> " pages, so any intent past the first " + <> tshow (maxListPages * listPageSize) + <> " was not read — and will not be read by a later pass either" + +untraversableReason :: Text +untraversableReason = + "stripe: the list reports more pages but the last row carries no id to page from, so any intent past this page was not read" + +actedOnStripeEvents :: [Text] +actedOnStripeEvents = ["payment_intent.succeeded", "payment_intent.payment_failed", "payment_intent.canceled"] + +sigHeaderName :: HeaderName +sigHeaderName = "Stripe-Signature" + +listWhat :: Text +listWhat = "list intents" + +-- Pin the API version so response shapes this adapter parses do not shift under it. +stripeApiVersion :: ByteString +stripeApiVersion = "2026-03-25.dahlia" + +data StripeEnv = StripeEnv {seCfg :: StripeConfig, seManager :: Manager} + +stripeProvider :: StripeConfig -> IO Provider +stripeProvider cfg = do + seManager <- newTlsManager + let env = StripeEnv {seCfg = cfg, seManager} + pure + Provider + { pProvider = PPStripe, + pCreateInvoice = createInvoice env, + pReadInvoice = readInvoice env, + pCancelInvoice = cancelInvoice env, + pListOpen = listOpen env, + pVerifyWebhook = verifyStripeSig (sWebhookSecret cfg) + } + +listOpen :: StripeEnv -> IO (Either ProviderError ListPass) +listOpen env@StripeEnv {seCfg} = do + now <- getCurrentTime + let oldest = addUTCTime (negate (settleWindow + fromIntegral (sSessionMinutes seCfg * secondsPerMinute))) now + createdGte = B8.pack (show (unixSeconds oldest)) + go now createdGte Nothing maxListPages (ListPass [] []) + where + unixSeconds :: UTCTime -> Integer + unixSeconds = floor . utcTimeToPOSIXSeconds + go now createdGte after pagesLeft acc + | pagesLeft <= 0 = pure (Right acc {lpSkipped = lpSkipped acc <> [(Nothing, pageCapReason)]}) + | otherwise = do + let q = + [("created[gte]", Just createdGte), ("limit", Just (B8.pack (show listPageSize)))] + <> maybe [] (\a -> [("starting_after", Just (TE.encodeUtf8 a))]) after + got <- stripeApi env listWhat methodGet ["v1", "payment_intents"] q Nothing + case got >>= decodeStripe listWhat of + Left e -> pure (Left e) + Right IntentList {ilData, ilHasMore} -> + let acc' = merge acc (intentsPass now ilData) + in if ilHasMore + then case lastId ilData of + Just next -> go now createdGte (Just next) (pagesLeft - 1) acc' + Nothing -> pure (Right acc' {lpSkipped = lpSkipped acc' <> [(Nothing, untraversableReason)]}) + else pure (Right acc') + merge a b = ListPass {lpMoved = lpMoved a <> lpMoved b, lpSkipped = lpSkipped a <> lpSkipped b} + +intentsPass :: UTCTime -> [J.Value] -> ListPass +intentsPass now = foldr add (ListPass [] []) + where + add v pass = case J.fromJSON v :: J.Result IntentRead of + J.Error e -> pass {lpSkipped = (intentIdOf v, T.pack e) : lpSkipped pass} + J.Success ir -> case signalOf now ir of + Left (ProviderError e) -> pass {lpSkipped = (Just (irId ir), e) : lpSkipped pass} + Right Nothing -> pass + Right (Just sig) -> pass {lpMoved = (irId ir, sig) : lpMoved pass} + +intentIdOf :: J.Value -> Maybe Text +intentIdOf v = case J.fromJSON v :: J.Result (KM.KeyMap J.Value) of + J.Success o -> case KM.lookup "id" o of + Just (J.String i) -> Just i + _ -> Nothing + J.Error _ -> Nothing + +lastId :: [J.Value] -> Maybe Text +lastId vs = case vs of + [] -> Nothing + _ -> intentIdOf (last vs) + +data IntentList = IntentList {ilData :: [J.Value], ilHasMore :: Bool} + +instance J.FromJSON IntentList where + parseJSON = J.withObject "intent list" $ \o -> + IntentList <$> o J..: "data" <*> o J..:? "has_more" J..!= False + +-- | Stripe signs each retry again with the current time, so an old timestamp means a replayed request. +webhookTolerance :: NominalDiffTime +webhookTolerance = 15 * 60 + +-- Constant-time over the raw bytes. Stripe signs "{t}.{body}", so hash the timestamp, a dot, then the body as it arrived. +verifyStripeSig :: Text -> UTCTime -> [Header] -> ByteString -> Either WebhookError (Maybe Text) +verifyStripeSig secret now hdrs body = do + raw <- note "missing Stripe-Signature header" (lookup sigHeaderName hdrs) + (t, v1hexes) <- note "Stripe-Signature is not t=..,v1=.." (parseStripeSig raw) + givens <- mapM decodeHex v1hexes + let expected :: Digest SHA256 + expected = hmacGetDigest (hmac (TE.encodeUtf8 secret) (t <> "." <> body) :: HMAC SHA256) + -- during signing-secret rotation Stripe sends one v1 per active secret; any match verifies + unless (any (constEq expected) givens) $ Left (WebhookError "Stripe-Signature does not verify") + signedAt <- note "Stripe-Signature t is not a whole number of seconds" (fullInt t) + if abs (diffUTCTime now (posixSecondsToUTCTime (fromIntegral signedAt))) <= webhookTolerance + then Right actedOn + else Left (WebhookStale ("Stripe-Signature t is more than " <> tshow (round webhookTolerance `div` 60 :: Int) <> " minutes from now; check the server clock")) + where + fullInt s = case B8.readInt s of + Just (n, rest) | B8.null rest -> Just n + _ -> Nothing + note e = maybe (Left (WebhookError e)) Right + decodeHex v1hex = case convertFromBase Base16 (B8.map toLower v1hex) of + Right (bs :: ByteString) -> Right bs + Left (_ :: String) -> Left (WebhookError "Stripe-Signature v1 is not hex") + actedOn = do + SEvent {seType, seRef} <- J.decodeStrict' body + if seType `elem` actedOnStripeEvents then Just seRef else Nothing + +parseStripeSig :: ByteString -> Maybe (ByteString, [ByteString]) +parseStripeSig raw = do + let pairs = [(k, B8.drop 1 rest) | part <- B8.split ',' raw, let (k, rest) = B8.break (== '=') part, not (B8.null rest)] + t <- lookup "t" pairs + case [v | ("v1", v) <- pairs] of + [] -> Nothing + v1s -> Just (t, v1s) + +data SEvent = SEvent {seType :: Text, seRef :: Text} + +instance J.FromJSON SEvent where + parseJSON = J.withObject "stripe event" $ \o -> do + seType <- o J..: "type" + dataO <- o J..: "data" + obj <- dataO J..: "object" + seRef <- obj J..: "id" + pure SEvent {seType, seRef} + +data CreatedIntent = CreatedIntent {ciId :: Text, ciClientSecret :: Text} + +instance J.FromJSON CreatedIntent where + parseJSON = J.withObject "payment_intent" $ \o -> + CreatedIntent <$> o J..: "id" <*> o J..: "client_secret" + +createInvoice :: StripeEnv -> ServicePaymentMethod -> OrderDraft -> IO (Either ProviderError ProviderInvoice) +createInvoice _ (SPMCrypto _) _ = pure (Left (ProviderError "stripe offers no crypto payment method")) +createInvoice env (SPMCard CPStripe) OrderDraft {odAmount = CurrencyAmount minor, odCurrency} = do + let form = + [ ("amount", B8.pack (show minor)), + ("currency", TE.encodeUtf8 (T.toLower odCurrency)), + -- Only card is offered, because a redirect-based method would navigate the top window out of the embedded frame. + ("allowed_payment_method_types[]", "card") + ] + created <- stripeApi env what methodPost ["v1", "payment_intents"] [] (Just form) + pure $ created >>= decodeStripe what <&> \CreatedIntent {ciId, ciClientSecret} -> + ProviderInvoice {piProviderRef = ciId, piDestination = SPDCard CPStripe ciClientSecret} + where + what = "create intent" + +cancelInvoice :: StripeEnv -> Text -> IO (Either ProviderError ()) +cancelInvoice env pid = + fmap (fmap (const ())) $ stripeApi env "cancel intent" methodPost ["v1", "payment_intents", pid, "cancel"] [] (Just []) + +readInvoice :: StripeEnv -> Text -> IO (Either ProviderError (Maybe PaymentSignal)) +readInvoice env pid = do + now <- getCurrentTime + got <- stripeApi env what methodGet ["v1", "payment_intents", pid] [("expand[]", Just "latest_charge")] Nothing + pure $ got >>= decodeStripe what >>= signalOf now + where + what = "read intent " <> pid + +signalOf :: UTCTime -> IntentRead -> Either ProviderError (Maybe PaymentSignal) +signalOf now IntentRead {irStatus, irAmountReceived, irChargeCreated} = + case irStatus of + "succeeded" -> Right (Just (SigSettled (received irAmountReceived) settledAt)) + "canceled" -> Right (Just (SigClosed (received 0))) + s | s `elem` openStatuses -> Right Nothing + | otherwise -> Left (ProviderError ("stripe payment_intent: unknown status " <> s)) + where + openStatuses = ["requires_payment_method", "requires_confirmation", "requires_action", "processing", "requires_capture"] + received amt = Received {rcvAmount = amountFrom amt, rcvCrypto = Nothing, rcvDue = Nothing} + settledAt = maybe now posixSecondsToUTCTime irChargeCreated + +-- Clamp stops a wildly wrong figure wrapping Word32 and coming out small. +amountFrom :: Int64 -> CurrencyAmount +amountFrom n = CurrencyAmount (fromInteger (max 0 (min largestAmount (toInteger n)))) + where + largestAmount = toInteger (maxBound :: Word32) + +data IntentRead = IntentRead + { irId :: Text, + irStatus :: Text, + irAmountReceived :: Int64, + irChargeCreated :: Maybe POSIXTime + } + +instance J.FromJSON IntentRead where + parseJSON = J.withObject "payment_intent" $ \o -> do + irId <- o J..: "id" + irStatus <- o J..: "status" + irAmountReceived <- o J..:? "amount_received" J..!= 0 + -- expand[]=latest_charge makes this the charge object; unexpanded it is a string id we ignore + latest <- o J..:? "latest_charge" + let irChargeCreated = fmap fromInteger (chargeCreated latest) + pure IntentRead {irId, irStatus, irAmountReceived, irChargeCreated} + +chargeCreated :: Maybe J.Value -> Maybe Integer +chargeCreated = \case + Just (J.Object c) -> KM.lookup "created" c >>= asInteger + _ -> Nothing + +asInteger :: J.Value -> Maybe Integer +asInteger = \case + J.Number n -> either (const Nothing) Just (floatingOrInteger n :: Either Double Integer) + _ -> Nothing + +stripeApi :: + StripeEnv -> + Text -> + Method -> + [Text] -> + Query -> + Maybe [(ByteString, ByteString)] -> + IO (Either ProviderError LB.ByteString) +stripeApi StripeEnv {seCfg, seManager} what verb segments query form = do + r <- try $ do + req0 <- parseRequest (T.unpack url) + -- applyBasicAuth must wrap the record update, because updating requestHeaders after it would drop the header it adds. + let req = + applyBasicAuth (TE.encodeUtf8 (sSecretKey seCfg)) "" $ + req0 + { method = verb, + requestHeaders = + ("Accept", "application/json") + : ("Stripe-Version", stripeApiVersion) + : [("Content-Type", "application/x-www-form-urlencoded") | isJust form], + requestBody = RequestBodyBS (maybe "" (renderSimpleQuery False) form) + } + withResponse req seManager $ \resp -> do + taken <- brReadSome (responseBody resp) (fromIntegral maxProviderBytes + 1) + pure (statusCode (responseStatus resp), taken) + pure $ case r of + -- http-client hides the Authorization header when showing a Request + Left (e :: HttpException) -> Left (ProviderError (what <> " failed: " <> tshow e)) + Right (code, taken) + | LB.length taken > maxProviderBytes -> + Left . ProviderError $ + what <> " failed: HTTP " <> tshow code <> ", and the answer is over " <> tshow maxProviderBytes <> " bytes" + | code >= 200 && code < 300 -> Right taken + | otherwise -> + Left . ProviderError $ + what <> " failed: HTTP " <> tshow code <> " " <> snippet taken + where + url = + T.dropWhileEnd (== '/') (sHost seCfg) + <> "/" + <> T.intercalate "/" segments + <> TE.decodeUtf8 (renderQuery True query) + snippet = safeDecodeUtf8 . LB.toStrict . LB.take maxErrorBytes + +decodeStripe :: J.FromJSON a => Text -> LB.ByteString -> Either ProviderError a +decodeStripe what body = case J.eitherDecode' body of + Right v -> Right v + Left e -> Left (ProviderError (what <> ": could not read the response: " <> T.pack e)) diff --git a/apps/simplex-badge-service/src/BadgeService/Service.hs b/apps/simplex-badge-service/src/BadgeService/Service.hs index 8337f672a4..9a3a3f4236 100644 --- a/apps/simplex-badge-service/src/BadgeService/Service.hs +++ b/apps/simplex-badge-service/src/BadgeService/Service.hs @@ -1,4 +1,6 @@ +{-# LANGUAGE DataKinds #-} {-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE GADTs #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE OverloadedStrings #-} @@ -18,23 +20,32 @@ module BadgeService.Service ) where +import BadgeService.Catalog (defaultCatalog) +import BadgeService.Config (BadgeIssuerKey (..), ServiceConfig (..), readServiceConfig) import BadgeService.Options +import BadgeService.Poller (newPollerEnv, newReadHints, runPoller) +import BadgeService.Providers.BTCPay (btcpayProvider) +import BadgeService.Providers.Stripe (stripeProvider) import BadgeService.Store +import BadgeService.Store.Invoices (seedCatalog, truncateToSecond) import BadgeService.Store.Migrate (runBadgeServiceMigrations) +import BadgeService.Waiters (Waiters, newWaiters) +import BadgeService.Web.Server (exportWebapp, newWebEnv, runWebListener) import Control.Applicative (optional) import Control.Concurrent.STM -import Control.Logger.Simple +import BadgeService.Log (logError, logInfo, logWarn) import Control.Monad import Control.Monad.IO.Class (liftIO) import qualified Data.Aeson as J import qualified Data.Aeson.KeyMap as KM import qualified Data.Attoparsec.ByteString.Char8 as A import Data.ByteString.Char8 (ByteString) +import qualified Data.ByteString.Lazy.Char8 as LB import Data.Char (isSpace) import Data.Either (fromRight) import Data.Functor (($>)) -import Data.Maybe (fromMaybe, maybeToList) import qualified Data.Map.Strict as M +import Data.Maybe (fromMaybe, maybeToList) import qualified Data.Text as T import Data.Time.Clock (UTCTime, getCurrentTime) import Data.Word (Word32) @@ -43,32 +54,37 @@ import Simplex.Chat.Badges.Code import Simplex.Chat.Badges.Ledger import Simplex.Chat.Badges.Service import Simplex.Chat.Badges.Types (BadgeCodePaymentStatus (..)) -import Simplex.Chat.Bot (initializeBotAddress') +import Simplex.Chat.Bot (initializeBotAddress', sendMessage) import Simplex.Chat.Bot.Store (withDB, withDB') import Simplex.Chat.Controller import Simplex.Chat.Core (sendChatCmd, simplexChatCore) +import Simplex.Chat.Messages +import Simplex.Chat.Messages.CIContent (CIContent (..), SMsgDirection (..), ciContentToText) import Simplex.Chat.Options (printDbOpts) import Simplex.Chat.Terminal (terminalChatConfig) import Simplex.Chat.Terminal.Main (simplexChatCLI') -import Simplex.Chat.Types (AgentInvId (..), User (..)) +import Simplex.Chat.Types (AgentInvId (..), Contact, User (..)) +import Simplex.Messaging.Agent.Store.Common (DBStore) import qualified Simplex.Messaging.Crypto as C import Simplex.Messaging.Crypto.BBS (bbsPublicKey) -import Simplex.Messaging.Encoding.String (TextEncoding, strEncode, textDecode) -import Simplex.Messaging.Version (isCompatible) +import Simplex.Messaging.Encoding.String (TextEncoding, strEncode, textDecode, textEncode) import Simplex.Messaging.Util (raceAny_, safeDecodeUtf8, tshow) +import Simplex.Messaging.Version (isCompatible) import System.Directory (getAppUserDataDirectory) import System.Exit (exitFailure) data ServiceState = ServiceState { serviceCC :: TMVar ChatController, - serviceRequestQ :: TQueue (User, AgentInvId, Maybe C.PublicKeyEd25519, J.Object) + serviceRequestQ :: TQueue (User, AgentInvId, Maybe C.PublicKeyEd25519, J.Object), + chatRedeemQ :: TQueue (Contact, T.Text) } newServiceState :: IO ServiceState newServiceState = do serviceCC <- newEmptyTMVarIO serviceRequestQ <- newTQueueIO - pure ServiceState {serviceCC, serviceRequestQ} + chatRedeemQ <- newTQueueIO + pure ServiceState {serviceCC, serviceRequestQ, chatRedeemQ} welcomeGetOpts :: IO BadgeServiceOpts welcomeGetOpts = do @@ -80,45 +96,88 @@ welcomeGetOpts = do putStrLn $ "Service name: " ++ T.unpack serviceName pure opts --- | Check the secret is the key trusted at its index: otherwise every code redeemed is burned. -checkIssuerKey :: BadgeServiceOpts -> ChatConfig -> IO (Either String BadgeIssuerKey) -checkIssuerKey BadgeServiceOpts {issuerKey} ChatConfig {badgePublicKeys} = case issuerKey of - Nothing -> pure $ Left "an issuer key is required - pass both --issuer-key-idx and --issuer-secret (see `simplex-chat badge keygen`)" - Just k@BadgeIssuerKey {keyIdx, secretKey} -> - bbsPublicKey secretKey >>= \case - Left e -> pure $ Left $ "issuer secret is not a valid key: " <> e - Right pk -> pure $ case M.lookup keyIdx badgePublicKeys of - Just pk' | pk' == pk -> Right k - Just _ -> Left $ "issuer secret does not match the configured key at index " <> show keyIdx <> ", its public key is " <> T.unpack (safeDecodeUtf8 $ strEncode pk) - Nothing -> Left $ "no configured badge key at index " <> show keyIdx <> ", clients could not verify what this service signs" +checkIssuerKey :: BadgeServiceOpts -> Maybe ServiceConfig -> ChatConfig -> IO (Either String BadgeIssuerKey) +checkIssuerKey BadgeServiceOpts {issuerKey} serviceCfg cfg = case issuerKey of + Left e -> pure (Left e) + Right (Just k) -> checkOne cfg k + Right Nothing -> case serviceCfg >>= issuer of + Nothing -> pure $ Left "an issuer key is required - pass --issuer-key-idx and --issuer-secret, or add an [issuer] section to badge_service.ini (see `simplex-chat badge keygen`)" + Just k -> checkOne cfg k -requireIssuerKey :: BadgeServiceOpts -> ChatConfig -> IO BadgeIssuerKey -requireIssuerKey opts cfg = - checkIssuerKey opts cfg >>= either (\e -> putStrLn ("Error: " <> e) >> exitFailure) pure +checkOne :: ChatConfig -> BadgeIssuerKey -> IO (Either String BadgeIssuerKey) +checkOne ChatConfig {badgePublicKeys} k@BadgeIssuerKey {keyIdx, secretKey} = + bbsPublicKey secretKey >>= \case + Left e -> pure $ Left $ "issuer secret at index " <> show keyIdx <> " is not a valid key: " <> e + Right pk -> pure $ case M.lookup keyIdx badgePublicKeys of + Just pk' | pk' == pk -> Right k + Just _ -> Left $ "issuer secret does not match the configured key at index " <> show keyIdx <> ", its public key is " <> T.unpack (safeDecodeUtf8 $ strEncode pk) + Nothing -> Left $ "no configured badge key at index " <> show keyIdx <> ", clients could not verify what this service signs" + +requireIssuerKey :: BadgeServiceOpts -> Maybe ServiceConfig -> ChatConfig -> IO BadgeIssuerKey +requireIssuerKey opts serviceCfg cfg = + checkIssuerKey opts serviceCfg cfg >>= either (\e -> putStrLn ("Error: " <> e) >> exitFailure) pure + +readConfigOrExit :: FilePath -> IO ServiceConfig +readConfigOrExit path = + readServiceConfig path >>= \case + Left e -> putStrLn (path <> ": " <> e) >> exitFailure + Right sc -> pure sc badgeService :: BadgeServiceOpts -> ChatConfig -> ServiceState -> IO () -badgeService opts cfg env = do - key <- requireIssuerKey opts cfg - let chatHooks = +badgeService opts@BadgeServiceOpts {serviceConfigFile} cfg env = do + serviceCfg <- traverse readConfigOrExit serviceConfigFile + key <- requireIssuerKey opts serviceCfg cfg + waiters <- newWaiters + let devRedeem = maybe False devChatRedeem serviceCfg + chatHooks = defaultChatHooks { preStartHook = Just $ badgePreStartHook opts, - postStartHook = Just $ badgePostStartHook opts env, + postStartHook = Just $ badgePostStartHook opts devRedeem env, preCmdHook = Just badgeCmdHook } - -- the reader must not block: outputQ carries every chat event - simplexChatCore cfg {chatHooks} (mkChatOpts opts) $ \_ cc -> - raceAny_ + when devRedeem $ logWarn "[dev] chat_redeem is on: /redeem over chat hands out credentials this service can link" + -- The reader must not block, since outputQ carries every chat event. + simplexChatCore cfg {chatHooks} (mkChatOpts opts) $ \_ cc -> do + lanes <- maybe (pure []) (serviceLanes waiters cc) serviceCfg + raceAny_ $ [ forever $ atomically (readTBQueue $ outputQ cc) >>= \case (_, Right (CEvtServiceRequest u reqId sigKey reqData)) -> atomically $ writeTQueue (serviceRequestQ env) (u, reqId, sigKey, reqData) + (_, Right CEvtNewChatItems {chatItems = AChatItem _ SMDRcv (DirectChat ct) ChatItem {content = mc@CIRcvMsgContent {}} : _}) + | devRedeem -> atomically $ writeTQueue (chatRedeemQ env) (ct, ciContentToText mc) _ -> pure (), processQueuedRequests key env ] + <> [processChatRedeems key env | devRedeem] + <> lanes + where + serviceLanes :: Waiters -> ChatController -> ServiceConfig -> IO [IO ()] + serviceLanes ws ChatController {chatStore} sc = do + -- Seed before the listener accepts anything, since every checkout is priced from these. + seedServiceCatalog chatStore + btc <- maybe (pure []) (fmap (: []) . btcpayProvider) (btcpay sc) + str <- maybe (pure []) (fmap (: []) . stripeProvider) (stripe sc) + let providers = btc <> str + hints <- newReadHints + webEnv <- newWebEnv chatStore sc ws hints providers + exportWebapp (listener sc) (stripe sc) + pollerEnv <- newPollerEnv chatStore ws hints providers (poll sc) + pure [runWebListener webEnv, runPoller pollerEnv] + +seedServiceCatalog :: DBStore -> IO () +seedServiceCatalog st = do + now <- truncateToSecond <$> getCurrentTime + let (prices, offers) = defaultCatalog now + (seededPrices, seededOffers) <- seedCatalog st prices offers + logInfo $ + "badge catalog: " <> tshow (length prices) <> " prices and " <> tshow (length offers) <> " offers compiled in, " + <> tshow seededPrices <> " prices and " <> tshow seededOffers <> " offers inserted" badgeServiceCLI :: BadgeServiceOpts -> IO () -badgeServiceCLI opts = do - key <- requireIssuerKey opts terminalChatConfig +badgeServiceCLI opts@BadgeServiceOpts {serviceConfigFile} = do + serviceCfg <- traverse readConfigOrExit serviceConfigFile + key <- requireIssuerKey opts serviceCfg terminalChatConfig env <- newServiceState let eventHook _cc ev = do case ev of @@ -129,7 +188,7 @@ badgeServiceCLI opts = do chatHooks = defaultChatHooks { preStartHook = Just $ badgePreStartHook opts, - postStartHook = Just $ badgePostStartHook opts env, + postStartHook = Just $ badgePostStartHook opts False env, preCmdHook = Just badgeCmdHook, eventHook = Just eventHook } @@ -138,34 +197,51 @@ badgeServiceCLI opts = do processQueuedRequests key env ] --- | issuing codes lives here rather than in core: every user's app would otherwise ship it badgeCmdHook :: ChatController -> ChatCommand -> IO (Either (Either ChatError ChatResponse) ChatCommand) badgeCmdHook cc = \case CustomChatCommand cmd -> Left <$> runBadgeCmd cc cmd cmd -> pure $ Right cmd runBadgeCmd :: ChatController -> ByteString -> IO (Either ChatError ChatResponse) -runBadgeCmd cc cmd = case A.parseOnly issueCmdP cmd of - Left _ -> pure $ chatCmdError "use: //issue supporter|legend|investor [months 1-255] [paid|unpaid|free]" - Right issueOpts -> - issueBadgeCode cc issueOpts >>= \case - Right code -> pure $ Right CRCustomChatResponse {user_ = Nothing, response = "code " <> formatBadgeCode code} - Left e -> pure $ chatCmdError $ "issuing code: " <> e +runBadgeCmd cc cmd + | Right issueOpts <- A.parseOnly issueCmdP cmd = + issueBadgeCode cc issueOpts >>= \case + Right code -> pure $ Right CRCustomChatResponse {user_ = Nothing, response = "code " <> formatBadgeCode code} + Left e -> pure $ chatCmdError $ "issuing code: " <> e + | Right code <- A.parseOnly revokeCmdP cmd = + revokeBadgeCode cc code >>= \case + Right Revoked -> pure $ Right CRCustomChatResponse {user_ = Nothing, response = "revoked"} + Right AlreadyRevoked -> pure $ chatCmdError "code was revoked already" + Right AlreadyRedeemed -> pure $ chatCmdError "code was redeemed already, so it cannot be revoked" + Right NoSuchCode -> pure $ chatCmdError "no such code" + Left e -> pure $ chatCmdError $ "revoking code: " <> e + | otherwise = pure $ chatCmdError "use: //issue supporter|legend|investor [months 1-255] [paid|unpaid|free], or //revoke " + +revokeCmdP :: A.Parser BadgeCode +revokeCmdP = + "revoke " *> (A.takeWhile1 (not . isSpace) >>= maybe (fail "not a badge code") pure . parseBadgeCode . safeDecodeUtf8) + <* (A.skipSpace *> A.endOfInput) + +revokeBadgeCode :: ChatController -> BadgeCode -> IO (Either String RevokeResult) +revokeBadgeCode cc code = do + now <- truncateToSecond <$> getCurrentTime + withDB' "revokeBadgeCode" cc $ \db -> revokeCode db (badgeCodeHash code) now issueCmdP :: A.Parser IssueCodeOpts issueCmdP = "issue " *> do badgeType <- badgeTypeP - months_ <- optional (A.space *> A.decimal) - -- outside `optional`, which would otherwise backtrack past a bad count + months_ <- optional (A.space *> (A.decimal :: A.Parser Integer)) + -- Kept outside optional, which would otherwise backtrack past a bad count. months <- maybe (pure 1) checkMonths months_ paymentStatus <- fromMaybe CPSFree <$> optional (A.space *> textTokenP) A.skipSpace A.endOfInput pure IssueCodeOpts {badgeType, months, paymentStatus} where + -- Integer, because attoparsec's decimal wraps silently at Int, so the guard would check a truncated count. checkMonths n - | n >= 1 && n <= (255 :: Int) = pure n + | n >= 1 && n <= 255 = pure (fromInteger n) | otherwise = fail "months must be between 1 and 255" -- BadgeType decodes anything to BTUnknown, so a typo would issue an unusable code badgeTypeP = @@ -198,19 +274,38 @@ processQueuedRequests key env = do (u, reqId, sigKey, reqData) <- atomically $ readTQueue $ serviceRequestQ env handleServiceRequest key cc u reqId sigKey reqData +processChatRedeems :: BadgeIssuerKey -> ServiceState -> IO () +processChatRedeems key env = do + cc <- atomically $ readTMVar $ serviceCC env + forever $ do + (ct, msg) <- atomically $ readTQueue $ chatRedeemQ env + chatRedeem key cc ct msg + +-- | Here the service generates the master key and can link the badge, so [dev] chat_redeem gates this. +chatRedeem :: BadgeIssuerKey -> ChatController -> Contact -> T.Text -> IO () +chatRedeem key cc ct msg = case T.stripPrefix "/redeem" (T.strip msg) of + Just rest | not (T.null (T.strip rest)) -> do + masterKey <- generateMasterKey (random cc) + (purchaseKey, _) <- atomically $ C.generateKeyPair (random cc) :: IO (C.KeyPair 'C.Ed25519) + resp <- redeemCode key cc purchaseKey masterKey (T.strip rest) + sendMessage cc ct $ case resp of + BSPBadgeCredential {credential = Just cred} -> safeDecodeUtf8 $ LB.toStrict $ J.encode cred + BSPError {code} -> "error: " <> textEncode code + _ -> "unexpected response" + _ -> sendMessage cc ct "send: /redeem " + badgePreStartHook :: BadgeServiceOpts -> ChatController -> IO () badgePreStartHook opts ChatController {config, chatStore} = runBadgeServiceMigrations opts config chatStore -badgePostStartHook :: BadgeServiceOpts -> ServiceState -> ChatController -> IO () -badgePostStartHook BadgeServiceOpts {noAddress, testing} env cc = do - -- SREQ delivery gates on this flag; Core starts serviceRequests=False, so the hook must set it. +badgePostStartHook :: BadgeServiceOpts -> Bool -> ServiceState -> ChatController -> IO () +badgePostStartHook BadgeServiceOpts {noAddress, testing} devRedeem env cc = do + -- Core starts this False and gates service request delivery on it, so the hook must set it. atomically $ writeTVar (processServiceRequests cc) True readTVarIO (currentUser cc) >>= \case Nothing -> putStrLn "No current user" >> exitFailure - -- DR required for service RPC; autoAccept off because badge service ignores contact events. Just _ -> do - unless noAddress $ initializeBotAddress' (not testing) (Just True) False cc + unless noAddress $ initializeBotAddress' (not testing) (Just True) devRedeem cc void $ atomically $ tryPutTMVar (serviceCC env) cc handleServiceRequest :: BadgeIssuerKey -> ChatController -> User -> AgentInvId -> Maybe C.PublicKeyEd25519 -> J.Object -> IO () @@ -230,8 +325,6 @@ responseObject r = case J.toJSON r of errorResponse :: BadgeServiceErrorCode -> BadgeServiceResponse errorResponse code = BSPError {code, message = Nothing, retryAfter = badgeErrorRetryAfter code} --- | Seconds, for the three codes badges-rpc.md marks transient. Every other code is terminal for --- the command attempted - internal included, which would otherwise press a failing service. badgeErrorRetryAfter :: BadgeServiceErrorCode -> Maybe Word32 badgeErrorRetryAfter = \case BSEPaymentPending -> Just 300 @@ -240,8 +333,7 @@ badgeErrorRetryAfter = \case _ -> Nothing --- | The agent verified the signature, so sigKey is a key the sender holds - a purchaseKey that --- differs would let a client claim a purchase it cannot sign for. +-- | The agent verified the signature, so sigKey is a key the sender holds; a differing purchaseKey would let a client claim a purchase it cannot sign for. badgeServiceResponse :: BadgeIssuerKey -> ChatController -> Maybe C.PublicKeyEd25519 -> J.Object -> IO BadgeServiceResponse badgeServiceResponse key cc sigKey reqData = case J.fromJSON (J.Object reqData) of J.Error _ -> pure $ errorResponse BSEBadRequest @@ -255,8 +347,7 @@ badgeServiceResponse key cc sigKey reqData = case J.fromJSON (J.Object reqData) BSCIssueBadge {balance} -> case purchaseKey of Just k -> issueBadgeCmd key cc k balance Nothing -> pure $ errorResponse BSEBadRequest - -- every command but redeemBadgeCode needs a key the service already knows: that one - -- creates the purchase, so its key is unknown on a first redemption + -- Every command but redeemBadgeCode needs a key the service already knows; that one creates the purchase, so its key is unknown on a first redemption. _ -> case purchaseKey of Nothing -> pure $ errorResponse BSEUnsupportedVersion Just k -> @@ -265,21 +356,18 @@ badgeServiceResponse key cc sigKey reqData = case J.fromJSON (J.Object reqData) Right False -> pure $ errorResponse BSEUnknownPurchaseKey Left _ -> pure $ errorResponse BSEInternal --- | The only clock the service reads, so a test can move both sides of a request together. badgeNow :: ChatController -> IO UTCTime badgeNow ChatController {config = ChatConfig {badgeCurrentTime}} = badgeCurrentTime randomId :: ChatController -> IO T.Text randomId cc = safeDecodeUtf8 . strEncode <$> atomically (C.randomBytes 16 (random cc)) --- | Neither value comes from the caller: the badge type is the entry's, the expiry is derived --- from the period end it carries. +-- | Neither the badge type nor the expiry comes from the caller; both derive from the entry. credentialForEntry :: BadgeIssuerKey -> BadgeMasterKey -> StatementEntry -> IO (Either String (StatementEntry, BadgeCredential)) credentialForEntry BadgeIssuerKey {keyIdx, secretKey} masterKey e@StatementEntry {balanceStartTs = periodEnd, balanceBadgeType} = do let badgeInfo = BadgeInfo {badgeType = balanceBadgeType, badgeExpiry = endOfMondayAfter periodEnd, badgeExtra = ""} fmap (e,) <$> issueBadge keyIdx secretKey (VerifiedBadgeRequest BadgeRequest {masterKey, badgeInfo}) --- | Pairs the issued entry with the one before it, which the writer needs for the period start. issuanceAfter :: StatementEntry -> (StatementEntry, BadgeCredential) -> (StatementEntry, StatementEntry, BadgeCredential) issuanceAfter previous (issued, credential) = (previous, issued, credential) @@ -287,51 +375,58 @@ credentialResponse :: Maybe BadgeCredential -> Maybe T.Text -> [StatementEntry] credentialResponse credential previousEntryId entries = BSPBadgeCredential {credential, receipt = Nothing, statement = BadgeStatement {entries, previousEntryId}} --- | Nothing is written until the credential is signed, so a signing failure leaves the code --- unspent rather than spent with nothing behind it. +-- | Nothing is written until the credential is signed, so a signing failure leaves the code unspent. redeemCode :: BadgeIssuerKey -> ChatController -> C.PublicKeyEd25519 -> BadgeMasterKey -> T.Text -> IO BadgeServiceResponse redeemCode key cc purchaseKey masterKey codeText = case parseBadgeCode codeText of Nothing -> pure $ errorResponse BSECodeInvalid - Just code -> - withDB "getBadgeCode" cc (readCode code) >>= \case + Just code -> do + now <- badgeNow cc + withDB "getBadgeCode" cc (readCode now code) >>= \case Left _ -> pure $ errorResponse BSEInternal Right (Left resp) -> pure resp Right (Right IssuedCode {badgeCodeId, badgeType, months}) -> do - now <- badgeNow cc (grantUuid, issueUuid) <- (,) <$> randomId cc <*> randomId cc - -- the purchase is created here, so there is no ledger to lapse -- TODO [badges] a top-up grants onto an existing ledger, and must lapse before it or the -- months it adds are counted from a start already in the past let granted = grantEntry now grantUuid months SCCode $ emptyEntry now badgeType - -- a grant of at least one month starting now always has a month to issue + -- A grant of at least one month starting now always has a month to issue. case issueEntry now issueUuid granted of Nothing -> pure $ errorResponse BSEInternal Just issued -> credentialForEntry key masterKey issued >>= \case Left e -> logError ("badge service signing failed: " <> T.pack e) $> errorResponse BSEInternal Right signed -> do - -- re-read: a concurrent redemption may have landed while this one was signing + -- If the code was revoked or redeemed while signing, the claim fails. Read the code again to tell the client why. r <- withDB "writeCodeRedemption" cc $ \db -> - readCode code db >>= \case - Left resp -> pure resp - Right _ -> liftIO $ do - purchaseId <- createCodePurchase db NewCodePurchase {badgeCodeId, purchaseKey, masterKey, badgeType} now + liftIO (createCodePurchase db NewCodePurchase {badgeCodeId, purchaseKey, masterKey, badgeType} now) >>= \case + Nothing -> + readCode now code db >>= \case + Left resp -> pure resp + Right _ -> logError "badge service: redeeming a code failed, but the code is neither redeemed nor revoked" $> errorResponse BSEInternal + Just purchaseId -> liftIO $ do appendLedgerPlan db purchaseId [granted] $ Just $ issuanceAfter granted signed entries_ <- getLedgerEntries db purchaseId 0 pure $ maybe (errorResponse BSEInternal) (credentialResponse (Just $ snd signed) Nothing) entries_ pure $ fromRight (errorResponse BSEInternal) r where - -- used before signing and again inside the write transaction; every Left is a finished - -- response, an unknown code included - readCode code db = liftIO $ + readCode now code db = liftIO $ getBadgeCode db (badgeCodeHash code) >>= \case Nothing -> pure $ Left $ errorResponse BSECodeInvalid - Just c@IssuedCode {redemption} -> fmap (const c) <$> checkUnspent db redemption + Just c@IssuedCode {revokedAt, paymentStatus, expiresAt, redemption} + -- Revoked is checked first, so it answers as if the code never existed. + | Just _ <- revokedAt -> pure $ Left $ errorResponse BSECodeInvalid + -- Redeeming an unpaid code would issue a free badge, so unpaid is refused. + | CPSUnpaid <- paymentStatus -> pure $ Left $ errorResponse BSEPaymentPending + | otherwise -> + checkUnspent db redemption >>= \case + Left resp -> pure $ Left resp + Right () + | maybe False (now >=) expiresAt -> pure $ Left $ errorResponse BSECodeExpired + | otherwise -> pure $ Right c checkUnspent db = \case CodeUnredeemed -> pure $ Right () CodeRedeemedUnreadable -> pure $ Left $ errorResponse BSEInternal CodeRedeemed RedeemedCode {purchaseKey = k, badgePurchaseId, credential} | k /= purchaseKey -> pure $ Left $ errorResponse BSECodeUsed - -- the whole ledger, so a client that lost the first response still ends holding it | otherwise -> maybe (Left $ errorResponse BSEInternal) (Left . credentialResponse (Just credential) Nothing) <$> getLedgerEntries db badgePurchaseId 0 @@ -359,21 +454,19 @@ issueBadgeCmd key cc purchaseKey BadgeBalance {lastEntry} = do Right signed -> writeIssued badgePurchaseId tip (maybeToList lapsed) now $ Just $ issuanceAfter current signed where - -- the rows were computed from a tip that another request may have moved, and an issuance was - -- signed against it - so write only if it is still the tip + -- Write only if the tip has not moved, since another request may have advanced it. writeIssued purchaseId tip rows t issuance_ = do r <- withDB "issueBadge" cc $ \db -> liftIO $ do tip' <- getLedgerTip db purchaseId when (fmap entryId tip' == fmap entryId tip) $ appendLedgerPlan db purchaseId rows issuance_ issueResponse db purchaseId t pure $ fromRight (errorResponse BSEInternal) r - -- entries after the one asserted, or the whole ledger when this purchase does not hold it. -- Only the asserted entry's identity is read, never the months it claims. issueResponse db purchaseId t = do let StatementEntry {entryId = assertedUuid} = lastEntry assertedId <- getLedgerEntryId db purchaseId assertedUuid -- TODO [badges] when the assertion does not resolve, heal the ledger and restate it as a - -- single opening credit (badges-rpc.md), rather than resending the whole history + -- single opening credit, rather than resending the whole history entries_ <- getLedgerEntries db purchaseId (fromMaybe 0 assertedId) credential_ <- getCurrentIssuance db purchaseId t pure $ maybe (errorResponse BSEInternal) (credentialResponse credential_ (assertedUuid <$ assertedId)) entries_ diff --git a/apps/simplex-badge-service/src/BadgeService/Store.hs b/apps/simplex-badge-service/src/BadgeService/Store.hs index dac51a5793..d8ab44c268 100644 --- a/apps/simplex-badge-service/src/BadgeService/Store.hs +++ b/apps/simplex-badge-service/src/BadgeService/Store.hs @@ -21,9 +21,12 @@ module BadgeService.Store appendLedgerPlan, createCodePurchase, insertBadgeCode, + RevokeResult (..), + revokeCode, ) where +import BadgeService.Store.Invoices (executeChanging) import qualified Data.Aeson as J import Data.ByteString.Char8 (ByteString) import qualified Data.ByteString.Lazy.Char8 as LB @@ -52,11 +55,12 @@ data IssuedCode = IssuedCode { badgeCodeId :: Int64, badgeType :: BadgeType, months :: Int, + paymentStatus :: BadgeCodePaymentStatus, + revokedAt :: Maybe UTCTime, + expiresAt :: Maybe UTCTime, redemption :: CodeRedemption } --- A code that has a purchase is spent, even if its credential cannot be read. Treating that as --- an unredeemed code would issue a second credential for it. data CodeRedemption = CodeUnredeemed | CodeRedeemed RedeemedCode @@ -68,8 +72,6 @@ data RedeemedCode = RedeemedCode credential :: BadgeCredential } --- Its rows and issuance are appended by 'appendLedgerPlan' in the same transaction: a code marked --- redeemed while another write failed would be spent with no credential, and nothing reissues it. data NewCodePurchase = NewCodePurchase { badgeCodeId :: Int64, purchaseKey :: C.PublicKeyEd25519, @@ -89,7 +91,8 @@ getBadgeCode db codeHash = DB.query db [sql| - SELECT c.badge_code_id, c.badge_type, c.months, p.badge_purchase_id, p.purchase_key, i.credential + SELECT c.badge_code_id, c.badge_type, c.months, c.code_payment_status, c.revoked_at, + c.expires_at, p.badge_purchase_id, p.purchase_key, i.credential FROM sx_badge_service_badge_codes c LEFT JOIN sx_badge_service_badge_purchases p ON p.badge_code_id = c.badge_code_id LEFT JOIN sx_badge_service_badge_issuances i ON i.badge_purchase_id = p.badge_purchase_id @@ -99,8 +102,8 @@ getBadgeCode db codeHash = |] (Only (Binary codeHash)) where - toCode (badgeCodeId, badgeType, months, purchaseId_, purchaseKey_, credential_) = - IssuedCode {badgeCodeId, badgeType, months, redemption = codeRedemption purchaseId_ purchaseKey_ credential_} + toCode (badgeCodeId, badgeType, months, paymentStatus, revokedAt, expiresAt, purchaseId_, purchaseKey_, credential_) = + IssuedCode {badgeCodeId, badgeType, months, paymentStatus, revokedAt, expiresAt, redemption = codeRedemption purchaseId_ purchaseKey_ credential_} codeRedemption purchaseId_ purchaseKey_ credential_ = case (purchaseId_, purchaseKey_) of (Just badgePurchaseId, Just purchaseKey) -> case decodeCredential =<< credential_ of Just credential -> CodeRedeemed RedeemedCode {badgePurchaseId, purchaseKey, credential} @@ -113,7 +116,6 @@ purchaseKeyExists db key = maybeFirstRow' False (\(Only (_ :: Int64)) -> True) $ DB.query db "SELECT badge_purchase_id FROM sx_badge_service_badge_purchases WHERE purchase_key = ?" (Only key) --- | The only route from a command to a purchase, so a client cannot name one it cannot sign for. getPurchaseByKey :: DB.Connection -> C.PublicKeyEd25519 -> IO (Maybe ServicePurchase) getPurchaseByKey db key = maybeFirstRow toPurchase $ @@ -144,8 +146,6 @@ getLedgerTip db purchaseId = |] (Only purchaseId) --- | The uuid is the client's claim about its last held entry, so the lookup is scoped to its own --- purchase - an entry_id taken from another ledger would silently skip rows of this one. getLedgerEntryId :: DB.Connection -> Int64 -> Text -> IO (Maybe Int64) getLedgerEntryId db purchaseId entryUuid = maybeFirstRow fromOnly $ @@ -154,8 +154,7 @@ getLedgerEntryId db purchaseId entryUuid = "SELECT entry_id FROM sx_badge_service_badge_ledger WHERE badge_purchase_id = ? AND entry_uuid = ?" (purchaseId, entryUuid) --- | 0 for the whole ledger, as entry_id starts at 1. 'Nothing' when a stored row has a type this --- version cannot represent, rather than sending it changed into another. +-- | 0 returns the whole ledger, as entry_id starts at 1. getLedgerEntries :: DB.Connection -> Int64 -> Int64 -> IO (Maybe [StatementEntry]) getLedgerEntries db purchaseId afterEntryId = mapM toEntry @@ -175,7 +174,6 @@ toEntry (entryId, changeMonths, balanceMonths, balanceStartTs, balanceAnchorTs, (\entryType -> StatementEntry {entryId, changeMonths, balanceMonths, balanceStartTs, balanceAnchorTs, balanceBadgeType, wasPausedSince = Nothing, createdAt, entryType}) <$> entryTypeFromColumns entryType_ credit_ debit_ --- | Answers a repeat inside an issued month, rather than signing the same content twice. getCurrentIssuance :: DB.Connection -> Int64 -> UTCTime -> IO (Maybe BadgeCredential) getCurrentIssuance db purchaseId now = do rs <- @@ -192,10 +190,7 @@ getCurrentIssuance db purchaseId now = do [Only (Binary bs)] -> J.decodeStrict' bs _ -> Nothing --- | The issuance is the entry that spends the month and the one before it, which give the period. --- TODO [badges] also write the reference columns - payment_id, charge_id, from_purchase_id, --- to_purchase_id - for the entry types that carry one. Only the tag is written today, so a --- payment, charge, transferIn, upgrade or transferOut row would be stored without its reference. +-- TODO write the reference columns (payment_id, charge_id, from_purchase_id, to_purchase_id) for entry types that carry one; only the tag is written today. appendLedgerPlan :: DB.Connection -> Int64 -> [StatementEntry] -> Maybe (StatementEntry, StatementEntry, BadgeCredential) -> IO () appendLedgerPlan db purchaseId rows issuance_ = do mapM_ appendRow rows @@ -210,8 +205,6 @@ appendLedgerPlan db purchaseId rows issuance_ = do (issuance_id, badge_purchase_id, entry_id, badge_type, period_start, period_end, expiry, credential, created_at) VALUES (?,?,?,?,?,?,?,?,?) |] - -- the issued entry's uuid is the issuance id: one issuance per such entry, and entry uuids - -- are already unique across the ledger, so nothing has to be drawn for it ( (entryId, purchaseId, rowId, balanceBadgeType) :. (balanceStartTs previous, periodEnd, endOfMondayAfter periodEnd, Binary (LB.toStrict $ J.encode credential), createdAt) ) @@ -229,21 +222,48 @@ appendLedgerPlan db purchaseId rows issuance_ = do ((entryId, purchaseId, changeMonths, balanceMonths, balanceStartTs, balanceAnchorTs) :. (balanceBadgeType, createdAt, createdAt, entryTypeT, creditType, debitType)) insertedRowId db --- redeemed_at is stamped here, so this must share a transaction with the credential's rows: --- a code marked spent without one can never be reissued -createCodePurchase :: DB.Connection -> NewCodePurchase -> UTCTime -> IO Int64 +-- redeemed_at is stamped here, so this must run in the same transaction as the credential rows. +-- Mark the code as redeemed before adding the purchase. On Postgres, a revoke or redemption running +-- at the same time then waits, sees the code is taken, and fails. +createCodePurchase :: DB.Connection -> NewCodePurchase -> UTCTime -> IO (Maybe Int64) createCodePurchase db NewCodePurchase {badgeCodeId, purchaseKey, masterKey = BadgeMasterKey mk, badgeType} now = do - DB.execute - db - [sql| - INSERT INTO sx_badge_service_badge_purchases - (purchase_key, master_key, initial_badge_type, current_badge_type, status, badge_code_id, created_at, updated_at) - VALUES (?,?,?,?,?,?,?,?) - |] - (purchaseKey, Binary mk, badgeType, badgeType, PSIssued, badgeCodeId, now, now) - purchaseId <- insertedRowId db - DB.execute db "UPDATE sx_badge_service_badge_codes SET redeemed_at = ? WHERE badge_code_id = ?" (now, badgeCodeId) - pure purchaseId + claimed <- + executeChanging + db + "UPDATE sx_badge_service_badge_codes SET redeemed_at = ? WHERE badge_code_id = ? AND redeemed_at IS NULL AND revoked_at IS NULL" + (now, badgeCodeId) + if claimed == 0 + then pure Nothing + else do + DB.execute + db + [sql| + INSERT INTO sx_badge_service_badge_purchases + (purchase_key, master_key, initial_badge_type, current_badge_type, status, badge_code_id, created_at, updated_at) + VALUES (?,?,?,?,?,?,?,?) + |] + (purchaseKey, Binary mk, badgeType, badgeType, PSIssued, badgeCodeId, now, now) + Just <$> insertedRowId db + +data RevokeResult = Revoked | AlreadyRevoked | AlreadyRedeemed | NoSuchCode + deriving (Eq, Show) + +-- | A code that was already redeemed can't be revoked, because its badge was already given out. +revokeCode :: DB.Connection -> ByteString -> UTCTime -> IO RevokeResult +revokeCode db codeHash now = do + revoked <- + executeChanging + db + "UPDATE sx_badge_service_badge_codes SET revoked_at = ? WHERE code_hash = ? AND revoked_at IS NULL AND redeemed_at IS NULL" + (now, Binary codeHash) + if revoked > 0 + then pure Revoked + else + maybeFirstRow' NoSuchCode refusal $ + DB.query db "SELECT revoked_at FROM sx_badge_service_badge_codes WHERE code_hash = ?" (Only (Binary codeHash)) + where + refusal :: Only (Maybe UTCTime) -> RevokeResult + refusal (Only revokedAt) = maybe AlreadyRedeemed (const AlreadyRevoked) revokedAt insertBadgeCode :: DB.Connection -> ByteString -> BadgeType -> Int -> BadgeCodePaymentStatus -> UTCTime -> IO () insertBadgeCode db codeHash badgeType months paymentStatus now = diff --git a/apps/simplex-badge-service/src/BadgeService/Store/Invoices.hs b/apps/simplex-badge-service/src/BadgeService/Store/Invoices.hs new file mode 100644 index 0000000000..a3e177400e --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Store/Invoices.hs @@ -0,0 +1,613 @@ +{-# LANGUAGE CPP #-} +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE TypeOperators #-} + +module BadgeService.Store.Invoices + ( InvoiceRow (..), + InvoicePayment (..), + paymentHolds, + NewInvoice (..), + CreateError (..), + StoreDecodeError (..), + createInvoiceRows, + executeChanging, + getInvoice, + getInvoiceByProviderRef, + unpaidRefs, + providerText, + codeHashExists, + OverdueInvoice (..), + overdueInvoices, + expireOverdue, + cancelOpenInvoice, + newInvoiceId, + readCatalogRows, + seedCatalog, + truncateToSecond, + settlementInvoice, + settlementCodeHash, + upsertPayment, + paymentStatusText, + cryptoCurrencyText, + textToInvoiceStatus, + invoiceStatusText, + updateInvoiceStatus, + markCodePaid, + ) +where + +import Control.Exception (Exception) +import qualified Control.Exception as E +import Control.Monad (filterM) +import Crypto.Random (getRandomBytes) +import Data.ByteString (ByteString) +import qualified Data.ByteString.Base64.URL as B64U +import qualified Data.ByteString.Char8 as BC8 +import Data.String (fromString) +import Data.Text (Text) +import qualified Data.Text as T +import Data.Time.Clock (UTCTime) +import Data.Time.Clock.POSIX (posixSecondsToUTCTime, utcTimeToPOSIXSeconds) +import Data.Word (Word8, Word32) +import Simplex.Chat.Badges (BadgeType (..)) +import Simplex.Chat.Badges.Service (BadgePrice (..), BadgeOffer (..)) +import Simplex.Chat.Badges.Types (BadgeCodePaymentStatus (..), BadgeItemStatus (..), BadgeOfferId (..), BadgePriceId (..), OfferDiscount (..)) +import Simplex.Chat.Store.Shared (insertedRowId) +import Simplex.Chat.PaymentService.Types (CardProvider (..), CryptoCurrency (..), CurrencyAmount (..), InvoiceId (..), InvoiceStatus (..), PaymentProvider (..), PaymentStatus (..), ServicePaymentDestination (..)) +import Simplex.Messaging.Agent.Store.Common (DBStore, withConnection, withTransaction) +import qualified Simplex.Messaging.Agent.Store.DB as DB +import Simplex.Messaging.Encoding.String (textEncode) +import Simplex.Messaging.Util (safeDecodeUtf8, tshow) + +#if defined(dbPostgres) +import BadgeService.Store.Postgres.Migrations (servicePrefix, withPrefix) +import Database.PostgreSQL.Simple (Only (..), Query, ToRow, (:.) (..)) +import qualified Database.PostgreSQL.Simple as PSQL +import Database.PostgreSQL.Simple.Errors (ConstraintViolation (..), constraintViolation) +#else +import BadgeService.Store.SQLite.Migrations (servicePrefix, withPrefix) +import Database.SQLite.Simple (Only (..), Query, ToRow, (:.) (..)) +import qualified Database.SQLite.Simple as SQL +#endif + +data InvoiceRow = InvoiceRow + { irInvoiceId :: InvoiceId, + irProvider :: PaymentProvider, + irProviderRef :: Text, + irBadgeType :: BadgeType, + irMonths :: Word8, + irPrice :: CurrencyAmount, + irAmount :: CurrencyAmount, + irCurrency :: Text, + irDestination :: ServicePaymentDestination, + irExpiresAt :: UTCTime, + irStatus :: InvoiceStatus, + irCreatedAt :: UTCTime, + irPayment :: Maybe InvoicePayment + } + deriving (Eq, Show) + +paymentHolds :: InvoicePayment -> Bool +paymentHolds InvoicePayment {ipAmount, ipCryptoPaid, ipPaidInFull} = + maybe False (\(CurrencyAmount a) -> a > 0) ipAmount || ipCryptoPaid /= Nothing || ipPaidInFull + +data InvoicePayment = InvoicePayment + { ipAmount :: Maybe CurrencyAmount, + ipCryptoPaid :: Maybe Text, + ipCryptoDue :: Maybe Text, + ipPaidInFull :: Bool, + ipStatus :: Text, + ipUpdatedAt :: UTCTime + } + deriving (Eq, Show) + +data NewInvoice = NewInvoice + { niInvoiceId :: InvoiceId, + niProviderRef :: Text, + niCodeHash :: ByteString, + niPriceId :: BadgePriceId, + niOfferId :: Maybe BadgeOfferId, + niBadgeType :: BadgeType, + niMonths :: Word8, + niPrice :: CurrencyAmount, + niAmount :: CurrencyAmount, + niCurrency :: Text, + niProvider :: PaymentProvider, + niDestination :: ServicePaymentDestination, + niExpiresAt :: UTCTime, + niCreatedAt :: UTCTime + } + +data CreateError = CECodeConflict | CERefConflict | CEOther Text + deriving (Eq, Show) + +newtype StoreDecodeError = StoreDecodeError Text + deriving (Eq, Show) + +instance Exception StoreDecodeError + +-- | SQLite stores timestamps as text, so `expires_at < ?` compares as strings and only sorts chronologically when every value has the same width. +truncateToSecond :: UTCTime -> UTCTime +truncateToSecond = posixSecondsToUTCTime . fromInteger . truncate . utcTimeToPOSIXSeconds + +#if defined(dbPostgres) +mkQuery :: Text -> Query +mkQuery raw = fromString (T.unpack (withPrefix servicePrefix raw)) +#else +mkQuery :: Text -> Query +mkQuery raw = withPrefix servicePrefix (fromString (T.unpack raw)) +#endif + +-- Backslash-newline string gaps do not survive CPP, so these queries are joined with <>. +qInsertInvoice :: Query +qInsertInvoice = + mkQuery $ + "INSERT INTO @invoices " + <> "(invoice_id, provider, price, discount_amount, credit_amount, amount, currency, " + <> "payment_url, payment_address, payment_crypto_currency, payment_crypto_amount, " + <> "expires_at, status, created_at, updated_at) " + <> "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" + +qInsertBadgeCodeInvoice :: Query +qInsertBadgeCodeInvoice = + mkQuery $ + "INSERT INTO @badge_code_invoices " + <> "(invoice_id, badge_code_id, price_id, offer_id, provider_ref, created_at) " + <> "VALUES (?,?,?,?,?,?)" + +qInsertBadgeCode :: Query +qInsertBadgeCode = + mkQuery $ + "INSERT INTO @badge_codes (code_hash, badge_type, months, code_payment_status, created_at) " + <> "VALUES (?,?,?,?,?)" + +invoiceRowSelect :: Text +invoiceRowSelect = + "SELECT i.invoice_id, i.provider, ci.provider_ref, bc.badge_type, bc.months, " + <> "i.price, i.amount, i.currency, i.payment_url, i.payment_address, i.payment_crypto_currency, " + <> "i.payment_crypto_amount, i.expires_at, i.status, i.created_at, " + <> "p.amount, p.crypto_paid, p.crypto_due, p.paid_in_full, p.status, p.updated_at " + <> "FROM @invoices i " + <> "JOIN @badge_code_invoices ci ON ci.invoice_id = i.invoice_id " + <> "JOIN @badge_codes bc ON bc.badge_code_id = ci.badge_code_id " + <> "LEFT JOIN @payments p ON p.invoice_id = i.invoice_id " + +qGetInvoice :: Query +qGetInvoice = mkQuery (invoiceRowSelect <> "WHERE i.invoice_id = ?") + +qGetInvoiceByProviderRef :: Query +qGetInvoiceByProviderRef = mkQuery (invoiceRowSelect <> "WHERE ci.provider_ref = ?") + +qUnpaidRefs :: Query +qUnpaidRefs = + mkQuery $ + "SELECT i.provider, ci.provider_ref FROM @invoices i " + <> "JOIN @badge_code_invoices ci ON ci.invoice_id = i.invoice_id " + <> "WHERE i.status <> 'paid' AND i.created_at >= ? " + <> "ORDER BY i.created_at" + +qCodeHashExists :: Query +qCodeHashExists = mkQuery "SELECT 1 FROM @badge_codes WHERE code_hash = ? LIMIT 1" + +unfundedOnly :: Text +unfundedOnly = + "AND NOT EXISTS (SELECT 1 FROM @payments p " + <> "WHERE p.invoice_id = @invoices.invoice_id AND (" + <> "COALESCE(p.amount, 0) > 0 OR p.crypto_paid IS NOT NULL OR p.paid_in_full = 1)) " + +qOverdueInvoices :: Query +qOverdueInvoices = + mkQuery $ + "SELECT @invoices.invoice_id, @invoices.provider, ci.provider_ref, @invoices.created_at FROM @invoices " + <> "JOIN @badge_code_invoices ci ON ci.invoice_id = @invoices.invoice_id " + <> "WHERE status = 'open' AND expires_at < ? " + <> unfundedOnly + <> "ORDER BY @invoices.created_at" + +qExpireOverdue :: Query +qExpireOverdue = + mkQuery $ + "UPDATE @invoices SET status = 'expired', updated_at = ? " + <> "WHERE status = 'open' AND expires_at < ? AND invoice_id = ? " + <> unfundedOnly + <> "AND EXISTS (SELECT 1 FROM @badge_code_invoices ci WHERE ci.invoice_id = @invoices.invoice_id)" + +qCodeHashForInvoice :: Query +qCodeHashForInvoice = + mkQuery $ + "SELECT bc.code_hash FROM @badge_code_invoices ci " + <> "JOIN @badge_codes bc ON bc.badge_code_id = ci.badge_code_id " + <> "WHERE ci.invoice_id = ?" + +-- | SQLite's two-argument MAX is GREATEST in Postgres, where MAX is an aggregate. +largerOf :: Text +#if defined(dbPostgres) +largerOf = "GREATEST" +#else +largerOf = "MAX" +#endif + +-- Once a row is settled it stays settled, so a later pending update cannot overwrite it. +qUpsertPayment :: Query +qUpsertPayment = + mkQuery $ + "INSERT INTO @payments " + <> "(payment_id, invoice_id, provider, provider_ref, amount, currency, crypto_paid, crypto_due, paid_in_full, status, created_at, updated_at) " + <> "VALUES (?,?,?,?,?,?,?,?,?,?,?,?) " + <> "ON CONFLICT (payment_id) DO UPDATE SET " + <> "amount = " + <> largerOf + <> "(COALESCE(@payments.amount, 0), excluded.amount), " + <> "crypto_paid = CASE WHEN excluded.amount > COALESCE(@payments.amount, 0) OR @payments.crypto_paid IS NULL " + <> "THEN excluded.crypto_paid ELSE @payments.crypto_paid END, " + <> "crypto_due = COALESCE(excluded.crypto_due, @payments.crypto_due), " + <> "paid_in_full = " + <> largerOf + <> "(@payments.paid_in_full, excluded.paid_in_full), " + <> "status = CASE WHEN " + <> alreadySettled + <> " THEN @payments.status ELSE excluded.status END, " + <> "updated_at = CASE WHEN " + <> alreadySettled + <> " THEN @payments.updated_at ELSE excluded.updated_at END" + where + alreadySettled = "@payments.status = '" <> paymentStatusText PSSettled <> "'" + +qUpdateInvoiceStatus :: Query +qUpdateInvoiceStatus = + mkQuery "UPDATE @invoices SET status = ?, updated_at = ? WHERE invoice_id = ? AND status = ?" + +qMarkCodePaid :: Query +qMarkCodePaid = + mkQuery $ + "UPDATE @badge_codes SET code_payment_status = ?, expires_at = ? " + <> "WHERE code_hash = ? AND code_payment_status = ?" + +qBadgePrices :: Query +qBadgePrices = + mkQuery $ + "SELECT price_id, badge_type, month_price, currency, status, created_at " + <> "FROM @badge_prices WHERE status <> 'disabled'" + +qBadgeOffers :: Query +qBadgeOffers = + mkQuery $ + "SELECT offer_id, price_id, months, free_months, discount, status, created_at " + <> "FROM @badge_offers WHERE status <> 'disabled'" + +qSeedBadgePrice :: Query +qSeedBadgePrice = + mkQuery $ + "INSERT INTO @badge_prices (price_id, badge_type, month_price, currency, status, created_at) " + <> "VALUES (?,?,?,?,?,?) ON CONFLICT (price_id) DO NOTHING" + +qSeedBadgeOffer :: Query +qSeedBadgeOffer = + mkQuery $ + "INSERT INTO @badge_offers (offer_id, price_id, months, free_months, discount, status, created_at) " + <> "VALUES (?,?,?,?,?,?,?) ON CONFLICT (offer_id) DO NOTHING" + +providerText :: PaymentProvider -> Text +providerText = \case + PPApple -> "apple" + PPGoogle -> "google" + PPStripe -> "stripe" + PPCrypto -> "crypto" + PPCode -> "code" + PPReceipt -> "receipt" + +textToProvider :: Text -> Maybe PaymentProvider +textToProvider = \case + "apple" -> Just PPApple + "google" -> Just PPGoogle + "stripe" -> Just PPStripe + "crypto" -> Just PPCrypto + "code" -> Just PPCode + "receipt" -> Just PPReceipt + _ -> Nothing + +cryptoCurrencyText :: CryptoCurrency -> Text +cryptoCurrencyText CCBtc = "btc" +cryptoCurrencyText CCXmr = "xmr" + +textToCryptoCurrency :: Text -> Maybe CryptoCurrency +textToCryptoCurrency "btc" = Just CCBtc +textToCryptoCurrency "xmr" = Just CCXmr +textToCryptoCurrency _ = Nothing + +invoiceStatusText :: InvoiceStatus -> Text +invoiceStatusText ISOpen = "open" +invoiceStatusText ISPaid = "paid" +invoiceStatusText ISExpired = "expired" + +textToInvoiceStatus :: Text -> Maybe InvoiceStatus +textToInvoiceStatus "open" = Just ISOpen +textToInvoiceStatus "paid" = Just ISPaid +textToInvoiceStatus "expired" = Just ISExpired +textToInvoiceStatus _ = Nothing + +itemStatusText :: BadgeItemStatus -> Text +itemStatusText BISActive = "active" +itemStatusText BISDeprecated = "deprecated" +itemStatusText BISDisabled = "disabled" + +textToItemStatus :: Text -> Maybe BadgeItemStatus +textToItemStatus "active" = Just BISActive +textToItemStatus "deprecated" = Just BISDeprecated +textToItemStatus "disabled" = Just BISDisabled +textToItemStatus _ = Nothing + +paymentStatusText :: PaymentStatus -> Text +paymentStatusText = \case + PSPending -> "pending" + PSSettled -> "settled" + PSFailed _ -> "failed" + +decodeDiscount :: Maybe Word8 -> Maybe Word8 -> Maybe OfferDiscount +decodeDiscount (Just f) _ = Just (ODFreeMonths f) +decodeDiscount Nothing (Just d) = Just (ODDiscount d) +decodeDiscount Nothing Nothing = Nothing + +discountCols :: OfferDiscount -> (Maybe Word32, Maybe Word32) +discountCols (ODFreeMonths f) = (Just (fromIntegral f), Nothing) +discountCols (ODDiscount d) = (Nothing, Just (fromIntegral d)) + +mkDestination :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ServicePaymentDestination +mkDestination (Just url) _ _ _ = Just (SPDCard CPStripe url) +mkDestination Nothing (Just addr) (Just curTxt) (Just amt) = (\cur -> SPDCrypto cur addr amt) <$> textToCryptoCurrency curTxt +mkDestination _ _ _ _ = Nothing + +destinationCols :: ServicePaymentDestination -> (Maybe Text, Maybe Text, Maybe Text, Maybe Text) +destinationCols (SPDCard _ url) = (Just url, Nothing, Nothing, Nothing) +destinationCols (SPDCrypto cur addr amt) = (Nothing, Just addr, Just (cryptoCurrencyText cur), Just amt) + +note :: Text -> Maybe a -> Either Text a +note ctx = maybe (Left ctx) Right + +type InvoiceCols = + (Text, Text, Text, BadgeType, Word32) + :. (Word32, Word32, Text, Maybe Text, Maybe Text, Maybe Text) + :. (Maybe Text, UTCTime, Text, UTCTime) + :. (Maybe Word32, Maybe Text, Maybe Text, Maybe Int, Maybe Text, Maybe UTCTime) + +mkInvoiceRow :: InvoiceCols -> Either Text InvoiceRow +mkInvoiceRow + ( (invId, providerTxt, providerRef, badgeType, months) + :. (price, amount, currency, url, addr, cryptoCur) + :. (cryptoAmt, expiresAt, statusTxt, createdAt) + :. (pAmount, pCryptoPaid, pCryptoDue, pPaidInFull, pStatus, pUpdatedAt) + ) = do + provider <- note "invoices.provider" (textToProvider providerTxt) + status <- note "invoices.status" (textToInvoiceStatus statusTxt) + destination <- note "invoice payment destination" (mkDestination url addr cryptoCur cryptoAmt) + pure + InvoiceRow + { irInvoiceId = InvoiceId invId, + irProvider = provider, + irProviderRef = providerRef, + irBadgeType = badgeType, + irMonths = fromIntegral months, + irPrice = CurrencyAmount price, + irAmount = CurrencyAmount amount, + irCurrency = currency, + irDestination = destination, + irExpiresAt = expiresAt, + irStatus = status, + irCreatedAt = createdAt, + irPayment = mkPayment pAmount pCryptoPaid pCryptoDue pPaidInFull pStatus pUpdatedAt + } + +mkPayment :: Maybe Word32 -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe UTCTime -> Maybe InvoicePayment +mkPayment amt cryptoPaid cryptoDue paidInFull status updatedAt = + InvoicePayment (CurrencyAmount <$> amt) cryptoPaid cryptoDue (paidInFull == Just 1) <$> status <*> updatedAt + +selectInvoiceRow :: DB.Connection -> Query -> Text -> IO (Maybe InvoiceRow) +selectInvoiceRow db q param = do + rows <- DB.query db q (Only param) + case rows of + [] -> pure Nothing + (row : _) -> either (E.throwIO . StoreDecodeError) (pure . Just) (mkInvoiceRow row) + +type BadgePriceCols = (Text, BadgeType, Word32, Text, Text, UTCTime) + +mkBadgePrice :: BadgePriceCols -> Either Text BadgePrice +mkBadgePrice (priceId, badgeType, monthPrice, currency, statusTxt, createdAt) = do + status <- note "badge_prices.status" (textToItemStatus statusTxt) + pure + BadgePrice + { priceId = BadgePriceId priceId, + badgeType, + monthPrice = CurrencyAmount monthPrice, + currency, + status, + createdAt + } + +type BadgeOfferCols = (Text, Maybe Text, Word32, Maybe Word32, Maybe Word32, Text, UTCTime) + +mkBadgeOffer :: BadgeOfferCols -> Either Text BadgeOffer +mkBadgeOffer (offerId, priceId, months, freeMonths, discountPct, statusTxt, createdAt) = do + status <- note "badge_offers.status" (textToItemStatus statusTxt) + discount <- note "badge_offers discount" (decodeDiscount (fromIntegral <$> freeMonths) (fromIntegral <$> discountPct)) + pure + BadgeOffer + { offerId = BadgeOfferId offerId, + priceId = BadgePriceId <$> priceId, + months = fromIntegral months, + discount, + status, + createdAt + } + +createInvoiceRows :: DBStore -> NewInvoice -> IO (Either CreateError ()) +createInvoiceRows st ni = + (Right <$> withTransaction st (`insertInvoiceRows` ni)) + `E.catch` (pure . Left . classifyCreateError) + +insertInvoiceRows :: DB.Connection -> NewInvoice -> IO () +insertInvoiceRows db NewInvoice {..} = do + let InvoiceId invId = niInvoiceId + CurrencyAmount price = niPrice + CurrencyAmount amount = niAmount + discountAmount = price - amount + (url, addr, cryptoCur, cryptoAmt) = destinationCols niDestination + expiresAt = truncateToSecond niExpiresAt + createdAt = truncateToSecond niCreatedAt + BadgePriceId priceId = niPriceId + offerId = (\(BadgeOfferId o) -> o) <$> niOfferId + months = fromIntegral niMonths :: Word32 + DB.execute + db + qInsertInvoice + ( (invId, providerText niProvider, price, discountAmount, Nothing :: Maybe Word32, amount, niCurrency) + :. (url, addr, cryptoCur, cryptoAmt, expiresAt, invoiceStatusText ISOpen, createdAt, createdAt) + ) + DB.execute + db + qInsertBadgeCode + (DB.Binary niCodeHash, niBadgeType, months, textEncode CPSUnpaid, createdAt) + badgeCodeId <- insertedRowId db + DB.execute + db + qInsertBadgeCodeInvoice + (invId, badgeCodeId, priceId, offerId, niProviderRef, createdAt) + +#if defined(dbPostgres) +classifyCreateError :: DB.SQLError -> CreateError +classifyCreateError e = case constraintViolation e of + Just (UniqueViolation name) + | "code_hash" `T.isInfixOf` nameText -> CECodeConflict + | "provider_ref" `T.isInfixOf` nameText -> CERefConflict + | otherwise -> CEOther (tshow e) + where + nameText = safeDecodeUtf8 name + _ -> CEOther (tshow e) +#else +classifyCreateError :: DB.SQLError -> CreateError +classifyCreateError e + | SQL.sqlError e == SQL.ErrorConstraint = + if "code_hash" `T.isInfixOf` details + then CECodeConflict + else + if "provider_ref" `T.isInfixOf` details + then CERefConflict + else CEOther details + | otherwise = CEOther (tshow e) + where + details = SQL.sqlErrorDetails e +#endif + +getInvoice :: DBStore -> InvoiceId -> IO (Maybe InvoiceRow) +getInvoice st (InvoiceId invId) = withConnection st $ \db -> selectInvoiceRow db qGetInvoice invId + +getInvoiceByProviderRef :: DBStore -> Text -> IO (Maybe InvoiceRow) +getInvoiceByProviderRef st ref = withConnection st $ \db -> selectInvoiceRow db qGetInvoiceByProviderRef ref + +unpaidRefs :: DBStore -> UTCTime -> IO [(Text, Text)] +unpaidRefs st since = withConnection st $ \db -> DB.query db qUnpaidRefs (Only since) + +codeHashExists :: DBStore -> ByteString -> IO Bool +codeHashExists st codeHash = withConnection st $ \db -> + not . null <$> (DB.query db qCodeHashExists (Only (DB.Binary codeHash)) :: IO [Only Int]) + +data OverdueInvoice = OverdueInvoice + { oiInvoiceId :: InvoiceId, + oiProvider :: PaymentProvider, + oiProviderRef :: Text, + oiCreatedAt :: UTCTime + } + deriving (Eq, Show) + +overdueInvoices :: DBStore -> UTCTime -> IO [OverdueInvoice] +overdueInvoices st cutoff = withConnection st $ \db -> do + rows <- DB.query db qOverdueInvoices (Only (truncateToSecond cutoff)) + either (E.throwIO . StoreDecodeError) pure (traverse toOverdue rows) + where + toOverdue (i, providerTxt, oiProviderRef, oiCreatedAt) = case textToProvider providerTxt of + Just oiProvider -> Right OverdueInvoice {oiInvoiceId = InvoiceId i, oiProvider, oiProviderRef, oiCreatedAt} + Nothing -> Left ("invoices.provider: " <> providerTxt) + +-- | Of the given invoices, expire those that are still open, have received no money, and are past their deadline. +expireOverdue :: DBStore -> UTCTime -> [InvoiceId] -> IO [InvoiceId] +expireOverdue st cutoff' invIds = withTransaction st $ \db -> do + let cutoff = truncateToSecond cutoff' + filterM (\(InvoiceId i) -> (> 0) <$> executeChanging db qExpireOverdue (cutoff, cutoff, i)) invIds + +cancelOpenInvoice :: DBStore -> InvoiceId -> UTCTime -> IO Bool +cancelOpenInvoice st invId at = withTransaction st $ \db -> updateInvoiceStatus db invId ISOpen ISExpired at + +readCatalogRows :: DBStore -> IO ([BadgePrice], [BadgeOffer]) +readCatalogRows st = withConnection st $ \db -> do + priceRows <- DB.query_ db qBadgePrices + offerRows <- DB.query_ db qBadgeOffers + prices <- either (E.throwIO . StoreDecodeError) pure (traverse mkBadgePrice priceRows) + offers <- either (E.throwIO . StoreDecodeError) pure (traverse mkBadgeOffer offerRows) + pure (prices, offers) + +seedCatalog :: DBStore -> [BadgePrice] -> [BadgeOffer] -> IO (Int, Int) +seedCatalog st prices offers = withTransaction st $ \db -> do + seededPrices <- sum <$> mapM (seedPrice db) prices + seededOffers <- sum <$> mapM (seedOffer db) offers + pure (seededPrices, seededOffers) + where + seedPrice db BadgePrice {priceId = BadgePriceId pId, badgeType = bType, monthPrice = CurrencyAmount mPrice, currency = cur, status = pStatus, createdAt = at} = + executeChanging db qSeedBadgePrice (pId, bType, mPrice, cur, itemStatusText pStatus, truncateToSecond at) + seedOffer db BadgeOffer {offerId = BadgeOfferId oId, priceId = oPriceId, months = mMonths, discount = disc, status = oStatus, createdAt = at} = + let (freeMonths, discountPct) = discountCols disc + in executeChanging + db + qSeedBadgeOffer + ( oId, + (\(BadgePriceId p) -> p) <$> oPriceId, + fromIntegral mMonths :: Word32, + freeMonths, + discountPct, + itemStatusText oStatus, + truncateToSecond at + ) + +executeChanging :: ToRow q => DB.Connection -> Query -> q -> IO Int +#if defined(dbPostgres) +executeChanging db q params = fromIntegral <$> PSQL.execute db q params +#else +executeChanging db q params = DB.execute db q params >> SQL.changes (DB.conn db) +#endif + +settlementInvoice :: DB.Connection -> InvoiceId -> IO (Maybe InvoiceRow) +settlementInvoice db (InvoiceId invId) = selectInvoiceRow db qGetInvoice invId + +settlementCodeHash :: DB.Connection -> InvoiceId -> IO (Maybe ByteString) +settlementCodeHash db (InvoiceId invId) = do + rows <- DB.query db qCodeHashForInvoice (Only invId) :: IO [Only (Maybe (DB.Binary ByteString))] + pure $ case rows of + (Only codeHash : _) -> DB.fromBinary <$> codeHash + [] -> Nothing + +upsertPayment :: DB.Connection -> InvoiceRow -> PaymentStatus -> CurrencyAmount -> Maybe Text -> Maybe Text -> Bool -> UTCTime -> IO () +upsertPayment db InvoiceRow {irInvoiceId, irProvider, irProviderRef, irCurrency} status (CurrencyAmount amount) cryptoAmount cryptoDue paidInFull at' = + DB.execute + db + qUpsertPayment + ( (invId, invId, providerText irProvider, irProviderRef, amount) + :. (irCurrency, cryptoAmount, cryptoDue, if paidInFull then 1 :: Int else 0, paymentStatusText status, at, at) + ) + where + InvoiceId invId = irInvoiceId + at = truncateToSecond at' + +updateInvoiceStatus :: DB.Connection -> InvoiceId -> InvoiceStatus -> InvoiceStatus -> UTCTime -> IO Bool +updateInvoiceStatus db (InvoiceId invId) observed new at = + (> 0) <$> executeChanging db qUpdateInvoiceStatus (invoiceStatusText new, truncateToSecond at, invId, invoiceStatusText observed) + +markCodePaid :: DB.Connection -> ByteString -> UTCTime -> IO () +markCodePaid db codeHash expiresAt = + DB.execute + db + qMarkCodePaid + (textEncode CPSPaid, truncateToSecond expiresAt, DB.Binary codeHash, textEncode CPSUnpaid) + +newInvoiceId :: IO InvoiceId +newInvoiceId = InvoiceId . safeDecodeUtf8 . BC8.filter (/= '=') . B64U.encode <$> getRandomBytes 16 diff --git a/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs b/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs index e8b62c2d53..c8179d5df2 100644 --- a/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs +++ b/apps/simplex-badge-service/src/BadgeService/Store/Postgres/Migrations.hs @@ -2,7 +2,7 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} -module BadgeService.Store.Postgres.Migrations (badgeServiceSchemaMigrations) where +module BadgeService.Store.Postgres.Migrations (badgeServiceSchemaMigrations, servicePrefix, withPrefix) where import Data.List (sortOn) import Data.Text (Text) @@ -17,19 +17,29 @@ badgeServiceSchemaMigrations = sortOn name $ map migration schemaMigrations schemaMigrations :: [(String, Text, Maybe Text)] schemaMigrations = - [ ("20260806_badge_service_schema", m20260806_badge_service_schema, Just down_m20260806_badge_service_schema) + [ ("20260915_badge_service_schema", m20260915_badge_service_schema, Just down_m20260915_badge_service_schema) ] --- the client tables are in the same database, so the service tables are the same names with this prefix +-- | The client tables share this database, so the service tables are the same names behind a prefix. servicePrefix :: Text servicePrefix = "sx_badge_service_" -m20260806_badge_service_schema :: Text -m20260806_badge_service_schema = +m20260915_badge_service_schema :: Text +m20260915_badge_service_schema = badgeSchema servicePrefix <> withPrefix servicePrefix + -- The payment columns are added to @payments, which badgeSchema owns. crypto_paid, + -- crypto_due and paid_in_full record the provider's own figures: it applies a payment + -- tolerance and adds a network fee after a partial payment, so what is owed and whether + -- an invoice is settled are its verdicts, not amounts recomputable from what we store. [r| +ALTER TABLE @payments ADD COLUMN crypto_paid TEXT; + +ALTER TABLE @payments ADD COLUMN crypto_due TEXT; + +ALTER TABLE @payments ADD COLUMN paid_in_full SMALLINT NOT NULL DEFAULT 0; + CREATE TABLE @badge_codes( badge_code_id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, code_hash BYTEA NOT NULL, @@ -37,6 +47,8 @@ CREATE TABLE @badge_codes( months SMALLINT NOT NULL, code_payment_status TEXT NOT NULL, redeemed_at TIMESTAMPTZ, + expires_at TIMESTAMPTZ, + revoked_at TIMESTAMPTZ, created_at TIMESTAMPTZ NOT NULL, UNIQUE(code_hash) ); @@ -47,22 +59,43 @@ CREATE UNIQUE INDEX @idx_badge_purchases_code ON @badge_purchases(badge_code_id) CREATE TABLE @badge_code_invoices( invoice_id TEXT NOT NULL PRIMARY KEY REFERENCES @invoices ON DELETE CASCADE, + badge_code_id BIGINT NOT NULL REFERENCES @badge_codes, price_id TEXT NOT NULL REFERENCES @badge_prices, offer_id TEXT REFERENCES @badge_offers, - months SMALLINT NOT NULL, + provider_ref TEXT NOT NULL, created_at TIMESTAMPTZ NOT NULL ); CREATE INDEX @idx_badge_code_invoices_offer ON @badge_code_invoices(offer_id); CREATE INDEX @idx_badge_code_invoices_price ON @badge_code_invoices(price_id); + +-- provider_ref is the provider's own id for the invoice; unique so a webhook or poller read +-- resolves a payment to exactly one invoice. +CREATE UNIQUE INDEX @idx_badge_code_invoices_provider_ref ON @badge_code_invoices(provider_ref); +|] + -- Two filters run on every poller pass and neither may read the whole table, or the pass + -- lengthens for as long as the service keeps selling: the expiry sweep, on (status, expires_at), + -- and the read lane, which takes a window of created_at. Status leads the first because it is + -- matched by equality there; the second matches it with <>, which no index can seek, so it seeks + -- the window and filters what little that leaves. + <> withPrefix + servicePrefix + [r| +CREATE INDEX @idx_invoices_status_expires_at ON @invoices(status, expires_at); + +CREATE INDEX @idx_invoices_created ON @invoices(created_at); |] -down_m20260806_badge_service_schema :: Text -down_m20260806_badge_service_schema = +down_m20260915_badge_service_schema :: Text +down_m20260915_badge_service_schema = withPrefix servicePrefix [r| +DROP INDEX @idx_invoices_created; +DROP INDEX @idx_invoices_status_expires_at; + +DROP INDEX @idx_badge_code_invoices_provider_ref; DROP INDEX @idx_badge_code_invoices_offer; DROP INDEX @idx_badge_code_invoices_price; DROP TABLE @badge_code_invoices; diff --git a/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs b/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs index ce08db0c7a..bf022f189c 100644 --- a/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs +++ b/apps/simplex-badge-service/src/BadgeService/Store/SQLite/Migrations.hs @@ -2,7 +2,7 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} -module BadgeService.Store.SQLite.Migrations (badgeServiceSchemaMigrations) where +module BadgeService.Store.SQLite.Migrations (badgeServiceSchemaMigrations, servicePrefix, withPrefix) where import Data.List (sortOn) import Data.Text (Text) @@ -18,19 +18,29 @@ badgeServiceSchemaMigrations = sortOn name $ map migration schemaMigrations schemaMigrations :: [(String, Query, Maybe Query)] schemaMigrations = - [ ("20260806_badge_service_schema", m20260806_badge_service_schema, Just down_m20260806_badge_service_schema) + [ ("20260915_badge_service_schema", m20260915_badge_service_schema, Just down_m20260915_badge_service_schema) ] --- the client tables are in the same database, so the service tables are the same names with this prefix +-- | The client tables share this database, so the service tables are the same names behind a prefix. servicePrefix :: Text servicePrefix = "sx_badge_service_" -m20260806_badge_service_schema :: Query -m20260806_badge_service_schema = +m20260915_badge_service_schema :: Query +m20260915_badge_service_schema = badgeSchema servicePrefix <> withPrefix servicePrefix + -- The payment columns are added to @payments, which badgeSchema owns. crypto_paid, + -- crypto_due and paid_in_full record the provider's own figures: it applies a payment + -- tolerance and adds a network fee after a partial payment, so what is owed and whether + -- an invoice is settled are its verdicts, not amounts recomputable from what we store. [sql| +ALTER TABLE @payments ADD COLUMN crypto_paid TEXT; + +ALTER TABLE @payments ADD COLUMN crypto_due TEXT; + +ALTER TABLE @payments ADD COLUMN paid_in_full INTEGER NOT NULL DEFAULT 0; + CREATE TABLE @badge_codes( badge_code_id INTEGER PRIMARY KEY AUTOINCREMENT, code_hash BLOB NOT NULL, @@ -38,6 +48,8 @@ CREATE TABLE @badge_codes( months INTEGER NOT NULL, code_payment_status TEXT NOT NULL, redeemed_at TEXT, + expires_at TEXT, + revoked_at TEXT, created_at TEXT NOT NULL, UNIQUE(code_hash) ) STRICT; @@ -48,22 +60,43 @@ CREATE UNIQUE INDEX @idx_badge_purchases_code ON @badge_purchases(badge_code_id) CREATE TABLE @badge_code_invoices( invoice_id TEXT NOT NULL PRIMARY KEY REFERENCES @invoices ON DELETE CASCADE, + badge_code_id INTEGER NOT NULL REFERENCES @badge_codes, price_id TEXT NOT NULL REFERENCES @badge_prices, offer_id TEXT REFERENCES @badge_offers, - months INTEGER NOT NULL, + provider_ref TEXT NOT NULL, created_at TEXT NOT NULL ) STRICT; CREATE INDEX @idx_badge_code_invoices_offer ON @badge_code_invoices(offer_id); CREATE INDEX @idx_badge_code_invoices_price ON @badge_code_invoices(price_id); + +-- provider_ref is the provider's own id for the invoice; unique so a webhook or poller read +-- resolves a payment to exactly one invoice. +CREATE UNIQUE INDEX @idx_badge_code_invoices_provider_ref ON @badge_code_invoices(provider_ref); +|] + -- Two filters run on every poller pass and neither may read the whole table, or the pass + -- lengthens for as long as the service keeps selling: the expiry sweep, on (status, expires_at), + -- and the read lane, which takes a window of created_at. Status leads the first because it is + -- matched by equality there; the second matches it with <>, which no index can seek, so it seeks + -- the window and filters what little that leaves. + <> withPrefix + servicePrefix + [sql| +CREATE INDEX @idx_invoices_status_expires_at ON @invoices(status, expires_at); + +CREATE INDEX @idx_invoices_created ON @invoices(created_at); |] -down_m20260806_badge_service_schema :: Query -down_m20260806_badge_service_schema = +down_m20260915_badge_service_schema :: Query +down_m20260915_badge_service_schema = withPrefix servicePrefix [sql| +DROP INDEX @idx_invoices_created; +DROP INDEX @idx_invoices_status_expires_at; + +DROP INDEX @idx_badge_code_invoices_provider_ref; DROP INDEX @idx_badge_code_invoices_offer; DROP INDEX @idx_badge_code_invoices_price; DROP TABLE @badge_code_invoices; diff --git a/apps/simplex-badge-service/src/BadgeService/Waiters.hs b/apps/simplex-badge-service/src/BadgeService/Waiters.hs new file mode 100644 index 0000000000..d074b28185 --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Waiters.hs @@ -0,0 +1,91 @@ +{-# LANGUAGE NamedFieldPuns #-} + +module BadgeService.Waiters (Waiters, Seen, newWaiters, publish, publishPayment, awaitStatus, waitingCount, waitingCountSTM) where + +import Control.Concurrent.STM +import Control.Exception (bracket) +import Control.Monad (forM_, when) +import Data.Map.Strict (Map) +import qualified Data.Map.Strict as Map +import Data.Maybe (fromMaybe, isNothing) +import Data.Text (Text) +import Simplex.Chat.PaymentService.Types (InvoiceId (..), InvoiceStatus) + +-- | wStatus stays Nothing until a publish or a read fills it, so a publish mid-read is not overwritten by the older answer. +data Watch = Watch {wStatus :: TVar (Maybe InvoiceStatus), wPayments :: TVar Int, wRefs :: TVar Int} + +newtype Waiters = Waiters (TVar (Map Text Watch)) + +type Seen = (InvoiceStatus, (Text, Bool)) + +newWaiters :: IO Waiters +newWaiters = Waiters <$> newTVarIO Map.empty + +-- | Call after the settling transaction commits. The reader re-reads the row, so an overwriting publish costs nothing. +publish :: Waiters -> InvoiceId -> InvoiceStatus -> STM () +publish (Waiters wv) (InvoiceId iid) status = do + watches <- readTVar wv + forM_ (Map.lookup iid watches) $ \Watch {wStatus} -> writeTVar wStatus (Just status) + +-- | Call after the commit, for a payment that did not move the status. +publishPayment :: Waiters -> InvoiceId -> STM () +publishPayment (Waiters wv) (InvoiceId iid) = do + watches <- readTVar wv + forM_ (Map.lookup iid watches) $ \Watch {wPayments} -> modifyTVar' wPayments (+ 1) + +subscribe :: Waiters -> InvoiceId -> STM Watch +subscribe (Waiters wv) (InvoiceId iid) = do + watches <- readTVar wv + case Map.lookup iid watches of + Just watch@Watch {wRefs} -> do + modifyTVar' wRefs (+ 1) + pure watch + Nothing -> do + status <- newTVar Nothing + payments <- newTVar 0 + refs <- newTVar 1 + let watch = Watch {wStatus = status, wPayments = payments, wRefs = refs} + writeTVar wv (Map.insert iid watch watches) + pure watch + +release :: Waiters -> InvoiceId -> STM () +release (Waiters wv) (InvoiceId iid) = do + watches <- readTVar wv + forM_ (Map.lookup iid watches) $ \Watch {wRefs} -> do + n <- pred <$> readTVar wRefs + if n <= 0 + then writeTVar wv (Map.delete iid watches) + else writeTVar wRefs n + +-- | Subscribe, then read, then block; reading first would miss a settlement landing in between. +awaitStatus :: Waiters -> InvoiceId -> IO Seen -> Seen -> Int -> IO InvoiceStatus +awaitStatus w iid readSeen seen@(seenStatus, _) usec = + bracket (atomically $ subscribe w iid) (const . atomically $ release w iid) $ \Watch {wStatus, wPayments} -> do + paidAt <- readTVarIO wPayments + current@(currentStatus, _) <- readSeen -- after subscribing, never before + -- a publish that landed between subscribe and this read is the fresher answer, so keep it + atomically $ readTVar wStatus >>= \published -> when (isNothing published) (writeTVar wStatus (Just currentStatus)) + if current /= seen + then pure currentStatus + else do + timer <- registerDelay usec + atomically $ + ( do + published <- readTVar wStatus + payments <- readTVar wPayments + case published of + -- seeded above and only republished, so this stays `Just` while the bracket holds its reference + Just s | s /= seenStatus || payments /= paidAt -> pure s + _ -> retry + ) + `orElse` ( do + readTVar timer >>= check + fromMaybe seenStatus <$> readTVar wStatus + ) + +waitingCount :: Waiters -> IO Int +waitingCount = atomically . waitingCountSTM + +-- | In STM so the poller can block on it changing, letting an arriving browser shorten the sleep it lands in. +waitingCountSTM :: Waiters -> STM Int +waitingCountSTM (Waiters wv) = Map.size <$> readTVar wv diff --git a/apps/simplex-badge-service/src/BadgeService/Web/Server.hs b/apps/simplex-badge-service/src/BadgeService/Web/Server.hs new file mode 100644 index 0000000000..0c742bccf1 --- /dev/null +++ b/apps/simplex-badge-service/src/BadgeService/Web/Server.hs @@ -0,0 +1,741 @@ +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE ScopedTypeVariables #-} + +module BadgeService.Web.Server + ( WebEnv (..), + Limit (..), + newWebEnv, + exportWebapp, + takeToken, + maxBuckets, + maxWebhookBytes, + webApp, + webSettings, + runWebListener, + holdMicros, + readLimit, + ) +where + +import BadgeService.Catalog (PricedOffer (..), priceOffer) +import BadgeService.Config (BTCPayConfig (..), ListenerConfig (..), ServiceConfig (..), SpeedPolicy (..), StripeConfig (..), defaultExpiryMinutes, defaultSessionMinutes) +import BadgeService.Poller (ReadHints, queueReadHint) +import BadgeService.Providers (OrderDraft (..), Provider (..), ProviderError (..), ProviderInvoice (..), WebhookError (..)) +import BadgeService.Store.Invoices (CreateError (..), InvoicePayment (..), InvoiceRow (..), NewInvoice (..), cancelOpenInvoice, codeHashExists, createInvoiceRows, cryptoCurrencyText, getInvoice, getInvoiceByProviderRef, invoiceStatusText, newInvoiceId, paymentHolds, readCatalogRows, textToInvoiceStatus, truncateToSecond) +import BadgeService.Waiters (Seen, Waiters, awaitStatus, publish) +import Control.Concurrent.STM +import qualified Control.Exception as E +import BadgeService.Log (logError, logInfo, logWarn) +import Control.Monad (forM_, when) +import Data.Aeson ((.=)) +import qualified Data.Aeson as J +import qualified Data.Aeson.KeyMap as KM +import Data.Aeson.Types (Pair) +import Data.ByteString (ByteString) +import qualified Data.ByteString as BS +import qualified Data.ByteString.Base64.URL as B64U +import qualified Data.ByteString.Char8 as B +import qualified Data.ByteString.Lazy as LB +import Data.Char (toLower) +import Data.List (find, isPrefixOf, sortOn) +import Data.Map.Strict (Map) +import qualified Data.Map.Strict as Map +import Data.Maybe (fromMaybe) +import Data.String (fromString) +import Data.Text (Text) +import qualified Data.Text as T +import Data.Text.Encoding (decodeUtf8', encodeUtf8) +import Data.Time.Clock (NominalDiffTime, UTCTime, addUTCTime, diffUTCTime, getCurrentTime) +import Data.Word (Word16) +import Network.HTTP.Types (Header, Status, hCacheControl, hContentType, status200, status400, status404, status405, status409, status413, status429, status500, status503) +import Network.Socket (SockAddr (..), hostAddress6ToTuple, hostAddressToTuple) +import Network.Wai +import qualified Network.Wai.Handler.Warp as Warp +import Numeric (showHex) +import Simplex.Chat.Badges.Types (BadgeOfferId (..), BadgePriceId (..)) +import Simplex.Chat.PaymentService.Types (CardProvider (..), CryptoCurrency (..), CurrencyAmount (..), InvoiceId (..), InvoiceStatus (..), PaymentProvider (..), ServicePaymentDestination (..), ServicePaymentMethod (..)) +import Simplex.Messaging.Agent.Store.Common (DBStore) +import Simplex.Messaging.Encoding.String (textEncode) +import Simplex.Messaging.Util (safeDecodeUtf8, tshow) +import System.Directory (canonicalizePath, copyFile, createDirectoryIfMissing, doesDirectoryExist, doesFileExist, listDirectory, removePathForcibly) +import System.FilePath (pathSeparator, takeExtension, ()) +import Text.Read (readMaybe) + +data WebEnv = WebEnv + { weStore :: DBStore, + weConfig :: ServiceConfig, + weWaiters :: Waiters, + weProviders :: [Provider], + weHoldMicros :: Int, + weHints :: ReadHints, + weBuckets :: TVar (Map Text Bucket), + -- | @Nothing@ when no Stripe key is configured, and the pristine @static_dir@ shell is served instead. + weShell :: Maybe LB.ByteString + } + +newWebEnv :: DBStore -> ServiceConfig -> Waiters -> ReadHints -> [Provider] -> IO WebEnv +newWebEnv weStore weConfig weWaiters weHints weProviders = do + weBuckets <- newTVarIO Map.empty + weShell <- prepareShell (listener weConfig) (stripe weConfig) + pure WebEnv {weStore, weConfig, weWaiters, weProviders, weHoldMicros = holdMicros, weHints, weBuckets, weShell} + +listenerConfig :: WebEnv -> ListenerConfig +listenerConfig WebEnv {weConfig} = listener weConfig + +type Respond = Response -> IO ResponseReceived + +-- | Short enough to stay under the idle timeout of any proxy in front of us. +holdMicros :: Int +holdMicros = 30 * 1000000 + +readLimit :: Limit +readLimit = Limit {lmName = "read", lmPerMinute = 60} + +createLimit :: Limit +createLimit = Limit {lmName = "create", lmPerMinute = 5} + +maxBodyBytes :: Int +maxBodyBytes = 8192 + +maxWebhookBytes :: Int +maxWebhookBytes = 64 * 1024 + +sha256Bytes :: Int +sha256Bytes = 32 + +codeHashChars :: Int +codeHashChars = 43 + +data Limit = Limit {lmName :: Text, lmPerMinute :: Int} + deriving (Eq, Show) + +data Bucket = Bucket {bkCount :: Int, bkStarted :: UTCTime} + +limitWindow :: NominalDiffTime +limitWindow = 60 + +maxBuckets :: Int +maxBuckets = 8192 + +reclaim :: UTCTime -> Map Text Bucket -> Map Text Bucket +reclaim now buckets + | Map.size buckets < maxBuckets = buckets + | Map.size live * 2 <= maxBuckets = live + | otherwise = Map.fromList (drop (Map.size live `div` 2) (sortOn (bkCount . snd) (Map.toList live))) + where + live = Map.filter (fresh now) buckets + +fresh :: UTCTime -> Bucket -> Bool +fresh now Bucket {bkStarted} = diffUTCTime now bkStarted < limitWindow + +takeToken :: WebEnv -> Limit -> Text -> IO (Maybe Int) +takeToken WebEnv {weBuckets} Limit {lmName, lmPerMinute} client = do + now <- getCurrentTime + atomically $ do + buckets <- reclaim now <$> readTVar weBuckets + let key = lmName <> "\t" <> client + count bucket = writeTVar weBuckets (Map.insert key bucket buckets) >> pure Nothing + -- write the reclaimed map back here too, or a refused request redoes the filtering every time and the map stays at the limit + refuse seconds = writeTVar weBuckets buckets >> pure (Just seconds) + case Map.lookup key buckets of + Just bucket@Bucket {bkCount, bkStarted} + | fresh now bucket -> + if bkCount < lmPerMinute + then count bucket {bkCount = bkCount + 1} + else refuse (secondsLeft now bkStarted) + _ -> count Bucket {bkCount = 1, bkStarted = now} + where + secondsLeft :: UTCTime -> UTCTime -> Int + secondsLeft now started = max 1 (ceiling (limitWindow - diffUTCTime now started)) + +limited :: WebEnv -> Limit -> Request -> Respond -> IO ResponseReceived -> IO ResponseReceived +limited env limit req respond action = + takeToken env limit (clientKey env req) >>= \case + Nothing -> action + Just seconds -> respond (rateLimited seconds) + +-- | Every line is joined first, so a second header line a caller adds cannot leave its own line the one we read. +clientKey :: WebEnv -> Request -> Text +clientKey env req = fromMaybe (peerText (remoteHost req)) forwarded + where + forwarded + | not (lTrustForwardedFor (listenerConfig env)) = Nothing + | otherwise = case reverse (concatMap entries (requestHeaders req)) of + (ip : _) | isIpAddress ip -> Just ip + _ -> Nothing + entries (name, raw) + | name /= "x-forwarded-for" = [] + | otherwise = either (const []) (filter (not . T.null) . map T.strip . T.splitOn ",") (decodeUtf8' raw) + +isIpAddress :: Text -> Bool +isIpAddress t = isIPv4 t || isIPv6 t + +asciiDigit :: Char -> Bool +asciiDigit c = c >= '0' && c <= '9' + +-- Data.Char.isDigit and isHexDigit accept Unicode digits, which are not addresses. +asciiHexDigit :: Char -> Bool +asciiHexDigit c = asciiDigit c || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F') + +-- | A leading zero is refused, so "010.0.0.1" cannot be a second key for "10.0.0.1". +isIPv4 :: Text -> Bool +isIPv4 t = case T.splitOn "." t of + [a, b, c, d] -> all octet [a, b, c, d] + _ -> False + where + octet s = + not (T.null s) + && T.length s <= 3 + && T.all asciiDigit s + && (T.length s == 1 || T.head s /= '0') + && maybe False (<= 255) (readMaybe (T.unpack s) :: Maybe Int) + +isIPv6 :: Text -> Bool +isIPv6 t + | T.any (== '%') t = False + | otherwise = case T.splitOn "::" t of + [full] -> groupCount True (segments full) == Just 8 + [before, after] -> case (groupCount False (segments before), groupCount True (segments after)) of + (Just b, Just a) -> b + a <= 7 -- "::" stands for at least one omitted group + _ -> False + _ -> False + where + segments s = if T.null s then [] else T.splitOn ":" s + +groupCount :: Bool -> [Text] -> Maybe Int +groupCount endsAddress gs + | null gs = Just 0 + | endsAddress && isIPv4 (last gs) = (+ 2) <$> plainGroups (init gs) + | otherwise = plainGroups gs + where + plainGroups ps = if all hexGroup ps then Just (length ps) else Nothing + hexGroup g = not (T.null g) && T.length g <= 4 && T.all asciiHexDigit g + +peerText :: SockAddr -> Text +peerText = \case + SockAddrInet _ addr -> + let (a, b, c, d) = hostAddressToTuple addr + in T.intercalate "." (map tshowInt [a, b, c, d]) + SockAddrInet6 _ _ addr _ -> + let (a, b, c, d, e, f, g, h) = hostAddress6ToTuple addr + in T.intercalate ":" (map hex16 [a, b, c, d, e, f, g, h]) + SockAddrUnix p -> "unix:" <> T.pack p + where + tshowInt :: Show a => a -> Text + tshowInt = T.pack . show + hex16 :: Word16 -> Text + hex16 w = T.pack (showHex w "") + +apiHeaders :: [Header] +apiHeaders = [(hContentType, "application/json"), (hCacheControl, "no-store")] + +jsonResponse :: Status -> J.Value -> Response +jsonResponse st = responseLBS st apiHeaders . J.encode + +jsonError :: Status -> Text -> Response +jsonError st code = jsonResponse st (J.object ["error" .= code]) + +notFound :: Response +notFound = jsonError status404 "not_found" + +badRequest :: Response +badRequest = jsonError status400 "bad_request" + +catalogChanged :: Response +catalogChanged = jsonError status400 "catalog_changed" + +codeConflict :: Response +codeConflict = jsonError status409 "code_conflict" + +providerUnavailable :: Response +providerUnavailable = jsonError status503 "provider_unavailable" + +rateLimited :: Int -> Response +rateLimited seconds = + responseLBS + status429 + (("Retry-After", B.pack (show seconds)) : apiHeaders) + (J.encode (J.object ["error" .= ("rate_limited" :: Text)])) + +methodNotAllowed :: ByteString -> Response +methodNotAllowed allow = responseLBS status405 (("Allow", allow) : apiHeaders) (J.encode (J.object ["error" .= ("method_not_allowed" :: Text)])) + +internalError :: Response +internalError = jsonError status500 "internal" + +webhookOk, webhookRefused, webhookTooLarge :: Response +webhookOk = webhookResponse status200 +webhookRefused = webhookResponse status400 +webhookTooLarge = webhookResponse status413 + +webhookResponse :: Status -> Response +webhookResponse st = responseLBS st [(hCacheControl, "no-store")] "" + +webApp :: WebEnv -> Application +webApp env req respond = case pathInfo req of + [] | serving -> only "GET" $ case weShell env of + Just shell -> respond (responseLBS status200 shellHeaders shell) + Nothing -> serveStatic env ["index.html"] respond + "assets" : rest | serving -> only "GET" $ serveStatic env ("assets" : rest) respond + ["sw.js"] | serving -> only "GET" $ serveStatic env ["sw.js"] respond + ["api", "invoice"] -> only "POST" $ limited env createLimit req respond $ createInvoiceHandler env req respond + ["api", "invoice", iid] -> only "GET" $ limited env readLimit req respond $ readInvoiceHandler env (InvoiceId iid) req respond + ["api", "invoice", iid, "cancel"] -> only "POST" $ limited env createLimit req respond $ cancelInvoiceHandler env (InvoiceId iid) respond + ["webhooks", "btcpay"] -> only "POST" $ webhookHandler env PPCrypto "POST /webhooks/btcpay" req respond + ["webhooks", "stripe"] -> only "POST" $ webhookHandler env PPStripe "POST /webhooks/stripe" req respond + _ -> respond notFound + where + serving = lServeWebapp (listenerConfig env) + only method action + | requestMethod req == method = action + | otherwise = respond (methodNotAllowed method) + +-- | A @".."@ check would miss separators WAI has already decoded, an absolute path, and a symlink out of the tree. +serveStatic :: WebEnv -> [Text] -> Respond -> IO ResponseReceived +serveStatic env segments respond = + resolveInside (lStaticDir (listenerConfig env)) segments >>= \case + Nothing -> respond notFound + Just (root, file) -> respond (responseFile status200 (staticHeaders root file) file Nothing) + +shellHeaders :: [Header] +shellHeaders = [(hContentType, "text/html; charset=utf-8"), (hCacheControl, "no-cache")] + +publishableKeyMeta :: Text +publishableKeyMeta = "id=\"stripe-publishable-key\" name=\"stripe-publishable-key\" content=\"" + +-- | @Nothing@ (serve the pristine file) when no key is set, no shell is present, or it cannot be read. +prepareShell :: ListenerConfig -> Maybe StripeConfig -> IO (Maybe LB.ByteString) +prepareShell _ Nothing = pure Nothing +prepareShell ListenerConfig {lStaticDir} (Just StripeConfig {sPublishableKey}) = + E.try attempt >>= \case + Right out -> pure out + Left (e :: E.IOException) -> do + logWarn ("could not read the shell in " <> T.pack lStaticDir <> ", serving the pristine one: " <> tshow e) + pure Nothing + where + attempt :: IO (Maybe LB.ByteString) + attempt = do + let shell = lStaticDir "index.html" + present <- doesFileExist shell + if not present + then pure Nothing + else do + -- TIO.readFile would decode in the locale's encoding, which fails outright under a C locale. + bytes <- BS.readFile shell + case decodeUtf8' bytes of + Left e -> do + logWarn ("the shell in " <> T.pack lStaticDir <> " is not valid UTF-8, serving the pristine one: " <> tshow e) + pure Nothing + Right html -> pure (Just (LB.fromStrict (encodeUtf8 (injectPublishableKey sPublishableKey html)))) + +exportWebapp :: ListenerConfig -> Maybe StripeConfig -> IO () +exportWebapp lc@ListenerConfig {lStaticDir, lWebappExportDir} stripeCfg = + forM_ lWebappExportDir $ \out -> do + emptyDir out + copyTree lStaticDir out + prepareShell lc stripeCfg >>= mapM_ (LB.writeFile (out "index.html")) + logInfo ("badge service: exported the webapp to " <> T.pack out) + +-- | Contents only: the directory itself may be a bind or volume mount point that cannot be removed. +emptyDir :: FilePath -> IO () +emptyDir dir = do + createDirectoryIfMissing True dir + entries <- listDirectory dir + forM_ entries (removePathForcibly . (dir )) + +copyTree :: FilePath -> FilePath -> IO () +copyTree src dst = do + isDir <- doesDirectoryExist src + if isDir + then do + createDirectoryIfMissing True dst + listDirectory src >>= mapM_ (\e -> copyTree (src e) (dst e)) + else copyFile src dst + +injectPublishableKey :: Text -> Text -> Text +injectPublishableKey key = T.replace (publishableKeyMeta <> "\"") (publishableKeyMeta <> key <> "\"") + +resolveInside :: FilePath -> [Text] -> IO (Maybe (FilePath, FilePath)) +resolveInside dir segments = either ioFailed id <$> E.try attempt + where + -- a NUL byte in the path makes the calls below throw + ioFailed :: E.IOException -> Maybe (FilePath, FilePath) + ioFailed _ = Nothing + attempt :: IO (Maybe (FilePath, FilePath)) + attempt = do + root <- canonicalizePath dir + file <- canonicalizePath (foldl (\acc s -> acc T.unpack s) root segments) + exists <- doesFileExist file + pure $ if exists && inside root file then Just (root, file) else Nothing + inside :: FilePath -> FilePath -> Bool + inside root file = (root <> [pathSeparator]) `isPrefixOf` file + +-- | The page at @\/@ must not be cached, or a browser would keep asking for assets from a build we no longer have. +staticHeaders :: FilePath -> FilePath -> [Header] +staticHeaders root file = + [ (hContentType, contentTypeFor file), + (hCacheControl, if hashedAsset then "public, max-age=31536000, immutable" else "no-cache") + ] + where + -- read off the resolved path, not the request: `/assets//%2e%2e/%2e%2e/index.html` resolves to the shell + hashedAsset = (root "assets" <> [pathSeparator]) `isPrefixOf` file + +contentTypeFor :: FilePath -> ByteString +contentTypeFor file = case map toLower (takeExtension file) of + ".html" -> "text/html; charset=utf-8" + ".css" -> "text/css; charset=utf-8" + ".js" -> "text/javascript; charset=utf-8" + ".json" -> "application/json" + ".webmanifest" -> "application/manifest+json" + ".svg" -> "image/svg+xml" + ".png" -> "image/png" + ".ico" -> "image/vnd.microsoft.icon" + ".woff2" -> "font/woff2" + ".txt" -> "text/plain; charset=utf-8" + _ -> "application/octet-stream" + +readInvoiceHandler :: WebEnv -> InvoiceId -> Request -> Respond -> IO ResponseReceived +readInvoiceHandler env@WebEnv {weStore} invId req respond = + getInvoice weStore invId >>= \case + Nothing -> respond notFound + Just row -> case holdFor row of + Nothing -> respond (jsonResponse status200 (invoiceView (confirmationsFor env) row)) + Just seen -> do + -- Settlement publishes after it commits, so the row read below is at least as new as whatever woke us. + _ <- awaitStatus (weWaiters env) invId readSeen seen (weHoldMicros env) + getInvoice weStore invId >>= \case + Nothing -> respond notFound + Just row' -> respond (jsonResponse status200 (invoiceView (confirmationsFor env) row')) + where + holdFor :: InvoiceRow -> Maybe Seen + holdFor row@InvoiceRow {irStatus} = case waitParam req of + Just seen | seen == irStatus, seen /= ISPaid, samePayment -> Just (irStatus, paymentMark row) + _ -> Nothing + where + -- The counter a hold watches starts at zero, so a payment recorded before this request arrived cannot wake it. + samePayment = case paidParam req of + Nothing -> True + Just seen -> seen == paymentMark row + readSeen :: IO Seen + readSeen = maybe (ISOpen, ("", False)) (\row -> (irStatus row, paymentMark row)) <$> getInvoice weStore invId + +-- | Monero reports a payment as confirming while its figures are zero, so the verdict counts as much as the figure. +paymentMark :: InvoiceRow -> (Text, Bool) +paymentMark InvoiceRow {irPayment} = + (maybe "" (fromMaybe "" . ipCryptoPaid) irPayment, maybe False ipPaidInFull irPayment) + +-- | The provider is cancelled first, because cancelling our record first would leave an address the buyer can still pay into with nothing watching it. +cancelInvoiceHandler :: WebEnv -> InvoiceId -> Respond -> IO ResponseReceived +cancelInvoiceHandler env@WebEnv {weStore} invId respond = + getInvoice weStore invId >>= \case + Nothing -> respond notFound + Just InvoiceRow {irStatus} | irStatus /= ISOpen -> respond (jsonError status409 "not_open") + Just row | funded row -> respond (jsonError status409 "funded") + Just InvoiceRow {irProvider, irProviderRef} -> case providerNamed env irProvider of + Nothing -> respond providerUnavailable + Just Provider {pCancelInvoice} -> + pCancelInvoice irProviderRef >>= \case + Left (ProviderError e) -> do + logError $ "cancel order " <> irProviderRef <> ": " <> e + respond providerUnavailable + Right () -> finish + where + funded InvoiceRow {irPayment} = maybe False paymentHolds irPayment + finish = do + now <- getCurrentTime + cancelled <- cancelOpenInvoice weStore invId now + when cancelled $ atomically $ publish (weWaiters env) invId ISExpired + getInvoice weStore invId >>= \case + Nothing -> respond notFound + Just row -> respond (jsonResponse status200 (invoiceView (confirmationsFor env) row)) + +paidParam :: Request -> Maybe (Text, Bool) +paidParam req = case lookup "seenPaid" (queryString req) of + Just raw -> (\seen -> (seen, fullParam)) <$> either (const Nothing) Just (decodeUtf8' (fromMaybe "" raw)) + Nothing -> Nothing + where + fullParam = lookup "seenFull" (queryString req) == Just (Just "1") + +waitParam :: Request -> Maybe InvoiceStatus +waitParam req = case lookup "wait" (queryString req) of + Just (Just raw) -> either (const Nothing) textToInvoiceStatus (decodeUtf8' raw) + _ -> Nothing + +-- | Greenfield reports no confirmation count, so this comes from the store's speed policy. +confirmationsFor :: WebEnv -> Maybe Int +confirmationsFor WebEnv {weConfig} = speedPolicyConfirmations . bSpeedPolicy <$> btcpay weConfig + +-- | BTCPay's own store setting, whose numbering is not in speed order. +speedPolicyConfirmations :: SpeedPolicy -> Int +speedPolicyConfirmations = \case + HighSpeed -> 0 + MediumSpeed -> 1 + LowMediumSpeed -> 2 + LowSpeed -> 6 + +invoiceView :: Maybe Int -> InvoiceRow -> J.Value +invoiceView confirmations InvoiceRow {irBadgeType, irMonths, irAmount, irCurrency, irDestination, irExpiresAt, irStatus, irPayment} = + J.object $ + [ "status" .= invoiceStatusText irStatus, + "badgeType" .= (textEncode irBadgeType :: Text), + "months" .= irMonths, + "amount" .= amountJSON irAmount, + "currency" .= irCurrency, + "expiresAt" .= irExpiresAt + ] + <> destinationPairs confirmations irDestination + <> paidPairs + where + paidPairs = maybe [] paymentPairs irPayment + paymentPairs p = + concat + [ maybe [] (\a -> ["amountPaid" .= amountJSON a]) (ipAmount p), + maybe [] (\a -> ["cryptoAmountPaid" .= a]) (ipCryptoPaid p), + maybe [] (\a -> ["cryptoAmountDue" .= a]) (ipCryptoDue p), + ["paidInFull" .= ipPaidInFull p], + ["settledAt" .= ipUpdatedAt p | irStatus == ISPaid] + ] + +destinationPairs :: Maybe Int -> ServicePaymentDestination -> [Pair] +destinationPairs confirmations = \case + SPDCard _ url -> ["clientSecret" .= url] + SPDCrypto currency address cryptoAmount -> + [ "address" .= address, + "cryptoAmount" .= cryptoAmount, + "cryptoCurrency" .= cryptoCurrencyText currency + ] + <> maybe [] (\n -> ["requiredConfirmations" .= n]) confirmations + +amountJSON :: CurrencyAmount -> J.Value +amountJSON (CurrencyAmount a) = J.toJSON a + +data CreateRequest = CreateRequest + { crPriceId :: BadgePriceId, + crOfferId :: Maybe BadgeOfferId, + crMethod :: ServicePaymentMethod, + crCodeHash :: ByteString + } + +createInvoiceHandler :: WebEnv -> Request -> Respond -> IO ResponseReceived +createInvoiceHandler env@WebEnv {weStore} req respond = + readBoundedBody maxBodyBytes req >>= \case + Nothing -> refuse "body over the size limit" badRequest + Just body -> case parseCreateRequest body of + Nothing -> refuse "malformed body" badRequest + Just cr@CreateRequest {crPriceId, crOfferId, crMethod, crCodeHash} -> do + (prices, offers) <- readCatalogRows weStore + case priceOffer prices offers crPriceId crOfferId of + Left reason -> refuse (tshow reason) catalogChanged + Right priced -> + codeHashExists weStore crCodeHash >>= \case + True -> refuse "code hash already sold" codeConflict + False -> case providerFor env crMethod of + Nothing -> refuse ("no provider configured for " <> tshow crMethod) providerUnavailable + Just provider -> createAtProvider env provider cr priced respond + where + refuse :: Text -> Response -> IO ResponseReceived + refuse why response = logInfo ("POST /api/invoice refused: " <> why) >> respond response + +-- | Once the provider call succeeds an invoice exists at BTCPay, and any path below that does not write our rows leaves it stranded. +createAtProvider :: WebEnv -> Provider -> CreateRequest -> PricedOffer -> Respond -> IO ResponseReceived +createAtProvider WebEnv {weStore, weConfig} provider CreateRequest {crPriceId, crOfferId, crMethod, crCodeHash} priced respond = + do + invId <- newInvoiceId + -- truncate once, so the response, the row and the provider get the same value + now <- truncateToSecond <$> getCurrentTime + let expiresAt = addUTCTime (invoiceWindow weConfig crMethod) now + draft = OrderDraft {odAmount = poAmount priced, odCurrency = poCurrency priced} + pCreateInvoice provider crMethod draft >>= \case + Left (ProviderError e) -> failed ("provider refused to create an invoice: " <> e) providerUnavailable + Right ProviderInvoice {piProviderRef, piDestination} -> do + let atProvider = "providerRef " <> piProviderRef + ni = + NewInvoice + { niInvoiceId = invId, + niProviderRef = piProviderRef, + niCodeHash = crCodeHash, + niPriceId = crPriceId, + niOfferId = crOfferId, + niBadgeType = poBadgeType priced, + niMonths = poMonths priced, + niPrice = poPrice priced, + niAmount = poAmount priced, + niCurrency = poCurrency priced, + niProvider = pProvider provider, + niDestination = piDestination, + niExpiresAt = expiresAt, + niCreatedAt = now + } + createInvoiceRows weStore ni >>= \case + Left CECodeConflict -> logInfo ("POST /api/invoice: code hash lost the race, invoice abandoned at the provider (" <> atProvider <> ")") >> respond codeConflict + Left e -> failed ("invoice rows not written, invoice abandoned at the provider (" <> atProvider <> "): " <> tshow e) internalError + Right () -> respond (jsonResponse status200 (createdInvoice invId priced expiresAt piDestination)) + where + failed :: Text -> Response -> IO ResponseReceived + failed why response = logError ("POST /api/invoice failed: " <> why) >> respond response + +createdInvoice :: InvoiceId -> PricedOffer -> UTCTime -> ServicePaymentDestination -> J.Value +createdInvoice (InvoiceId invId) PricedOffer {poBadgeType, poMonths, poAmount, poCurrency} expiresAt destination = + J.object $ + [ "invoiceId" .= invId, + "badgeType" .= (textEncode poBadgeType :: Text), + "months" .= poMonths, + "amount" .= amountJSON poAmount, + "currency" .= poCurrency, + "expiresAt" .= expiresAt + ] + <> destinationPairs Nothing destination + +secondsPerMinute :: Int +secondsPerMinute = 60 + +-- | The expiry shown and stored must come from the same key the provider sets the invoice's real expiry from. +invoiceWindow :: ServiceConfig -> ServicePaymentMethod -> NominalDiffTime +invoiceWindow cfg = \case + SPMCard CPStripe -> minutes (maybe defaultSessionMinutes sSessionMinutes (stripe cfg)) + SPMCrypto _ -> minutes (maybe defaultExpiryMinutes bExpiryMinutes (btcpay cfg)) + where + minutes n = fromIntegral (secondsPerMinute * n) + +providerFor :: WebEnv -> ServicePaymentMethod -> Maybe Provider +providerFor env method = providerNamed env (providerOf method) + +providerNamed :: WebEnv -> PaymentProvider -> Maybe Provider +providerNamed WebEnv {weProviders} provider = find ((== provider) . pProvider) weProviders + +providerOf :: ServicePaymentMethod -> PaymentProvider +providerOf = \case + SPMCard CPStripe -> PPStripe + SPMCrypto _ -> PPCrypto + +-- | Returns the bytes exactly as they arrived, since the webhook signature is over those bytes. +readBoundedBody :: Int -> Request -> IO (Maybe LB.ByteString) +readBoundedBody cap req = go 0 [] + where + go :: Int -> [ByteString] -> IO (Maybe LB.ByteString) + go read' acc = do + chunk <- getRequestBodyChunk req + if BS.null chunk + then pure (Just (LB.fromChunks (reverse acc))) + else + let read'' = read' + BS.length chunk + in if read'' > cap then pure Nothing else go read'' (chunk : acc) + +parseCreateRequest :: LB.ByteString -> Maybe CreateRequest +parseCreateRequest body = case J.decode body of + Just (J.Object o) -> do + crPriceId <- BadgePriceId <$> textField o "priceId" + crOfferId <- offerField o + crMethod <- methodFromText =<< textField o "method" + crCodeHash <- parseCodeHash =<< textField o "codeHash" + pure CreateRequest {crPriceId, crOfferId, crMethod, crCodeHash} + _ -> Nothing + where + textField o k = case KM.lookup k o of + Just (J.String t) | not (T.null t) -> Just t + _ -> Nothing + offerField o = case KM.lookup "offerId" o of + Nothing -> Just Nothing + Just J.Null -> Just Nothing + Just (J.String t) | not (T.null t) -> Just (Just (BadgeOfferId t)) + _ -> Nothing + +methodFromText :: Text -> Maybe ServicePaymentMethod +methodFromText = \case + "card" -> Just (SPMCard CPStripe) + "btc" -> Just (SPMCrypto CCBtc) + "xmr" -> Just (SPMCrypto CCXmr) + _ -> Nothing + +-- | The last character of a 43-character base64 string has two bits no digest byte uses, so a lax +-- decoder would accept four spellings of the same digest, which the re-encode check rejects. +parseCodeHash :: Text -> Maybe ByteString +parseCodeHash t + | T.length t /= codeHashChars = Nothing + | otherwise = case B64U.decode (encodeUtf8 (t <> "=")) of + Right bytes | BS.length bytes == sha256Bytes, canonical bytes == t -> Just bytes + _ -> Nothing + where + canonical = T.filter (/= '=') . safeDecodeUtf8 . B64U.encode + +-- | A provider retries a delivery it sees fail, so anything thrown below is caught and answered 200 anyway. +webhookHandler :: WebEnv -> PaymentProvider -> Text -> Request -> Respond -> IO ResponseReceived +webhookHandler env@WebEnv {weStore, weHints} provider route req respond = + E.try deliver >>= \case + Right received -> pure received + Left e -> case E.fromException e of + Just async' -> E.throwIO (async' :: E.SomeAsyncException) + Nothing -> do + logError (route <> ": the delivery could not be handled, so no read was queued: " <> tshow (e :: E.SomeException)) + respond webhookOk + where + deliver :: IO ResponseReceived + deliver = case providerNamed env provider of + Nothing -> do + logWarn (route <> ": no " <> tshow provider <> " adapter is configured, so every delivery is refused") + respond webhookRefused + Just p -> + readBoundedBody maxWebhookBytes req >>= \case + Nothing -> logInfo (route <> ": body over the " <> tshow maxWebhookBytes <> "-byte cap") >> respond webhookTooLarge + Just body -> do + now <- getCurrentTime + -- a provider signs the exact bytes it sent, so parsing and re-encoding here would fail the signature on every event + case pVerifyWebhook p now (requestHeaders req) (LB.toStrict body) of + Left (WebhookError e) -> refuse e + Left (WebhookStale e) -> logWarn (route <> " refused: " <> e) >> respond webhookRefused + Right Nothing -> ignore body "nothing this service acts on" + Right (Just ref) -> resolve body ref + refuse :: Text -> IO ResponseReceived + refuse why = logInfo (route <> " refused: " <> why) >> respond webhookRefused + ignore :: LB.ByteString -> Text -> IO ResponseReceived + ignore body why = logEvent body why >> respond webhookOk + logEvent :: LB.ByteString -> Text -> IO () + logEvent body what = case eventTypeOf body of + Just t -> logInfo (route <> ": " <> t <> ", " <> what) + Nothing -> logWarn (route <> ": " <> noEventType <> ", " <> what) + noEventType :: Text + noEventType = "a verified payload with no readable \"type\"" + resolve :: LB.ByteString -> Text -> IO ResponseReceived + resolve body ref = + getInvoiceByProviderRef weStore ref >>= \case + Nothing -> ignore body ("no invoice holds provider_ref " <> ref) + Just InvoiceRow {irProvider} + -- provider_ref is unique table-wide, not per provider, so without this a collision could credit the wrong order + | irProvider /= provider -> ignore body ("provider_ref " <> ref <> " belongs to " <> tshow irProvider) + | otherwise -> queue body ref + queue :: LB.ByteString -> Text -> IO ResponseReceived + queue body ref = do + queued <- queueReadHint weHints ref + if queued + then logEvent body ("queued a read of " <> ref) + else -- not an error, because the next pass finds this invoice anyway + logWarn (route <> ": " <> fromMaybe noEventType (eventTypeOf body) <> ", the read queue is full, so the read of " <> ref <> " waits for the next pass") + respond webhookOk + +-- | For the log only. A rename of the @type@ field would make every delivery look successful. +eventTypeOf :: LB.ByteString -> Maybe Text +eventTypeOf body = case J.decode body of + Just (J.Object o) | Just (J.String t) <- KM.lookup "type" o -> Just t + _ -> Nothing + +webSettings :: ListenerConfig -> Warp.Settings +webSettings ListenerConfig {lHost, lPort} = + Warp.setHost (fromString (T.unpack lHost)) + . Warp.setPort lPort + . Warp.setOnExceptionResponse (const internalError) + $ Warp.defaultSettings + +runWebListener :: WebEnv -> IO () +runWebListener env = do + warnIfHeaderTrustIsExposed (listenerConfig env) + Warp.runSettings (webSettings (listenerConfig env)) (webApp env) + +warnIfHeaderTrustIsExposed :: ListenerConfig -> IO () +warnIfHeaderTrustIsExposed ListenerConfig {lHost, lTrustForwardedFor} = + when (lTrustForwardedFor && not (isLoopbackHost lHost)) $ + logWarn ("badge service: trust_forwarded_for is on and the listener binds " <> lHost <> "; every caller can then choose its own rate limit bucket unless a proxy sets the header") + +isLoopbackHost :: Text -> Bool +isLoopbackHost h = h `elem` ["127.0.0.1", "::1", "localhost"] diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/invoice-expired.json b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-expired.json new file mode 100644 index 0000000000..7f5cee8aab --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-expired.json @@ -0,0 +1,36 @@ +{ + "_fixture": "POST /api/v1/stores/{storeId}/invoices and GET .../invoices/{invoiceId} -- InvoiceData with status Expired -- the payment window closed -- from BTCPay's DOCUMENTED Greenfield schema (BTCPay 2.x naming). NOT captured from a live instance; replace `response` with a recorded body and rewrite this line. The fake patches `id`, `status` and `additionalStatus`; everything else is served as written here.", + "response": { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": ["BTC-CHAIN"], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "id": "GmpP7VDp3jj7HZeJVQpSNP", + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/GmpP7VDp3jj7HZeJVQpSNP", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "Expired", + "additionalStatus": "None", + "availableStatusesForManualMarking": ["Settled", "Invalid"], + "archived": false + } +} diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/invoice-invalid.json b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-invalid.json new file mode 100644 index 0000000000..d1edee72a0 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-invalid.json @@ -0,0 +1,36 @@ +{ + "_fixture": "POST /api/v1/stores/{storeId}/invoices and GET .../invoices/{invoiceId} -- InvoiceData with status Invalid -- the invoice was marked invalid, which this design treats as expired -- from BTCPay's DOCUMENTED Greenfield schema (BTCPay 2.x naming). NOT captured from a live instance; replace `response` with a recorded body and rewrite this line. The fake patches `id`, `status` and `additionalStatus`; everything else is served as written here.", + "response": { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": ["BTC-CHAIN"], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "id": "GmpP7VDp3jj7HZeJVQpSNP", + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/GmpP7VDp3jj7HZeJVQpSNP", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "Invalid", + "additionalStatus": "None", + "availableStatusesForManualMarking": ["Settled", "Invalid"], + "archived": false + } +} diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-alien-method.json b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-alien-method.json new file mode 100644 index 0000000000..3339eb44a8 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-alien-method.json @@ -0,0 +1,133 @@ +{ + "_fixture": "The same list response carrying an invoice paid over Lightning (BTC-LN), which this build does not know: switching Lightning on at the store is all it takes. Hand-written from the documented schema. The alien entry must be SKIPPED and the healthy one in the SAME response must still settle.", + "response": [ + { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": [ + "BTC-CHAIN" + ], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "id": "LightningInvoiceRefDD", + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/LightningInvoiceRefDD", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "Settled", + "additionalStatus": "None", + "availableStatusesForManualMarking": [ + "Settled", + "Invalid" + ], + "archived": false, + "paymentMethods": [ + { + "paymentMethodId": "BTC-LN", + "currency": "BTC", + "destination": "lnbc500u1pexampleinvoicebolt11string", + "paymentLink": "lightning:lnbc500u1pexampleinvoicebolt11string", + "rate": "108000.12", + "paymentMethodPaid": "0.00050000", + "totalPaid": "9.99999999", + "due": "0.00000000", + "amount": "0.00050000", + "networkFee": "0.00000500", + "activated": true, + "payments": [ + { + "id": "d7a41e0b93c85f26a1804dbe73f52c9a6081ef34d25b7a90c6183fe45b027dac", + "receivedDate": 1700003600, + "value": "0.00050000", + "fee": "0.00000000", + "status": "Settled", + "destination": "lnbc500u1pexampleinvoicebolt11string" + } + ], + "additionalData": {} + } + ] + }, + { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": [ + "BTC-CHAIN" + ], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "id": "SettledInvoiceRefAAAA", + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/SettledInvoiceRefAAAA", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "Settled", + "additionalStatus": "None", + "availableStatusesForManualMarking": [ + "Settled", + "Invalid" + ], + "archived": false, + "paymentMethods": [ + { + "paymentMethodId": "BTC-CHAIN", + "currency": "BTC", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq", + "paymentLink": "bitcoin:bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq?amount=0.00050000", + "rate": "108000.12", + "paymentMethodPaid": "0.00050000", + "totalPaid": "9.99999999", + "due": "0.00000000", + "amount": "0.00050000", + "networkFee": "0.00000500", + "activated": true, + "payments": [ + { + "id": "8e3a1f0c9d2b4a5768f90e1c2d3b4a5968f70e1c2d3b4a5968f70e1c2d3b4a59-0", + "receivedDate": 1700003600, + "value": "0.00050000", + "fee": "0.00000000", + "status": "Settled", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq" + } + ], + "additionalData": {} + } + ] + } + ] +} diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-alien-status.json b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-alien-status.json new file mode 100644 index 0000000000..28aad30892 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-alien-status.json @@ -0,0 +1,133 @@ +{ + "_fixture": "The same list response carrying an invoice whose `status` this build does not know -- the store enumerates every invoice, ours and not. Hand-written from the documented schema, since a real BTCPay will not produce a status on demand. The alien entry must be SKIPPED and the healthy one in the SAME response must still settle.", + "response": [ + { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": [ + "BTC-CHAIN" + ], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "id": "AlienStatusInvoiceRef", + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/AlienStatusInvoiceRef", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "Frobnicated", + "additionalStatus": "None", + "availableStatusesForManualMarking": [ + "Settled", + "Invalid" + ], + "archived": false, + "paymentMethods": [ + { + "paymentMethodId": "BTC-CHAIN", + "currency": "BTC", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq", + "paymentLink": "bitcoin:bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq?amount=0.00050000", + "rate": "108000.12", + "paymentMethodPaid": "0.00050000", + "totalPaid": "9.99999999", + "due": "0.00000000", + "amount": "0.00050000", + "networkFee": "0.00000500", + "activated": true, + "payments": [ + { + "id": "8e3a1f0c9d2b4a5768f90e1c2d3b4a5968f70e1c2d3b4a5968f70e1c2d3b4a59-0", + "receivedDate": 1700003600, + "value": "0.00050000", + "fee": "0.00000000", + "status": "Settled", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq" + } + ], + "additionalData": {} + } + ] + }, + { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": [ + "BTC-CHAIN" + ], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "id": "SettledInvoiceRefAAAA", + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/SettledInvoiceRefAAAA", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "Settled", + "additionalStatus": "None", + "availableStatusesForManualMarking": [ + "Settled", + "Invalid" + ], + "archived": false, + "paymentMethods": [ + { + "paymentMethodId": "BTC-CHAIN", + "currency": "BTC", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq", + "paymentLink": "bitcoin:bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq?amount=0.00050000", + "rate": "108000.12", + "paymentMethodPaid": "0.00050000", + "totalPaid": "9.99999999", + "due": "0.00000000", + "amount": "0.00050000", + "networkFee": "0.00000500", + "activated": true, + "payments": [ + { + "id": "8e3a1f0c9d2b4a5768f90e1c2d3b4a5968f70e1c2d3b4a5968f70e1c2d3b4a59-0", + "receivedDate": 1700003600, + "value": "0.00050000", + "fee": "0.00000000", + "status": "Settled", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq" + } + ], + "additionalData": {} + } + ] + } + ] +} diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-no-id.json b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-no-id.json new file mode 100644 index 0000000000..9a8ed8c97f --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-no-id.json @@ -0,0 +1,132 @@ +{ + "_fixture": "A list response carrying an entry with no `id`. Hand-written from the documented schema, where `id` is required. This must FAIL the pass: an invoice the pass cannot even name has no ref to skip and none to log.", + "response": [ + { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": [ + "BTC-CHAIN" + ], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "id": "SettledInvoiceRefAAAA", + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/SettledInvoiceRefAAAA", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "Settled", + "additionalStatus": "None", + "availableStatusesForManualMarking": [ + "Settled", + "Invalid" + ], + "archived": false, + "paymentMethods": [ + { + "paymentMethodId": "BTC-CHAIN", + "currency": "BTC", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq", + "paymentLink": "bitcoin:bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq?amount=0.00050000", + "rate": "108000.12", + "paymentMethodPaid": "0.00050000", + "totalPaid": "9.99999999", + "due": "0.00000000", + "amount": "0.00050000", + "networkFee": "0.00000500", + "activated": true, + "payments": [ + { + "id": "8e3a1f0c9d2b4a5768f90e1c2d3b4a5968f70e1c2d3b4a5968f70e1c2d3b4a59-0", + "receivedDate": 1700003600, + "value": "0.00050000", + "fee": "0.00000000", + "status": "Settled", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq" + } + ], + "additionalData": {} + } + ] + }, + { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": [ + "BTC-CHAIN" + ], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/x", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "Settled", + "additionalStatus": "None", + "availableStatusesForManualMarking": [ + "Settled", + "Invalid" + ], + "archived": false, + "paymentMethods": [ + { + "paymentMethodId": "BTC-CHAIN", + "currency": "BTC", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq", + "paymentLink": "bitcoin:bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq?amount=0.00050000", + "rate": "108000.12", + "paymentMethodPaid": "0.00050000", + "totalPaid": "9.99999999", + "due": "0.00000000", + "amount": "0.00050000", + "networkFee": "0.00000500", + "activated": true, + "payments": [ + { + "id": "8e3a1f0c9d2b4a5768f90e1c2d3b4a5968f70e1c2d3b4a5968f70e1c2d3b4a59-0", + "receivedDate": 1700003600, + "value": "0.00050000", + "fee": "0.00000000", + "status": "Settled", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq" + } + ], + "additionalData": {} + } + ] + } + ] +} diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-no-payment-methods.json b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-no-payment-methods.json new file mode 100644 index 0000000000..02ffeed945 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list-no-payment-methods.json @@ -0,0 +1,43 @@ +{ + "_fixture": "A list response with `paymentMethods` ABSENT, which is what a server that did not honour includePaymentMethods sends. Hand-written from the documented schema. This must FAIL the pass: skipping it would answer `Right []` and report health for as long as nothing ever settled.", + "response": [ + { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": [ + "BTC-CHAIN" + ], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "id": "NoMethodsInvoiceRefEE", + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/NoMethodsInvoiceRefEE", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "Settled", + "additionalStatus": "None", + "availableStatusesForManualMarking": [ + "Settled", + "Invalid" + ], + "archived": false + } + ] +} diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list.json b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list.json new file mode 100644 index 0000000000..95d477f14f --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-list.json @@ -0,0 +1,188 @@ +{ + "_fixture": "GET /api/v1/stores/{storeId}/invoices?includePaymentMethods=true&startDate=... -- InvoiceData[] with the payment methods inline, from BTCPay's DOCUMENTED Greenfield schema. NOT captured from a live instance; replace `response` with a recorded body and rewrite this line. Three invoices: one Settled, one Processing, and one New with nothing received -- the last of which the pass must report as unmoved rather than omit by accident.", + "response": [ + { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": [ + "BTC-CHAIN" + ], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "id": "SettledInvoiceRefAAAA", + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/SettledInvoiceRefAAAA", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "Settled", + "additionalStatus": "None", + "availableStatusesForManualMarking": [ + "Settled", + "Invalid" + ], + "archived": false, + "paymentMethods": [ + { + "paymentMethodId": "BTC-CHAIN", + "currency": "BTC", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq", + "paymentLink": "bitcoin:bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq?amount=0.00050000", + "rate": "108000.12", + "paymentMethodPaid": "0.00050000", + "totalPaid": "9.99999999", + "due": "0.00000000", + "amount": "0.00050000", + "networkFee": "0.00000500", + "activated": true, + "payments": [ + { + "id": "8e3a1f0c9d2b4a5768f90e1c2d3b4a5968f70e1c2d3b4a5968f70e1c2d3b4a59-0", + "receivedDate": 1700003600, + "value": "0.00050000", + "fee": "0.00000000", + "status": "Settled", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq" + } + ], + "additionalData": {} + } + ] + }, + { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": [ + "XMR-CHAIN" + ], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "id": "ProcessingInvoiceRefB", + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/ProcessingInvoiceRefB", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "Processing", + "additionalStatus": "None", + "availableStatusesForManualMarking": [ + "Settled", + "Invalid" + ], + "archived": false, + "paymentMethods": [ + { + "paymentMethodId": "XMR-CHAIN", + "currency": "XMR", + "destination": "44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A", + "paymentLink": "monero:44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A?tx_amount=0.32095000", + "rate": "168.25", + "paymentMethodPaid": "0.32095000", + "totalPaid": "9.99999999", + "due": "0.00000000", + "amount": "0.32095000", + "networkFee": "0.00000500", + "activated": true, + "payments": [ + { + "id": "6f2c1b0a9e8d7c6b5a4938271605f4e3d2c1b0a9e8d7c6b5a4938271605f4e3d", + "receivedDate": 1700003000, + "value": "0.32095000", + "fee": "0.00000000", + "status": "Processing", + "destination": "44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A" + } + ], + "additionalData": {} + } + ] + }, + { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": [ + "BTC-CHAIN" + ], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "id": "UntouchedInvoiceRefCC", + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/UntouchedInvoiceRefCC", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "New", + "additionalStatus": "None", + "availableStatusesForManualMarking": [ + "Settled", + "Invalid" + ], + "archived": false, + "paymentMethods": [ + { + "paymentMethodId": "BTC-CHAIN", + "currency": "BTC", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq", + "paymentLink": "bitcoin:bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq?amount=0.00050000", + "rate": "108000.12", + "paymentMethodPaid": "0.00000000", + "totalPaid": "0.00000000", + "due": "0.00050000", + "amount": "0.00050000", + "networkFee": "0.00000500", + "activated": true, + "payments": [], + "additionalData": {} + } + ] + } + ] +} diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/invoice-new.json b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-new.json new file mode 100644 index 0000000000..94df911cf4 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-new.json @@ -0,0 +1,36 @@ +{ + "_fixture": "POST /api/v1/stores/{storeId}/invoices and GET .../invoices/{invoiceId} -- InvoiceData with status New, from BTCPay's DOCUMENTED Greenfield schema (BTCPay 2.x naming). NOT captured from a live instance; replace `response` with a recorded body and rewrite this line. The fake patches `id`, `status` and `additionalStatus`; everything else is served as written here.", + "response": { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": ["BTC-CHAIN"], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "id": "GmpP7VDp3jj7HZeJVQpSNP", + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/GmpP7VDp3jj7HZeJVQpSNP", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "New", + "additionalStatus": "None", + "availableStatusesForManualMarking": ["Settled", "Invalid"], + "archived": false + } +} diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/invoice-processing.json b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-processing.json new file mode 100644 index 0000000000..1dd94d651c --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-processing.json @@ -0,0 +1,36 @@ +{ + "_fixture": "POST /api/v1/stores/{storeId}/invoices and GET .../invoices/{invoiceId} -- InvoiceData with status Processing -- InvoiceProcessing has fired: the payment is seen and is waiting for the confirmations `checkout.speedPolicy` requires -- from BTCPay's DOCUMENTED Greenfield schema (BTCPay 2.x naming). NOT captured from a live instance; replace `response` with a recorded body and rewrite this line. The fake patches `id`, `status` and `additionalStatus`; everything else is served as written here.", + "response": { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": ["BTC-CHAIN"], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "id": "GmpP7VDp3jj7HZeJVQpSNP", + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/GmpP7VDp3jj7HZeJVQpSNP", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "Processing", + "additionalStatus": "None", + "availableStatusesForManualMarking": ["Settled", "Invalid"], + "archived": false + } +} diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/invoice-settled.json b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-settled.json new file mode 100644 index 0000000000..fd80a7296b --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/invoice-settled.json @@ -0,0 +1,36 @@ +{ + "_fixture": "POST /api/v1/stores/{storeId}/invoices and GET .../invoices/{invoiceId} -- InvoiceData with status Settled -- the invoice is paid in full -- from BTCPay's DOCUMENTED Greenfield schema (BTCPay 2.x naming). NOT captured from a live instance; replace `response` with a recorded body and rewrite this line. The fake patches `id`, `status` and `additionalStatus`; everything else is served as written here.", + "response": { + "metadata": {}, + "checkout": { + "speedPolicy": "MediumSpeed", + "paymentMethods": ["BTC-CHAIN"], + "defaultPaymentMethod": null, + "expirationMinutes": 60, + "monitoringMinutes": 4320, + "paymentTolerance": 0.5, + "redirectURL": null, + "redirectAutomatically": false, + "requiresRefundEmail": false, + "defaultLanguage": null + }, + "receipt": { + "enabled": null, + "showQR": null, + "showPayments": null + }, + "id": "GmpP7VDp3jj7HZeJVQpSNP", + "storeId": "BqZKtkeSN9JgLLdCJRJfXQjLwCLDNCVLdxLTTdMzTHnT", + "amount": "54.00", + "currency": "USD", + "type": "Standard", + "checkoutLink": "https://btcpay.example.org/i/GmpP7VDp3jj7HZeJVQpSNP", + "createdTime": 1700000000, + "expirationTime": 1700003600, + "monitoringExpiration": 1700259200, + "status": "Settled", + "additionalStatus": "None", + "availableStatusesForManualMarking": ["Settled", "Invalid"], + "archived": false + } +} diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-btc.json b/apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-btc.json new file mode 100644 index 0000000000..83c03dcfd4 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-btc.json @@ -0,0 +1,29 @@ +{ + "_fixture": "GET /api/v1/stores/{storeId}/invoices/{invoiceId}/payment-methods -- InvoicePaymentMethodDataModel[], from BTCPay's DOCUMENTED Greenfield schema (BTCPay 2.x naming). NOT captured from a live instance; replace `response` with a recorded body and rewrite this line. `totalPaid` is deliberately NOT equal to `paymentMethodPaid` -- at this rate reading the wrong one would report $1,080,001.20 instead of $54.00. The fake patches `paymentMethodPaid`, and serves `payments` as [] when nothing was paid.", + "response": [ + { + "paymentMethodId": "BTC-CHAIN", + "currency": "BTC", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq", + "paymentLink": "bitcoin:bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq?amount=0.00050000", + "rate": "108000.12", + "paymentMethodPaid": "0.00050000", + "totalPaid": "9.99999999", + "due": "0.00000000", + "amount": "0.00050000", + "networkFee": "0.00000500", + "activated": true, + "payments": [ + { + "id": "8e3a1f0c9d2b4a5768f90e1c2d3b4a5968f70e1c2d3b4a5968f70e1c2d3b4a59-0", + "receivedDate": 1700003600, + "value": "0.00050000", + "fee": "0.00000000", + "status": "Settled", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq" + } + ], + "additionalData": {} + } + ] +} diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-no-amount.json b/apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-no-amount.json new file mode 100644 index 0000000000..d1c4129ce2 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-no-amount.json @@ -0,0 +1,19 @@ +{ + "_fixture": "GET /api/v1/stores/{storeId}/invoices/{invoiceId}/payment-methods -- a BTC-CHAIN method with no `amount` -- the crypto figure the payment screen renders, absent. Hand-written from the documented schema; a real BTCPay will not produce it on demand. A create that cannot learn where to pay must be a ProviderError naming the missing field, and write nothing -- the invoice exists at the provider and is abandoned there.", + "response": [ + { + "paymentMethodId": "BTC-CHAIN", + "currency": "BTC", + "destination": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq", + "paymentLink": "bitcoin:bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq?amount=0.00050000", + "rate": "108000.12", + "paymentMethodPaid": "0.00000000", + "totalPaid": "0.00000000", + "due": "0.00050000", + "networkFee": "0.00000500", + "activated": true, + "payments": [], + "additionalData": {} + } + ] +} diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-no-destination.json b/apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-no-destination.json new file mode 100644 index 0000000000..4dc67e6170 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-no-destination.json @@ -0,0 +1,18 @@ +{ + "_fixture": "GET /api/v1/stores/{storeId}/invoices/{invoiceId}/payment-methods -- a BTC-CHAIN method with no `destination` yet -- the shape a payment method has before it is activated and given an address. Hand-written from the documented schema; a real BTCPay will not produce it on demand. A create that cannot learn where to pay must be a ProviderError naming the missing field, and write nothing -- the invoice exists at the provider and is abandoned there.", + "response": [ + { + "paymentMethodId": "BTC-CHAIN", + "currency": "BTC", + "rate": "108000.12", + "paymentMethodPaid": "0.00000000", + "totalPaid": "0.00000000", + "due": "0.00050000", + "amount": "0.00050000", + "networkFee": "0.00000500", + "activated": false, + "payments": [], + "additionalData": {} + } + ] +} diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-xmr.json b/apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-xmr.json new file mode 100644 index 0000000000..c68256f3d7 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/payment-methods-xmr.json @@ -0,0 +1,29 @@ +{ + "_fixture": "GET /api/v1/stores/{storeId}/invoices/{invoiceId}/payment-methods -- InvoicePaymentMethodDataModel[] for the Monero PLUGIN, from the same documented shape. NOT captured from a live instance -- the plugin is the likeliest of these files to diverge, XMR coming from btcpayserver-monero-plugin rather than BTCPay itself, and the likeliest to need replacing with a recorded body. `totalPaid` is deliberately NOT equal to `paymentMethodPaid`.", + "response": [ + { + "paymentMethodId": "XMR-CHAIN", + "currency": "XMR", + "destination": "44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A", + "paymentLink": "monero:44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A?tx_amount=0.32095000", + "rate": "168.25", + "paymentMethodPaid": "0.32095000", + "totalPaid": "9.99999999", + "due": "0.00000000", + "amount": "0.32095000", + "networkFee": "0.00000500", + "activated": true, + "payments": [ + { + "id": "6f2c1b0a9e8d7c6b5a4938271605f4e3d2c1b0a9e8d7c6b5a4938271605f4e3d", + "receivedDate": 1700003600, + "value": "0.32095000", + "fee": "0.00000000", + "status": "Settled", + "destination": "44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A" + } + ], + "additionalData": {} + } + ] +} diff --git a/apps/simplex-badge-service/test-fixtures/btcpay/store-payment-methods.json b/apps/simplex-badge-service/test-fixtures/btcpay/store-payment-methods.json new file mode 100644 index 0000000000..836303b943 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/btcpay/store-payment-methods.json @@ -0,0 +1,21 @@ +{ + "_fixture": "GET /api/v1/stores/{storeId}/payment-methods -- StorePaymentMethodDataList, from BTCPay's DOCUMENTED Greenfield schema (BTCPay 2.x naming, where a payment method id is CODE-CHAIN). NOT captured from a live instance; replace `response` with a recorded body and rewrite this line.", + "response": [ + { + "paymentMethodId": "BTC-CHAIN", + "enabled": true, + "config": { + "accountDerivation": "xpub661MyMwAqRbcExampleAccountDerivation-[p2wpkh]", + "label": "", + "accountKeyPath": "" + } + }, + { + "paymentMethodId": "XMR-CHAIN", + "enabled": true, + "config": { + "accountIndex": 0 + } + } + ] +} diff --git a/apps/simplex-badge-service/test-fixtures/stripe/intent-canceled.json b/apps/simplex-badge-service/test-fixtures/stripe/intent-canceled.json new file mode 100644 index 0000000000..eafb1c0c61 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/stripe/intent-canceled.json @@ -0,0 +1,12 @@ +{ + "_fixture": "GET /v1/payment_intents/{id} for a canceled intent (status canceled), from Stripe's documented API schema. NOT captured from a live instance; replace `response` with a recorded body and rewrite this line. A canceled intent captured nothing, so amount_received is zero.", + "response": { + "id": "pi_test_canceled", + "object": "payment_intent", + "amount": 5400, + "amount_received": 0, + "currency": "usd", + "status": "canceled", + "latest_charge": null + } +} diff --git a/apps/simplex-badge-service/test-fixtures/stripe/intent-list-cursor-gap.json b/apps/simplex-badge-service/test-fixtures/stripe/intent-list-cursor-gap.json new file mode 100644 index 0000000000..f9e6f9bd21 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/stripe/intent-list-cursor-gap.json @@ -0,0 +1,12 @@ +{ + "_fixture": "GET /v1/payment_intents?created[gte]=&limit=, a page whose LAST row carries no id, from Stripe's documented API schema. NOT captured from a live instance. Served with a small page size so the id-less row ends a page while more remain, leaving no starting_after to continue from. pi_test_a settles, pi_test_c sits on the unreachable next page.", + "response": { + "object": "list", + "has_more": false, + "data": [ + {"id": "pi_test_a", "object": "payment_intent", "status": "succeeded", "amount": 5400, "amount_received": 5400, "currency": "usd"}, + {"object": "payment_intent", "status": "requires_payment_method", "amount": 5400, "amount_received": 0, "currency": "usd"}, + {"id": "pi_test_c", "object": "payment_intent", "status": "canceled", "amount": 5400, "amount_received": 0, "currency": "usd"} + ] + } +} diff --git a/apps/simplex-badge-service/test-fixtures/stripe/intent-list.json b/apps/simplex-badge-service/test-fixtures/stripe/intent-list.json new file mode 100644 index 0000000000..4a0e477218 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/stripe/intent-list.json @@ -0,0 +1,13 @@ +{ + "_fixture": "GET /v1/payment_intents?created[gte]=&limit=, a page of PaymentIntents created within the settle window, from Stripe's documented API schema. NOT captured from a live instance; replace `response` with a recorded body and rewrite this line. List rows carry NO expanded latest_charge, so a succeeded row dates its settlement at read time. Rows exercise the mapping: pi_test_open still open (no signal), pi_test_a succeeded, pi_test_b canceled, and one row with no id for the skip path. The fake serves data verbatim and paginates when _paging is set.", + "response": { + "object": "list", + "has_more": false, + "data": [ + {"id": "pi_test_open", "object": "payment_intent", "status": "requires_payment_method", "amount": 5400, "amount_received": 0, "currency": "usd"}, + {"id": "pi_test_a", "object": "payment_intent", "status": "succeeded", "amount": 5400, "amount_received": 5400, "currency": "usd"}, + {"id": "pi_test_b", "object": "payment_intent", "status": "canceled", "amount": 5400, "amount_received": 0, "currency": "usd"}, + {"object": "payment_intent", "status": "requires_payment_method", "amount": 5400, "amount_received": 0, "currency": "usd"} + ] + } +} diff --git a/apps/simplex-badge-service/test-fixtures/stripe/intent-open.json b/apps/simplex-badge-service/test-fixtures/stripe/intent-open.json new file mode 100644 index 0000000000..ac0cd42547 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/stripe/intent-open.json @@ -0,0 +1,13 @@ +{ + "_fixture": "POST /v1/payment_intents and GET /v1/payment_intents/{id} for an unpaid intent (status requires_payment_method), from Stripe's documented API schema. NOT captured from a live instance; replace `response` with a recorded body and rewrite this line. The fake patches id, client_secret, status, amount_received and currency; everything else is served as written.", + "response": { + "id": "pi_test_open", + "object": "payment_intent", + "amount": 5400, + "amount_received": 0, + "currency": "usd", + "client_secret": "pi_test_open_secret", + "status": "requires_payment_method", + "latest_charge": null + } +} diff --git a/apps/simplex-badge-service/test-fixtures/stripe/intent-succeeded.json b/apps/simplex-badge-service/test-fixtures/stripe/intent-succeeded.json new file mode 100644 index 0000000000..cde8176601 --- /dev/null +++ b/apps/simplex-badge-service/test-fixtures/stripe/intent-succeeded.json @@ -0,0 +1,18 @@ +{ + "_fixture": "GET /v1/payment_intents/{id}?expand[]=latest_charge for a paid intent (status succeeded), from Stripe's documented API schema. NOT captured from a live instance; replace `response` with a recorded body and rewrite this line. The fake patches id, status, amount_received and currency; latest_charge.created dates the settlement.", + "response": { + "id": "pi_test_settled", + "object": "payment_intent", + "amount": 5400, + "amount_received": 5400, + "currency": "usd", + "status": "succeeded", + "latest_charge": { + "id": "ch_test_x", + "object": "charge", + "created": 1700000000, + "paid": true, + "amount_captured": 5400 + } + } +} diff --git a/apps/simplex-badge-service/web/.gitignore b/apps/simplex-badge-service/web/.gitignore new file mode 100644 index 0000000000..939e8224c9 --- /dev/null +++ b/apps/simplex-badge-service/web/.gitignore @@ -0,0 +1,3 @@ +node_modules/ +build/ +dist/ diff --git a/apps/simplex-badge-service/web/README.md b/apps/simplex-badge-service/web/README.md new file mode 100644 index 0000000000..0004b44944 --- /dev/null +++ b/apps/simplex-badge-service/web/README.md @@ -0,0 +1,301 @@ +# SimpleX badge codes — web + +The buyer-facing page for badge codes: choose a tier and duration, pay by +card, BTC or XMR, and receive a code. Design and rationale are in +[`plans/badges-codes/2026-08-27-badge-codes.md`](../../../plans/badges-codes/2026-08-27-badge-codes.md); +the implementation plan for this app is +[`plans/badges-codes/2026-08-28-web-implementation.md`](../../../plans/badges-codes/2026-08-28-web-implementation.md). +This file covers how to build, test and run it. + +No runtime or dev dependencies beyond `typescript` and `@types/node`. +Stripe.js is loaded at runtime from `js.stripe.com`, never bundled or +installed. + +## Build and test + +``` +npm install +npm run build +npm test +``` + +`npm run build` clears `build/` and runs `tsc` into it (gitignored), then +`build.js`, which content-hashes the compiled modules, `styles.css` and the images, +copies them to `dist/assets//`, and writes that hash into +`public/index.html` and `public/sw.js`. `dist/` (gitignored) is the deploy +tree: `index.html`, `sw.js` and `assets//`, nothing else. + +`npm test` compiles and runs the suite (`node --test` over +compiled output) but does **not** run `build.js`. One of those tests is a +tripwire: it recomputes the hash from the freshly compiled modules and fails +if the hash named in `public/index.html` or `public/sw.js` does not match. + +**If you edit anything under `src/`, run `npm run build` and commit the +regenerated `public/index.html` and `public/sw.js`.** Skipping this is the +most likely way to break the suite — `npm test` will tell you, but the fix is +`npm run build`, not the test. + +Both scripts clear `build/` first. `tsc` leaves the output of a module you rename or delete +behind, `build.js` hashes every `.js` it finds there, and the result is a phantom module in the +build that the tripwire would tell you to commit. + +## Layout + +Only `src/main.ts` and `src/stripe.ts` touch `window`, `location`, `history` +or `localStorage`. `src/screens.ts` builds the DOM, and `src/qr.ts` and +`src/icons.ts` reach for `document` only through `createElementNS`, to build +inline SVG. Nothing else outside those five modules touches the DOM. Every other module +is plain TypeScript, tested directly in Node. + +| Module | Owns | +|---|---| +| `domain.ts` | The words the app is written in: steps, themes, order statuses, methods, chains | +| `catalog.ts` | Prices and offers compiled into the page at build time | +| `codes.ts` | The badge code alphabet and check character | +| `parse.ts` | Readers for data the page did not produce, each answering the value or undefined | +| `format.ts` | Money, countdowns and elapsed time as the words a screen prints | +| `store.ts` | The three `localStorage` keys — session, orders and the chosen theme | +| `order.ts` | What an order's state means: what to keep from a response, which screen it selects, and its history row | +| `routing.ts` | Reading `?order=` and the store into what to render | +| `api.ts` | The three routes — create, cancel and read — and the long-poll wait loop, with `fetch`, sleep and the clock injected | +| `flow.ts` | Payment flow control logic — pure, no DOM, no globals | +| `stripe.ts` | Loading Stripe.js, mounting the Payment Element, confirming, and the no-key stand-in | +| `icons.ts` | The badge art, the payment marks and the hamburger, built with `createElementNS`. The brand mark is NOT here: it is a served file | +| `qr.ts` | A QR encoder written for this page, with no dependency, no network and no raster | +| `screens.ts` | Every screen of the spec, and the header and its menu, built node by node — markup is never assigned from a string | +| `main.ts` | Wiring: DOM events in, `flow.ts` calls out, `screens.ts` renders | + +## Running the real service against this build + +**`mock/server.py` is not the service.** The service is the Haskell +executable `simplex-badge-service`, in `apps/simplex-badge-service/`, and +`dist/` is the directory its listener serves. Nothing about the page changes +between the two — the service matches this build, never the reverse. + +``` +# 1. build the page. dist/ is the deploy tree: index.html, sw.js, assets// +cd apps/simplex-badge-service/web +npm install && npm run build +cd ../../.. + +# 2. configuration, from the committed example. Copy it IN +# PLACE, beside the example: that path is the one .gitignore covers, and this +# file is about to hold a real api_key and webhook_secret. +cd apps/simplex-badge-service +cp badge_service.ini.example badge_service.ini +cd ../.. +# static_dir = ./apps/simplex-badge-service/web/dist <- the build above +# [btcpay] = a real store's host, api_key, store_id and webhook_secret, +# or delete the whole section to disable BTC and XMR (the provider-unavailable screen) +# [issuer] = uncomment the section and put a real issuer secret in private_key, +# with its index in index. It has to be a key whose public half already +# ships in the apps: startup checks the secret against `badgePublicKeys` +# at that index, so a fresh `simplex-chat badge keygen` pair is refused. + +# 3. run it. Without --service-config the web listener does not start at all. +# An issuer key is required even though nothing in the checkout path uses it: +# the same process also answers redemption requests, and it refuses to start +# without a key it could sign a credential with. Put it in the ini's [issuer] +# section, or pass --issuer-key-idx and --issuer-secret, which override it. +# `simplex-chat badge keygen` prints a pair. +cabal run simplex-badge-service -- \ + --service-config apps/simplex-badge-service/badge_service.ini +``` + +Then open the `[listener]` host and port — `http://127.0.0.1:8080/` as the +example ships. `static_dir` is relative to the working directory, so run from +the repository root or make it absolute. + +**The executable is the whole badge service, not just this listener.** +`badgeService` starts `simplexChatCore` unconditionally and the web listener +is one lane beside the chat one, so a local run opens or creates a chat +database (`printDbOpts` names the path at startup) and does agent network +work. `--no-address` skips creating the service's contact address on first +start, which a run of the web listener alone does not need. + +*These three steps are read out of `Options.hs`, `Service.hs`, `Config.hs` and +`badge_service.ini.example` rather than from a run — driving them end to end +needs a chat database and a real BTCPay store.* + +What the mock cannot stand in for: + +| | `mock/server.py` | `simplex-badge-service` | +|---|---|---| +| Invoices | invented in memory | created at BTCPay over Greenfield | +| Payment detected by | `POST /control/settle/:id`, an endpoint that exists nowhere else | a poller reading the provider, which is the only thing that carries authority | +| Webhooks | none | `POST /webhooks/btcpay`, signature-verified, a latency hint and nothing more | +| Persistence | none | the chat database, under `sx_badge_service_*` | +| Codes | invented | written unpaid at checkout, marked paid by settlement | + +The Haskell side's own end-to-end coverage of that lane — checkout, payment, +polling, partial payment, expiry, late settlement and replay, all against a +fake Greenfield — is `tests/Bots/BadgeService/WebTests.hs`: + +``` +cabal test --test-options='-m "/SimpleX badge service/"' +``` + +## Running the mock + +`mock/server.py` stands in for the Haskell service, Stripe and BTCPay, so the +whole browser flow can be driven with no real backend. **It is a browser-only +test fixture and not the service**: no signatures, no persistence, no real +money, no provider, and not a specification of what ships. Standard library +only. + +``` +python3 mock/server.py --port 8099 +``` + +It serves `public/` and `dist/`, and adds: + +| Endpoint | Behaviour | +|---|---| +| `POST /api/invoice` | Creates an invoice. Rejects a repeated `codeHash` with `409 code_conflict`. | +| `GET /api/invoice/:id?wait=&seenPaid=
&seenFull=<0\|1>` | Long-polls: holds while the invoice's status is still `` **and** its payment is the one the page says it has rendered, up to `MOCK_HOLD_SECONDS` (default 30). A payment the page has not seen answers at once — the provider's verdict counts as much as the figure, since Monero reports an invoice as confirming while its figures are still zero. A request that omits `seenPaid` holds on the status alone. | +| `POST /api/invoice/:id/cancel` | Expires an open invoice. Refuses a settled one with `409 not_open` and a funded one with `409 funded`, as the service does. | +| `POST /control/settle/:id` | Marks the invoice paid — stands in for a provider webhook. | +| `POST /control/expire/:id` | Marks it expired. | +| `POST /control/partial/:id` | Records a partial payment, half the amount due, and the remainder the provider would still ask for. | +| `POST /control/confirming/:id` | Records the full amount as arrived with the invoice still open — the screen that waits for confirmations. | +| `POST /control/verdict/:id` | Records the provider's verdict alone, with no figure — how Monero reports a payment it is still confirming. | + +### Driving a purchase by hand + +``` +python3 mock/server.py --port 8099 & + +curl -s -X POST http://localhost:8099/api/invoice -H 'content-type: application/json' \ + -d '{"codeHash":"<43 base64url chars>","priceId":"price_supporter","offerId":"offer_3m","method":"btc"}' +# => {"invoiceId": "...", "status": "open", ...} + +curl -s -X POST http://localhost:8099/control/settle/ +# => {"ok": true, "status": "paid"} + +curl -s "http://localhost:8099/api/invoice/?wait=open" +# returns immediately once settled, with status "paid" +``` + +A GET with `wait=open` held while `open` is still current unblocks the +instant `/control/settle` (or `/control/expire`, `/control/partial`) fires, +which is what the page's own wait loop relies on — no polling on a timer. + +Card invoices (`"method":"card"`) get a `clientSecret` in the response +instead of an address; BTC and XMR get `address` and `cryptoAmount`. + +### The Stripe key + +The publishable key lives in a `` element +in `public/index.html`, committed empty. `mock/server.py` substitutes +`$STRIPE_PUBLISHABLE_KEY` into the served page and refuses to start if it is +set to anything but a `pk_`-prefixed key (a secret or restricted key would +otherwise be baked into a page anyone can read). + +With no key set, the card path renders a labelled development stand-in +instead of a Stripe Payment Element: its button does what a successful +confirm does, and settling it calls the mock's `/control/settle` directly. +**This stand-in cannot appear when a key is set** — the code path that +builds it is unreachable once Stripe.js has actually loaded. To see the real +Payment Element, set a test key: + +``` +STRIPE_PUBLISHABLE_KEY=pk_test_... python3 mock/server.py --port 8099 +``` + +## What is not verified here + +The test suite runs in Node, so it asserts structure rather than rendering: +CSS is checked by parsing `styles.css`, `inert` by the attribute, the QR by +decoding the path the encoder produced, and the service worker by driving +`public/sw.js` in a Node `vm`. + +The screens themselves **have** been rendered and reviewed, in both themes at +desktop and phone widths, using headless Chromium driven by Playwright +installed outside this package — the whole purchase was walked through, +settled against the mock, and photographed. Nothing in `package.json` +changed; do the same rather than trusting the suite for anything visual. + +What still cannot be checked anywhere here: + +- A real QR scan with a phone camera. +- Stripe.js loading, mounting a Payment Element and confirming a payment, + which need a browser **and** a Stripe account. The SDK method names come + from the spec and every test drives a fake, so a wrong name stays green here + and fails in production. +- A real service worker installing and serving the precache with the network + genuinely off. +- System fonts: headless Chromium substitutes DejaVu, so type metrics differ + from a real machine. + +Before shipping a change that touches any of these, check it by hand in a +real browser: the wizard's two panels travel together for the length of a +step and neither one blinks out, panels ahead of the buyer are unreachable by +Tab, the menu closes on Escape and hands focus back to its button, both +themes are drawn from the menu's own control as well as from the operating +system, offline reload actually serves the cached build, and (with a test +key) the Payment Element mounts and confirms. + +## What is not implemented + +The web manifest is absent. The design calls it optional: offline support +needs the service worker, not the manifest. + +The asset table is otherwise built. The brand mark is the difference worth +knowing about: `public/img/wordmark-*.svg` and `public/img/symbol-*.svg` are +the official files copied out of `website/` and `media-logos/`, served under +the build hash and drawn by the stylesheet — NOT path data transcribed into a +module. `design.test.ts` compares each one against its source byte for byte, +so a hand-edited mark fails the suite. The one edit is the dark wordmark, +which is the light file with its `#030749` lettering set to white, exactly as +simplex.chat's own dark header shows it. + +## Content Security Policy + +This repository has no CSP — it belongs on the listener that serves the app +in production, not in this app. Without one, in +particular without `script-src https://js.stripe.com`, card payments break +silently and nothing in this test suite would catch it. The policy the spec +specifies: + +``` +default-src 'self'; +script-src 'self' https://js.stripe.com https://*.js.stripe.com; +frame-src https://js.stripe.com https://*.js.stripe.com https://hooks.stripe.com; +connect-src 'self' https://api.stripe.com; +img-src 'self' https://*.stripe.com; +frame-ancestors 'self' https://simplex.chat https://*.simplex.chat +``` + +`frame-ancestors` is what lets the site embed this app in an iframe while every other origin is +refused (clickjacking). Drop the `simplex.chat` entries to forbid embedding entirely. + +## Embedding in the site + +The app runs standalone or inside an iframe on simplex.chat. It detects the frame +(`window.self !== window.top`), points the wordmark at the site's own home on the top window, and +speaks a small theme protocol so one switch drives both (`src/embed.ts`): + +- On load the frame posts `{ type: "simplex-embed-ready", theme }` to its parent. +- The host posts `{ type: "simplex-theme", theme }` (theme is `light` | `dark` | `system`) to drive + the frame; the frame applies it only from a trusted origin (`https://simplex.chat` or a subdomain). +- When the buyer uses the in-frame theme control, the frame echoes the same message back so the + host's own control stays in step. + +The host page hides its own navbar and frames the app full-bleed: + +```html + + +``` diff --git a/apps/simplex-badge-service/web/build.js b/apps/simplex-badge-service/web/build.js new file mode 100644 index 0000000000..41f8003c2b --- /dev/null +++ b/apps/simplex-badge-service/web/build.js @@ -0,0 +1,160 @@ +#!/usr/bin/env node +// The build hash is written back into public/index.html and public/sw.js, so a served shell can never name a build other than the one on disk. + +import { createHash } from "node:crypto"; +import { copyFileSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync } from "node:fs"; +import { fileURLToPath, pathToFileURL } from "node:url"; + +const root = fileURLToPath(new URL("./", import.meta.url)); +export const paths = { + compiled: `${root}build/src`, + stylesheet: `${root}public/styles.css`, + images: `${root}public/img`, + fonts: `${root}public/fonts`, + indexHtml: `${root}public/index.html`, + worker: `${root}public/sw.js`, + site: `${root}dist`, +}; + +/** This is long enough to avoid a collision and short enough to read in a URL. */ +export const HASH_CHARS = 16; +export const ASSET_PATTERN = new RegExp(`/assets/[0-9a-f]{${HASH_CHARS}}/`, "g"); +export const BUILD_PATTERN = /const BUILD = "[0-9a-f]+";/; + +/** The sourceMappingURL comment is removed because the maps are not copied and would 404 on every devtools open. */ +export function served(source) { + return source.replace(/\n?\/\/# sourceMappingURL=.*\n?$/, "\n"); +} + +export function hashOf(files) { + const digest = createHash("sha256"); + for (const [name, content] of [...files].sort((a, b) => a[0].localeCompare(b[0]))) { + digest.update(name); + digest.update("\0"); + digest.update(content); + } + return digest.digest("hex").slice(0, HASH_CHARS); +} + +const IMAGE_TYPES = [".png", ".svg"]; +const FONT_TYPES = [".woff2"]; + +/** Images and fonts sit flat beside styles.css so that a url(hero-light.png) or url(Manrope-Regular.woff2) reference in the stylesheet resolves. */ +/** + * This runs as a classic non-module script so that it executes before the first paint. + * The CSP allows script-src 'self' but not inline, so it must be served as a file rather than inlined. + */ +const INIT_JS = `(function () { + var r = document.documentElement; + try { + var raw = localStorage.getItem("sb.theme.v1"); + var t = raw ? JSON.parse(raw) : "system"; + if (t !== "light" && t !== "dark" && t !== "system") t = "system"; + if (t === "system") r.removeAttribute("data-theme"); else r.setAttribute("data-theme", t); + r.style.colorScheme = (t === "dark" || (t === "system" && matchMedia("(prefers-color-scheme: dark)").matches)) ? "dark" : "light"; + } catch (e) {} + try { + var h = location.hash; + var landing = (h === "" || h === "#" || h === "#/") && location.search.indexOf("order=") < 0; + if (!landing) r.classList.add("sb-booting"); + } catch (e) {} +})(); +`; + +export function assets(compiled = paths.compiled, stylesheet = paths.stylesheet, images = paths.images, fonts = paths.fonts) { + const modules = readdirSync(compiled).filter((f) => f.endsWith(".js")).sort(); + if (modules.length === 0) throw new Error("build: build/src holds no modules — run tsc first"); + const pictures = readdirSync(images).filter((f) => IMAGE_TYPES.some((t) => f.endsWith(t))).sort(); + const faces = readdirSync(fonts).filter((f) => FONT_TYPES.some((t) => f.endsWith(t))).sort(); + return [ + ...modules.map((name) => [name, served(readFileSync(`${compiled}/${name}`, "utf8"))]), + ["styles.css", readFileSync(stylesheet, "utf8")], + ["init.js", INIT_JS], + ...pictures.map((name) => [name, readFileSync(`${images}/${name}`)]), + ...faces.map((name) => [name, readFileSync(`${fonts}/${name}`)]), + ]; +} + +/** This throws rather than returning the text unchanged, because a silent no-op would ship a shell that still names the previous build. */ +export function retarget(text, pattern, replacement, what) { + if (!new RegExp(pattern.source).test(text)) throw new Error(`build: no ${what} to rewrite`); + return text.replace(pattern, replacement); +} + +export function withBuild(html, build) { + return retarget(html, ASSET_PATTERN, `/assets/${build}/`, "asset path"); +} + +export async function prerenderShell() { + const dom = await import("./build/test/stub-dom.js"); + const prevDoc = Object.getOwnPropertyDescriptor(globalThis, "document"); + const prevNav = Object.getOwnPropertyDescriptor(globalThis, "navigator"); + dom.installDocument(); + try { + const screens = await import("./build/src/screens.js"); + const noop = () => {}; + const chromeHtml = screens.chrome({ + theme: "system", onNewPurchase: noop, onHistory: noop, onTheme: noop, onToggle: noop, onHome: noop, + }).node.serialize(); + const landingHtml = screens.landing({ onStart: noop }).serialize(); + return { chromeHtml, appHtml: `
${landingHtml}
` }; + } finally { + if (prevDoc) Object.defineProperty(globalThis, "document", prevDoc); else delete globalThis.document; + if (prevNav) Object.defineProperty(globalThis, "navigator", prevNav); else delete globalThis.navigator; + } +} + +export const SHELL_SLOTS = /** @type {const} */ ([ + ["chrome", /()[\s\S]*?()/], + ["app", /()[\s\S]*?()/], +]); + +/** The markers are kept so the next build can find the slots again. */ +export function injectShell(html, shell) { + let out = html; + for (const [slot, pattern] of SHELL_SLOTS) { + const body = slot === "chrome" ? shell.chromeHtml : shell.appHtml; + out = retarget(out, pattern, (_m, open, close) => `${open}${body}${close}`, `${slot} shell slot`); + } + return out; +} + +export function withBuildId(js, build) { + return retarget(js, BUILD_PATTERN, `const BUILD = "${build}";`, "BUILD constant"); +} + +function put(file, content) { + let before = null; + try { before = readFileSync(file, "utf8"); } catch { /* the file may not exist yet */ } + if (before === content) return false; + writeFileSync(file, content); + return true; +} + +export async function assemble() { + const files = assets(); + const build = hashOf(files); + const shell = await prerenderShell(); + + // The whole site directory is removed first so a stale build hash cannot remain beside the current one. + rmSync(paths.site, { recursive: true, force: true }); + mkdirSync(`${paths.site}/assets/${build}`, { recursive: true }); + for (const [name, content] of files) writeFileSync(`${paths.site}/assets/${build}/${name}`, content); + + // The shell is injected before the build hash is rewritten, because the injected markup carries no asset URLs while the hash rewrite still finds the ones in the head. + const indexSource = withBuild(injectShell(readFileSync(paths.indexHtml, "utf8"), shell), build); + const moved = [ + put(paths.indexHtml, indexSource), + put(paths.worker, withBuildId(readFileSync(paths.worker, "utf8"), build)), + ].some(Boolean); + copyFileSync(paths.indexHtml, `${paths.site}/index.html`); + copyFileSync(paths.worker, `${paths.site}/sw.js`); + + return { build, files: files.length, moved }; +} + +if (process.argv[1] !== undefined && pathToFileURL(process.argv[1]).href === import.meta.url) { + const { build, files, moved } = await assemble(); + console.log(`build ${build}: ${files} files in dist/assets/${build}/, with index.html and sw.js`); + if (moved) console.log("build: public/index.html and public/sw.js now name this build — commit them"); +} diff --git a/apps/simplex-badge-service/web/check-tests.js b/apps/simplex-badge-service/web/check-tests.js new file mode 100644 index 0000000000..101e0262f3 --- /dev/null +++ b/apps/simplex-badge-service/web/check-tests.js @@ -0,0 +1,20 @@ +#!/usr/bin/env node +import fs from 'fs'; +import path from 'path'; + +const testDir = 'build/test'; + +if (!fs.existsSync(testDir)) { + console.error(`Error: test directory not found: ${testDir}`); + process.exit(1); +} + +const files = fs.readdirSync(testDir, { recursive: true }); +const testFiles = files.filter(f => typeof f === 'string' && f.endsWith('.test.js')); + +if (testFiles.length === 0) { + console.error('Error: No test files found in build/test/'); + process.exit(1); +} + +console.log(`Found ${testFiles.length} test file(s)`); diff --git a/apps/simplex-badge-service/web/mock/server.py b/apps/simplex-badge-service/web/mock/server.py new file mode 100644 index 0000000000..af7612a084 --- /dev/null +++ b/apps/simplex-badge-service/web/mock/server.py @@ -0,0 +1,323 @@ +"""Stands in for the Haskell service AND for Stripe and BTCPay, so the whole +browser flow can be driven without any of them. A test fixture: no signatures, +no persistence, no money, and not a specification of the real service. + +Standard library only. Threaded, because the wait endpoint holds a connection. + +Environment: + MOCK_HOLD_SECONDS how long GET /api/invoice/:id?wait= holds (default 30) + STRIPE_PUBLISHABLE_KEY substituted into the + served index.html. Public by design, but still not + committed: unset, the page has NO card form and + renders the development stand-in instead, whose + button does what a successful confirm does and whose + settling is POST /control/settle/ below. + Set it to a `pk_test_...` key to drive the real + Stripe path; a secret key here is refused at start. +""" +import json, os, re, secrets, sys, threading +from datetime import datetime, timedelta, timezone +from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer +from pathlib import Path +from urllib.parse import urlparse, parse_qs + +ROOT = Path(__file__).resolve().parent.parent +HOLD_SECONDS = float(os.environ.get("MOCK_HOLD_SECONDS", "30")) +STRIPE_PUBLISHABLE_KEY = os.environ.get("STRIPE_PUBLISHABLE_KEY", "").strip() +KEY_META = re.compile(r'(]*content=")[^"]*(")') + +CATALOG = { + "price_supporter": {"badgeType": "supporter", "monthPrice": 700}, + "price_legend": {"badgeType": "legend", "monthPrice": 7000}, +} +OFFERS = { + "offer_3m": {"months": 3, "free": 1}, + "offer_12m": {"months": 12, "discount": 50}, + "offer_3m_s": {"months": 3, "free": 1}, + "offer_12m_s": {"months": 12, "discount": 50}, +} +MIME = {".html": "text/html", ".css": "text/css", ".js": "text/javascript", + ".svg": "image/svg+xml", ".json": "application/json", ".webmanifest": "application/manifest+json"} +# BTCPay's default speed policy asks for one confirmation. +REQUIRED_CONFIRMATIONS = 1 +ADDRESSES = {"btc": "bc1qexampleaddress0k3jq2wvcgmqz", "xmr": "48HqK2XmVexampleAddress9fRtWc"} + +LOCK = threading.Lock() +INVOICES = {} +HASHES = {} +EVENTS = {} + + +def now_iso(): + return datetime.now(timezone.utc).replace(microsecond=0).isoformat().replace("+00:00", "Z") + + +def total(price_id, offer_id): + price = CATALOG.get(price_id) + if price is None: + return None + if not offer_id: + return {"months": 1, "amount": price["monthPrice"]} + offer = OFFERS.get(offer_id) + if offer is None: + return None + gross = price["monthPrice"] * offer["months"] + if "free" in offer: + amount = price["monthPrice"] * (offer["months"] - offer["free"]) + else: + amount = (gross * (100 - offer["discount"])) // 100 + return {"months": offer["months"], "amount": amount} + + +def payment_mark(inv): + """The figure the page shows and the verdict it shows it under, which together decide + which screen it is on.""" + return (inv.get("cryptoAmountPaid") or "", inv.get("paidInFull") is True) + + +def swap_event(invoice_id): + """Called under LOCK; returns the event to fire once it is released. A fresh Event for + whoever parks next, so a waiter that read the pre-change status but calls wait() after we + fire this one still catches its own (already-set) event instead of racing a clear() on a + shared one and missing the wake.""" + old = EVENTS.get(invoice_id) + EVENTS[invoice_id] = threading.Event() + return old + + +def public_view(inv): + """What the browser may see. Note what is absent: no code, no code hash — the service + never has the code.""" + view = { + "status": inv["status"], "badgeType": inv["badgeType"], "months": inv["months"], + "amount": inv["amount"], "currency": inv["currency"], + "expiresAt": inv["expiresAt"], + } + for k in ("amountPaid", "cryptoAmountPaid", "cryptoAmountDue", "settledAt"): + if inv.get(k) is not None: + view[k] = inv[k] + if inv.get("paidInFull") is not None: + view["paidInFull"] = inv["paidInFull"] + if inv["method"] == "card": + view["clientSecret"] = inv["clientSecret"] + else: + view["address"] = inv["address"] + view["cryptoAmount"] = inv["cryptoAmount"] + view["cryptoCurrency"] = inv["method"] + view["requiredConfirmations"] = REQUIRED_CONFIRMATIONS + return view + + +def with_publishable_key(html): + """The publishable key is compiled into the page. Here it comes + from the environment, so nothing that could be a real key is ever written + back into public/index.html. Unset leaves the committed empty value, which + is what selects the development stand-in.""" + if not STRIPE_PUBLISHABLE_KEY: + return html + text, found = KEY_META.subn(lambda m: m.group(1) + STRIPE_PUBLISHABLE_KEY + m.group(2), html.decode()) + if found != 1: + raise RuntimeError("mock: the shell has no stripe-publishable-key meta element to fill") + return text.encode() + + +class Handler(BaseHTTPRequestHandler): + protocol_version = "HTTP/1.1" + + def log_message(self, *args): + pass + + def _send(self, status, payload, ctype="application/json"): + body = payload if isinstance(payload, bytes) else json.dumps(payload).encode() + try: + self.send_response(status) + self.send_header("content-type", ctype) + self.send_header("content-length", str(len(body))) + self.send_header("cache-control", "no-store") + self.end_headers() + self.wfile.write(body) + except (BrokenPipeError, ConnectionResetError): + # A client that drops during a long poll leaves the invoice untouched and the page + # reissues on its next load, so there is nothing to retry. + self.close_connection = True + + def _read_json(self): + length = int(self.headers.get("content-length") or 0) + try: + return json.loads(self.rfile.read(length) or b"{}") + except Exception: + return None + + def do_POST(self): + path = urlparse(self.path).path + + if path.startswith("/control/"): + parts = path.strip("/").split("/") + if len(parts) != 3: + return self._send(400, {"error": "bad_request"}) + _, action, invoice_id = parts + with LOCK: + inv = INVOICES.get(invoice_id) + if inv is None: + return self._send(404, {"error": "not_found"}) + if action == "settle": + inv["status"] = "paid" + inv["amountPaid"] = inv["amount"] + inv["settledAt"] = now_iso() + inv["paidInFull"] = True + if inv["method"] != "card": + inv["cryptoAmountPaid"] = inv["cryptoAmount"] + inv["cryptoAmountDue"] = "0.000" + elif action == "expire": + inv["status"] = "expired" + elif action == "confirming": + inv["amountPaid"] = inv["amount"] + inv["paidInFull"] = True + if inv["method"] != "card": + inv["cryptoAmountPaid"] = inv["cryptoAmount"] + inv["cryptoAmountDue"] = "0.000" + elif action == "verdict": + # Monero reports the payment as paid in full while its figures are still zero. + inv["paidInFull"] = True + elif action == "partial": + inv["amountPaid"] = inv["amount"] // 2 + inv["paidInFull"] = False + if inv["method"] != "card": + inv["cryptoAmountPaid"] = "0.734" + inv["cryptoAmountDue"] = "0.752" + else: + return self._send(400, {"error": "bad_request"}) + status = inv["status"] + old_event = swap_event(invoice_id) + if old_event is not None: + old_event.set() + return self._send(200, {"ok": True, "status": status}) + + if path.startswith("/api/invoice/") and path.endswith("/cancel"): + invoice_id = path[len("/api/invoice/"):-len("/cancel")] + with LOCK: + inv = INVOICES.get(invoice_id) + if inv is None: + return self._send(404, {"error": "not_found"}) + if inv["status"] != "open": + return self._send(409, {"error": "not_open"}) + if payment_mark(inv) != ("", False) or inv.get("amountPaid"): + # Cancelling a funded invoice would strand what the buyer already sent. + return self._send(409, {"error": "funded"}) + inv["status"] = "expired" + payload = {"invoiceId": invoice_id, **public_view(inv)} + old_event = swap_event(invoice_id) + if old_event is not None: + old_event.set() + return self._send(200, payload) + + if path == "/api/invoice": + body = self._read_json() + if not body or not isinstance(body.get("codeHash"), str) or not body["codeHash"]: + return self._send(400, {"error": "bad_request"}) + if body.get("method") not in ("card", "btc", "xmr"): + return self._send(400, {"error": "bad_request"}) + with LOCK: + if body["codeHash"] in HASHES: + return self._send(409, {"error": "code_conflict"}) + t = total(body.get("priceId"), body.get("offerId")) + if t is None: + return self._send(400, {"error": "catalog_changed"}) + invoice_id = secrets.token_urlsafe(16) + is_card = body["method"] == "card" + inv = { + "invoiceId": invoice_id, "method": body["method"], "status": "open", + "badgeType": CATALOG[body["priceId"]]["badgeType"], "months": t["months"], + "amount": t["amount"], "currency": "usd", + "expiresAt": (datetime.now(timezone.utc) + timedelta(hours=1)) + .replace(microsecond=0).isoformat().replace("+00:00", "Z"), + "clientSecret": f"cs_test_{secrets.token_hex(12)}" if is_card else None, + "address": None if is_card else ADDRESSES[body["method"]], + "cryptoAmount": None if is_card else "1.482", + } + INVOICES[invoice_id] = inv + HASHES[body["codeHash"]] = invoice_id + EVENTS[invoice_id] = threading.Event() + payload = {"invoiceId": invoice_id, **public_view(inv)} + return self._send(200, payload) + + return self._send(405, {"error": "bad_request"}) + + def do_GET(self): + parsed = urlparse(self.path) + # An empty `seenPaid=` means the page rendered no figure, which differs from the parameter + # being absent, so blank values are kept. + path, query = parsed.path, parse_qs(parsed.query, keep_blank_values=True) + + if path.startswith("/api/invoice/"): + invoice_id = path[len("/api/invoice/"):] + with LOCK: + inv = INVOICES.get(invoice_id) + if inv is None: + return self._send(404, {"error": "not_found"}) + current = inv["status"] + held = payment_mark(inv) + event = EVENTS.get(invoice_id) + wait = (query.get("wait") or [None])[0] + # A payment recorded before this request arrived cannot fire the event this request + # would wait on, so holding then would strand the buyer on the payment screen. + seen = ((query.get("seenPaid") or [""])[0], (query.get("seenFull") or ["0"])[0] == "1") + unseen = "seenPaid" in query and seen != held + if wait is not None and wait == current and not unseen and event is not None: + # The event is never cleared; settle, expire and partial replace it with a fresh + # one under the lock, so a set event always means a change happened after this + # reference was taken. + event.wait(timeout=HOLD_SECONDS) + with LOCK: + inv = INVOICES[invoice_id] + payload = {"invoiceId": invoice_id, **public_view(inv)} + return self._send(200, payload) + + rel = "index.html" if path == "/" else path.lstrip("/") + for base in ("public", "dist"): + base_resolved = (ROOT / base).resolve() + candidate = (base_resolved / rel).resolve() + try: + candidate.relative_to(base_resolved) + except ValueError: + # The path escaped this base directory, so move to the next one. + continue + if candidate.is_file(): + ctype = MIME.get(candidate.suffix, "application/octet-stream") + body = candidate.read_bytes() + if candidate.name == "index.html": + body = with_publishable_key(body) + return self._send(200, body, ctype) + return self._send(404, {"error": "not_found"}) + + +class Server(ThreadingHTTPServer): + daemon_threads = True + + def handle_error(self, request, client_address): + # socketserver's default prints a traceback for a dropped client, which is routine under + # a long poll, so suppress it while letting anything else surface. + if isinstance(sys.exc_info()[1], (BrokenPipeError, ConnectionResetError)): + return + super().handle_error(request, client_address) + + +def main(): + port = 8099 + if "--port" in sys.argv: + port = int(sys.argv[sys.argv.index("--port") + 1]) + if STRIPE_PUBLISHABLE_KEY and not STRIPE_PUBLISHABLE_KEY.startswith("pk_"): + # A secret or restricted key (sk_, rk_) would be written into the page for anyone to read, + # so only a publishable key (pk_) is allowed. + sys.exit("mock: STRIPE_PUBLISHABLE_KEY must be a publishable key (pk_...)") + server = Server(("127.0.0.1", port), Handler) + print(f"mock badge service on http://localhost:{port}", flush=True) + print("stripe: " + (f"publishable key {STRIPE_PUBLISHABLE_KEY[:11]}… — the real card form" + if STRIPE_PUBLISHABLE_KEY + else "no STRIPE_PUBLISHABLE_KEY — the card path renders the development stand-in"), + flush=True) + server.serve_forever() + + +if __name__ == "__main__": + main() diff --git a/apps/simplex-badge-service/web/package-lock.json b/apps/simplex-badge-service/web/package-lock.json new file mode 100644 index 0000000000..4c40bd373f --- /dev/null +++ b/apps/simplex-badge-service/web/package-lock.json @@ -0,0 +1,45 @@ +{ + "name": "simplex-badge-web", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "simplex-badge-web", + "devDependencies": { + "@types/node": "^24.0.0", + "typescript": "^6.0.0" + } + }, + "node_modules/@types/node": { + "version": "24.13.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", + "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "dev": true, + "license": "MIT" + } + } +} diff --git a/apps/simplex-badge-service/web/package.json b/apps/simplex-badge-service/web/package.json new file mode 100644 index 0000000000..eb42e5c0cb --- /dev/null +++ b/apps/simplex-badge-service/web/package.json @@ -0,0 +1,14 @@ +{ + "name": "simplex-badge-web", + "private": true, + "type": "module", + "scripts": { + "build": "rm -rf build && tsc -p tsconfig.json && tsc -p tsconfig.test.json && node build.js", + "test": "rm -rf build && tsc -p tsconfig.json && tsc -p tsconfig.test.json && node check-tests.js && TZ=UTC node --test 'build/test/**/*.test.js'", + "mock": "python3 mock/server.py" + }, + "devDependencies": { + "typescript": "^6.0.0", + "@types/node": "^24.0.0" + } +} diff --git a/apps/simplex-badge-service/web/public/fonts/GT-Walsheim-LC-Bold.woff2 b/apps/simplex-badge-service/web/public/fonts/GT-Walsheim-LC-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..da6193cb449f1280fa6cd847f2788668fbd749a9 GIT binary patch literal 60160 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 literal 0 HcmV?d00001 diff --git a/apps/simplex-badge-service/web/public/img/hero-dark.png b/apps/simplex-badge-service/web/public/img/hero-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..07362c870d6d3ef97dbc81554050c48498ee801f GIT binary patch literal 324524 zcmZsCb980R@^)<7ww+9PV%syZGs(oZZQGjIb~3ST+cv)W-I@2j_m6L_ea=~HuR42I zcRyWKPgQlOf}A)!3=Rws5D>higoqLl5Gc{_&jl33?>kpy=8@bvJ8}kBz-O5Rd2&%ZOoOM9flMlOYKB_uyX6R&O^i5dm zSauuO0|r3IfJtIdutXJ;BtluDjbRVKs{5rUr5B|aoz4)_0hy_nP0hC(r>jk~9hcj$kC-1KP{2@r zM1QVLSSlS5FhQjMTnava??U4k=HMqzW1Itilv zfz0)IciES_4mZ^MZEMY5*Y_ipvG)eWzoBju#B3e-)j68zs1tsorLBp^5h=8gsw}Ha4}r| z6S+LweaHRI{0q$a1=!2#q;`GwHFkF4<=Cavs}9op=bnd+?n@)X8P_MxBOlkt{72c8 zM#|&C{>B;6v)k_YRNFNL5@IK!n!0n}Mu)q;>!;4sx%?+WeJlO5yLPY}X#i6KBC!A= zGbnSa5N}$y4U^Bu1k}dW0p!+LD!a>eAm-K>?BUkN;wGfL=c%pBPP%-zw(~l;?(4wf zwrbNReDudL=2l{r2f4>ZxNZQW$A|rTn-;B9D@0vX>(B9G?JDWT}EnjMRtIl5Pq%S4|mRt!w)kvrS3@71jPuwA# z{F+beSq)wl3%(;e?^Bx|cuw@c06fk^pP-k!fg*n(_8T;XM`uADurd~qlb;av*8cvl z+|>>DWD(92f(@>4dZv&#=TLruWraY`bULbk_X;@FPB?;UCy|U(e&;EqZ&`hLNcia& zhsQ2hu|8@C%p`r5^*E5d@--QvYcUAR+^Yfa#tCq0!c$ z5ooMN{n>B7v2Lg0z9^XA0CfF?sK0sbp0lA9V9h7FhYAZQqbKrhFQ5s}WyL-Le+Als z!D~AK4xvZ~g!s5{2OR9s>b;(+U;F*lE*YIG=y6r#3L1)n&`+?fiO_9y5Qu^lX%<=J z0r}Sf^6?>n;gp^*@$@pj>d;LoW(DEz=GL;(gV-yCL0*6)u%-`hc08J!r;GwLG@;Gd z0GlmIE`(5a7xOUVTHhY`#`A8t2L1YGx_A0Qw=n=4^6wxH`tq=_cHIMsnie10Pcc@O z9JSFnqBvH^Arv-<0@MIkdub?J0U=mmB0|-`>2Q#VD@JSORqswqs~;4HSA({A0@$L{ zSXFd?RRRH%M7~A|^vl`+N z6~`R{_?{3Wl;8L`5=8_m7i1xw`A!&_BpwZ{`wB{cNU$h-`i~_9*^3ju??oF_5RDyi zp{qxDo5RhuKca7V*eNrYN%DzjI^IqxEwV%KQy>!JOhGLal3=k-F16lQXCO&L@->pH zI_d|)Z_$(2SaxU9(8QM;;L$x-llvq%&Ul{FL;C!=#yGJl`VTy{+D%=xyouL$r+g^& zxXyv@y0$8bzrsT1G})17;Fm$St`aTf*xk(yxAkqD@R+@y@L;1-7R#v6UW1tt-9t#G z4ev{bq7Y)_{R-YFKqKhoFYF{<$Wizl1&i2623Bb+sCAdGYxIzIf1XQ!nrPzZ)4=mE zs=YPUr9l_{?|_XFj>&aTAc@h^m4NAh*Khl#GQ5yqc124VwTNlXq^C~s0}fxA>G0lL zPH9Jjz3b;!9}%Qz-2<^Wxr~*xzyM{EPX6|}ZoFoCVU;Qe!mh4hf>1K4NMG@V=IjJR zlJG%53Tae^F~CcJ;$cW3Xo>(SN62DURUC-A%I0V8gL1n^!Gkp}x_E=prR>Q6Y{DT? ze@QYZ!zapu6f=Tgm}hCAMi{}@g71AmJ&=%5_ilOAgH9m zNf`_J0}0_E{otl*5-nsxwk&^)0Q`kuB^Tb4OrDWv+3edC)Kh<&x)QF)M|d<8j}_RuI3IgyaFQ zH2rnGzs-vf6rrlR6XQB^{fTw7AE>}mb~T>|8&q?QfsaUQhwx7b63~wV@4f^z>U9)( zADMZ35!g_epOVBgL1G;c4d3BG<}(@QgWWV|UWk>pa~sjYe9;KkLQu1YaOjmvRtiP} zN>&(pC9C0jDw`O}88$bf7B95T3EVebZl^aXmm&VUIHNcNMm~tec^ej+f@!Z_VZz4N zct6-xOoYSXwE?QWB2ZU*raMOXDqj*qKUHh}e}NPkz^R1A^>76c!R6{$#Hdvei%P=x z0)7M^Tf$7o*M#r}EFp}>8T=}R&a2Ma8p#u^DjCp^Bh_Q6s`Pc%;P^-1F zNQy|(1%k##A3MP8ejv=@%9<^%DwNR(<|n|;p2h+~VRKo?i!l2yYrIC9yq1aL=h=OD;1>XFo-uoq`^~~u+|_|I_YWPQYsN5aPj(Z@3w?#_Yn2p=*{L% z0IAia9*&jd)T4ePHcWLQj=m)k(2`Qk4t1?G@XCXvc{)gJm(~tdElCTAo!pk|H$BY{ zF z<-<`g`X_wV`3rW+#a)Q)zC^!J2E>Dji&fhE6_{wuoFMf4Xzl`uWOUHC990^Txkn{Y zD%U;(glRokv3O#(uRo4P#HoZl;k1@yAel>rY2aE&Rii|IDzZLs%|?Xq2gTSrF_k!Y zJJ~*VaH^(>e;RsI5k%x2F-{Bo7bV)H@gN1RH0VTvh4W_)xZc)E>#v-#*@4AW))AfY5uhJo z@gm}ABPI_yo=g#a;dXuM+ zf*~qqwzR%FtZ~BB2XGA|(~K+7T))tA%#8RR5syoA&qs;jwCPM}p5et+$$P(bu<|my zoKe-a(jfK+(=nrxJ|Qyz&HlXg%5|F3Hg6!VvVsqS!_eFYCZu+UmL}I#P$d$B43^57 zAA5BqZrPzcxk+LqQNBMadt5Ypb=n~B-IS?mTEvSG`MmG^c(9SBYaX5WvNlw zmmh_q&of8F*|7UUeodtz_ONTEAPod;X481rHI9q_2U#=PbDLiwVAR zFEtQFS2)7nEoS>B?nA?IX8Tv$qYOQ8v#kjKLjZ@!NdR9t-2@sjAF>SeZ@qdnH85Td zS+T4xgV7O<4an@J7^7A*DaA$>=xHZwH(~dqDhZf_GkXwZ#6ZspXDpn3z;abIYB=as z3e_K6nuk4%G?CIWlIa&&(9P`P(Of*OH8wwY%U%&XO^lywKCSCIK0ZDklDihPT4BC- zsQ28E_-Bq66Il{~FS!6GsYP|av{23%TC){!nQy|BNuzO0yklEdW&$f|2CAh4Uux4w zCkr|2gZW3A0lh9g>I*&|J zl670yAAHY3CWR(De|q9KYgq5Khl%lU-oj@_@Hu40>lzTdZ(2Cvdmc%dxXWEaS~A}T zr1YeM)6{*kqY@TxN@R%_N8;aG{n@N_7=eNPy)|V^`Fv@@HKI%Vj|&?jCj<2A+_38; zN7o(iNL_~U71Z9jVRHr>6MN}=F-nD+Z4(??D;Fz5km?Uep=V%;6^cwHmaIc_jg6b^ zrusy>59@J(yJm|sFakMul7;aP!dWb9N`@k(Qj?Z|qi<{zSD0#fj` zj<}6ejsp&-tO`g^x|A%S!z6x0Rs-v38Y12pFmxk^HJlk4@1KB3%utcoAa`0A-rvC*gwkIJ;TK0*fv{U zD*-I3Pz=yuJikkpR9S7$YMB^hE!lvFQYt`EYhTE<)lRk;6v`YGY~oVdw`HWtMA#9M zWfZ64a^?#)ApJb?jKB&W*28ro*(aO{lX7|e%<{{l@l+$b8B@7|!m4B0QT z7ND`FWI@2QTt?Sby3+hXYP*{%Z;HL$)X#hl%WzPS(_Mrx9`Nno3j)ZoGi0eV!>Vh9qB% zqH3Cn%jKwOhf|PWtylvttITDNhnU^ zka0H99>>s-g~8r^2!pNeF{P3;h9Pxaz);*TJ@hUUaD#{~lr5V(k0o5Z?*AR@`=aBz zb>2d8KNdQ~*H$nS0Xabon-(uXe4*Vu(}6#qAYgOjYv(gf34XKTm-g-0@$vIXV3lcX z{6CY_!V4zBc8n=sw8D!9tZN5)=Yg$~nlm*jS~H!oT1yi*YJ}AFNs5dkYAD2)ggGHV zK4NWxX)XW-%+jO_9^%da-MdskBvJReheKwN^yuUxhU5RZnKAp!Z30OccL!0wK;B-O zk+i{p1)z*`E-hH@>;kXD)b)9i;9$3ye`NQAbFa;}OY)x`NDm;=8e#kyYV*tmg@H0V zm)U>R2%RA;S)dKIrA@4~aI2`MW*pel#z8MN;q7Hn)1S_-b6$rAqwSA?1( zF%cvW!Qu*iyVSBC_` z!$a$ud4lp;C}ZhC?6BGh2bPn3Nw?7W@><};R6N}-ECEymy$(|Wg=&bUi7@?a)D0{z z!>ELzSlb60cR{`o-&3q>o#zQjz(-J2)HatiHCv5yo%b{S#|56YesdxLAofqJf6&Yh z43g+%48 z<}3bjQv`O?HXBWS=ty-kkg%f%Wa4LR6}1Eju*7@}Rn!}nt1m8Q)~MSdaI38o($T57 z%(*x-%X+vJ@yrhCKg@<9*;i-5EsDr!p-LuVj>e!S`^595&tx$SZLch0R zeupG5nqK6e*!|djq7C}9y|hq30y5u?P|B-12ZFZXu?ZQQN&L}7#87%yi8{&^`MzbR z4Qq7XI(H_NQaPh+6WL9i=p3V8i+^BHeEour=I#;dD1MN0!QD*jD!6_q?I9;YQ>3Da z0b2AbY;YuQXvW@pqX?R(8piyCZO5NW6H#4Slky%QJDW$-hcapy(grAVo@=F)iyR!S z`o`t(wt0THOsRo(-$nl(xQzOTB%l#7a`x}Zpj4>2v6v8)kjr8>a@Z?%i`35@0|U!j zl6}&e1JtXiTlNL25=Ic8!aZ>=K5jOME1{Hj0&utEA5n)1DbZL6ewE9m#nyZff5)c@ z3|X7dWAia%^OMYnhdpNq5QGvb#r~FL{43ZS9`NW-#&E0j#*|i>kF!Qer;)oog4;Gq z%X!zz*lAMZdH3!=&iHPMab7(F-rj(D2V9aFG!G7OxR3?p%kVpG`G50D1?V&t+IvO> zUB9Qe#|LLTLafz+;z5VaVZvxCr(SalNq|PZWG|ep2=gKVM>a@0j6_r(CUfbjXM+6* zA3bB9AYdLdwL_IdF zstKH`#k~u9E=D_^IB&}140^F5Sif8yEKI1|5w^jOxXfW(_{@`o;F@+p2p;MzZMYzu zL~2B%3^+jlaYQgNm*^@H*@u!ubRfAe03uYJerin`u$x1CTj}@)JKy*A>z29))lN?( zs{IjDZU(Yi28+_{rb!lmQO9=!SGp1Q%*Q4og2 zNHTMc8(CN`gaY4!8R2Wyw{zhtZTz?8*W&jj)FwELpHfv^_M`ZkE%Mmor+O(Oj zJxvaz)i-{RtKDzA3zT5qrJH8JmOuC*1>b@2xScTXnzDVX=|u-#iqHf>OYSOtE6(MC z4<$7-wlwSl|ELVI_euuvTeo%qlbDXAi=^8YqyNVUax);9F9oa{SW#w^SN4H^u zjx1c_#;Ad3Cr*KY7uBhji+Cq(@j!8- zas*NVZR2x9)>Z)#SD$_pmZWtdy#eC%3RHJKf53f!#xEhFDC~W|3uuei zjh6P)t#!WZ@!+J>V1BlZ=Mlo)D(Zh%tdL9*G^6}jucmw`dnEyJO&Z*n%UeLGQ|7x) zRS=_xUusd1aR=eXk*=K=GwUVSEjFebF{b+Gs4otu_6 zU2w{V_fJNR+)Q2Qgz`mUD1$jXRf`)*)zWxjeU~lk`-h4(0xQDjD;GFKQN=rY1ys*} z^DB&`Ah?#re%;tTv<}u{P<3z|H`vi0_Dz^WhYRV4VHaUObXSLg`*kcBm@9}Zr|gBR zXrWLby@xR5-s!_#$4=Dq!cNN$AhTv5v9p9i!p~Z0z}bc-aR?-=CyM0xRPl>`wjp1B z0N3lNUh24tmSJzs{v`A=;&plJTO#~3AAY~Bfe3LkhDgxdGfH{EqHhrhs2xAv21G!* zD^lHq{f1@m>g{%=fV{*Q3e8ut1g_L%_MtYCQl=Ts#dsl^Nw3r=MNeiyq>=U7JJYlj zzO?(=durJQ=@(%NrZ7@7Nx>O&=Nz1%6;rZvZ{)9aK!!?h3ibpd1;zPt@r96iQZ3D2 zn?-uJ;3Esutx)C-9~t7~FW1*hx?p2fI6qo+WAeHG)w2+}KEBE_CFnWsyDO8xCNs~b zfM9p4TXJ~fZ6Z%7?A^gtf9UmgN<+o1vG`hTr6#%d1;=PD_i>7jkb{7@n`{Up_u9EV z2IXYgq6BkKg7shyV!SQkN+gHFSH2vj5He4uk=ed5vdg8AX;Kj^SPULTS|}=}33EJE z=ir9-%dg9Ahou`c%3T6Sc<5@2}`#dSqQO| zIIi6Sg4+HuQ6!0CW7`U;1ZI5|{frHbpXWRs)t~IvOIF(Nj2LC|yevy60`6N!^wk~D z<$N?SHU#s3O~-F9=7eO3Y8eFYeAtnA87UPBaV?yCU>O;lVgG(W_m*NO;-F*h6VU0)0gj6AIhl%d2Eb4 z3w&A9zu{bS$k_pEh&v~~?ehair~1cWzg~4PaU55Aksqk($gWdS~0HknCYUKe( zSx+W^oF)hbBZ)&1sq<}DIi^ukb2F0Q-X-hRqj)H#fe#py>h5q6DVC*d4!&%z>Ls8- z2b^Rwnl($uotTAln2neWWzp$^LR%t^f*7f4$l?`Xe_dplztYK*jHvy7HNo_PR(&X1 zp&0D;NVBxUO{weqPt(P3pg@p_O)h`?cqwXw{}$N!$=|iTnq*>3@~dMsTeMxKKeQ=u zwm%D#Ahn#i6LSEO^b1zok96{(#_Y@OY8)vj0cHIrxwUNBO^KB@{q<38TVfB$yW7z4 z+epNTa5P$ehq^BGuUXi{l3}|EOmVIH#hbxqTz+D8(3w_z=4`T zPJGWSIJYCJ`nOZp+V`ZKjPhMxgHESckd2F7Z;n01K>H*JxC{T9b}|u$61dwFV%RrL zhL9kYDkE(;uj=zOpt#l#=1`?S7M z55cfOxdXX%yQ=UMX6#WI7+}@`#P|$z{g1Wz$$-;3tZJwMe|jttVY8;zDf4$XgxGt(C46c`WLl*-gQ}2fjX7|5E11(kIfk=UZ^|D8-Y#r=h~kQO1~UR6 zQ!B4Pa1)-wA5WMdFqilz{~BLRK=o_nMYOFZkySB+CUUG1zf5)rXJFU_+@7}Yj#PBJ z!?53lWog1@u;Q6ujp6su3vVb{2y&LuGbsJa(Z(DRygf>@7K&gib5)&`W>0!!($L$; zYYyo?X)(Cu^Wth*p>71As6wI$O68Dz$B;qPBQ_p|3e|=aBsyACSiI|4BfgLp3cAdK zU$WyEyITBy41m{@8$d~wAFer{1 z(*HzAIY89GYzU)E%#Ch2+kB>=GNk;?SD;7ztA3MaYR}=$o{XdYDez(puXOrm?nMdTzw+fXk`y+Z0OLs8}T z#?pNfqqEoT$HI}*Q-{?K!GRSQ1nfIMV#+fj+(#>pq~jD zWdYhYeAL=NeObN~jPL{$FUBZ6rnzI1#7CJ>G9Tt{&G+fQcW*9xnr-4s=MQ?hPjTPm z_Ow*-HoEOm>g}E_KA+5BWqH5Q{?lfp;4>C%?ZuBwQdZ@NDPQq)MIj8%=6F8=VjT+; zC4vX2Z1PLn(j6PJds41qIkexV&8gp`o|f1bqHq`8N|3)sxkPz1?dmUIvfqKBlb6AY zMx>P*VZk&Oq7jfCW#_M-gsmollLAktKZg;Ci=D{_*>iGGOl%J#T_Uow_yjZ!-yq`$hjm{!Qi<>3_c;rQj*c4(CCvABFP_u*N(N-)$ zTxq@aD?V8?qot~-Jq7^B;L+=n>w%7!xc zK|OfV7PPHKtF>%nz@Is2yAN?L$@xj?v>8V;j;3(pt~*726)7xDj5$a8d$bgjvW>_` zGB>n$dv_X8Hg2srM6=6~ExZoM84vV|reFfRvwW+w=oT17J3!I-m@Q~F(~e!B-d##F z=TyZC2q0R?q|bxwx5JU=QHAQtDm+Cs;`E6FhJ_RD#QS|cmM^LspM=lnSEFKII$zD( zUp^|%hYx`f!Z(!Q{==cU}}n^ z%?kC`kLxs+vM&as>q+kGqATIO=b^_nCd~0d)~3>7vCIy*@Meu^HeYG225}zK zm(7y>8nJOYnu#Kz%}V4Arxq2v>T`M?hGn&{sH>T{1jp81AL;WG)TDql`4vH;H*@zW z;~h}ZKRJLQV*trKKTa)`N%PHaI<8Q91noNB{hsDq^t&R(_f&ol924CH0sS=T%YPGFaSrlr!KaUMkZ< z(KxH}6jy1N5Vq5wWjrl8dEeD=g)PMYoG`r2YkY?*+z3%i1Dt5wsOLE0=-oKJg$Mix zS1>WjZ9ul303$st7*tpc(4#dMx_jTv{Bo7yaqg$r8c&ou>rhOc_#}4Vgf9iK zto$xI5$TM}wb(hDsi>UF!cy&$Z^NoPesD0_lZl#sMKVz1qYniWmt@%6W%dNS%p$YE zG8VE&j_O2kptl>gv)OrLFosYd_vm-(10t2Se6-kx5sG58(jXWcYwP!6%9#_(ZJ6K0 z`J12DR*G}ooq2KK?i$@;U-d0+H3bhswvyqrySv2xI+PYH8xH_lEbdclkOv7SlE2}Q z>H2W|;TnLTw&?p6E3j3zNG)Mf=K>5&6BbPaE8F0nY$Z$KS69u1(7*yRxS19$gUXVc zK~8yzL_X_4$(^BzunuBlV-5165Z7&HT7RX7m$#R(412w*HWU&iLzz8yjL2f9h)F=* zbbwVG>AWeFO7yuZYMmMPx{S5p2kMkah{6u~p7{?_u6Ra$bd*q9$!44OI=4el{oOtH z*Z37-o^QG@EY(n@4IFfYZplkrk67glqSamxk|C7u*r-4t=jV3YIhVx$;Sp2-orMB^ zqWU5+JoLO~kC;qndS}n^_pQZqSYIJ|G0m%TkO#WaUg^HGJKfmGk4*MJ+S{3{^c_?1 zW7cBLeXYq`p*)B7$}Rg>S(DJLyc&{hTCS0YZCEk)_WlqNQ``Y&9qoJMbii74AyP<= zvbA8os${LGlT$EtCI;*;?| zZ99Zmga`7>6a!7AkfC<9g)$!fPt+ll*nsXRNwIz@mxuy8r1O=`TOc7#W;0#G{j7OpPh5!nbTj4pV9Snjjyt6zD!)u-mI-^;iP;@{u3X`~g&F&eXS1zeh%twlt#Al-o{4%=NBB=wu1-C)CH-98U-#veAZmgTOa zQ@G)$v!Ey-2~LnAAach(XfKr|DFB zev_CQo2_9+;APW%dvsZ2 zHW+av%c~C-UH_D(y75mM9E6W3MwVDfmsEi4ffXY`g?I2q#mvRG;dq>g1_gfRCetG) z6E1|^&@_|6nG?{o>L?vvi^9Y+w#Wb*2Uti=W2YsJeUmTP^&Z9TkJo{8SJwsKe&L!c z97)tn42ApDlKgp9U8sHG1sbdUYzfDbN~~^1<9@U1jQi5VcBc&7slc2{5;w6*-uh@T z1||dHc_csZJJ|le(mx*@ag?Fw`Py~+iSlj+Cvwp;-+7N>2kA<_c1vfqu%O{RB~L?J zWqxFS_L``*myxIad0BV9YqmVzWcYtfpb?(eiXaR!!_QXm}FvZLKnJS{N zR+q-`hjk(eHh#D5ddQmi%I4VW9J%4>V+6NCG^|cw^r|@`TjT?AYBs5c1;aq=Tv;IM zAH@00cPrW@i|GL2%!MfuVQRMAlO{hh_&C=_@4Bpc^=Bj<3{<7 zI+nMYzSGR{U?+~QD}%x-{$sH_lxzJ(Ek6@?7{Nn=rDYFONWwteMR3o=wJ4&^NzxUhOg5kC3avA|h*19#D|@$-dK|M4l5g~&|z!L2l0 zH$m?-`W$fJ?eKKHqLg7%LlfC%yK(gQppRv84M3P*QMHvhL=fhjQLTqn1Zi%0wzd(Go}J{>XP37@Gzeck_XSAK^aJi`YF|E=BXT zWLaI!Or#vUl8rl*1 zrl;6YtAjaBbb8!wYMl>1&yIdv{z)`L{T?4EJ3Ot1r#8y?{u;c z2OhEJCO&5wx@)0hGO9&g$uncUT8)Lv4vEZh$)xQeH)^8wN&$u?O!!W{nn@$sP2>2Q z5vgVmW+E6qh6{@y10`@(zUywKA#WcewR|yLBk8W{&lM)0VHu~qvbVbWZuB7Q`m82! zc|8a!#fE0T+cUp6Bf>nlt2X2MRsckK8a;9Jzjdw;n7}U;S!8ubr zv6O^+CI-IoyLu5yY?cILkcvNd%L^% zU-+s|QD+HzeScTwMUf+dg^wECr^*-aJF%l@Er#MH&4$tRo-wA!hGJ4uCnt2i^xIAm z6}*?K9gfiAgo|HBadzHGu)PcnYP8p3>}=xv^>ji$M(b0OJ#fP!-MqmFO`_{Bo+-7S zdQnr=-!LW~{EVo5g$!L692mM^0+!ltV_4B-(tDMY9pmuvp&jGfPP-8%?#h+OoqTug zCcOnSS*RIHAW4t>gr)>6yeov$5xuwnnhfzgOCNhJ|Os;6}`zym?nz@X*@`55WRq`-uK zt$k^d-I7~Q>}0(xOYOF-qPvg^8NGBUmwhAm&sG!(E{7~qGS7&jP^`#UxFH#h&CK&sdRwedD?!Bi# zbG!E^Ek;pv7vjLAS43S;wnECyNbfmQ&w%}Z7D>TJ%Y%%MsHy?k3kL^9C=}N&j13Dz z2i29EI$S0$8(h-gX;D#|@v$)(G2y+M>sXsA3~Y6d4#rp%Zsd*G5@KLup7HiLgw<5sIC^jf}D6Y7Sv$+q9F~KqnaIbbA2B&`Pr*hIXFsDu*y-kmNs=N77w83epT|PEib#mW zX(B-d2xk))ogOaSjJ~>WgW{e}@N>!!5bYdae!v4b znF>5t8Y~=$1u(^<*X;97h|rmypmU{0)lxhd;H56gSanbEQVUDWh-Atx&>%kDdf_@@ z_NK!nf}K_}>wmCcENOEt$%DZUYbz^#&(Ltncs6!=vr6?DhK(&(k=rXENL>cHO!P?% zVetMU`7XTV0HVknWX2m{WiJ>Ot7bROW#9ON#gMJ$#fJ7S;!E3b+Rsj8V?H5w0C$z; z-3lcl9e$VN;sGIF`^Vb~W#d9;ZR#!J^|;;`OA8}In0e0a%(oTDRouy4UGBdN=MijU z#bcT|)%Z4;>9rrVO&%i_JW;YdX5D*#Lu5WFo&Y}9Sd)QdeUixINlj>pIg&bqQiIK~ zJMc-etosX9R#OEhfh{BX*_8|%ZZT>4mWi4z;E+#XY&yI)$%AK_{rAL+@ypG%FmKGf5XLHk;NJ(d z&=N1o^c<;!4zr%(*ACZ`tDbfDb3FOV8APf(9}3<+OqLoX^r~;sJ`#ohlT`klm5tNe zPm_&iv zkBnN`PAbiW-4Zjo#gs~lmEy%!%D1Lj&rbsfJUJxh_C7ITz5CIfcPya#)+M9aPjHNx zYK$=dW2B{Y5|rj3oFuo%X}C%zG-w;4Kc2b%RMt$I7zF}-y`&N>gnpRi1@6p&Zd;4Z zz`=&)2p~TLgI#tGTUyc8dD?w)A1*Eb_L_My9W3^{HsN@G)b{H^j&LQDnr%gz>7>d% z+3P_yHhX%6!K{I@y5$~37?wm>Hj&+`QqjQWn&$ayo8HDs%WrIL(Gy=v4{@PIhOwyToW<71`Zb;rXb zzx9$w=VC#J0w{o|qM*2?Mp^muv)n1*jiKpPWL#;t-MyK3> zY-W)#Fi0j3jtpr^^^YTY@u}~Qcl~q?{EBKpGDg_!JC@wVm?5OGs$!9KB^2Q2vPyIr zT1#y<&Qo0XQ#LA}F7*$o#VslEnPmpenB-(@X=11b05N+N~Web*(Za9 zD!;)7|E24fYz9wYMusl>abSg#5X4YI_%T2AIH8P|hAZx~v7^hp^3bvEF^buJ7d5P2 zdApA@se<~93ni?+sLwRZL_i@2z8At@%P~R>0cO6*b)zyoyw=*48{wA9`yL_Ja%@3T zJ-(-4ZYBR{a(K=-M~8>LC3Vczt2Gma+DqG#)XxCGZ6&Nd$5(|#ofaCHn{Yp zjVwFB*^>PlvMEoW!)++4;W9c#GGk5RthiHl^MMGU$`!&hkK-LA4)bTo&3yeDzNkBE zp6U9d$?NHT_G9tG5buXICr0$ptN?7o?~K4FFO;R=pK{6X7JU3B=)Qhu6Fk~O^Qnmz zc)J$ND;SJI=c@N2yDN9GjBcJ53u||_upM&qoyOUuIXB+ZZ%8DV5tJJ^WRwPHz#%At z3j9TlmNe>i44Ni=?22TYNn0u8YVVK?WLv8AtY2WGnI^6!so6Nj>kH>~fjWpvbf}}z)#IG;$?ulGf-&$8b%2;p zig)@Z9TK$i1!UrJ?2&D~zOKGD3t!?a{n5hwN?fyW4=;$|qv|?gPgR97 z^qc#aAze0q^M8)zQm&fPr7mJ1DM}0M$D3m`y>sf6j}so>3Wqsu58WxKG#$w%!LBm_ z>o#%{6SY~_8}6hu{?@^Bt6~)g~PCyMWn%sK(Y^FVQP_yA3yqT zPfx3v@qrM9_{w}x^gV=XD;-EYFz?wwDdK>qBoP&40#exa4-br%_^%O@A38rikIubc zy&F891|Ry3kRR|nvCT9BrG#M+XMDd__ftz4>tnb(0m=cFF#aj|!d zLMQrl+w`dqLQSQwh-e8!YeEi~j_uOi8p*RI4tuA_1bPby&^DBE335z=IBr|>u^yx9 zeCuc-i3%Y3Vyhns9PWv1&M4(AJ}|*7^YOeH_;jI+#Ne3w@%TXwux_gJdhjY(4qB_P zGJq)d$WzlS8tlye3Aj$X3t!~Y{eHkciwZQE{HuUAKu@f_^)m4XH)d;e$nZHFg>uM_ zJrcb5)EP&P@(++%Ls#s*bLn#8La(lI4-hMi738i`YjLJl72=LXXSK=}bN%C|jy6vI z*AH`nkGYl9b3vtpK|wvke;Q>vok7T!-o+?u)fGtsHBsYL^6grVwKw!L(#!o*lSIOL zEY;G4^^yb~lfT}T_O03J!raYtr_30_` z%LhZivNBlWg+F#pLjT*1NLVM`&whIu8rCKkC7Z;ixbY|f1|Ep_c@B38W)ypn)qG+& z!)G(OoY@mWawuOrW1}J1ef3t;U&qqK0~X{&P6dpha#-YAXCO+R-`wvXR-H;I1v=r1 zH=F9dJj0a`6iMeL{wI)*84V0?1{+NvW=G(GRoNbWZfCM|>i1k|XdD%R;*ve?r4_B! zM4{z3Gq*XhXs5FmvO9$ZZZRa)vHvoLMVi4FeN!w1y(=DTEUtC^OSI+{M2R}dJIGX> zD-Fo?nmS~|i7?`$Dm&om_rWJakyBdaAg1U2Cg8L7BiYXpclV{LF}4#-sS3Pn!&kvD zY$&P(tCpSLO)u=fCjHO}Q-Rp>28Sy{W=>&Pf1xpFQ{U^9ay&_*^({Q7XzM*Xf;YN6X`U zVpEjT%Hcx7&090LmeC#=Iu%l}hd?Y9)%XvRAX4FiQe2HgtVSA(LKj-vQoc}eEWYLk z;}aJ!oSA_cv;)WMKAVSZ*wBY0LUb=J*LdLWe2WGZZ~_}zhWE+&TJKnYF9u{UgPW;? zGn-AEA$IqcvMUttS!py%pDUgC`%KQTYgGcF^m9UWxzX6&9ug^&Xbxc54DT_6!o@Y+H^k4A1k0rvwG)kX zls=r;V~TH{Wl^F55QCHzi{jbi{4!#uSYLEhul%^rFTQY_JXRLhVO*-7*vafwT-|ik zE=qR)Q`qugY*`8)48;=IUBI{17gI*oFT#et01MgT^0%MdnjAMVx>(c9NlpEhK0|?= zGK#t1s~8v6)8Kp_YP4ZY}d7PLF+Os)}gA7P+V#aOVC2kh+xm&oOY4nQu0|0~k%DoRv7PDyqJ z+#0p(vA2!?{}J^K?3ry#x3Qgc(6MdXb~+vBjcwbuZ6_VuR>!t&+c#(L@0?q|U_JHJ zoO9F|Rbw&B(8uFp0#=oE$Q-5k6$Y+~YF85U4Lt2P{d>l(JeCpy8Ft`y_3)j^K#vpR{V8A9r!A{3 z>z}^DUGzi_+mkU8~G}d>CJMPh9p9xQ{EC!>ec&l~It{%l( zm~(_Pq+PHc`>`zzVXa#UJ(gU^awzEcu4v4%7eq1tmt5-m>Y5+!TGst6^Ofy~OW(R> z&U-aKm|;zFG8^=EG^p2%SBDH(603I#bP=pqr-zjZXD{r|TWrfx6UFpjwEAg55!iuPP59BH0tEFlK-2Lia6S}R_7>E&*Z za&khG_><4m$@~|1>Ebbbi)kWH`S6(&)x)FI_}D{-7*^7Rh{JPd%!Nue=VebKSH{y$ zOi;Gdq{&coKicZ{o#Nc3*OUy`wa>IXCPMK%ANun8uMQqCd`#}v_s*hJfUq-SsB@4h zrFKc?`ibAE|Me<>iG}S?WMD-o3wLeL-Gw}~u1RArK$SZ`AB`hm#iZ#TM4T+Iy9#S2 zV>i+m*U~QmqsTfn9IHEDL*lHSNHHRny(wlU!bpu+XKWQ@mSu(mSwGQ~Lkxw^o}t z(`+kBwj;lGi6P{dbIE?DK;^q+gFP_U@B&NQ9)Tuoo}ZvT@*htDAI}AQsH)#Vh%ELB zJ+(S!ZAVg}b_ZkG<3T0r%R)KyybPt5ibu=cj%2{2fo#;aIc;>t1!!Sz)pz#cXIg%~ z;McldD-9bZO{M?4>Da0TCXxPvREte8QwO999?YZdS4`}jkURZoIZy^n@XQuyMjwnD zl@69zi)xuHvO_eTh7$Mcv;T?&<^W))mB^$4YATX$nD6Z{9P<{)4!S;ZdvlpfYlZRK z4AJFA>b_WD_{eYp=5I+n&ZofepG3iH1t58wVu-kG!R#D$7uOT4*cl&20-%#kh>nd> z>&(f z57ufpae7Rdf{hEHF8~-+qYk3pU6hI|@NwaA@$OlMeZ*$py_#rZL>|w81p!>llkiOX-Dn+$C1g6hsd9nSB`+L(XUjTI=Q)mEmk@cfqq@r~Pp+qGsEEOkvNh6GCy zwyGqK-mEj?UABgdYd{1Z_u_&vosc}{Ggf+q8Z6AP{*x+W*6=TRSYM1yGM8m$42KL# zU9;HCXYK3wAxmPZJ|MEMjWYoj2V&<9P^Tb>ab(h4w34qqY(mcs{PIf^uicWu>caJ7Wt50hu*C4F<(* zLo*S-C^fXQ0D$ zSonHg(wV*)Ek!~`4$b?FBEO*c-$+DUvgpdW0)(72)F1mlXCJm0{P;h{L&Pe~_Irk1217XF%S6YCP>X z&Yg~aMA)8#YI2`9i=aiRJOL<8&k&XYUl5UtKK#{o5$P?;=LSLO{|L=TNBLR)q(f7u zkYKb=TBqIw5}r1;iYjf1E=!XGAsf-Q#m22`$lHmVq3X3iB?m*a#grU)*s+CRkUN}~ zCjHe*$VJpv1UpCM2JT3q?SJ*u1v}~u{62)%PhT;EH}Ag9Gkm|SsF_pcIT*u5X8N$v zp>AdeMk=Z#a0nWzko!UezAC0R(}W+QpY>jX|bo>lex=SKheOxNYjvYCN;a-ea} zpL>52JSHg)|4|J^N|8c}pOFwXT{lFQ*4d!wcZM41(+z0UHWVk`=$#f;QVsbWWXP~C z;13%%+G?FA>%9s&v@ELXPMp0qwy0WK@;{lCXNk)G8u`p-%ps!;G1(!VY1NDu2_< zf|>z*L{lA{x5I>)ORtUcVF{cg;Dd*e65BE_b-(roEm|ziE7QIK|h#$e}+r03ezx)o{yW4wxR?bYK_ME^& zmi7Tk{s%VA6vnsS^l2oH;}}8wArsoHxQ?GHQemjtCbO3L^!JoSJT> zfsc1*u6A9$EyTZ3v_jh6DyN-u&namCfRHgU-|=>S8+W>R?tU#V`Slv>WWB5mEW5Ev z5xrrqnu1Yjza$yyTV|9dN9v5e{i@;4-WqT58m%12Xx$nz|1gRX`MCV1d#M`#b)?oi zX>XWb`W?cy_mF5z<*x-FU{kH_h3ph~MJviqbeXLW2ukx;AR{kK(gGW=+HGUzQ6{yO zmuz{S%&Bn(di}A$FekIAFB9;*3~;Vf?pL2rG`Q|h z8TltIAc|n+?bS$vjR*@x9^2b-Yk5j>Tg}ntcKM?Sno}Ya3D+ONvjB*wExoDd55M-1q_L)Z%XMBHNewA64qkZt zJdXUU3{&-K3UstMdHjt!IRXVmpF$`s#YDnldN9dX#rZr8-Xt(hdIP~d`d2qyXfIk% za`5>&o_x6NUXLpu%!6zxl}xSp9osx+dj18bV_Lo}2%t$fiJqUG`VJoV3OK6 z??4!tM5LEcKszFfT~DCETayZq-u^#84q13ejk3VK#qu$`hd1TJs-d2e6XrpToR5T7 zQ{m>JS9>`fb|vxhF5}0v=Qr=ne95%b9t|EPNz`MFar3)BKm~#|)1L3Nb|tBx%I5Hi zW-Aob5kp2F!8V;9w^X}%yIpzX9hwAP$vi833tJ5yf+U;h75{c5K4zva6&30A;loz& zTG;QFQxvv*dQxJshZC#e-|wt6V(59bfFh4PgitsL5q;n0`g|KBSCPmKmnDjBhmqz& zBI13kmpR(YcdI%!7j8@ZYJBg%#0yR&xc^VY)k+2_Y0TdY9hLSH6k)X4k-~7%Phv$J2jPYp#1VhY^rEGVI&*M2%JTl<0jXWM7jTya z84H{0CP)0->t0tyiCW%B@IH?ZP zkJFT=PA-7Pf|4T+^YZ$7;6puqpW0Ihm_U+`#HLbE;by4+8z0fS2lavcUYV&#hqr3E z$8HKjcFPlc6^Gk1IT*f^Ylnm6*8IP2gy0gCH-|?L2CwhJJET@h%7po zWnww(N|;TL(#}2x_UMSM5>)FioEG_9?x>##xOw+0z5q+N?2ckF!u*?Jb?^Pv7gCSz z1VmSx4NEFfplAiYnE-!DZ6^)!PPkM?rxf`w=%aLw=p&()D^x8t;+;fZ_HBNGTi;m6%(HF9hCzuXD;f;I{K;mD6m&?YboRLvb z<%Xo~VQs7*tG>vS4&J_2cH?qfwQ+`J7x49=*QzPrz!IhC|9wSl=ro9h_}rO(DM~Wn z#rg}^KQ!C!`(OTblCB8vjl)L^&pZOGBo>n7qh=Fx6{2Q@!qsp_%+{9H<8HnO+w(W? za+e5Kaq>A0$ptv^KhrVyIn)!R?Rn@MrdFw12|ttT_+L-yz@J}R|9#;|#zvlW|5n&L zUbsr%bEpN#Ytit3AZaDx4R$Txjn3lK3+9?_g*&mjjBOvj_#}egS4~N5)=bMmIe=$z z_ft*ajWa;d--o!;g>}5I9s&5L9yW5;N#m!|+6E%O^=HtG$UIFO!TJT@pTV~VQ;wX; zjj@Wu)jwx{cS9W+GoX)TOY^OU;T&W_DiK`4|9tygwLiOV92<-Aa<6av^y?i;=`M|c zFE6jLxLT<3zSI;_mg^Vtz*TeYT>tvn@!XdqjB_4fTm!zAF}16s{h#!;j<=$XlFl!a zEi~j3F()IQY-~d8Cei@!histR9B>bE0x+OBx^NYU$Yu|%^_zNwpdB}EYKh>v>VuuS zNocsE_516y{F5rhvd)2NAAQl>VcrFn;C(yGa|g6@$D#Q_@)iH2zh6y#KRU0)N`5C_ z*DAhQti-FSHWX@9Q5UC`>0-y|=S;c47-LK;a6I6Mx&Nb$yxK z(z@FZ{lt4C#4|VCv42y&L-X{&gv==Ic<`pY{;=_xI)4UQccSv>Q1Wi3?6*o1t?OWc zyEujQh4kT8oc)VSa=s2wEE>is7zc&MD-i9F&={vv!f55N*;dkN`|#Ca;dH}Z#p87! z#j^^Xc8aKId746Q6f?`I3R`lbY@Y^R@+75qq<_q6U@4twtdV%L*znZR{b zSov5t391NSd;?`mKSqhSSAshdN7UFfl8+c(#QEV2O)8at0}F(u+CF8li_kb(vmcr02zN|b zk}3336DFJu)usg1@=Bc67gsHaga=oSU`|?A_O4vOW7bkmOT~s#Z@|XSL#`@zYIq{G zcN-=rf39czC=ES`hu-1QfTo7Ev7z61jLGoWy4|A3^IY2D=tJ)Ohk({<10lh`ty4#? zz4m9fmDwd=mso-b^h2P!7%0%6k>dj;l+qwrr$fM2fIRW8Z@-@BX1jg_E^Cn-?g<}n z-FOsQZk!7Pa1x3cYi#*l;{F9OaiYnyu`O-FUnFq7G=uuOGf}>o)cN%T})({ z)EQ+PP(gOvA7<4eWKf=x`NdMQS$yz1uKQlBbjq}?WPUH)YiZYnC)!@DQmk9eib#+r zcHpGF=3QXa>QmYQ%!g1oKc1xo1%$GoB_ThlHh!H5JS^c!WjyP|U)z>16<()(-Xemo z@STAlu(deB-`x^hjBOh5$GU6)B0by~+Hoc>hDUO~XHsTGx(5G#h!P2!onVg00_yqj z)uDep0a7qKKAle|w<^Py}PVtzGvGsW1P$7Yyt(jE;{% z(YtMF(A^#JmO1Q)L6#U>CHjEUg;Kuv2vpfz)bu*wH@ot_lV={%cqT{x2gysz`U08Z zI8TvY2VBuyJ6x?B3zjfUj1RVO+VGf^D7A`tcL808@V5dRs+Y;49RC=8{c~}mn@rO9 z8OCu955MvDl-5Jw@TNIS@cw0T#SKJDIa(qA`$?8wPOfL1f!ORXXK1)DNgRXjB;8?X zF7;(y@WKyObsyEGn$ptpb_g)ZHVQGVIeoPsKazMrWwKMYI-A>1uTD=-tG>OGuex@C zucDk9(p;`C)U=;EukN3+t`xSoOpJNQkA9}y$<(&#_%&N$Q?Y;iv@@EjLPBJw6Kk=S z4-CP<8LX+~Ks5ln4s`55FZhLi)EdV!%=U_3Fy!pUAM^h4_p*6Y00?~8 zLK}Ws=V?U<0q*JoN{39lO^(~nTk;0Z~UVxiv(MnPHXGl`xcG)-YaU14~EMS&#rV)C%c zp_hfSxfWnDz>N=uI^eN^B=SWOOn5IfI6?Ab^|zHR6y%n|^cc)J-}jsRbTpJ;Y~r@5 zd&(=ppD%Y@32q9qpL2wyH)V<}TXuARpBFiN8`n0|4?|y^Tg^t$6$@lo3dBCFMV|OF zsE0VHcVnltT*cH?$@6t1#yO|nTvCf{4~zp|l1IR?P+X^tu9a@|oK=1iIqmuATSA3d z3GmEt(zacyuw3>hSXr)eMppJ~PNO~bJ{kC+JK-jVdx4L5sJm&LugbAZz(N-+$^NWa ztkWh;e6zUjSg#;GQ68p^QEK}!}&K3!QMGNFGZbyiYX7z3S{`3 zB5V_t-X=czD-&aD7s&73hVbKB;#h(R%XA1QPnsAU6;* z&2Fs;=*U;|&>7s+4ypy}VI~M3h@-Giq1=(Q_xo!r>|D(5?(kICJ-3dj(rL~walh_Z zVY7KJRbK_XL_F{<>@xQ6&A8AdGGHal=$1iJ0) z8wb5FGwM>rtb$g-wsjL3I)46FdFq7oPi|Y*F@viV96U(uy7)n(5Dj0UOX{dZK-C^} zg*{L9v#!XKn7FHOpfxMT^MBjAbsSz>pAUeJ0CcQuRLbkfA~;Q(+>e@wJg|noSe; z4dlD)79KgK;waP4?3L#0V;49&?lY_l)2+r=0;-3ik?sfsA0&+|$Zn;Wq4s85yZ!#& ze*!snMM|Q@&2IEwHr(4tEYR%7eL6Q+u2a&fEz%@2Q=b`RcU+yP*ry}BYzPs#-Po`2 zI9%?T%*<(jGi%2Kr6uySuZNP2>_W|Sy*%%v`1o4?OPw+y9t@HaLh6UWRvC4A7PvV{gEF3EKxft=P2fjg<`*{*W2?`?l3mJY zcvNTx1|Do8L;u>I>&n5*@;D3o)uB**I3Y{cgy~{Yo`|T0ALTzXH?MD`IsZcOlAvyz z3=6Zf+-kxyASS+f&2G7}TZ}Ej;uDOF&)Fl95P6rZfZRFt5JL{GK)HTJJ)-B_ulr4% z!ov+Wv|AvQ;VZHw$hoY97`NXf&Bq%zayWMr3MoQlws2_17YN`8{qEYMSG& zB@#Q-sM1@E4=K;fbITPS9hke{xx5qLIw%&T0OlBNd%PJ5~{ zC`KLTq&rRC|L{_Sca} zeTlw6Cfu~hWSvA`#zGQUU9adA-%rpFUf0*Mvzp<$qHVoc*g=Cz=rS`w zv(&`KW%=>?y*Q9z>x~vVEWyN9g+fAyM*Pnh9|-p;HZ&DMS$1p`ZNS+?iAV|qU3H!U zb+2@2(TOpFY`=bJzk#5SY0LQV8QCTo2~6FJ|4*{dy-L$853px{JY6N^LcxYf5A%C> z8bU^mLn&q%mMcWc7KlQ>uGev-7z^BH!y~$135Fi+hHH0Plq!G(q6e06Afv+|n#t6n zqY>8jjQ9Dkxs=1s_fMYdmdL zi|tcIoe|lO=L~RRZ>;D49#^QpnZ8LM3dp4?;N}1gWhEJbTRkVf*djCMUbIK|m2?tn zKcb%pGwp~)m9}Lt_bhAuEslR9_Uhw8@Oy5C&tvelzBG6qp1l+*N6CyDHNf#dO70jL zI|gA$5{NLZ%}I7krd51l4B)fCQvvAi+ZtStCy4ry7NwnU5Z8G7?OH1V+`rp5DHad! z-e%giSz<@@O2fGph?>XmXA0At!_p6y;E&^qRH$Gw$ee zZCeBXJF&p2D~LZZEOzo|?G*NyjEeYW7YJ+YG0Hx0;^YJOj;;eWy%99R(4QL4g_^F)68FkxP!)7R+JMVWNo==CfgFY7NCbTb4$S-2N9s$sJkQQO}9vw>q zwVj}4b(sW_u^X5I`g5f`CpG*#3tSyrU+AAUZ0Yr8s#0|XSGs47^2oA70;xGw1Ry(yi}#+yS=RFmSYSV_QxZQG>zSP%y{o$ZKG-$i1ncg zvN!*QprHag>q>Fzr?N!0G-5L>ORK`&h1j7Y<_=Ua$RTR)3v zpCKWzBd3YSD8Nof$W}x%c7$hId+f`lV}YIe-I0{MT3P|MAQ!0X=?K-p8CdQ8`0yOE z#1B4}f`ATCE85-prOJnjDy-=@uS>^`ua6v7CN+7VbBnOu04h%)R)eh*za((csWS$% z-8SRtIPHJkh1a0t$o99;aXK2*D1h%|HH0QXm{nGE5=vp}(srSV{nhP_?0OT1jL!#J z0|O7dD;I;PH;+;I&J$eF{UL0IH6p!&U|}s*OH(In6#ChWA*bnPAri?cE4C72r17fp z9zPAMz{Ju96?vm@dR_j}4f(}Sa9*+^42I~InTyRYF3$=X(PGSAq>9Uu@|F;N25l_H z2VI?yES-{sL?qD~yuyC|yC3+}`?fL6?CFDk!e05`1qWULtFoF!?oG`iAy(0|oo<$k zi~$J|lUIfjgd3M0D2h=H>#8*};kMfy&0-okrjq{^W4RI7nKIRnSmndKm}7_Z`gV#- zf89c?x|bX91ZpuB8Dd*x-0@eK$j$unU~8&@f+0Y4uT6&iYPVO;UQi$B18>^n%I|Bg zoylU%ng!qJsyUzIYjD_aNu+0WwgE~6`zg{D>9~uEbaIbmYzNAL7i`8oB5b*}+HaA13VbMpH3Tc(xiVgRx>OJr%LcgBAs>Qs8ajaYap2V5 z*k_0p!|{#pWa7tsSJ;B_3SNERq^8OuS>z-8I+3fZa-#AK$sG9;K1o`?X|ANFu&A+! zIwh8CZnLNU40XD;Jjk4b?cqDi5ifu^QFQHI%C{4U#ZPHgHYEr!Ynp8FnN+xxf>zs8Kz~k=T}6NijZ*9!Jf`=^0xcjFjg0M`xIy( zW2ldy|65p)-<3sZKTg2*kl{`mWoc-U$ZAc+S91y82a^`(szIZ1jBE_0rs*$rGZfmIn+d0?Jz@0I;Vk);h2K5P9M3r;>qt{fH*X8q!Y9K?B(}o;oy&E zJ_*uI#G_k?KP^t=Q&!R|a#W-}G3cCnLO+XAj{_cIo3-#Jb2f2Y+m5mOzQ|JEsuDGQ z91**-ho%7>>=lRP6PC!GM+cU!qoc{a95xFn-U_c$8^#Q&w6Pu-dCAEOq~5f2`JGOU zF5nARefeHt(|M)w(&?X0(iY56rDsgM#VSByV5f{CYDa&eP(Q*@X{St!Y<64W&Q}a_ zHt(ur0jD2&_#y@$@I{vC+1FM2`$M~H+G~+!aD*H;z}W(gVNxV0a@@3o+MoBdtnSY) zbp!VDsrRm#B>KIznmV*1)t~5S!H^-v&cl=g|9fkRuwrm%Ic_M+n_0E%i3ajRb>|^V z3%D^azDtqCNaqFvP>mEG#EGX$NL1}1AwyEtIZ`Ppv0o8TvqndLkyarxZ_f;C*ciwn zMS~2o1d@`qnu^mo0nrlFn1R7I~S}l~KkJZyOZ_T`r7RtK_13pj81uapC^i{k4A2p{S zu{P5AKIjqVDj$2al3!zYaFH3!4Q^3wgx+4reQB{`hx{!uCP%z+Z`QWwouE=^qv{E` z2!HXhkleV3(TCg#`70T!l)C8s@@8Z!tC21VHR_P4U>YDgaxFY6ak&|7A5NJXj075l z$IIW7Wf7K%L>R8DD55MLzqCz`gGWCT&DVpSput9jh6eSP`08NApjYRy>F(MDo~JID zS#I>ptTbKOjcu3r7U3(UHgfosPi@c@f<} zL*>}OnpCGi!z?u**Dvl(mPxQSRXwN!O(t@10E#N73*PixKepP3td4;E60yntH`+#1 zg$&vZ3q6@|#FX(^02JaT25OEM=qfo55TIJ>_C{h#(qqC4f5N2_QmiR;K;FWQdaTUw ziP>o~&Ch6aLCa)5{M={)VxDI~^XnGprbfD^&TG`IC;mM4Hj$DH15G_R>JTdI+oVa| zg$YI9M4>m@*v2tZBeU03^e*S*BF=zVd?qe0s{;Xbmb5E}7BMq>mD_c?+zgHL*KG9P zu@<@YP-22PBZ40-191WW31Wg61mHA^a9k&$9$0C^mLK;&61$Kz#blVf;YeAhv!~bc z6a=VUch0)w!y`;U@I9umw)5d4$U$_fw8=}74cHomp2or3X%3V1@RE+hC8fs7@13yN*Tga6qU)>zD7JBJns#S}8J|b7L!fD+srU_Mg|!{0!t05`_()z; zngeo&%&zLuX^wr+O=y4GoYTv79lrWSz>(p8yDk2cmG87LBQ6LxGcfF^fUeL0%{79) z{7pc^d>$cXdFN%C?VY<$C~1X2*t)ARJ44rcn&37*_fMh48o0~xg8BB){EH)}j8WAC zgDiXu5pH))r46R|KEEvOhz{eO{=(26fjm*f1MSO;&vLEsa^38=8UJk3CiuBij(pzC z26LOikc31sfsx(YobRQ?jjp8HUT+M5gyvUf~Fv6bX7t1}l$@Ui!zfj%%9SW`&o zFUH3)b8O8wH&AJTwn-Y#VBE!2_a3H}MyEEE!Uj?b!lkEDfUj!QkqETuY)kI`D?n>T zzYB-v5gOVY)1(uMau=n-wUZ%sj|lL~j!titRhkruv=%XWZWT~n^?>i>XbDH;DfV6@ z&|CXo_Rkh<{|2a;*bE?nBO^6CA!lT(f@Xa~xwph(fC3({kj>X|a#bacG_HldAKsi5 z8D9EJpNhH{#^4M`b8fxij*pN*=Es2t+MjN^Bd(oMEOsSBjADq+c@#-{mBRBS(FEP=4tCCs?U zVd@-%y8>gQx6nJ`Dkh-FG%HQr+4ic`+P=g+9gUstP&R7wEq=p8t^)H`*yuh`LmWNO zUYmR5?aJmWm2uVW{I~tx1FB}%taDw4N-f<*l&k%vOHrD+?7)X-Oir7{QJ;uZCWBF7rH4z-U+u(I)m|+9M{wHOp+OTl z55@nM1hr3jkkr+MDAErS<0IZq*ujETJ1*ziiY?_ zP8Y(aK-%y^1<7>%^)>PGuw z^d+!L5AlQ?@-cg6o5X+N#iaNWjXdm|B4060en&!f&cIa^ab_l3ejC{Ouiua`>Orkt z2wQZP>!_UYn)Q z#vt~bwVQF1Q~P#x5r>p*&r2iq{AnjWV%x+^PmxmJ{>LZ{QnbO$eV8d<-SNq7xJqS( z3(ig6Mbue%Fa4n+>~C#jfyX>df2t=ViO@aCU0&unDd9{#kyhhzr9!pc<@Wo5$slv8 zvS26P6ZZOloA+UG9t>=Z;0b5ro{BtG?Mexyl>q-L5iQsszlVf7i|g`YoWUSemM2vW z!Fk~1n{J{Jzifvf@|sJ+U9_DM(hIob>np_sGi)M7kk#XRt5RMAC~oRL2DA`uTPrC- z*AVXp*7{&Ff|>|m&@8UHRoWV2#WDBAO9qo^`r zsmi4JYeWVbdMe2;>}4kW@Br#eu;&cfO{yxX8I>r*@lh&NQYAbom9*~AUPJRysrxAQ z_YZ#GtLB-xW(I&1p49*6ejF&K0Sr;3`vBUlVXiAT8bf$%u~$yNW(C1Ik$@bM{Fi;(GM92zRg?t z=E-HX`Lo|zFEJSU_O9H9oRODCN<1iuhC4>;^JJR0qt@c;0-5Kuv}Y%}R^%)YNp7Xy z*JCrl>UJ~hj{crTRLeu-u%jmWKFH8!pBHoaC#>1bpbb|6nVNvrMyfNCB+eoegYns0 z8Ydek`D7kK$;@$BYZytW5~eAVp_zUmCa`4$8m=8PQGT!!&xAC%^1qC1MrbR-!ICO5 zEqk859J@@63y+*|>ClvlB9w%b&}E2NWgbaG%$?azkPdZ7s0Nj;d7rs&Rsb#zEs~N`_XO)KVRClS7|QJqiqL->K9YThS&?SsAVR&0iRm`&1B1bV z00A&Nk(961w8#n;YMN7+LhyAq(%Kw^48K%oGUey}7uSicEhYm{rOMamfp02G-!#Gw z&}655;wx0Wp&BsG#UM~WFOARNh!KxAc=HNmj^9q#CT+D(HGo%+@+WQChkdO<6n&q? zRuN^`D7LbL%~2Lo-h9-OSlmb>)rg#G#=9eNdW9@d^gvF6g~aYKJShEzgr0@mP!d*m zZhU&&yYNl6U8~H-f8LiNdi_Z#DIS{LrO^5kPXpO3^?RF5gev}dpq-?QLfe=hg^suh zc94r`Y_^JN)(4^N%E3_!AXW&pDG2XI3V0WbA;$l2CMfPCJ}YTBe}OL%sX!-8mw^Hc zn(0P^aP>Oe=Ue)`2y}70vMQE6Y%gAIM0?;Zvl$pT%-&ekZlS6KLXdjdEJBgqdA z8_|+bPSQbm@AP7faMouj7=B_4Kfv;X|71qmpF%TRUiffX4u+lLow*5{Eli^GJx+HZh3R<{)_;J0JXxWuo8A52t0slpl90PDBM{O1nI&C6emVNCC-6L&cG4aBgRxX#Ho-5U|# z$+=ApEe8U>i$uIECxJgL$FtZbmReL@A>~yaKofZr!GxKDxl&+znL)?vC{$M%@my}$ znz0p*)X>&@E*5v&UrQ4N1*nJT8M36xbEIsG?BP=pm%Ytjkwf2UVZsYdPxX&o7w!^d zsqL_^taYDxo?C}LZ4jN({|hGrK#fmQo)KayXx3U>mfBS=<0>t?%89-DlR02W1kPYKB;Q(fFg=FIzCZ6s^4z6madUo?e{8TcEBau`{kne5CxZX| zWd{p8(*RK?N*I9;sbWJWKpEWvINmog7Ux1L*e)EH9u{zyvxca34u*Zk(kk7*A)G%<>smZL_raZ|r?Y?IUdDu(B!9#^P+e^2Yg zsiHT^5z8N27W(hy?7Gw3S}O;hg}HDupKz z01w%s7;NrmUb);vi%+VUp0KxsP}Xf6y{-Sb-1^T$_(P_$s2B4Fhv%bF=X@!cyCf*W zN$8Xt5lGje>gQ@AN#bTz7Vl1ffw4@K5m-JuHD)M6#p0O;wagJ;cQXx){u;h3tq%p&&X7~q_z5HFHQgIz`Igm7cP9B(<^h`8+ zzS6MGRSRnObN8Fwejc@np(Vnq54ar1rS1A>yT`Vwhy6hAI4T35PM=g2JuxK{M}z3G z3@k?k3$dc@#S4L7$ZGexf7lZ*s^PsN0sKaMsJN72z6}yS7}ZucWFz7_ko%PIwtj_0 z5=-vX5E$nUyX0uSYy8NsG-Ofq`5h5-QKQOT8FWIkJA;+QGy*tvDh+vQDCn>y)wO=2 zL!-dnj;$t2@+jz1Z9vi0+T@|(fcDtXfP=(+|80*1Dc2H%h6pJ$=BB;O zia%_JIZMZ7ABjjdaDUqiVoKn#oS6sYuE#%q{6m4II;771M6x--VzAJqpr@`1&q|Xd z(v3P>NZ6)22@aw>IF(l0O3LI`;xyzXjixh8kSgL)dB0O+(`7w0Bo3CD^V-u2 zH6$L$r9%w+CpsGqW|(;^jELJ-REZ0twurd@&e%;TqNn30nRUnamWiem)`0;)h&9U! zOyp?EeSr1zK)h7@lXSWrFA{(ldjE@RGzANa760AeF0sFpb4 z#B5q-(Vu;3OAJJDd(=Qc7<0_*=$tvP#nPY|#b%0*n#Yq?%m1DXo zF)6qW-E#Ie9%GGFCG_l!MI^v7Do4H`IND;m5!OWGLu{P<_#4o zzKW#6j9X~TP_T2Z;E?T|k9K4Vz>z3gORFDXu$L7kNG^1(#+@DEb13e(n}V2YH$$%Y za#NkZ_7izl1GfoG>&4)&+hQbuwK1NiU0V6jGux)Ve2T>3u*i>}yzEnq+*bkNaa~?Q zK{A-3Gh`g4Px@EF_>`D&&AwZ_(ym^^hwPIXHfcI1N0}0q2rRt1e=-SbQ54)16MpRz zq++`P8f{K|Z~gbrTA#>vgiWJQ#x^dSJN^NU|Dp2G)Yw(lfYVBy$|!^wS%GWc^kwaM zXgz12_wCLpm4&yr6aWaG|rtnJoMip5&2 z2HIaD1?A3IVXeFqAn@w`ux{Vc&$OEbE?uI&abDujgV;R$h3YFuvRiAqL@ibI>bLrB zt@SY01@%?+R`8V1-XVoUNquA;FgcQ*7wE_!?2&i{GYH=q%I95^IYx?nJv-G(W-i~! z-?A=82H)X260y19Mn#`;uIg{Pld%*S+oyv|V%A>4H)XS?-a@wq9syYNma#?#w6qol5du zsj(>~Bi1s5WGxCn?kZN`#yMR!Yz8cSUM%J3dL5c~@c%!et|>gyc3Vy+*2J3Fc4lJR z6Wg|J+qP{xnb_#qwyh3MHvWC?`{sLk;a#<=YTZ`P@dt?4)@H4)-)QQVW&7UwS5Q-R z@XsQR{zwjET&ICzY=6=2JUuYk39iub1%1-6wscs|4SDY~b`dH-p>#uCdl(w>PoSOO zbc8R@`9wcX)~n5SlXp(!8pTM1C~wOmX1p5@#jQ(6wKbS9G$u6LpJ=F7lpv4C_L-#k z69*ZvjhK)0vv(Slm@}d2qX-KcAT)Wpe&_wgD7!rb);YMXma~4kk(o^cvqv6;HMH^b zTA(8D2gRk!-o@acv1FME1A_oFlHe)N^gE4PPmogrPLl#FQJe!fH4OjTKcO=rdWg?r zHCBwLua0(dcG*99oI6`VoT}8Ct;u-43~fy4=`5ti}83tC}tUshG_+kA1LC2xf z5uv%{gBYQUakpIUOzR=#m zXY`m=3uu*Tq`Q0Nw&ri_Kgi(uNLmj+q$9tzk&Q%)X1o3rms2Bk`YC0M4yAj>5ou2! zU^$~Xs?eQ)#s}k|(KsNdg;Cpo46QN`5|QG>Hy3S@tUDSE&d3|?GK~4T`UWto{GX>eO$toOs>u*QHqlicac$N z>5b6sb3y9**cPH++au?04SaNCTeUH2hG^)$(Nt7^09}~gjDFSVf%=?A5W0HsS2Rzn zk#hI>+MD5gCnc3(!p?W|HO+r#krZHxf){`Ixqb}}kSq^ec<9`%X_T*$pB@U?}pxZ}sdD2huT$p-( zTGR~LiB<<+$y!0UOr}#Y;BhhSf=oztY%c2)@?FHA{du34&dqT4fBG`up;6@~gt3E0 zmTW?7hR)%kPBPsZVKO~X&ypsXbWup)&Hwl{8c=n?FrBGh6)#?P*?;~qWIw#vfbafW zbOKg5b;9nZiCuJdLb?<3)XyXPkYH@D7-e>Z!OTSZ9*Zi7u5i}XzU%Y?sSzLS0mz~( zT)Rg5zhY2rK}k(05s*885m-2dXGC;&3+F3jhe6u`H@GSLk!0SSZU#dY<>q>Xwq&56 z|H~l2am7N0&n9ZnF^a@WKa8o1*jP`R(P*q)Z-vMkNvfHgoUzUewEB4%W0x794Z%X0 z_VjgK`8S13S%~p7CrW$ti6y9-z3^uzR+NhO&m{a097B1;c!*r~)FWAm4E{27f9wI` zGnB)$J!ScIk;s?5qJ2Jd;ZWfp^Nd_r%V!NVw9~uAq1@~-QohwFu$1aY>f>4+9vF42 z3>hTEjKZi!3KRBIJ5-V@Q!QpPOt=EDebf;JSEjQftcxABhL-&#XT3#!291C0KDf34 zotx7(G@R){{)Q^Kj7;kBnVAI<4qX3fq+o`>`Aoj!LWRDQY>^R=`K7Ir7D^dvYkr%f zEYR&Kp6?%VMZs@9^)a@L{bI;Gud!wYEk4Tx*fLI)FdCIQC+lT;A`5H-^0G{Y0I!pu z4`iJ?q{9X`ecfg`TNq11{Cl<@#uBBzC(!d=;ymR#ucSY1UT`{jKfr~!gliNFFN8*+ zQO)S=FBvi|O8W9zHfa5=W~W?}?T#HQr1C*%vE>TSMnV-Oc-js>)OzU@2t*raXb3=&QTLD-hI#*5P=fb;o}o$ zujCOJb24q8mB-e5{Hclwd!C(pq&jp6vX7rk09-) zB9g2}#ZJJIw!`N-?dL3)*Xhp30yBjqi3=V)K|V*1Ai!Vj`lng!-vp?j=OlM{J1%vZ zyK`5!pAjYXpuMc|mxk0ChmL=4#e9W@`%fiJyBD`qoE0^Dyk^r)I43vxQ{rr)5UXf_ zH1>753Tn&p2HG32Jhb!NlKXe`(e8n+6B>2Ij#IXLB z+no+(LjbBLtXQvf9^PbBg0_5evR~NE^_${V?pU<|dj7R97bE4qszS{JE;?9Ms4vSn z`=_Rs{_T!L?SJ8jG+Kfe)A@4&BNK)(yqL9(`g-CK+~Z#Mt9(^z>J75`h?oaxac0<; z_va|@w_zVoNR5`5sbxOytM&d`&l`d3S}Sno;<$oVjvBtAzv9>l27*vScmpQ9A26CX z$-C$s9sb}-{wlP@YUulMh%qvxYT1szYBWDN=jq?!zKDvHKhJ-<28}(|l;?pUL~)Wz zKi+Efg&*QZeLq%ol8Xf&l_>5^ydJRvEl4b*Xq@(BDOKt&X`VKbsJ~N4gZ9{Lm`9Xz zI*`XB#d_HeIx@h-E#4Eoo6j*L9=?$J5d~@~v;Qlw5Hgbvod@5ZXU4FH3Olzu=;Sg; zfFx6t`Y!sZD`>%#@_B<{X=fzl-~ED^paD8b#;3mI&cvgghj4>|xIRJ@RV{YZcU$`E zbukh?(U$P@+T*KUx?1eGEhmO!>SdbNbwH0FvR-$c(e>UD$&!EXBma7ONN8H1?j$Q6u9mKaK8~#!C?=?`Nj)ja7^-BvARsJY~YW zghTm##53Rh=)%a88WCeN^fTXD#dZZLs_^Biexom#2Xv^+U$S5P?=vr_9e8F^#}NGX z1#*|+ViR2Jmg<{GjfO{=aE)(LTq6?R?AnUSD8m!qvLUSBhGc7Z@^G1dtIF~k@m6ZL zk-Mfo{gg{1(vL%sduRG$$+7Lt7u>vCXh)z#uVW|Csh`VWyz}&~J>A3EBx2cdiOSnI znL#})X-AE<*nnce`fh&E#2zZbrrtfVPezu0%P~CQFONt_c4+u+mEDwnpa*h8%~?Js zR0;x}pTk^YKgEQ?Z|%6|e_(Bm4I@EhI3X0TRd(r`oxEvAs=`hm|J{%0$Q1Df?*@e&m__7cLY+S?MQE@5A-7w?*Clj1Z zcac)m4gGY<)0v_|_0;<{(;*2_FHCuBUOP05Eo;ls@N=GzU>O)2%}(#a=?Z?W^bIt_ zyIyhX_)crJ;aMotdn?);u037Lt#B|pL>~#o$DGpo2)*xC{CT;+C!9a(l$RdAJ@<7# ztyHSV8)ZVYODJ}PH?FE0E55bfaTleOxFri1FqbD_W*oRh9c{NbnL0keiAIH*YN)Hl z7F$_Tm}nQJo=i?lKvas4u>@k=^DGh@s)P42G@1geenQMi=uE+QMc0+G;^)D5E_RFW5@etg?!A0r{iOJ4SH0xo zu5Sjgh&+jXio6?debeJGF&q4dWK@D-oIUuP$hd}nr_B^^mM$9mnrnJ>p{A?$b(DWu zFcJG?*lYIjh07%KBTdQughjAG^RAWBAtAy0*9mapNsV}DzhoqU&}p5Dn4`)2D`7Tk zjmXJgVxQ>$>Q26dCypbca{GGN2&-U*<|g+Osy~kR9eKE$#K^xBWnV&+exW68dP5LZ zy9%0K2kufoY(mtoNMr*=dpAc8A?-#$sBikQ>3Y-1@qI-KZc{hrQ|KQ6%RGQIUB?P= zq!iW~hDriJ5_>P$9`l{tYMyj_Tz{t zps!e3Xsq34l#eb@$6_0!=MB{RX&BPPGVlklD?N_$@&{DF%{f;A0i7iz=0+nDz0V4k zUBpJflg3TzR+qV>22Xd7%g!-f zu?wNi6HXt0BGuwVQxJCX4t+}d+_6dyx%oc;vRzjwp z?f0MjFN2e$3IuhxPQreTqM%6~?CDkW(;(|3hh55jkZ40^7kB}kI`1c$Q^0Sy!lysR z+f1XZ6|5aoaj-$L*TSd0-q4=^t{GPkURH1W58^?%M1xv}W2>X;pVkD~XmtfIR!l<< zIqzQ*OKJ=!%Ti1=r3r>EbcGjt<4d6kyQG(z}Zi?xk% za=DRknO2h*kJw)R`-g^XfOgCg|AOeys6;Q_r`-s*ShK35ISJk<3{kN-_17~Flq`(3 zM-2(R=_sd>04`UsTmw0;2Bv+S@T1v17b4*{+r3iu2FUUJaz0=2B1QKNYK&lSl4P|5 z3w~%pf65)(|H4(wxA?pTQOc~7Gmmtbh)s+|kY^Z3-~&eX|7m;8xF*a0n`C|+*f*i&n z-eEBaMn=~}Bo5Rs91w}W;tAA7BQZ5EvQ#$1P^p355s2J_KbJh=%83nU5zgz)d@Vx1 zy@>Yw&sO<6(|E5O@>Bw)X+RfVgSHD90f{JySoE=@q+z=+)GSrk7pA_n9et(EL<~y) zeOR{VQ?ru$eu3>BYx?i-=AC1uT9@hK`mzGXtLkeBv?aPXai^~?YFvE&6KQ}T(CKWa z>y9ed$8HB~j6;l6&->^8EKYA!6ttTz03<$qR&F;sJ08#2c(YZh)JT9MwV?m!VV$FT zAB#YBXg!bMulJBy^?mghW1+& z7er6F6D8CaM4*YdxR%JdYo!^{fR5J98F$s8U_bK{xF;Mx?#n+A;cvk}^o8A)$(dOa zm`dVbwS#{L0ravFR-x$GWwwCz&9_dPy?6*6(x2a_Ew(p3e(!SfzM{ym+ihWC@d1>d zPAlk#(`2;+iXvW37ADd3uA6`=Hv=98an;Ckww>qAvGGqDeAoN$y~#D-aLxTa@N_qN zX`YKlIyrA00t(#`q=$7g-JzlMmu9~fW zOgGU7?c{JL6%Q-qBT9%cNKnl@tVr?%k5L=f4A1pw7F#_ z1lPCLrtnt*?gX0=QKB}LXp?2SNReUk5QA$Iy1h#o7p9Ukhw+GNqEr=H-xDbypINCM z#^aIms4k|nuIjQsn8Pw+%t2M3{kvE9TZgx0fZVtr^z2|x%+zzC3h=9@*)fnt!`t`9 zwB_tZ!qkN~)i;?!Ka7TS9X{G~E{I1ge_ZBI6sh+Hhp_IQZGGTQ@m}Qid{LwJ+NplD zQNwt9#rNROjRuF(j38McRja|ayNR;ol&gi}n;^^^8ygFn2`Z8iT9u*mjy@3)$we^# zTv23kfM=l-B@!2KxWVq`Ho1k?ncJmZe`z>z^_VOVhc<;o8b=>=JZqP04z#&RacWue% zF}pC|(D0S*>OZ~97`qR$CXUPSB#i=!zXT*ds6`A^FdU|R(hC(SnF-*51W)Ci)kFzC zrl8cg8N;gSOgqJHq_sY2?lRm9inmxN{^mE|LEm4`tH8?~zNoQOa8pkG7xHQ3`>`Q* zI#jt6?w8p1WaCIpJl^qOYB7nw>6b!lNgM)as|ji03YU|7t%y6`Oh>I53*qDN3^(_D z`oxILK9`t1q{2`z8tNL#tm1U9BsMpRk=4m_c_e&XcWg33n4_4im^5l4imWw#O`6d_ zfQ6`(WZkpwea=CZuE9WEUmG*v|FiVbPu4n-H&iNg!auZUagL&QH)tRrH@Oo(aRySO zK~Ev1^04RGK_gMSm|Hv)lAhD1E$c|7)(GhAx$~;CH+UBFT#?$y%TXUa=o2Zz!IvHQ zZNo$`{~`eNF+3S`XQPEZysQG8-%EGXONUg3?$^_14?2L#qfLKp&JcnMA>0 zLdZPLdqc~}Or=&V`vm{+=1@K9V{IsO{@UWmn@L#XF7J+$ z&}j&+@7)OJ9|sR83Oidc!wSm)3AHHFggyxq6?3vfv;<$hV8733n|^n)|5r^~wqiWO zPpgm;v!~suhUYi7E{5A4Tfi^Y(@QfLQCy9)=B01R8t>bZF!<&JoI0DaZ2qJoyNJU7 zL^`f=840;I0$m+N5UQfyor}$XX?`Hs({Na`wHQ_tPu?7rxa-|c3)Fn= zg#6M}k_?;7@-bW(35V0LC>aw;p*I*ZB+HU$l_xF=@J2Ifll-)stqF0#an;9ZnQIpY zhgoe5XU6E85*<|vm@vkN@t5;17J9M*!p0^o{y>^Y$Uuee(FhyQ z$KaaF+32cuh-)u)b-xCWJ9D{;PRawsP^ukHfj)JR=t@ zVTd zy%cvJWavmaM(yJG&rIZOaxP=#D!d@9JDhHW=j5!I9v1O}x;}v(wKhx~l+({dmMKvw z@W+{S@JiVo;zm|wGcbks2peG7E$dYx4>V(ablayhb^sSz|u!#m<}6ms~` zzoQUbu7#MuwEIExp6d!1z?z?3p8Eh7e3BBEqwsj-evs0&Cx$UT`p9f^lC&w z6xWt$Vwgq(5h!$4D2%cv$POok&TJT(CTn|t3n?cb?b^X-b$Z1!CTc}h{UnH_x zeMX`ZHIB83p6aZRZ5kRd_q&gX7{$YYq)1!BB0H5noaWCgE*l|%zGMwAkpa&QFr&dM zyCpCO&JGLlU$5wp4Qz*Zdac#a(2?hWQxHONVyR*y+)yObAV4r-ouqu|FQLXg=+ar7 zc;?W#h|>KJ;Zb+7iN9l(3g-A*)}Lc@-xgIP+%eNkcfw^qrmb1UYdQ{oWZw8sf4#du zVE(xhuURpF?Z!@Jp$=zOSArxT8U(G+*W_&oAKFNCJxwYv1z6`@!5gJR>I z$BG7BB^WlF9Z9(+5&y{A*sT$k3^{$51CP(mAzy(lgB*P%i9!=JoFXP!(oIK=L}WEz zyI*>}SsRT1$2>tAAadX_;j$XX&XK-vNbDK7S`dVZ z0isPDg6sd|V(?{RfM7EiBrdthrg?X(*P%9R7-E*M9uP;=cP$1jc9UK{)3@2Ji4y;m zLopZp90lTep3tIeYHHb%mTTj-)pGONq7%`9_eJN^;iZrsN_{2h?=RK-q*en6I{UdE z=Lj>}ok^Pre`19PC}(_M6%z2FALrU{p%ior(-PqwgMyjPcM(?zUAk!v2Fo<5DiO~I z-}$nME3+e@=PZ8Y@TpW)EJ(w+oxS4c@D`e;U@S9Y-lGDZ+_8zRF98K z^i#@LNhJUNywcv--}3`L<=+!=eI)}V1nytsP9;5 zDV)SnY{R+h3E<1q1WDWdqu*WN4hoT%0w65msl%2}v9OPPlFo1G~d;WU%H8TPKw+@OKDlz!^Sj+}N8 zz+bIHh^Bpnar2+TrUu31ontyGneeBCL+d+}Qb=AsA6-t^@f5QcRoSJY$BAoqerJS& z=ZyoauD<;xkM#SN&Q?qb&)MAbWsFaVGpeJq1!+2Z95@!X=s^W9L3^@6^D+;w3706mH3sT`a*hvu7vsgeM}onuQnFpJvE|$%@nwdqeS^qK0JT zi(QD>u}LfKU^{_8i~WDk`A{R8dxXlCQ)7b89pj2vlMGwpB`&)7F#pmOS;F!~LkY>m%>rqt3$~+u@wwe`_B6+_gv9 zNF=TBsC3$}3_WL2)33tONg}m>+!uH~&iRhUWj6O6mnU2Fk4r-Nw{Zg&Rb)Hoa@jv> z<~?oyLQUQ!YzWF#d?&Fgq#V`ID@SH3Yxo0-Byklf6c85&jd_%O5n{GQn5Ah1q&{6u zE`5ikh+l;iO-|$I;8E+)YPu?1pR6F&cUNZPEfulag{f}MxjEMq6Dr0;Sl1!`XXHoj zEHWwAk2KbUTNY;H)!K?avDRtsnTo%oBY=_{VQ4<_&b&<&yneUP2}sC!4rD(H$7>Yq zyoO)e=~D3q#r};@u(`CAg_k1I>(~%AhVcP;TxUJt*hDZ2XRhUloQh8(;-&!43*g8> zvRFFAC0kXQnn^&E&%KrVoJ@HvvsP_B6zj@)8ey1TB7qlUhA&4+mI+H!hA1xmUDy13 znx}C@)xK+>6C|GC;9VYWR|uI3sfD$9$X9XpX3~rwm758iw87adWN+?$@qb((*8mn} z!nmc^^7YLrF)7l=%gvMm=Df7ue#f^`Fdc@%pDY=)k=ARzE}9=)Z$}~Y1FH)WN9*q$ zK6}nwFDp4iOV%%xBI;mG*_(7C${t$SzCLrT{DIHe>R<-#>an2?*WKD+M>!x&?13_* zu3*IqtSyoEu6i<)jxbB0#`3mVi7fdlQT~#gZv$7)?%y;}!H@ zd(a>ptaWsB4`Wa&yJx+$Rgg!@C;E#LYy}eD`Otc0cTvcr)Dpvc*{Ve2y+*y*N29+Y zoSWnMn9Lg{RvHEzMvVT4UwFKM-r(EP{aVM>AJ_WgHQc=r2ia|o_6~)F{4qgky@9nE z(4gZ0kwkx(Zp(1#uj&~-neO??``N=ApyDo9ruc2DBeQ+<9<40ix3}k1ITzzazVgJB zUuc2@q*2?I$W^IP43>6PaMGi%%{Y{`32NOt#&o9{?s+nvc`7XLnxWo0^I!_vcc&t5 zDb98;Rfrh*&@C?70ZD7Zd8M3X&z!sT_N7A<586Tyo|+&VrJHnbS$ zqIc{0Kj^Xpyn7b-UZKMfk%ta=t&!~Vcq8_KtS4ts*5i@U?t?uqVqtHytvlYzEx}^d z1}Jamj_$Yo9JKWOTgqIgH7G%~J(oIpV?NdM-USWgo7Sor8Y zf=&fw__!GInw6dde(O0VWqStn@mrb!!k-WkvaiL6iq~bwG80RfyNwNh>dJ)}716fv z{ha6p@fO6ZWd3DYXvoJ3$qdgGMeT5ecMC?DPNl8X%{T0D`8NA?+5k;3eG zQf3QP2jLstEPX>UC1AYnk5CQPc$Ss3wlcQ%u9*;F2l`wlfP{}MZU#E~WY_wsZ&p4f^Lz#C z2pnGqBP9k$x07H7E9Tc>M?*2BVEO*WvL~k+o_G<1Wo3TH9EZuQsUT;kg)gwX*g23Z z>PMPCtzi{@mZ%T3}KZzgw5Oo1}p>S>)HOd0CBk52QHC*cSNfx z^hy|+*Q${4L@p*Fh^f@~SXGbTAH7_DtWsrC?X6nU4nNBAVLOC>oM;0+0H)t@roEd? z>pXbh-0`^z2CYlt0Fn*2D*^Yoa@j*)tZI>51cjD^tb900#{rmZXNKkcLBLtAZZ$)I zA*vSim96j!Pbk0dUR##qki5Rt_b!J-B@S@qRS|V^ih4~N=vi1#nMTcU{d2+El2E)L+$n|+oq<219vuus#lxA>j9 zsIzMWZB-)THG-@Jif5zfou{kJ@qI?{=sC1o&?)c#z;l=RxwkQ5`%r0Iei&0fKNT=!B1L0iQp^;@ zpd7Yf{vm%7;IeeJ^LYr8%LLwgJb;&k4u+?0)BX)}L;gdUh$r0M+UN(%fv^|Lq~b9M zTT8pmjsG^!f@x_a7~^!vKGSdQyyCE>@mzZ2DN;Ly+mqSz+U%1l|Dc@f$`}NVpMGK`;NhTrrqmsftqjHfL?(H z{s2GZc>ulleHxqV59c;y*EO`3-3T2Z^lvNd2+8X9Q5z{2&xdbouK9FC+%;cxTb+=b zicJEiwN736>+e&1l}{)x_uI9W4I7_{uUg(-uk7o<# zlDg=owR-Hp7GP2nG&MH!AB4}=Ck`@YJ}Z*ZJxPsy^e7}DNDTtCgNsH&?a5iMGThz^ z?|&P;_lkwwO-jt8^26v4avL-dgY<2C{>~-Zwdu-`_?j=BP8)$?8_h@;6}W$O9425x8WC2WWLkM3qgT~T;akt;%Ey4K;4z% zDTQB#??=D+pIHB9^vDe6rrHU5vtdaQk@zOF(YOab?)f1)-<6H=2`)4@TU(6|ekPmS zR_f%EYGK|z=W4CX`NrX^XNz)2A0m&$RIy-yM4-stohyCzvCv`tf5a9)96DeZ>zS)! z4a~nYS@{Qub|gxwqp}Q>A;Q@Vn((|zcwS%0_G?ogPPYMXBDT1EzbZOvH?Uw!XvYt!sh{ zEhd+$CFC|F*4Z5arra( zOGr2ksw^=Tix{iwsWZZ8iQ#C$Q&^;{PF*)_2i+(BPZ0KNk`qKJxqCSUnJ&$Bp%*Nh z+LmA2y{gCfUnDe_7p%4Dj^>73X?rkg*M2}v_7`b_$ItF$jk`pbQSio%`3VwcA$X78QPYni9I+A3N`3`t!MyIWHB>lAcfo+ySYf6j z!*^~+g3HY+X7w#e){~Zlgn1I0lN~BKF5c9+Zb1?W$5~NGgiNAGzH|STBSq+@dNV~m z&yb$;x1X?~(``XYzSCjcHg^{iG&^kSdN$8JJrOQDxig*czHqZ|^QM1Fd{5zBVt$w= zeV%0VygF=(S!3(MP>UFl=*h>LYN8rYlZtCGbsz*Im0)li9J#+)YixzQJ zeb7JXP_iup!`gG3(~VHFtNKqMoqJb@))88`HC{V%s}U~27J&fwS-aHdkqQGp&&njs2odK4WUyfzjI2H(JyA+jun$H;-AWST5sp|>eMA&G z76!%}IWI6U2i{xZfjJX!8Hw^!hMh&J0PDh{xx&!CF@^0_l|w?%UTGw z6QT%bITzn8MO}^QSQ33Q^K_zgd56+_eMGT6hy!z5gj1aQWdCC}K%3PO zwtXw)Yq5&x=Dp!X-#}Clndw^UI?wl zjntDdesu87Vr*w2Yf9D z)gC18#C5&6Ii$$2l$ME(vaxAd&2Wy6w9yq5#9r$c%pemLAtM(N?cm6oTjGV?dOc*d zXKpy#n%P|c>^l9|un#q28Bl_?8e}kB2I`)1#g1UC%vo0JlxJ*Y8<12$dJ-;O>=U~WB%KwaE}xa<&~eCKmx2A|l;6ConW zA8r}40ay_h4k2(hpcz{+hrq4K?c4>Vy4!=MW6nrdb`2){i-a7oPtg|9vk7Lw8@isK zg@LWtbQE4C&F!82tWt95Q)?nfsuD6`i$#*hoI;~$HNw0hM8kP6eam+wQxjZtG5vez z@~cMYb|Rb{2)yYj7tWbjfiJj4P=dkAENuv!@$@{q6!YGXD9z`&0d_$AE7WeGaSwX0 zqq>Ix1h(S(t?~dj9jh%PZtkvMTQy7EHDi=-&MbXSp*nqB+mSaPu}x%bIh8TLheIxX zu6IbE);~*xpSB!^yRq@wy*w?4b%utA@sU>&n9iH*oz}5ppS@ia{v45eEAd$V^Uxtf z;&GK85>C!evxSoD;jg7`9xfc;wp4)@!+a;i-MamzeV^ZOoh>Poo}g7-EKs05m~^EU zgVFUkXF8!V8^^Ppb1va(%zdyZu>->dLj-$UbcV$B&S0xP`C23$;(E;g@#bclV-G{c z`>fV@#d9sto^(ttM#e{mp4P-Ee;|=9G=n=Bn! znuV0LW(BZ=glQm{1KA2Xw0EvclB-sVg{Qpb+`+}iu$6YjJ3IvUZA6vwlo{FUzYnl| zeD-fEC-$i*YbP5b)TP#aBuc_Vm)&0GrZ~LhYj%n^KSR>^*%aZ zEM&Nk-k4u=JZDdO>mYGuUQh2R`Eyc{G~xjm@3=xbY&$P)1a7q6+NiXW@lUUdm8&J6 zVWM~uSqTLwE}ISSc{*?VE-v(HH{-xZO}Dj?>+70f(O{RuAv#lot6v^_*_@xK7qvv8 zp)1`4P$X%{vS6lyPyjw4#^r71e;AEmhNrov_6Bk!8Do)Q4=O!(cXwqu9kMB=YNTnrJLw;>HDyppx>2=+GcnyD&>*B?QQpz#=j_F@pXh2I5 zkn?9{79F5K;}jQ;r<{+ny^=_xP};Kpm$fAaZqjG;R1Ht9^3u z5kXD{n@uh*mQE~Sjw`CO<#OOJ;AH^N+4^XbmXpyZhTBi)9VUU(g=X{UYRhZWI|R>l zY85Ra=Hl#3<5-2Tv}1RhanzLbK4!EgFqUvI2Yl3Im-|Mk0thgDZlXGE0{7f(2fzQa zuYu@$9QClo>#^Nma(VMU!T)@oj00Y^TX}k(L#; zwPlN~_qwIAu6&=Ezga!cNXpfkVHrIS7yB;N#03AMZAbfZt@<1_Y!l53uu6saO3_nf zXtVUI?>&!7r)=kfDo?G@scht{Kiu3r>G(G2JR{vt=xl<6tO$Qk53VXCwqv~^f6P|b1XrN5dxI_p00micSEGB zXh&Yh{@QM$*v~kQrw|6{oc$sf1>5gnwW# zg!`c;ub(t+OQ{Z0g@P%Kia)r-Z=fJFg`Y&pMry2aM2(in46r5mnfM}!u5S-yNUlR{EiG;Dk8oKa$9g*xIFHmOeUC4su{L++f;Cy!hh2^D0^1=ruG#K6jC@9Y&k z!b#ai#EHjeJ5guaeRHB)k!%!`3LupWcOHgx2XtT4DE7EZqS8){TP<6a>1!*}ue}Sv!oDCr*geU}**k^WurO1Z@c>B6f>uf-qDz;~m3` z3}li-g8(5L8afG^=6DJvj^@5>t9a6ML;unn{r+H(-@zN^>w>&{b(g#I_*11KXLFx- z3Ov3mw2(|)A8g+5vKt~6`#>B2b9?m|*)d$elqq!r@3i%_G@&8#$hJ2@T2+FF{qfrE zknOx(Q{!_St>fcmX=!PI2zKK}r`-u=u~<1+EUi&%zhJ)Z@T9ZrVAGO*^HjNE-O=-J zYvZqY|Lt?6w|F`+c9xgKLD&9V(F#2B!2r^pUm^;fDd4-4W!qmu%IVbV!~DE~N+qB6 z2y%So@|Jz}_dHuO`gV!Khjf7TZ)u8}J1o`JMeY8A<*B31Tv~u@rMkD!utj2UMWW^=DD88U4W+|^vNgfX~C#e=M0EC@z6o# zn{Cpz{sd@oxlG>q=f-C>mhYJ=7kRRL)A zs`~>44l?I!1B<)U$}4*4dvyu*gzNGbE7HioAVb%nKFT5f>(`Z;d&OZJTA$@V=6-Q= zcQkYmtMT=`CK)@oceJ;+mjk^{;bni}+HjSF$0>asp~c+l0jhPLv@3j4K`h=5D%9Eb ziZ8c1@rIV`o#%$vebDtVSA)tly^Em@u8u_-i2dn#LA=H9TKyWyOQn_+E8?f`Cw8Mu z_})jS`CLzDk^hn?i7!ykFxS-t!Qq2P$?x-eVBZfi^S3D{!?Wco=MGd6Fhay`I+7A? zwMF<9CC~CF^AmhQT|j9P+Cq>U+5>#0wUgabpvt1HQYvScpYL=F9Y9N@`_J@#q|#1z%T=i~uAb)$XA?^7VC7fB z+!140Kg=j++YPCa)2iFfO&FDAWl5Ek6cVQ=>TVOGhY_I15Sk~k{hViGAtDyH#G6*n z5_=gXntDnF6?-PH5p-(C$V4M%4b`&$2D23++Mz%zl1y&EoK%h0wNhN{kS$*5-Fh)o z{cB|>&t&Lxf&fK48dHKIFA!M*im$x$n2p#So~GXbyeOv0r)pSfEyg5}gNZHF=W~nP zZcSr~ZRgd_lp+LH8|dZvqJW`0I7{hNmT;FzqtlH!UAZxZ8Xj6Bs`-~-0qVv7GP1Q@ zdbl+~z)LERs5o$>=M%0?wr6V5-9Pb7o!P*SdPFHAZ`}^RFyD+aLP(dV%rYiRbVMR% z+zlhxInQ=3O4+t^Wz!T`Jo9r(3--@$yStR&P8J-2*NqRKJZ{0GV$tdq4^iab8?Bd& zlQTE9T6e`uT6KMzYE(Ty-;$zL(~?8F;`CS+ zSWIOs0!$u%nx$FDA4|8bcC>^=)#+XKSkcyNQIrnF09;7ty~Ob;UZWGUk}l`P%#))M z?4L)XC;%}9B50)r#0X);u%TGPqZl))pN3(6;LtaA-(vVQ!KbO>?YkY&OISK-)cPM; z>L;)jTSG6nNT?`jg({SPELjpNQXy_Y6kPT?obP@F#cLvKM)!C0UYQd{gA8o zC4YvuXoieneB#g5izwWNHIz>(9uNk5Dnh^bw8Ou~t0j{bO&pXbJ1l)qw3jOD+DE1M zywausPoTV*Ej3u|a?yOrp~>k}EevdK>c7w0n#wX9zD^XKRE$JFf?T@Y=~d&TZaENu zIB111XjSVR;?^OWVkS%rHaDid{3&dbGkbhjU^uxO_xO8-Ajt5^Oi+|M+Il6-(V*UD zVd7wEit{Yfg0sUzCQ3BXkOU8s*N6*Ul;x)|3A!LxHlKuEPUTo|m_ga!y1_HRAD)Ha ztPXm0!Az;yj`ZLSb{6x zc|NOnGa25WuXtT?SUc|^UG@5Zl#Uu(uGZuB_;@;OoaX%M!ad4rz;S1!zHeBbGe-Ny zw3vl>l}Y(V2Ml(yh5M$`M+wOFde@#&M8iQf)Xam5o|b@IUYAMi@jR4-mn*maF;zOmVL=+J1}A&wt*;P8)J*Ek@!}o-I9f5xLbP z99^m$14>Akcbuaxw3Qfx0}QdG2?4l9@)LC;nfnt{CE(4`HV~CWS-P)U5*K}Q`}Qt0 zZZiON!i z;r%|+NQg2uGZ)q!qJ-JRm=?sLg^;$L7=53gsk%8g1+&M=t z)pZ=w$Nvji_C8-`^);>U{VpaHv6uW*Q-=SC1Z?XyWn9k~f>t;@IzLqAR!ShwykkoO zZcLJ%Z>3f=(hjdD{%Xh{5&XqPYq+s8pm#5E}>)*chB2(vc-=ih{YIN!kq45C=Csi zD3U%55yz$m8~Yh&i_Hx0h#y`se-K9>Ui|pw`)i4;iZU&)!NaYRiTCA11pV_waKa&Sz8i5>ch9C4HfYc3aqpa?ZJYcH?v8FmL~CQO4A3ZUn? zzmmcFMV!ql>)}T7Yx4Zyq(xV z8PiRB-1R(GmPCIG&~t^Xem}oKR)YsWMJbdekMRjJ_%<#`sG|qy(T)MvYc;V`O|Xar zsI)VbXQEm28du+)%}dOM@0*sX*51eZx(1MN&h#~Sqy4I#N?apAhbxfSpN zi!o=&5`FS@I&{KNLNGM}CmpKcpZ^O4P~KNn)Uz4=yf!EEDZnPiHxun1z48K@|-Lqk!ov z7u&64k;0gbLr~CLwxnp0m+c3PQFMk-zd&YwIO0S`pZft8g3nVnV|G_y`3o2|fccnf zLFL+uh{YBslE!~Cc_M)2i8=W&TCNvwUh_K;gi4n(GpsNv@0#l^sN_uQhb+5=y6BH~ zVNma|(9ZTWlD0IkqJqN{uXU$HERN3lL*)+q#yJz#Bnn#(L{W{!fSJvq!=$j_V8y3f z=HxB+8>JL4F923aS5H@qi=Bm}U}X`ZU$kR*GufW0cu6m+V`K480FE4BfP?&!;glU>aV|!zBgDbYN zv28oq*tTuk$;P&A+qUhK=YGHQ7p7;XtE;NJTewM93xhc(qu`e_UB!7A-`h@x`apnGk8DY2>h8WJ(m+pXUJ7ARCQCXu!#*+pWp&C+q-qW zkOIMjZ9-~v@u}J*k`n9c22A*LOwWh@9rZv8^(z*>>wW>K@K9cQ%E-b=P7d2(5%AK z5D&dMZYE51Wzm{|YDY~@u}^Z_MD=7iUK_3En>>Pk9Xz18m>#^2otHIdXV*$O7iai9 zaC#El@b(s@TEq_%t?02= zR74IV@BJc71V&g=PEI1~9rCI}0LTR+N*#CtkwVhp4>zgEoe(gSsqf%{Z->tst0<7>z>rfh9Iz7^@NA#P5l0HisedkJdMXibPJY?-upH zMrHtSbBz{ulD?z8zSaHaqj!gOY2#CFQ9#L#(_a7TGBRh(&KlC)^}-YsS7dz`9#$ap zJZcGsPr?jOoVV@Ss9AmTKj-7NY6UotBaHz^w3^O_%Nrc3r^Q>XS49{Neg&dL76Dv_Z|<>X*Zg&q`mOAX7K_73J^TVMnl8a@IIspil1CS8OW>2T4Ahc; zUK=K0kB{E*op>9e1UTd6QpkTfJWNHn$M8Oc7@sBuJi8R`xpZ_mt&3MFR13F^PZ6Y3lvD~-1!WJs^MQquzlr_ z&+s@t#iP{YIMOGDrJJXijTp$T=OM!-lIg0=FiqZ%UmY#_TwA+W8-Cdu3CZBHZ(Mjn`G+{$B~KW($uq3t>9;3F^5stPk- zpE4)guUwk#SdwJ~@XSBSP=pQUSO;`}Y%sac26@z21Q@@-FWB7|<#s+X_IrdytmBml z4%I2;Qg$3yd&em8E_IBuoqe1oJUM5q_Lh&fbY9k=@c7CGruGlSflvvq-l%s_-q%}gue>VDD=QI-jI&GdD9M=o2 z5jh<%6_m2v-tS#0*_|#%MhCI_t{tq3?(emR(=rv@-^3rcv!efW93%~4Hod%3dGC!j z9ImndhbMkO1qjm0H6F1lD9|vBuO1wW>%vsb!0o$e&fvHvZC{1?rPFn+&Gr`LqNu`8(nsrkfHSoghJlC0O2&W7hEW$0p9^TGAEGg{ZDE@GY;whF(u6VM;g%h}p@ z)jQzWT5AZ!6@;shyAX`L9OwAT%}5NOPzi7OKf8Ds0Zjwk@d2Z4a?w8C-S21!jTX~MPD?q1jMvzb~GprsKdL!&>Cx|%zP-D8h`|?=P;4;*%B)HVvz@2m1zPtJ;6)nI8redAZzPURv5tkof zKz3|Lp(v^R%3U3pT~*+bV^cw(kZq{8RndSV&ff-i30)$jiwfAWW`~X(j&owBwt{e! zPW^wUeN88OwR@*vVbvvrwI~O+n>sl?0~NNJvtozk78Rk*n@%9Gg#4Gbx;21^Va+2V zk$aji)XO8LjDloreYmhl{fLBZ$04r=ZI(9_nptmmZkxRibT+iQ}b`f|-zBWyli>ywK;0W3-?LF`AE!5gIK&~PgAP#UMDg^HqnU=Cpyq6V1 zJuToLlpSb*kj=Qult+)T4CWbRf8oF~FMwG7hWUZk)NBm?A0btLK8j`4Xw3)ZRE<4H* zL@?X2_>!%;<578uG!oV00BB7f$^SvtS7}X-sQ~5Fvg8T1Z!X6j`{mKnFN5yuk8{5Z zf`E0nTKYM}wXCtXL;_LV-cv-_&>Kbbvq>@(>CZ8X^FgtWkKl7MEJg$O`@|LpaH`I?thHHmj-ZX?Yj(OL`%iVlfjA| zIN>jFYHJTvn&6TgFJ!uk?I`g3HgfInDjw0>x91N`S>A5wHq=JNi@7jO-$Yj!-LD}~ z*Xs;fQ7WuTNrI1@4B27T?`zpOh6uO=vxGp$()?Q4TzqkGEOwAbjOhZ`Ez0ci1)-!5 z4a`MyYzszpxjsjV`V#oJ@Fclxjq$_^q1-V(9YR74{vA+ER*JX^%(%Lr4Y2*2Eu>9| z&==UN??AkXY;L zqLPX#w8qAmb-%+i@reW61XA6qxDxlcR2o8+nC_Hu%xR&J0~X3|c3dins+@w^mpvA& zWD|2q(iM(M6z-Fzo+v|b-c`7BqQ4H30^YBt;1I2L9~+t*^}n-u5{KO;bX;NH-rsNL z-X1UNF*J4E$QCgFFBWUSP?MMci_K%)7gG#)= zniI|vAieKVcppaJYs}wuN@tmw)$c;rhAKz6hQ%2f)j_{s8n^cV1ns4?&$RgSH)%1t zF)ls_kfFuvLyP!yta+YA87c#wFV}*vcoj;XnQz3DX4~yJgATGy_t!HFzP)A=U$ypm z=~5=tP#VPZb1==?Fo#joD*~v-lvdg)R2q4xb3nGc>I_neMRQI=EzRA??B}G!>xDre zHldgs)~hNjwF5*L6(%*%W5FU7+!DhOM7WASPbVf0u+<{R^?nh9o?jLbb95i&c&x*G z#R0V6yDX*qmaZO=wLuSvF?H=#4UKMY>F<1#N>3CG`Di6JoZT zBG=%Pa!p2O3#uNkvUas9w8Yu(eRp$OmnexyB*Bw zr$?aGX+vc)nd*O{$(UK556D_?$}8{W0VDjcc6CBMrQ5@%cA+LlxmfaQoS&wnU&8ii zycFmntiv9Z#9`ZwBX5>!@%nx#(%sJ@_+rr6@&?lAK#r%D4nGz`Wl0|L`FsvwcWv?R zAhYQ(Vc<;95Qqx9{jD^oj|9dLsnm{`G|Z(16c57440o7KZbeh9f`FiBa1iup!cBk} z0+m5Cbn*K{5`Fy@XUw*?l5?(hCpQ4BgSpFb;j{dfMvlr28fgsWWDH~mnKRc&p7Izt zj+!fM`%#j2Xeq|ZA%!hpk^&h<^aG>GcJ>jS5AX#d}Jc)>pma$ z_z*byF3LB}idh)h*%*!|rO>uMG^%PnwgOTr-}Zt4s#>w(W_J@DIC9dH2iAFAF_u1$K=<2T zcH_8pzMCy>+J~2k#v35A4Vn$Wu@|-H{3$wt z+^jYG;M5i)L|Pf%-Fmn>E_ZoX(j@zVQ6v=6#6bvodlE#BC;QrC)P@cC_dL6FYM1`b zzykbD8Bz6td_BYi?rq+Bt4jr!yxKzNdmn?zlN_`8(-~ ztLPBJ^v!kcvO9d(NPaI>oeu^axAUX1oNKykXFtx>-syKn(qkSlDIzZTYB$bXmtgEu z+K7XKV;b-g1X`N;r`&NCi20Xz=#-@&Y9pHc6yeq$sM2o&E2f}~UZ(@S*8bvtvdJM?Ng z^{*^yx^g{8lh>7P$!Y@uTbw`2RcF=^IQBLiTY4`$hc{fCfD?m9JId*FA3)0v{n?qd z!lwqN2>e?aBkkbJ7;Y;bE`D6_bC!gn!;VGJZ5WtYs^JS7R}f1iDcS`2b!Ag-sj?Yl zuJZ6MoB?M*iTCZL+T; z{xu0`GURIrbdyyebfp_Ne*WQ!lLe6k(7i)lxn5y6Qs|VlureMnyg($cKvVk1Oz4WU z=!%W2k|?lIRoUi{`0loDj0vx&O@i%L6L5%EaLPgdkIn%*CkXVw`I&SW6%dUGq=$-k zrAE;qz$K=Eef_c%Q~N4QfOGGAz41l*b%@j5_p}*eRct7ZE!bNn?N>pS*_j2O()~Fw zZTsA;qneUYTn5wiI*4O?YtiNJ>M+f&v?j5Yq<6RqNiEX)gOHL@vBd@5b}(kDdEko^ zp-gD`mU8p(dqg&d;2|gBq&WaU~VUGxJ#%uVnYn1-yyV zRD#*KWCoi2?fwV?imLUrYuzNM4EWEe(9hkxHtoeUP02UsISK^3U#$p|6=;rQ4q#x& zlT_%{en)9s9oEO!o8>5r#^mnb!tpz-T_-FP@xYcEBk z`KR%OJ+_3Th|OY^gs^PQ6b&Ud|vn(@7Zj`RlbGm|MCN3Jb10};kD0F9`v z2Rzlj3RtGl&7KKlTGaUkmkx~;b(ifVD_{AOEpN(7uo|6g&Y!h~qL7#res@IJ6ytqj zoCW7$#rM%8C_XwsOjx21UJ%ZI)aRyAOKFP|qxfZpg5p`yK0WkZn1L;V0s4HQ&8KA= zF1JA!arp@>95^TWg9oAoH^x|tDX?Lr(v~pA62#z0llY@2`^BhXnljJ?`_wPVOyxz5 z$tXFnN<*z)F;T9HaQKKJg5T#6Mu1)9z<&MyXNm%SXO_5o>npTld>kKW>YJK1fG3cz zJRrTDVYd|?=9oz>TTrxncc^OAR!qH(lrm)=A?)2^H@&re|IcJHGblw@Lzb&VX7J1F zT~M0%f0^j88p&4My|GG>bk zZiB_ERKDMZO$fwjLLm!#;PT$jIH=W{z)YJ;GRxffdi3%$awTfNuIz<_??b)MtVgD+ zK}YLh!&sC~b0pSv-5feU`g*UFzB&vr8^3Z_kY^|VP2fe$)k%^qMB&+mlpOmD2Pq*Z zo-J(YbZ6p-d@B+1jy5a^_p(I#`Svo==^$&@zE!%3o3qwojU)mik|2)aLg3*B$1{|2 z78BaWaKo27p`6LTAfytqRs*!JI=#vmrB3 z1xal&9<@>SJ}PhY$Th7l#mX%@JlE1^H1s)jbmx0eMfj zGE~M57f<*8D=K?+z_!J0xPMsU#Pj&T6Hwi8XDFS_mg&+P)9i|&!kV>SL;6&g8@WT=MO3xv(vrI9iXXG-|+BG=iLr`{k9{~aL$}L~#22cs40JDSe71IPLcwNS3%wu9R*0?;&r;5HZ2+m0V zB9S6uU147eGmk^Vc7rf_07)bf&4Z89Q)xpkm*GI;sZBMWOznR-F7AiRHL8dEII)DG z7^!u@qMBYRQIl04J6%}arqaFJ)m7#SqyVf|spGoZ1`vg`xB*Lz+-PN^?p|TtXcdxvZHC#<8`Q- zou)VLW&}-Hj1V^)-*57AI_Q~OTvo@D9Ph_*W(WCq)=IL$P{ci2958qgBwTl=S$Ih4 z;r?g$c&&#d1bNMUsha(*p-2DdVvYcP0Nsgvw7|5biL?uSvuBXq<_@aZACB1e#aU}Z{I9E zlwVieG+^1{HfFZ{MMIBfP}%SduvG+kyQP=glFO64VT&Z7_*mr2w-TX=7FNJBHIHU8izNl^P)uqZQ3 za|`~4YQ!)xu9IkeT>ac#3Y=z7UgR`Ch_D1+M*2QKFi^t8lF@_~CnGR<71^!Al?oQ3 z#hf8`QI776sElG2|HL#Q#PzMAx9R}%y-se$WC7|4G*j$0^OYc75SQ`2uxK~dN}+)% z^BF>4Xz!$eE+WkbdV6Tg7QNomi#*0>N@<{90H;vIUA04Vs-P7#M&U-M`fWM56RB-{4)(S})b=O1o*7 zxqW0XRI0eqWVyS+>(FuPjUT7(lp#RahyD8;Lu0-OFe6O-{~~MRxF!9h&aA`m{YX#b z+3s%0v3fe-RS+|7?eM5n%V(s>WM>!0AuONY<+%$ThtObJ#ZbEW#@LynqfY(#3*&o- z7g~Hb43sK(@)wWK=AD<7t3@T-sj`J!p`&i(mXoV(2x1E(#?XsSn5(!-S%36>iT@ap zW+;X>v#usbfeLbWqQNN(3()8q5_<2xYTSQ7O-# zpQoWBr%I#&&w{Ma8DRbzBGM$8PH#%%cbP!U*F>MaY(W}ikcH#w32^b20YV@ivCXN^ zUq=NQN`~Su1+s<%Haejor>J=1wq4J4o%Y-k7BaG3?sP_8E{a^nQq~v2*_-4){SrEf?v;rHlN68ad5IR;55VqyrzVPxWX3y{Qp6B zyf(3@y`MiXiWV7$@B4V~N@O;iC7?5qkS$W9GS_?>Ntp?YhR`QhjiWyJZPJ@e3VtnF z=*yfoLCSf<0omr$XLG4nB|3TJdc9hYtT)?#BNL)DE|louBPiT^xmdv}`JN?#oe!0! z^FD${wp-77Czeh zdI18gS!Hi2Orv1@W%X{D_zAXHljOpWmX z&`o(XgT4wNCx$+<#$sfX5~QZ{5f0PDs||i3iH+KIEt6#o2254=D@bfKbaYty2dyJ= zf*j?oKAdJ0riyGqpWre5b@EpE+?J9RvQ&H_#;>+mJ5D92Rujr~#~eX7+w75qcIpYq zvbwRFb4-R?YYwVU+@B9IkgT1KA;jX<4~|ay>&Z09?OJi50wD`E5OH!ml6L>k6{h1< zyE6TXQ(OoadR=&1I=>G>xcEe}Utx2x92+RL6*!Q1I}5dOhRFZdG8<*^sB-=Gh9txG zDm=}pwTP*>X}|AYbx$>>A^?g{Mc|;m`at%i=yWKz}qo5O6RR)(>UH_j+Y=(Yc%DX;qY99V)S1L;)hrt zVXEcYiMc_87bD}q%J%L&E(_+&Sy6rl$2AKOY@4ZjN{Ma2)2QlAk}kO<0RQS!Htj;> z3T<}~cf}V4iFW7h=w^9&)OphH^Ug@`)(u0Y{`Ij19W1L!`$9Nkxuv7%oPk$KG_;?)ld% zNjA|d4X0B~y-a1$b3fuJhIy)z1f1}tHs2$Sp|j?_lR3X9%k5$E&*cekUDxx-}1Bl%w?LIy@y9Y3={dki0MUqQHWqI-&|Lx=XY z2t-I;r*@W;uYY{?`En|FZhHt$zFf4GUG-bbTJzhQsAUymJ>+n&Tfw}@a@y==k6lAEUogjJW z01K-B5$hP%xZAT`ZeP9T<*o#Wg()9^8>Kqtd_<6yO?L=7eW!#e%R&LyAR05X>V;o=CNartnI?KR6G%|&11 z6JQ;bE|>q&UP!)~^adBNc?rnl;UpDYH|#3DM}eS@zb@b?(}z6x+8|PL*bpBzjK7v; zwE{h^-+3&QI{u*rM!V^XtOl^ts)Dx5x189cR&$Lzw~pnz*Gz{Exn8wtZ9d{Ia1jJH z*bpFzuX-~kF46m&XNgX{WMYKXt6ch_FBeJb@rI0W5sSR0HuWmXCGj*S(|>n=&Uh#_FE)D!P=y1`NSQ(xfz?pxDzMGQ0u1PI%H0{mpA@GBytm*|g@WV9 zdyUq^4($iu3-n$gRzE0;oo+>BnpMV)vjk8fSoP#iq*{}tVS*Nk&S4lS73`($4M_%8 z;OsB~H(CU*chfu-AL&V~!EUCtQBfDUt0eqP&AzBs5m4RI=xO>(_~{)e);)iXawtdZ zDO#2wQ=~T$1H*as@<~?mcl|;A#|WK~T`Bsu_Y}u-D3&i%Fgw`Mysg$`Qfb2nF@>;VNRCp^?Bk)0D_W|+wdfR#ZFTFg|dr`}o8Y!IX8j7y{ z(il74Hs3T0uKk4z+haH*PZJ2WFe0%&)0Onelg8}iSFKvWJl8CpO(;^PBi_N*+U0~jsDp~Wwj)Wgo3#&{2KWPPuUq&vkD&Bwz ze||>rY!Oqamig;S(Pe)~5`z$>4Dr{EDW5BXb@!(}zyl7tredKhn$8V|LN_0G1+kzU z=e665JhH5_DLnxT)GC`l@;G_?2VR7FzRHYbu&)1;YHWK!nj!TsFeGNl`=@d zC71;i%6PqCZh{M2vFLR*bWjuZYwS9As!i~ZiYk8uRV1uzf8G)4f#nbkZ3*`xtt{K% z{1f&dBf2Zj%&Amw$&%PkPOw0wD^h?T_UJ*GTS0PqmBium=(RuTYfmUnNNNt1o;9kzC0dwVICVi%%Ge7}8_CgHRapw6woi zSDhDkQ+TG6QM~nE8^LAWt%mn+PTeZ2QR%D}=*6-bVOG_ae^f;=bXL12r?SydFoOT{ zZ*tfLHE17nMZ@L(TS6PF?SPbuVCQBJwAuP1-SW7{aw@AYWAJn7-dFH^-S$DCS!EXo z+B0cgi|RX*l)O1CX#k%prP~Tv ziXC)#pjImY#>C-F)J8xCeGdqO>%4ln1`IifUHBAe2{23RdW3~iNvwCEb|hsYqq7s+ zd#P}1oSB%%ueq1dVlE)l_@ZtiOG>D~mFeXNm8@N!_v*!IP&#co4k{h<=kG)! zjUmBmf^BLrQFu3jgnsD#lC{^~CYP4F!vgmCYdpNpxnk4^Hb zz%{T*TD@>U2jEF*reO9QbBlPw-2*uxFiV+A`?4jKTpvP@QLECB^9E}E37>LX0E#8N z^KDtzYNqnx4n@AHfEp_h@#63A)LDfb(bCKBt&eP}G71O%v*C`&r94bRcq{ftCsAsG zh{sCtuJV*jmaXY4p9J}{7r^CGc^DX^$!Zm79SD5%e=p~YT1aN9VcS5YcqEY_;4E<% zBcTmxK1ku6KfLHRjczNVxzhyNfT5Ds$@@XO{ATjo9SOXOU)-J$jL1*`i5JCQ(9#oE z_{+*h@b=*~7yfpwUMmYK@)%lkJk0Y8xHN_bo{=7I0NYEIk9S|!>1J1#qzdA3;6tFa zcTXNc$N#C=@6`XYDLHhiazb-KJeX=lUjiLSK>||B)3=;ah{|EosKIg615}uM{s{34gF?kv!BL4xp6pedcUxU0u>8$boFz9s=!hg#|9Z7 zmz98|@j(UWnYv-WXS7^D_b8EVaM@jc_(8knEHCduL-J4Y1vaSqZ5x40B+zv1ECR^N zayX46m%|1WF$F(9fKH>qP{cKZOhuf^0Pz)j6+_N{A7K$qh#0&Z>vcxAY>zT;Kdkmc@yP^uM` zsC6J_wqej=py^T)+DZzIgRE@g9Ef6_Kw=e@1u`%FQX{8BI_FfGKl3}yX6r1;N)7b< z9!06cjYM$}Fr*~)*;?LFzw_nJ+li6KjU(>7IHa3}xldZk)tgYCvQky}?k+S${MK%X z5%L{=QDga|5De6kfSa{4-(0N`>cT58suXzeOu5o&fz9GZ-pXdTqcoCGcZNU?1Ou`59 z7w(ptvx(20V%Up*aPDP@&F5!r$ssc{^8$I$Rb@3Fe9re6C}vrWe`LPg9k3oMKZJ9> z>l--5h9mIA6Z$$^A0{YfBm{9Z`F^WGeR?^fjqlUvJJIFVFf&ew+6|^KXX}*Wp~G+m zh^)UAo#R4VrwwV3v#~mZr%F^E2_CFyYtg_uZSAc-*(HmYwbl|-9irE*W%Hksr<5F_noO8km1YJjGmX=nN(R6~8h zyPGGJsk93}WOMk91C{VPRUZwJXU34XR1M61JY>9}8R;(xg0BTQY z%VduCGOA8|l|>59h7MHf8ghwtIxJ)6zWvm78<13;j2FpAZtG}r9;K@8V(tE1k@Pf= zm+pRI8lUIkt113&$aE?%YzA9J33^;O^)Em@Q2X=@vrVYxDr^TTnBR_J=00D(@XXwb zzqw+uX5`g>whSVmvV088L4)LUqZN(Q0IaQ5RRMN>%u(!@6%3z_mZm

!8n(?GF`HRcbJ4@&NV8m=xGW*9yRraKFY`l; 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 z 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 o^!o3s{wvgfHEAK^Ydz2De^H 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�)i&v4GO=A=fYrRNF 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�Q0C_aRcmlel0ZBmICnv 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 literal 0 HcmV?d00001 diff --git a/apps/simplex-badge-service/web/public/img/symbol-dark.svg b/apps/simplex-badge-service/web/public/img/symbol-dark.svg new file mode 100644 index 0000000000..fa598acf3d --- /dev/null +++ b/apps/simplex-badge-service/web/public/img/symbol-dark.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/apps/simplex-badge-service/web/public/img/symbol-light.svg b/apps/simplex-badge-service/web/public/img/symbol-light.svg new file mode 100644 index 0000000000..d8b5951a0b --- /dev/null +++ b/apps/simplex-badge-service/web/public/img/symbol-light.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/apps/simplex-badge-service/web/public/img/wordmark-dark.svg b/apps/simplex-badge-service/web/public/img/wordmark-dark.svg new file mode 100644 index 0000000000..3ada958e11 --- /dev/null +++ b/apps/simplex-badge-service/web/public/img/wordmark-dark.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/apps/simplex-badge-service/web/public/img/wordmark-light.svg b/apps/simplex-badge-service/web/public/img/wordmark-light.svg new file mode 100644 index 0000000000..b845ff219d --- /dev/null +++ b/apps/simplex-badge-service/web/public/img/wordmark-light.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/apps/simplex-badge-service/web/public/index.html b/apps/simplex-badge-service/web/public/index.html new file mode 100644 index 0000000000..dcf5e7d4b2 --- /dev/null +++ b/apps/simplex-badge-service/web/public/index.html @@ -0,0 +1,49 @@ + + + + + + + + + + + + + +Support SimpleX + + + + + + + + + + +

+

Support SimpleX

Get a badge to send larger files (2‑5GB) that stay available longer (7‑21 days), and to show it on your profile.

You pay once for the months you choose. No subscription, no account.

Invest $100+ in SimpleX Chat and get a free supporter badge.

Learn more on
+ + + + + diff --git a/apps/simplex-badge-service/web/public/styles.css b/apps/simplex-badge-service/web/public/styles.css new file mode 100644 index 0000000000..2fee434fcd --- /dev/null +++ b/apps/simplex-badge-service/web/public/styles.css @@ -0,0 +1,1252 @@ +/* The colours are the website's, as its blog pages use them (website/tailwind.config.js, + website/src/css/blog.css and website/src/_includes/layouts/article.html): the page's ground, + the article's card, the heading gradient, and the link and button colours, in both themes. + Every other value below is the published SimpleX design's own; where one is not, the line says why. */ +:root { + /* Tell the UA which ground to paint before the first message and on a reload's blank frame, and + which form controls and scrollbars to render; the dark blocks flip it with the palette. */ + color-scheme: light; + /* primary-light and its hover step; white on it, as on the site's buttons. Pressed is the + accent one small step darker rather than the site's lighter, greyer #407AD2: a press should + read as the same button under the finger, not a paler one. */ + --accent: #0053D0; + --accent-hover: #1661D1; + --accent-pressed: #004ABB; + --on-accent: #FFFFFF; + --ink: #0D1B3A; /* simplex.domains' ink: the navy the page's blues are built on */ + --bg: #F3FAFF; /* secondary-bg-light: the blog page's ground */ + --surface: #FFFFFF; /* the article's card */ + --menu: #FFFFFF; + --line: rgba(0, 83, 208, .14); /* simplex.domains' card line: the accent, faint, so it sits in the page's blue */ + /* one faint wash of the accent over the flat ground, and nothing else */ + --page: radial-gradient(50% 50% at 50% 50%, rgba(0, 83, 208, .06) 0%, rgba(243, 250, 255, 0) 100%); + + /* The one secondary text colour, simplex.domains' own: the ink at 65%, so it stays in the + page's hue. 5.3:1 on #F3FAFF, and set at 500 wherever it is used. */ + --ink-soft: rgba(13, 27, 58, .651); + /* The ink at 4%: the menu's hover, the landing screen's info panel, and a card the catalog + cannot price. */ + --tint: rgba(13, 27, 58, .04); + + /* the blog's heading gradient, top to bottom */ + --title: linear-gradient(to bottom, #53C1FF -50%, #0053D0 160%); + + /* Settled, waiting and failed, each a foreground on its own ground. */ + --ok-fg: #1c7c3f; + --ok-bg: #e8f5ec; + --ok-line: #bfe3cc; + --warn-fg: #8a6100; + --warn-bg: #fff8e6; + --warn-line: #f0dcae; + --danger-fg: #b3261e; + --danger-bg: #fdecec; + --danger-line: #f3c9c6; + + /* the code screen's code frame, in the accent */ + --code-bg: rgba(0, 83, 208, .06); + --code-line: rgba(0, 83, 208, .35); + + /* A primary button with nothing to do: a flat bar with a washed label, legible + at 4.0:1. See `.primary[disabled]` for why it is not the accent faded. */ + --disabled: rgba(13, 27, 58, .07); + --on-disabled: rgba(13, 27, 58, .50); + + /* Switched with the theme rather than tinted by it. The dark wordmark is the + same file with its `#030749` set to white. */ + --hero: url(hero-light.png); + --wordmark: url(wordmark-light.svg); + + /* a card is a 1px border at radius 20 with no shadow, and every button a pill; the + shadows on the page are the menu's and the primary button's */ + --r-card: 20px; + --r-pill: 9999px; + --shadow-pop: 0 2px 6px rgba(0, 0, 0, .06), 0 16px 40px rgba(0, 0, 0, .12); + /* the primary button: a touch of light across its top and a soft shadow in the accent */ + --sheen: linear-gradient(to bottom, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 60%); + --shadow-button: 0 4px 12px rgba(0, 83, 208, .18); + --shadow-button-hover: 0 6px 16px rgba(0, 83, 208, .24); + + /* The faces simplex.domains sets: GT Walsheim for the heading, Manrope for everything else. + Both are served under the build hash (see the @font-face rules below) and precached. */ + --display: "GT Walsheim", Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; + --font: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; +} + +/* The four Manrope weights the sheet uses and the one GT Walsheim weight, relative to this file, + so they sit under the build hash with it. `swap`, so text is never invisible while a face loads. */ +@font-face { font-family: Manrope; src: url(Manrope-Regular.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; } +@font-face { font-family: Manrope; src: url(Manrope-Medium.woff2) format("woff2"); font-weight: 500; font-style: normal; font-display: swap; } +@font-face { font-family: Manrope; src: url(Manrope-SemiBold.woff2) format("woff2"); font-weight: 600; font-style: normal; font-display: swap; } +@font-face { font-family: Manrope; src: url(Manrope-Bold.woff2) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; } +@font-face { font-family: "GT Walsheim"; src: url(GT-Walsheim-LC-Bold.woff2) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; } + +/* The dark palette is written twice on purpose: the media query claims + everything that is not an explicit light, and the attribute rule claims an + explicit dark, which is how `system`, `light` and `dark` all win where they + should. Both blocks must declare the same tokens and values, and + `design.test.ts` fails if they diverge. */ +@media (prefers-color-scheme: dark) { + :root:not([data-theme="light"]) { + color-scheme: dark; + /* primary-dark, with its hover and pressed steps, and the page's ground on it, as on the + site's dark buttons */ + --accent: #70F0F9; + --accent-hover: #66D9E2; + --accent-pressed: #5CD3DC; + --on-accent: #000832; + --ink: #EAF2FF; /* simplex.domains' dark ink */ + --bg: #000832; /* primary-bg-dark: the blog page's ground */ + --surface: #0B2A59; /* secondary-bg-dark: the blog list's card, a clear step off the ground */ + --menu: #0B2A59; + --line: rgba(112, 240, 249, .18); /* simplex.domains' dark card line: the accent, faint */ + --page: radial-gradient(50% 50% at 50% 50%, rgba(112, 240, 249, .05) 0%, rgba(0, 8, 50, 0) 100%); + + --ink-soft: rgba(234, 242, 255, .735); + --tint: rgba(255, 255, 255, .06); + + --title: linear-gradient(to bottom, #70F0F9 0%, #70F0F9 33%, #50D8F1 100%); + + /* The light theme's three hues, lightened to sit on #000832, each with its + own ground at a low alpha of itself. */ + --ok-fg: #7FE3A6; + --ok-bg: rgba(127, 227, 166, .12); + --ok-line: rgba(127, 227, 166, .28); + --warn-fg: #F5C86A; + --warn-bg: rgba(245, 200, 106, .12); + --warn-line: rgba(245, 200, 106, .28); + --danger-fg: #FF9F98; + --danger-bg: rgba(255, 159, 152, .12); + --danger-line: rgba(255, 159, 152, .28); + + --code-bg: rgba(112, 240, 249, .12); + --code-line: rgba(112, 240, 249, .45); + + --disabled: rgba(255, 255, 255, .09); + --on-disabled: rgba(255, 255, 255, .45); + + --hero: url(hero-dark.png); + --wordmark: url(wordmark-dark.svg); + + --shadow-pop: 0 2px 8px rgba(0, 0, 0, .50), 0 16px 40px rgba(0, 0, 0, .55); + /* White barely shows on the light cyan, so the dark sheen also deepens the pill's foot. */ + --sheen: linear-gradient(to bottom, rgba(255, 255, 255, .30), rgba(255, 255, 255, 0) 50%, rgba(0, 8, 50, .16) 100%); + --shadow-button: 0 6px 16px rgba(112, 240, 249, .16); + --shadow-button-hover: 0 8px 20px rgba(112, 240, 249, .22); + } +} + +/* The same palette again, for the menu's explicit Dark. */ +:root[data-theme="dark"] { + color-scheme: dark; + /* primary-dark, with its hover and pressed steps, and the page's ground on it, as on the + site's dark buttons */ + --accent: #70F0F9; + --accent-hover: #66D9E2; + --accent-pressed: #5CD3DC; + --on-accent: #000832; + --ink: #EAF2FF; /* simplex.domains' dark ink */ + --bg: #000832; /* primary-bg-dark: the blog page's ground */ + --surface: #0B2A59; /* secondary-bg-dark: the blog list's card, a clear step off the ground */ + --menu: #0B2A59; + --line: rgba(112, 240, 249, .18); /* simplex.domains' dark card line: the accent, faint */ + --page: radial-gradient(50% 50% at 50% 50%, rgba(112, 240, 249, .05) 0%, rgba(0, 8, 50, 0) 100%); + + --ink-soft: rgba(234, 242, 255, .735); + --tint: rgba(255, 255, 255, .06); + + --title: linear-gradient(to bottom, #70F0F9 0%, #70F0F9 33%, #50D8F1 100%); + + /* The light theme's three hues, lightened to sit on #000832, each with its + own ground at a low alpha of itself. */ + --ok-fg: #7FE3A6; + --ok-bg: rgba(127, 227, 166, .12); + --ok-line: rgba(127, 227, 166, .28); + --warn-fg: #F5C86A; + --warn-bg: rgba(245, 200, 106, .12); + --warn-line: rgba(245, 200, 106, .28); + --danger-fg: #FF9F98; + --danger-bg: rgba(255, 159, 152, .12); + --danger-line: rgba(255, 159, 152, .28); + + --code-bg: rgba(112, 240, 249, .12); + --code-line: rgba(112, 240, 249, .45); + + --disabled: rgba(255, 255, 255, .09); + --on-disabled: rgba(255, 255, 255, .45); + + --hero: url(hero-dark.png); + --wordmark: url(wordmark-dark.svg); + + --shadow-pop: 0 2px 8px rgba(0, 0, 0, .50), 0 16px 40px rgba(0, 0, 0, .55); + /* White barely shows on the light cyan, so the dark sheen also deepens the pill's foot. */ + --sheen: linear-gradient(to bottom, rgba(255, 255, 255, .30), rgba(255, 255, 255, 0) 50%, rgba(0, 8, 50, .16) 100%); + --shadow-button: 0 6px 16px rgba(112, 240, 249, .16); + --shadow-button-hover: 0 8px 20px rgba(112, 240, 249, .22); +} + +* { box-sizing: border-box; } + +/* Reserve the scrollbar's width always, so a panel whose height changes (the Payment Element + autofilling or a 3DS challenge resizing it) cannot toggle the scrollbar and jog the centred + column sideways, which `#app`'s overflow-x then clips. */ +html { scrollbar-gutter: stable; } + +/* The page is one column of the viewport's height: the header, then the screen, which is at least + the rest of the viewport tall (see `.panel`), then the footer below the fold, where a scroll + reaches it. `100vh` is the fallback for a browser without dynamic viewport units. */ +body { + margin: 0; + display: flex; + flex-direction: column; + /* The gutter is here, so `#app` is exactly the 640px content column and + nothing inside it has to subtract padding to reach that width. */ + padding: 0 20px; + min-height: 100vh; + min-height: 100dvh; + background: var(--bg); + /* Fixed, so the wash does not tile or scroll away on a long screen. */ + background-image: var(--page); + background-attachment: fixed; + color: var(--ink); + font-family: var(--font); + /* the scale: 1rem/1.25 body, .875 small, .75 extra-small, larger steps below */ + font-size: 16px; + line-height: 1.5; + -webkit-font-smoothing: antialiased; +} + +#app { width: 100%; max-width: 640px; margin: 0 auto; overflow-x: hidden; flex: 1 0 auto; } +/* The header's height, which every screen's minimum height is the viewport less: `.chrome-bar`'s + 56px box, its paddings inside it. */ +:root { --chrome-h: 56px; } + +/* The shell ships a static copy of the first screen (see index.html), so the first paint is the real + landing, not an empty page, and `main.ts` swaps in its own identical markup with no flash. Embedded, + the site owns the navbar, so the shell's copy of it is hidden there as the built one would be. */ +.embedded #chrome { display: none; } + +/* A reload of any screen but the landing can't be prerendered (the screen depends on runtime state), + so `init.js` marks it `sb-booting` before the first paint: the shell's landing is held hidden over + the themed ground, and `main.ts` clears the mark once it has painted the real screen, which then + fades in rather than replacing a flash of the landing. The landing route is never marked, so its + prerendered first paint stays instant. */ +#app { transition: opacity .2s ease; } +.sb-booting #app { opacity: 0; } + +/* Embedded in the site: the site's fixed navbar sits above the frame, so pad the top to clear it, + and drop the page's own wash so the flat background the site hands in shows through cleanly. The + site carries its own footer below the frame, so ours would only double the contact link and leave + its accent line at the frame's edge — hide it embedded. */ +/* Standalone, the body fills the viewport so the footer sits at the bottom; embedded, the host sizes + the frame to the body, so a `100vh` floor would make the body's height depend on the frame height + the host derived from it — a loop that ratchets the frame taller and drops the site's footer as the + zoom shifts. Drop the floor so the body is exactly its content. */ +.embedded body { padding-top: 54px; background-image: none; min-height: 0; display: block; } +.embedded .panel { min-height: 0; } +.embedded footer { display: none; } + +/* Embedded in the site's dark theme, the standalone grey surfaces read as off against the navy the + site hands in. Follow the site's own dark-card idiom instead: a faint white veil and hairline on + the navy ground, so a panel is a lighter navy rather than a grey block. Both selectors, to match + `system` dark (media query) and the explicit Dark choice (data-theme). */ +@media (prefers-color-scheme: dark) { + :root.embedded:not([data-theme="light"]) { + --surface: rgba(255, 255, 255, .05); + --menu: rgba(255, 255, 255, .07); + --line: rgba(255, 255, 255, .22); + } +} +:root.embedded[data-theme="dark"] { + --surface: rgba(255, 255, 255, .05); + --menu: rgba(255, 255, 255, .07); + --line: rgba(255, 255, 255, .22); +} + +/* ------------------------------------------------------------------- chrome */ + +/* The wordmark on the left, and on the right a circular icon button holding the + hamburger. It spans the page rather than the 640 column, so the column reads + as content inside a site rather than as the whole site. */ +.chrome-bar { + display: flex; + align-items: center; + justify-content: space-between; + gap: 16px; + min-height: 56px; + max-width: 1120px; + margin: 0 auto; + padding: 8px 4px; +} + +/* The official wordmark, drawn from the file. The URL is relative, so it + resolves inside /assets// beside this sheet and is precached with + everything else. */ +.brand { + display: block; + width: 132px; + aspect-ratio: 161 / 40; + background-image: var(--wordmark); + background-size: contain; + background-position: left center; + background-repeat: no-repeat; + /* A link with no text: the accessible name is on the element. */ + text-indent: -9999px; + overflow: hidden; +} + +.menu-wrap { position: relative; } + +/* 40 rather than the reference's 32, which is under every platform's minimum + touch target and this is the header's only control. */ +.menu-button { + display: flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + padding: 0; + border: 0; + border-radius: 50%; + /* The hairline colour as a fill, which on both grounds is the reference's own + circle without a fourth grey. */ + background: var(--line); + color: var(--ink); + cursor: pointer; +} +.menu-button:hover, .menu-button[aria-expanded="true"] { color: var(--accent); } +.bars { display: block; width: 20px; height: 20px; } + +/* The panel, anchored under the button and right-aligned to it, one step off + the page ground, with a hairline and the page's only drop shadow. */ +.menu { + position: absolute; + top: calc(100% + 8px); + right: 0; + z-index: 20; + width: 320px; + border: 1px solid var(--line); + border-radius: 14px; + background: var(--menu); + box-shadow: var(--shadow-pop); + text-align: left; + overflow: hidden; +} +.menu[hidden] { display: none; } + +/* Full-bleed hairlines between sections, so the padding is on the section and + never on the panel. */ +.menu-section { padding: 6px; } +.menu-section + .menu-section { border-top: 1px solid var(--line); } + +.menu-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding: 6px 10px; +} +.menu-label { font-size: .875rem; font-weight: 700; color: var(--ink); } + +/* the segmented setting: three values in one pill, the chosen one in the + accent with white on it. */ +.segmented { + display: flex; + padding: 2px; + border-radius: var(--r-pill); + background: var(--tint); +} +.segment { + padding: 5px 11px; + border: 0; + border-radius: var(--r-pill); + background: none; + color: var(--ink-soft); + font: inherit; + font-size: .875rem; + font-weight: 700; + cursor: pointer; +} +.segment:hover { color: var(--ink); } +.segment[aria-pressed="true"] { background: var(--accent); color: var(--on-accent); } + +.menu-item { + display: block; + width: 100%; + padding: 10px; + border: 0; + border-radius: 10px; + background: none; + color: var(--ink); + font: inherit; + font-size: .875rem; + font-weight: 500; + text-align: left; + cursor: pointer; +} +.menu-item[hidden] { display: none; } +.menu-item:hover { background: var(--tint); color: var(--accent); } +.menu-item.danger { color: var(--danger-fg); } +.menu-item.danger:hover { background: var(--danger-bg); color: var(--danger-fg); } + +/* the footer, on every screen: a hairline across the column, then the + contact link centred under it in the accent. */ +footer { + flex: none; + width: 100%; + max-width: 640px; + margin: 0 auto; + text-align: center; +} +footer a { + display: block; + border-top: 1px solid var(--line); + padding: 22px 0 34px; + color: var(--accent); + font-size: .875rem; + text-decoration: none; +} +footer a:hover { text-decoration: underline; } + +/* The keyboard's equivalent of the hover underline, declared rather than left + to the user agent, whose thin dark outline all but disappears on the accent + button and on the dark ground. `:focus-visible`, so a mouse press leaves + nothing behind. */ +:focus-visible { + outline: 2px solid var(--accent); + outline-offset: 2px; +} +/* On the accent ground itself an accent ring is invisible, so it inverts. */ +.primary:not(.outline):focus-visible { outline-color: var(--ink); } + +/* -------------------------------------------------------------- the wizard */ + +/* the horizontal track, in two elements, because one cannot clip and travel + at the same time. `.track` clips and is the height of the panel in view; + `.rail` is the flex row of four panels and is what translates. Both animate, + so the outgoing panel travels off one edge while the incoming one arrives at + the other. `main.ts` writes the height and the transform, and sets `--slide` + to 0ms for any move that is not a step. + + `overflow: hidden` is also what makes this a stepper rather than a carousel: + there is no scroll to drag. Unreached panels carry `inert`, so Tab cannot + enter them either. */ +.track { + overflow: hidden; + transition: height var(--slide, 320ms) cubic-bezier(.22, .61, .36, 1); +} +.rail { + display: flex; + align-items: flex-start; + width: 100%; + transition: transform var(--slide, 320ms) cubic-bezier(.22, .61, .36, 1); +} +/* Below the column width each panel is the viewport width: the same track is + the phone flow, with only the padding and the type scale changing. */ +.panel { + position: relative; + flex: 0 0 100%; + min-width: 0; + padding: 12px 0 22px; + text-align: center; + /* A screen is a column at least as tall as the viewport under the header, so that its button + stands at the same place on every screen - near the bottom, where a thumb reaches it - and the + content between the heading and the button is spread over the height rather than stacked at + the top. A screen taller than the viewport grows and scrolls, as the payment screens do. */ + display: flex; + flex-direction: column; + min-height: calc(100vh - var(--chrome-h)); + min-height: calc(100dvh - var(--chrome-h)); +} +/* On a wide screen the button needs no thumb, so it stands higher off the foot of the viewport and + the page reads as balanced rather than bottom-heavy. Up to a 1080px-tall viewport the space under + it grows with the height; beyond that the content stops descending - its foot stays 927px under + the header, where a 1080px viewport puts it - and the whole surplus goes under it. */ +@media (min-width: 700px) { + .panel { + padding-bottom: max(clamp(40px, 9vh, 110px), calc(100vh - var(--chrome-h) - 927px)); + padding-bottom: max(clamp(40px, 9vh, 110px), calc(100dvh - var(--chrome-h) - 927px)); + } +} +/* What each screen spreads: the hero, the choice cards, the summary. `auto` above and nothing + below, so the free height is shared between the space over the block and the space under it, + which the button's own `auto` margin takes. */ +.panel > .hero, .panel > .choices, .panel > .rows { margin-top: auto; } +/* The button is the last thing before the invest block, and sinks to the foot of the screen. Where + a screen keeps notes above its button, the notes sink with it and the button follows them. */ +.panel > .primary { margin-top: auto; } +.panel > .notes { margin-top: auto; } +.notes + .primary { margin-top: 20px; } +.notes .muted { margin: 4px auto 0; max-width: 480px; } +/* The checkout's note slot holds one line's height whether or not the line is shown, so choosing a + method moves nothing above or below it. */ +.notes.slot { min-height: calc(4px + .875rem * 1.5); } +.notes .half { display: inline-block; } +@media (prefers-reduced-motion: reduce) { + .track, .rail { transition: none; } +} + +/* Every payment screen and `#/codes` takes the same shell as a wizard panel. + The 20px a trailing button adds is the difference between a footer rule under + a button and one under a block of text. */ +.panel > button:last-child { margin-bottom: 20px; } + +/* ------------------------------------------------------------------ headings */ + +h1 { + font-family: var(--display); + font-size: 2.25rem; + line-height: 3rem; + font-weight: 700; + letter-spacing: -.02em; + color: var(--ink); + margin: 12px 0 0; +} +/* The heading is the gradient, clipped to its own glyphs, in both themes. + Guarded, because the fill is transparent: a browser that cannot clip a + background to text would render every heading invisible. */ +@supports ((background-clip: text) or (-webkit-background-clip: text)) { + h1 { + background-image: var(--title); + -webkit-background-clip: text; + background-clip: text; + color: transparent; + } +} +/* the payment screen and the code screen take one step down from the landing screen's. */ +h1.tight { font-size: 1.875rem; line-height: 2.5rem; margin-top: 15px; } + +.lede { + font-size: 1.125rem; + line-height: 1.5; + font-weight: 500; + color: var(--ink-soft); + margin: 10px 0 0; +} +h1 + .lede { margin-top: 10px; } +h1.tight + .lede { margin-top: 6px; } +/* Two ledes are two sentences of one paragraph, a line height apart rather than + a paragraph gap. */ +.lede + .lede { margin-top: 0; } +.lede .line { display: block; } +.lede .half { display: inline-block; } + +.muted { color: var(--ink-soft); font-size: .875rem; font-weight: 500; margin: 14px 0 0; } +/* A narrower measure than the column, so the closing footnote breaks in two rather than + reading as a caption that ran on. Scoped to a direct child, so it cannot reach the same + class inside a left-aligned field and indent the line it holds. */ +.panel > p.muted { max-width: 332px; margin-left: auto; margin-right: auto; } +/* Shown beside the status while the browser is offline, not instead of it. */ +.offline { color: var(--warn-fg); } +.center { text-align: center; } + +/* Figures that are compared down a column, or that change in place while the + buyer is looking at them. The default proportional digits are narrower on 1 + than on 0, so the payment screen's held-rate clock and the rate-limited screen's countdown shifted every second + they ticked, and the duration list's three prices did not line up under one another. + `.notice .title` is the rate-limited screen's countdown, which is the only figure that line ever + holds. */ +.row, .choice .price, .rate, .notice .title, .entry .meta { + font-variant-numeric: tabular-nums; +} + +/* Back is out of the flow, so the heading is the first thing in every panel and stands at one + height whether or not there is a Back. On a desktop `top` centres it on the heading's first + line, at the left of the column, as a navigation bar draws it. On a phone the heading is nearly + as wide as the column, so Back is above it and the heading's margin holds that line open on + every screen. The chevron hangs a little into the gutter so the word aligns with the column's edge. */ +.back { + position: absolute; + left: -5px; + top: 36px; + display: flex; + align-items: center; + gap: 1px; + color: var(--accent); + background: none; + border: 0; + font: inherit; + font-size: 1rem; + font-weight: 500; + text-align: left; + cursor: pointer; + padding: 0; +} +.back .chevron { width: 22px; height: 22px; display: block; } + +/* -------------------------------------------------------------------- buttons */ + +/* Spans the column because it is the column's one action. */ +.primary { + display: block; + width: 100%; + min-height: 48px; + padding: 8px 16px; + border: 0; + border-radius: var(--r-pill); + background: var(--accent); + background-image: var(--sheen); + box-shadow: var(--shadow-button); + color: var(--on-accent); + font: inherit; + font-size: 1rem; + font-weight: 700; + line-height: 1.25; + cursor: pointer; + margin: 24px 0 0; + transition: background-color 120ms linear, box-shadow 120ms linear; +} +.primary:not([disabled]):not(.copied):hover { background-color: var(--accent-hover); box-shadow: var(--shadow-button-hover); } +.primary:not([disabled]):not(.copied):active { background-color: var(--accent-pressed); box-shadow: none; } +/* A different shape, not a faded one: the accent at reduced opacity still reads + as the live button, so a Continue that cannot continue looks broken rather + than not-yet-answered. */ +.primary[disabled] { + background: var(--disabled); + box-shadow: none; + color: var(--on-disabled); + cursor: default; +} + +/* The same button as an outline, which is what the closed-window screen's [ New invoice ] and the code screen's + [ Copy code ] are. */ +.primary.outline { + background: none; + box-shadow: none; + color: var(--accent); + border: 1.5px solid var(--accent); +} +.primary.outline:not([disabled]):not(.copied):hover { background: var(--tint); color: var(--accent-hover); } + +/* A minimum height and not a fixed one: at the 320px floor a two-line + label would otherwise put its second line outside the border. */ +.secondary { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + min-height: 48px; + padding: 8px 16px; + border: 1px solid var(--line); + border-radius: var(--r-pill); + background: var(--surface); + color: var(--accent); + font: inherit; + font-size: 1rem; + font-weight: 700; + text-align: center; + text-decoration: none; + cursor: pointer; + margin: 12px 0 0; + line-height: 1.25; +} +.secondary:not(.copied):hover { border-color: var(--accent); } + +/* the payment screen's Copy, which lives inside the address panel rather than under it. */ +.secondary.inline { + display: inline; + width: auto; + min-height: 0; + height: auto; + padding: 0; + border: 0; + background: none; + font-size: .875rem; + line-height: inherit; + margin: 0; +} +.secondary.inline:not(.copied):hover { text-decoration: underline; } + +/* A copy that landed, confirmed on the control itself for two seconds. + Every hover rule above excludes it: the pointer is still on the button that + was just pressed, and a hover colour would overwrite the confirmation. */ +.copied { color: var(--ok-fg); border-color: var(--ok-line); } +.primary.copied { background: none; box-shadow: none; color: var(--ok-fg); border-color: var(--ok-fg); } +.secondary.inline.copied { text-decoration: none; } +/* The failure line only: a success never lands here, so this is empty until + something goes wrong, and empty it takes up no room. */ +.copy-status:empty, .cancel-status:empty { display: none; } + +.link { + background: none; + border: 0; + padding: 0; + font: inherit; + font-size: .875rem; + color: var(--accent); + cursor: pointer; + text-decoration: none; +} +.link:hover { text-decoration: underline; } +.link.danger { color: var(--danger-fg); } +.link[disabled] { color: var(--ink-soft); cursor: default; text-decoration: none; } +p.row-line { margin: 16px 0 0; } + +/* --------------------------------------------------------------- the choices */ + +/* the tier list's tiers and the duration list's durations stay side by side at every width: values being + compared must stay comparable. Only the type scale shrinks. */ +.choices { display: flex; gap: 14px; margin: 26px 0 0; align-items: stretch; } +.choice { + /* A column, explicitly top-aligned: a

}|h(!pi@qi2%;s@CAPDWQY8%FbTZ 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