diff --git a/resources/builtin/alphanumeric/Cd.png b/resources/builtin/alphanumeric/Cd.png deleted file mode 100644 index 66068c358a84e9065dc8ab10b80ad6cd7a58857a..0000000000000000000000000000000000000000 GIT binary patch literal 0 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 diff --git a/resources/builtin/alphanumeric/I.png b/resources/builtin/alphanumeric/I.png deleted file mode 100644 index b1ffcaad87b42047ef8836e058db3200c27afbed..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@Li&;af8rLnBb;0FfGqZzS{mLITyt9boFyt=akR{0IDQ9K>z>% diff --git a/resources/builtin/alphanumeric/Id.png b/resources/builtin/alphanumeric/Id.png deleted file mode 100644 index a8564c83413211365c63142ab6aba7a965a9a015..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@qW;mjw9* zGpNnnP@N+MY+CUsnS3j3^P6~n2m~E2@pwgDE`v8trvC)YU;I#hF)mHvg24IZ6@i7TFfwiYL zmY#iU{OTWmn=zy$dO3C+ha)vb3DLxTkomX6DlSSF_P%m$s)@8#hdke^!KOnT*3WiH zEmI!2|GdJDW7)xnf1EnFU2GilBsMm^3VeDY;V(p_+G8#7eN%<_=iO8%*iW{#&dlhS z8g5?y=}K?~Vr|baG9}C2?=}R{(Nujv_hQ4wi^aRYkv-nhRal3#O57C4{lJ%@7m(JO z{exVCn{Lk-V*^>RyNqvD58Uh+dNvhdtCf3bBejMAnbB`cV3`+X~Q^XFwWV4I=z% z-4ap1Zp|4ajicNdHLOZte)AazDa6gJ!0U9_}~7LGa>UCnfIap{?&D;L0P(5%L!qE|tbNVl22Af!RjZg6tFMq@^hnYlfZ) zhglN0P`bSAykSxCTDgQBdt_UId|9~5P`%}()t#$4FH+B*M*D8*8YW&Jny1zCHN5rj zR#9^!*#oSWVpTQGsnFw5t<=m|0V~g45#zg>?3~~mt)?*Mk#hx8x%?@j;qf7PjW0S7%EH$~PP&K_u!gbJI{j zN+L#=0w>9IBkR{;i7n`1-4;;eNf2`o%*JzlcX%AmD9F*EHYQLg|R#lqHm7x`vi_KcK0$VM%cdvw)bq`~U?mof(yl%)uJ$v}~gE+CN4NG9jRe zLp)efGYCWzpey1{##Cw@Y7wUX+3iQRt4wmJ90xZLq-y3TYfb|v2EN>P?e?V!SGwH1 zbKx;<_b5Dw+&k3ovQU9?(D*wGrYau-qY#lKt>O7u_er=hw5s@72L^oh0dn_f-p}+R z@b;Z$cVN3M7=>)HlFllVBIJocv-9t1)JZbv+Kj-BB|S>T+cOvCEN+D!jmg%a?wMun zdF*El)ARsPYWLv~rQ=GIpJ)@7 z`;5RNlOWXue8OLJRF^{SV{>C_jI>Vhk(a?E^R)7&OggU9E4P}q5^rk#SwO`LJPKF} z6eq$b^&+^^jS`x?4DT(mO|RvBb*mX3@l#7MDH2p`a@2E(e4Q;R^kBPYVUA31m`!!+ z0QRu$ohsKc<=NQx^HRO3E8V%*zgC(}DRP{;b#`LMIsgoQ9ru>xuyz1>;jJ%hJK^0c zriFbQSag5_e$hkso5vn~M__|Tumt@uFlZ>r?cv;J?1Cf;!h0 Tj#-vaZcCyfVuY8&Hp~77VDXTV diff --git a/resources/builtin/alphanumeric/Md.png b/resources/builtin/alphanumeric/Md.png deleted file mode 100644 index 8a4bea48df90e7a9a176bc757e3a833a320f9c9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@w@g#A*^d&Q zk7XTl4N7Ki^r^Y90f!?sM~TqHJ&@(MgDM_M7xlh$X|9c&s|k6wRf|oBIIN%TmRYCV z|NG8x(^yXM!5^mfZ-|OLuWS(k69PAol}bgq}m%X7 zjIR3pF~$b0jHw|iIkD3n)rdix6o)<3If}5V0;IejYxAb`>9!T2FHV9qx&}n})%s=P ze*K!0NE~53lb0n4K83`2uC$*_`Fz0QYvjKa5}Q8BPI7M8dg%xt0I;iC0;8eIM%?ts z;wwJP45T>u*WFnv?l0>jDudJ+AyL?DS5L|Ec3L>Ki9s9ax|<2(2gs&8gV^QJu`fSOF`~T#?|ro9&$7>uu&r0k3n6k&Zp?TjlEkA0Kj1pi`o0 z=s^hE%oS@*T*;89x7>W~*w}^{OKquj(Qa6I%FcN;HZqzb=RIM4R=5JbPEcM}wKTyj zvme@g#^j2zKLnzFF=EGm3JxsEr8}Dg=>!bTAgE=H4BJ89+k0 zWhWiNb3BZrvnldArTA{ROE#SzD@+pDWT@v!{TTD05cR8DG9NHjrYASoqeOCMB?3Hg ztcY$Hm$5{0OyAi0_B%Aywk#=baW)WBP#B=Vr8A>)ka<|6osLbEUH!+1K_&z=afth? zY6pR60(3>P$&^a1N3EjNKYRShcA6vy%{b^lkg7$HtUUpo82Dn()mxV)TSiG zJ)`g-a`!+#cd-KHpz*gCO=%tiqY$w)t?}7uw@J7uw7T?ZCkA}>26FSY?`C=tc>9jZ z+pyghj6$}~kxnabZ+N;lrMuap*ZiX5kIo1Ms72Y|t^;@*%P)(#-gy$r?eN4c5K3f2U@hI0LcZ!dCg$?THe{!>@}9I{rIt(EB;ah2>{|;@xjb z>L=b-9IQw zq^Ly9)A80u5lhFsXhG2>d%IRByp639P+8HT(8cj6rJwuKGbODPTg5#cqvBmyGn0X8 zbdRbxNksj0+_m4Z@AU=y-*2=%YBS~^f0z|tI``;%mX*=l<<5Owps@XE?N4v z?+LSRrN24q?08Q5)%F<2tkYI5EGrk*=4i-q8>R2<bf?n_(wWsep+{#wzgdP4h^{4JK7>sQRx0rJn5JKocM=^>udyX%0@1jAQd_Kx>F z<%I;F$V8pCbYywCZo%&#tT&gJovvU9imjh>UYTRl`tUQ$53*QpUs-!EWWVQxr>0xi zTb%nP+cf9yx3AUr*Du}YKjGo}SpFJu#|iNZ+VyL>Cf#?Q@JFs`k5;EbG^^l~D6I~K z!;y|Gl0a{}hXd*JrxZ_Y2xo8Wje>E6kc7&EFOudrX@VOj-T46Da@CR%C>c$aGr1NI-uI=U)R5E zx-!dj3yWoc!$MV$0~dr;3Ntt-*>7Q4xo+!{Y7f?xrmtt|IG$TGTc35MWp)Nvj#H4yKl`AUedPatfk{O z?S#AG6Yc;l`x@!&Jz=RU$c1O5qMAbHm#%D3@baUbLC-5#bI)-W&A$J)|9UMWk>$XH_+^_qwZcECEd=pAUHx3vIVCg!0EuQM%m4rY diff --git a/resources/builtin/alphanumeric/Rd.png b/resources/builtin/alphanumeric/Rd.png deleted file mode 100644 index 3d5bc1e8b17f09b1792a752850987d4b7fb168b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@ zCC!t2{%OzM-0HuI&3~t6ojB31~PrUn0N&Upz ziv0A6!cWZhfH-UG=eqh$xV>AusOe7M+7p~byN_+=;3`tr1o3wQ`O@E%G(C35ffSX9 zc{<+OC}QcD7cD5dWN+6Bg}1Ra0xByy6uLMbrSx-OdZwgxVyn2PV^q8gYi2S~jqXwP zCW)w@j=T07_PxGf|ND)$M{UOZ;}5gqOXnVa&$2RlyWF|23lz3Lt=+1>qw79Tk@fM@ znv+DH_&sve);N(Xzo(mpb!YF}$=9ly6t-Gk+uU@eXsiFrF88J@b4)k0tkivN={;fA zt@JlXogL3(*<8d0y{Ix>=skRFFnLldUqZ0nPB*;%ii&xr@WBh z6Pc*fmX0hh*Dd({gZ1X}veOmpK(Y06&MR|lS|5I9`9T)T?JH~Vh3xm7@YHncdW&WSLA!n}*QEQ-6aL6G?a}H~h-MXh5~bCla5&PD zMH1+3_i!M6{*>a04dD!qLd&Nr91pW(k!&jBDB3%{3n)5ws?&tmTY+*(^GkZyWUtoY z`&#ZQxa4cPt;2){r6v{ejT+^xq8q)c&b?nSId;NrJJz=|If`y?GLvTcnKNOEaE7xsZQtiRI()9H#9mjKPX6v)Aw9L-n3 ze9e{$jQp%(zX`LL^|p$sRAg{&N(b8cYAVpom5K>Kb=E*ec=xS2!b{rLoV9fPrk!v% ze8L@|WnUwmy(cVn1-bByR8&*Q{L+;T3f|tg=X~D!Vg*p;D*lM?qAKM;JF~A{5PD*> zsBN0U)zsMgDjsWfK{kHw02#Wg!M~DQ$Y2Xgr%Y7S6Mmp!r+|jd3BU4ej)LiSkU3fp z%HkcFfSMVB_Wc1`{O^L$k~pvtQk%@41CvGrP*o66!B3z9Rgfp6ffg>=wg#xSG*Ud3 sE9iLzYwkJDqS^QV_Fu1MB(fZM5Wj3wr&jnUwS^#_r>mdKI;Vst08DlAZU6uP diff --git a/resources/builtin/alphanumeric/Shrug.png b/resources/builtin/alphanumeric/Shrug.png deleted file mode 100644 index 400d911be8ab5fda29eb252cd092fc8aafd705e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@YlW2-HXw?%h;-eA-AZPnK9VuNenR6|wLZ?u17p17p{al=*@p+`Rs z+8mp0aP=GCccFZT$}Q%S%YNkbI9JcE z)?%NJtUblnCu5qXzkO?CT5)sl+!tbdvS!|{e5P7)b*)*~Wt%#g?JAOz1$M9)e zWrLc`Wfz>O?M$EcJMyyC*1rcg?0=r}Np5|z<&XD24uw9Jxqm+G$-X0oshiJP{bxyi z5f?3BbDcfjfH(dR>+)hX!Bf9dwp1;%e`(Ww>FeKpM^3kWi;3xu-Rf-AoEoOrA5&eb z_WEARvzW$!V%9^-;R;`v1UZ-lPyAa5$v$uS+9G~f6x{k1@Ms%hbQ zoysTnW)qJKaGp?p&9i8FW^Z=n`?Q-&jL*)D(%Y2&>b-lU@z%Ggw~S1;J)5?2yS(?= zE6y_u&s}lvbD!+4lPSol)7vy(8YE|$u|5j^Xrut(~q3kXHZO27wuGnq4zbf{F;o}ScR`?xspAx!!vd^hy znfd>0R3<6%cdBeyR%P9?uJ*LZk}AG6Y&+$qym@4lv-W4ViqTf(X*;H+3vSZcvSO{| zW~0pGE=Co-#nH>m-;jdd7qUXkr97*uW!e3*Bx7xzj+*032O35 zz9zLK>W7}=vi-nNJ7To`d7DspQaJ0BGs-t7O%Ihj`Q@$tndA?gcQ5?&iETQs@%K($ z{*C7In%md@jS@Y6TzC6czO`G|+I>^K$4O*H{b9ak|7CBv8}hjzo~Nsy%Q~loCIEl^ BGDiRa diff --git a/resources/builtin/alphanumeric/Shrug2.png b/resources/builtin/alphanumeric/Shrug2.png deleted file mode 100644 index 2eb4132a5fbdf6fe6b7230c8bab09f9dcd0120da..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@;&P2TC2iG?B5v}n16Y?IEGX(zP-!7>y?EN+l5Jnn+opzPg5`T zvniH0yL$P#PUC;)jWJxr+WA0!b;zR;7aLsrrW&e}exv;x^TZ|nj~lkS2tE37(B{}| zgR9^8z6<3$RBkbsT=pZc$GLiTCI6;BwsjwBI}Lc(KJ{#g{_WW1qVfIOCzV56wif$* zWbG-oJ{i+A{q0*D(~6sW=e`izlQr{pf zF1z4NZD;zl-;tNCw*Ec1VgK`#Pjc&%Eq}cKaVYe$%>DCePxc)#Ox=9W>OV{Bi@0b3 zo9pcH2E6fqSeF;837-0uvZZR7{Y#tfOJD!)J94`1TTD!M>{e%^=F~8~{+Q}gwb%Dj zp2ai<6tf;u4p;cXB*?)ec;Y{M+0Vv8r9} zUz+GKGc1_}Sf#bqcKea3J2X{%Q)k^SPLAo=r1{2o>8}O4Q%wuc>r_6m zH=B4|fb)d%Yo0~ZGkdcm->2PNVtjUHl-{QFSMS{;jkmr{y=7#&?b)=I+vUB_UU8mT zcu?TpGU?hV_Lvp9vGUS#k5G-J2Nkv|)C3t5kq zolw?uoEf}#v7c$o(oNFqf;631eZTzjwmENbOxwcR(_xQ{e9qk}e))8wcj@?84Ud4gwtx|K_nAy40sx$os79h>ZBddwn~OyYASk{LSO2N>Gze@-?X? zQ9tw?m+c3J+7YAe&)bB;lfqf2oKe0xX?m#K$uDp9&m@1~ynErFPi)h9jlXy5@^3Vs y*WAALZJRfR`!9RT-H^`(@jPAqT-G@yGywoKcm37? diff --git a/resources/builtin/alphanumeric/Ud.png b/resources/builtin/alphanumeric/Ud.png deleted file mode 100644 index 3d5e9e7b232d9704dead0ff48a146466ae39924e..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@;Kf$2A`zgyJ*>V&Y$Z4Tqt6YgHx^X`w_*)_>! zlHRi-T$AO@w&cy6_cAs1ozbz?ZKmH}JbJY3jI-MBJ5TgNWA5yErg!#F-{DjF!Ku-5 zfhng;mb^E9;&=MbPdQ6A?{`pT*;@syefe$1s9Ud|y#+-j;$Y%dCA-{S5wO0#0{60?B z*yP%%B>rxphqUUJs+g~~o4##iPoC_aaqLEW<>~X$&u;W)e*LrK(hZ|^^8$YUeB3UX zJ^wiW<#j*nvZZaZ*Ig@rzT(*rOO=~#KMYkO-xuvUYE$}i*SQT`_CR+{`GR$^yr*Wd71PV%d=Mgmsz%Mde*Ds4{VbE g$7>Op*Z!RSE6h2!CLw?NRvi%E)78&qol`;+0I<5mYXATM diff --git a/resources/builtin/alphanumeric/V.png b/resources/builtin/alphanumeric/V.png deleted file mode 100644 index 4af0bb374f238f68859589abb4ffdcc54dd6eb5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 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 O9g{r$PCayw&ixM*Ri7{b diff --git a/resources/builtin/alphanumeric/aleo-white/0.png b/resources/builtin/alphanumeric/aleo-white/0.png new file mode 100644 index 0000000000000000000000000000000000000000..6a54cfbe1c6ae0967cf34732a9106e25fc49365e GIT binary patch literal 1584 zc$}4#`#aMM9LGo04!IpnM=qP^aVsh^vc{1pi;5AZwn@y1iYT$=vbD&i452Mij5Krk zZfta7rc{zdvyIS^OD*NrI4y9{YT<-mD~0Wv!p3Ez9u((w~u}J#f)V~ zO@8y68;7iBs9u!=C@m^1s`8V|AxterIk*f_wgFB2zt>KvUy2FJP@2r63uV}TUm#W z==gOW`^Kgm`Cd_Q3L?6bIWUKL3(MY>4vpB9r1xZRmD37|N_00V`!sSdw!@JR_fkrD z7dgJwcWv*pGxNl!mhl!VlXktZWZ>`%>R-EM%6j8viPl7zN^xM#$2$?mC9f5^%C#k9 zXxx02wQ80=v60T2?veIKe;_njny*gKNPFmAnmz&x49lmk_vty$`Ec0h@QzEvC1d&v znaHi$voUHiga+5G^pr4kO~X(&2`^f;;MXs5APye%@#?&jV{l37aClTwW?lMa-jdYh z0~F4(9_hQ8*4+O*PoiO;K*qY8=T|t4A~KTdJgdJa#JZkqRBN0Zts4o#aYK1?<>lr! zb??L_D(6?GmS#qQh9T3EtP3s`a_PPqlXyF7C;%WC2%w?HqMu3d0n~vQ=SocAdwjKY zU+fO?B0Mw0y(^+w>6MdxC!r}l(aJnEZh_0{Trny5(bWYqm~UsU&vcaX2mG2Y-M?NG zl8Gn#<0`}04V&Qx2Vxiws<(AS^WrFGogYrQVq&BCyRT zt5&;+>JRXS{q(+_Dl3)?(wS!A*J`mpZbmGZeZ z7GHAuhaoOYXd5}c$RQ48dvWlgu!V>QUjbGh2W@K-8>;7@To$A$IN_}@pJfO0bLozW z?1StAg&^=zD#Uh*@`#UR-fYpc zZmCQQWLQ&U9+cn3@tS&S(h)+9n)ghe#yh(Ba*j&EyDPqkT%JV`s!Q@@(Bvc!e;WG% z>Jc$~h%ml6A!_$B%68ptccG?;2ZYyJ0Ryj1SUvXHzTSP56J=pWVTJquk#qZYX{ezy zTWT1bK?l9QK96S9Q}0Ff(4gJHzgc?Vih#qjiwu@*u~jx5xin(JC6&RMI6G1r)_v7QIPm zwnQoaZd1rq)c(847uR-5RNQH+$@0&|c~Fsvmk)zf(5h7o%QVqbA5m&ayJFl!h}i0o zW`=mc47fIQk+hXCAa~+tIzHp)G@{-<8<98Ft1|i}rNGsfbd--N)=xNL1+kP!vH&9USw%EUHymsd2 NfO0?PR^u8>`41g-^sfK_ literal 0 Hc$@pWc?Ln;{G-eT>0oFLG0aogo%5B}=! zR)~?B=jpZj`??RDr|Ng_P-Y+!w0+D!dRXR{e3$#os0k{?+(Idl(GwJI-)dsH`Atma zL}I>Ulgw^bPNVG#j?*@>cFy13#BxU4k!jAib3Bhs11B(mbj*yNaHdk#qv7qHCKgGc zuHraOp@b~QNoRCD{_PP`c^4rqc_e$00^{*0N2b25O)N8_C;UmytrI9VSLmoLy~*ln zb?w|$N5?&Ca#|W4m0Ra~O<0ipwsQ3Xg=bfHO;K<>eydW`v8iwC^;K&Wo=sJ-JbtSd zB=>GtXq>=juL%>9-^PfF9LatZ(!?U0{oR>UsASFE?LsPG@y5J);Y}_zYvqBC zc)Oeb>jMRy-}(Q40p(fj^+W|)ZZEC3l3#7qw1LMyB$d@sz)`?OfJKl6MzMfIpcF*J zh@(lNNufi5Ly4ma$b?d05flkYBt1YT+%TXBvcv=)Bt1amnvhI^NqmwQZpoGKyKEAB z?BDi}M!uH~c)UMe=@FAh!y@jPAq KT-G@yGywo;JwJT_ literal 0 Hc$@)zxDgC*Z1unl0po`fdh%Nw(TvcFU-CDgX7mi>E)m1AKRHd{YTjg{q0+A zHk>^ybf4kvzNzZI)7AW3FXuj0z1(@7^X=L_d2eS~Fdq)lI_q1orA+JVwLH$gEB#Mx zUz_qB-ZcGtudhsVnYMdGy9HCV<*7X^@3WQ_%~{EL@AA5*9@+AHk~O~e$$Q*5{jqJq zwU~1TEMIL!e*UuUc~ja}G;3?;7+4PMzCA@Kk+TYg}%a@znt$Jc`Xz87;rQS9hY`luN=UrR#v~O#7y2c$wqpQ1ck*A*UH zYX4VV@q6$4$GqX6*F**X%&*>)svY`2Zr0>7%d%#Vxu-p6%hdj~FXX=*`MPy&TFxTN zwHlZ0JZt6Mf=B<{)K9$rCM=#m zH~8@3y0CA-=l4DeJ@)0Fv17!)_u+QI0?S`!>z`Qu<@!6bzq{KNDmUfa71C_Fu-!iM zkwNadO#R$-t%}a;6iRkBZFqjGE?q=r`r1F+&3?2T_2t_cA+C0LXQ1Bni))wc+;P)t z`fB$TMKkxFRh)iRVA81v=kCSi@i_-&+SpI^PQR}*{j8Dg)YYMhddaI4=bByLY}K>P zHz;%Oom;F;+)s9I-02YXGDcyg$-SGiPiOE>I(0O9=B2u&$NzS5`rJQm*-?HXf4;=U zonp^}W}2*)3{yKDVq|N4^v&m-l`%EkI#UmZmj=DOzJ$3$E=++_CwLwI%GVRK9MV78 z&JB6?=YGKT!z|j*-35dJMjFDtE{^*Yqk>Z2^iZdTf%r$T?|MyTZw; zBN`s7+A;ffqlcSB&+{%iwq`Z3ng5J+L&w0*y&hz~GuzkGTRF(9UU@(}fhdad&29vq` zOMvWp(zv(t=elk2@uaz~``Z7ckuwRc&rr#JUR0Qwqe0T;dp+;nM6X znA~L#%68fbnfW%>dK1Ph`B9})1&93>;a@){^(N|^hx4Z!R5};d8rDLO6FNFf25%&# z3mf0u0{*Cx6RoC`Ry2V>EB8nV_}l!Jts5lP%Gpz=?k>sujJ4@}8AnaWD0rKuVFc)7 z6DduoCo@xu`m>QKN|#CewoCOC|9QgL)!IZ_sE^JB2ejZFwhuBxmO`QzLY? z+^OVK4Ev*tp?k;qB3<@|D~v7=F0(U8k5xft=(m{<1WdJlil{)F3~j>Od9V5Y$X5zW zM0!>g6`MwuaL*o-ByF@fr%3-?MhX@a%F*T<1$cUDd!*r*qNQ@XQT35|6tmLjCXgV|)s2(AtEHxo^owQh-vnS#RjyUtbD2~Gj;v_iNi%^2kT z04;H)?zwI~6k8(zpN|2&_+dt%TU03Su^uev=F8II>X6aaAl}9e^@+^i6eo zIl_G>2Aq3E*S}AK=n&YeE@9ElJT~LQ1N`1?9eEcGT!Il1nWkD1nHGlPhB!8|@8=B$S(y-I@BI^v7KwkNRPh}ZkiYOkmE-yq6f}YVAiQ{O3@RkY15DolU!mjAO ziVb@BR3?U(eAp^(-}J#)ApgTV8EkzK`3b>3SApLm0o4(Qsg1M~CjQW}B$6l}`u*(e z58b3LYO(O6$8bXqQ9|Cn4<8~zb!}BGXIzkF>2J(uftTpdk%*UNM!|vz&Unz~>k(h* z&ozgzSKy|y15_0X1bVtbAOjZ&f!F^g>_P&IUh)`ZY#|>&bm=eouN7*i=O&4DvzA!G zeLcfynGrwhJmBmx#xBIogAJ(WfXscdwQ@%{cyJL5+G_jloZ{NmQ*7kK8hWfK9 zHgartyp&0d!tqG9sQoy)&&3&DC{1BNodjif^Lmbs3LtDiXU2HdK+@%j*m4X7sKg*Di4q)6=L1ZadHxn%vuJ3Uk})#uL@1 ze;x`Q5*DK&tIQQKoZwZ|=RUi;{Oz7$m4Tk!#-g1W4z5k?d9vMM=AAK0wP@*ksU<#U zDhqqSJlZ~oD1~D3M&fXa*BtuhYUqEZ?aa30*3)O`%4Jkw-u8Uh<1ZA7HZEFd%u{AW|i2BpRkK5j^ zd~_|?<$Vq#8nPl^nQ=%U)AT~L(Af@5H_fCeI*t1|XN1k`4 z_zIZd`&Ml1+--c{MG9q!8al2mX|}9+Yd(Iq$M#MCnSN@j_RZWV`Jw)5n-?rh&7FV( zgcoBsPT);(Qco!Iw}rbHJtC!Q4Rzc#;2dI7Pv9LCRaA`~1o6leRP=rL**>#*jMJL{aq*C wnXiU9i#IqoFk4q&8|nl9{p7b+d#L(%fh};c-M$M~1Ai?&T)il@JHnxV0l7fg1^@s6 literal 0 Hc$@?YEBk=<30_0m7{ z*K^L=Z`!@Hxp>!yK-XJFTf0j=)=sd)n;azL)(X>yVMVdXtx33L2aiLmcJ>vL#$t<<)`f zQB5kcKcavF+!KpIW(NzaWH}rYQpt4q1|qhBh(0xsD-Cm0JuWru0V-tN=`~>mqa;hG z)P!=*NhS*Og@8I{DFiZanx^2%ylD!MFq#e`OdTh&Em;rJ_D1!D@VdHuZO10Qny-sF zKecSGPtRKnd7D!mXn(} zCZ&p~cnhnXQS_J=DWF{RevOJ=Cl2mCGo%Bd;i9s_>80GkF84` z1zZGJ1X&ze9AOk##BqX<%6tV5C5|SJCWR)24h0wm5#dnsP=o7aBsNDdG{`gNxUaqK Sw^ia8i0kR<=d#Wzp$P!H@^8Wb literal 0 Hc$@Y&xHwZPXWC^Wn=%lT3@jqQN}B0t89tO{h$d&*z|=9x zSZ!$Yp$E|9L68EEsrbOuG}34@JTghmORum7ilhIaz3<-l{(RndulxM=`6-crSr7IF zgFvA5aoAWQ2;@}#$!=db8hM)5?uc&^YPt^GqxU=6RM#Ac6M!Pv?_G0~=1V zo(Zb4+aIj~*DrxUE+uiX2a+y0%}=Z?knHhteZ0xJl>edAPy&4zMffv|J21nLFH}xa zY8o&2gFaJ;$QctDr-}<8@0L zcQ^;-s2HEBzTIcA%^9zDP#BK${y(!l>-u`!5|_Pj5R8MgH)PajjO6h`v~oNI2Z1}N zKB~9^bgq>t47k$3XLGUHt_nV4R#mcbv%pXPe)<&5q zVBkwCwm&$=IAqn2T375z6`<@!>ag{Y83^*mgd&sM<2TFpETv4D?x1zB3H0&MWY~}d z5~qv`9z(XA=sTzJWU4fU-DoKwztpB@2uVPu3u5pDhe($I*fLB4&n@3!Q4_AL@x`eb zmN(TUqCMh6$vZ^jK5Hi}TNqG4&}7ATDIf8>|E3OBrJ>#`r+#5VOI8mrtsH#yL>(HL zGO8UBSd3b8+OmMDn(HA%3T0zU2F6pRNc~68;hGs7H`EZrVcs1MAuY(7WGIPi2Wnq| zh8zXK!)jkjWApd~$3R=&h3{rGcn}jts}8hyR5Kb(yTz^@O-Gw1qr!)U06S~UgA#cQl#K^O~kDSfcn2CBJuy<=kzZ;By=x%eF$OP4o0r+szxx+UMOEOR5Gc4YeYMCyx(f1`Q$#kG;On(7#&WLF*V zYv-G(^qTNm(}PYR6R!JV2R&+Cr&(Nh`6I@UK3AeGj82`&TJVR`hS`=iZFFw*+vC@g zl(RnNNyonJbP*iU zUaZCBXu`*nL*Q5`_Lw*97>v2Fz48ckW*>_xt+E`xj#+T-;so)V0}sNIy&nzbu($HX zWB0Yi;M7*eEeq?M$7qIl1L+?&O|ai*Krui1(U(+cj+q~|syMA^gRMih>YjNzd#*gJ fXVvL*KLyAR&iN~M#B^W%`qLJNCd9UUcbxSfI}C6j literal 0 Hc$@jmlAEoZ*Z(J~v&KOA8-ngab_KL8>{<1nKe)FAfLqX)9+nmQXb%B^ zQka7c&W!Lg~T?( z&~0Za+5sLsF2@a*8Uc&SbP%6W+&c;3BB+^-T#Gh?NoP@$T-7J<31Ut%h};d=?{ZYi)+%G`_IAX5cYgz5H*gFN$QlM#{`f}ZxELIrY5Z>H z6eNlb$LBZH)bLrzmP1u4=)tMFx#Llx-zw-kDwmW#dRZ-?%m2cMk)oDFPbF!?h*{We z(?b$U$nWFkW5zF^TNzG1oxjNl04;-@#32(D7tEs<@f58waVm5xbz$`pqbod6CE*C& zdbe1^(0&n8Lp#|CEmcKp5cwqn?k&I8rncW+-fS6&-hYQm^KF6tAPy-pvEi}yvyjMf zRb&gXGuZuVJZaZ{Xj{8&18zU&u4CiZuMdt>Tp+xeSiCFNLxq zH7Xu!zQnWFFKnvEtz;}Fnt$ndtL%O4L`Nl{_quB*jd~q25T!(;a}s&5sSuEMS96r9 zVl}OfuS}RpGP$a<##awMkNGfd`oyYypIRLg#lq@;^f-6&g5z|+CD_?hF{cTY{c2FA zhlOfN%S9BOI=l(WgeiP4!&>A~5HN+VI4nG|SRnC1!3w)+T1*tY7Y>cUTRX2Cf4j$I zQ&;9az{yExgJ4VZe34K+!d9@)efXz_UdL|IEmg) zUS3Ibt!>GNZCPF+xtY5hAZ%v!xDp3jb?2lIQ0JA8uKGdfL#l6#mHK1o>|$e5W{Zg} zSUuf;>p@2F(1gO;h;3()bchjub>JV;Chi=z^1*oiboSG<>Qsvelt z9EB<(ooQ-+Sr^8Jr6yfobP;|UU8x%#t1i?d#(e0F*EiCl*IYR<{rr6{FS3d{tm~ML z=Qj%!#>;h9sYup44V8ousSW?R3(FEccX!0~$etXSnb#{q6Q17$wJHe!y|Ww51RFLPqzdhTu&RL>n*lMj;DZf$Jh`hMfvdiRx(?6S#092g)cX-EfKj)3X M!Io_E81D!E2TrZkUjP6A literal 0 Hc$@Jcaj z@(X6L(tftKsn|pIRQLqG8>xHh*w^thFfh&Wba4!+V0?Sa&?6;W=IBG~PQz8si#GZs z$EQ{ZFIHx5s@<@j<@YH$me;L~FC90qA1vdp77$w&y)EL#zWnWbF8@4o_wH}L``69c z-|^pTu4iPx1P`R8-tIpczf^R8S-z3!5dmi&LkKZp`k&cGPc%|b)N4BT1-I!0wZ$yq zvE-37(&gow`S$yla#^Fy!V~sOmp5BI$vNSCY_(O&`lE{7m(IIQ?!2P7cmB!gUtQR2 zQnI&B^O)?c_iNvpto0`qr!SrUT1_}o{?pDchH=|wddOb-JU6H8>dgu5cec$u@oU2J zOUILEcdp^rtj#ICy5y|l=S#=)Rs)T@oT$FZF69D{<-XoG#q5dV>rNdhS)-TV{X_4X zT0PnEr68_+&J?%y8V!Bvt+PF3KYcjm|HE~$^D}>Eza@M#_sdr(T|FSYl5L)cX@|?N z$sH~#N)zt~3*Gedd}60MG1WuK+OX5ZMM-EPSZ4JEmt#O|7A#ch=kvr!W#Z3Z4<&ca z&YDRl`V|F13imHnDVja$M6!ocbgYNcZe-1$C%Cw2cIGTmDN>lY%wvgtr^k}roSsii zR3|>3;v%Q=>GR*2lTOrnDV?6+QWgYq0ZgZ0XAjUtKAul3RVS{V;u5BbWN5i&r%l;a zl_y(PT60_GzWV0mH+xy?0gxWBniKjE8z)RUQR$(yc!mo?rWDDhC;J|{sBH4^e4?i^ zaq<+Gw3T2rKb4<4zuvj}S-awL-_27lFWWug^0Iza<%ySP1GWFZpU;jZ)i5x`Gp@Fg U-TvZq@E#D))78&qol`;+0L02>2LJ#7 literal 0 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 LhI?(xo+Ez)tY-aY literal 0 Hc$@Dgr-pHSp#eKDNLMS1E*I|=G4s0reKMg=6!4k&hq1( zQmn$YygE`z$uDGDM@=HBtV~^g?F-;gTpf67)8TM`L3{4r=eg&-d*2`4=kArn$40nf zJ+TM`!Znh`WFrtx@N%KQaCF*Jw04IC$44iGJ9O!PqP^xF5Z@;iQ#Sf zgXQ1ZgR6zQ8m}fI5Xi1bCYT^}njXa{Z-3)n@B#Mz{icsJ4zY{t78wirE+VDKCz znF>Dp`IY(?;6)7~ix&e6O&uASmq%~rN`V`dRb(24Ww~P#LD6^I-=ZY@$IPW(P-hQU z;|i|51EKLDgM2B_%L9>S{<%VwOdpz>vm2KBi-D>DF~C&<(9C^`7(j2(!Bf|G;6Zc7 z$fbj^Gu z)Fi;^`k8%VASsJ9r-%gxXM6BWkSbB@dk{lQUF_| z{S)OIbXRd47ks$- zaF$EYeWX7zTrxD$b+1Pi_Aclo?O8HYG3egh-aZ_>#*x;XtQ>8nM`mkkKwK7;vNc?Z z!%xfJtQdpp?8z;CCHx(GkP<)5L?}eEr?dcprc+86eB1?=5@_sTvQd)9JN=X3KLte> z{B^v`uc|k(EXFJDBdgMST8lTZqC&VHhBTTAm5(&{ggU}Fyuxn8;xY0`$F}+opvVzq zMRCS_Aq0p4j>9~G)Vr*`n9rmTif_pG(pPpNoQvfGkxqoq!&SWS_ z07cfZU^PP*ANxep4aOGEXj;Lccpe~u0=Rw!asbL}y{w4JNr4Ll&Zo74LPCH)_T}|P zB739>nK>1&&)|HtfzlHeebPZq?_yY8IMGz#om@nns1Sz9=J+yOs4-p#HA_QHYlQvmHt@Tdm~Yds3e zfrt1y3_F63N11N`G4N=2l`m^tQMHk^w4V#FXH6&f`Kalv=>>bpNgMHu>u0_h2kcHC V4=Epz(q)^LU1WGHQ@QI9^e^{hY^4AI literal 0 Hc$@40-<~UM2pp z2h+%&I6h7K_T#vC-o4Lz9V5;cPd&dT zdbbeE?^w%Um#*+O8E75%ercBYE`W|V`RjUwEVc%_uKr<3BR5AIaw-;4`umrBxM}Z@{&7tr)u z!~J4$XdQF-m#9f9?>)T(RZo;=U(7DkU;lacH`YpaSCjn~K6j?+Po2gr@-n-7dUnv< zko=d96Z<5dsVx7qEj_e~N9)sMq3;2Er`s3b`>p%NFgt!fyX&#V?*Eg!4w^asZ?W(b zl_}cI7ZzsO?AxB@ckZCLY`S2{&K1p5BG(-VD`|Q0L~6;3e(l)@E-1{LbK@YJMRld< zwH5rDp&$6TN58|syt|MuYJSu8(+?Q^%Qc>j(=LuLqRddz|bJi X(EBTF{_>mIZXm9wtDnm{r-UW||AUH7 literal 0 Hc$@N{w0>l@`DNP2 zlQ(Ad9%2iZuOmZKrflx@-d^lt(dadtwyV1=`b63u-^&kuJKeB>_&?t+Q~no>gntic>6Wi-qka4$siM1^@FurpUoTon5C8V=F&68SH z9OUM!(Z51aar02s3MNfDF+XC}C(E$(&zHRj=g`UNk&e={kXw)>!5354JDuk7u=M=U z_#PB{rg*|(kYAk)I|9xw?O`)vX){@U7b+dye-zHksIknzbWH;X0l&(iwIO@1s^&u7 z_D9%VHY|slg)k+2gP@g?wRBb@1w_|Kr4^M>*kW}LQseRbV`ODC{)?;Iu`8B&OKQ$9 zMc*dH8Kyz>D{VQf%<786eI)zXsMkAaG?+d>J!c+Y{u?Uo8zCKu{*gdy!f3X0r}7E} zEikyjn0ZBpGBN+dJ3PJJmtV2L7-)Jcf!9@rQ0}z)6Q!;=NMZkYV z!PeI?3sAo|3!gYmF%Yz*Wu_Q<+T?@Tl|-59%qW&|WC#IB4LO+<8iUnpg z;gh)-gWU6ST`fMD_S_Nx)Wc>DvX_vXWNOlxQv1+uuHGFn~cKb&A{G&`6~G0%fZ zJB!5%{Lzexhn~@2aU@20+aOtd*Jrr$T2U>i*tDFDR>TE4z~bte-|Y$ARaFQj&Tc`d zHO!16MBnp*%*nsi!Hq(St$C+6^%g2(j$Wv|kw1`{J4jNGoC+GJ#CT zyWK`3wgo55DayEQE$GNvO3R=9bquD?zpACNljCZzaKS}8_DVwJV~ad^tJf>1&!vjU z9RE8*)w@fFZO(+-Is1xI3Iy?O%DOzId!Tm3N$&98ay_>M_@7@1{2hDgf_+24c(8C6 zY#flR=>B`o90dL0%2$*Ulo#c_+N|bD8B#z literal 0 Hc$@$q$gwgvy5W#E26d#f~udyMWc6U~m#pVu6WFXoBkR zQ3r~FB|rp+V3Pop@Ki*Va4G}Z;q%oyJMsL4*W0$N|8l5L@p^T(qoR|au9nM*IigBW zCW$I7;k5JtstZv(&Ixpi-V+O;PNV-IQ{F`?I^8<&ETEKfmP;_Gm7{W{Vrk3r35kl2 z|LV0=-O>|OjJY3k=eAu-P4&g|)3;5|cZ%5lU0hPp#~WzJ8C}hmm9DJ;t$$hsP~ryY f@iInYqnF`8_QWHxkNGxq)qr@Ou6{1-oD!M<7Y_JJ literal 0 Hc$@Jcaj z@(X6LdZxYhhU|pY`KLUJ`I`3Z3D1-VTC%{?#WAFU@$C)O1ydX)94UJ>G zLoIjl#g#k0HJGX7Dld{PU+q$L{ts`(yZmRji>r2iRr|-zfC(JdZWd_a5L9yM5Kwe# z@mV6Msv_GjRHWeL@jIty!l{S94V|=>-{)~^3Aq*h{y4|VJzSEXQrYfJ7nqcm5ISXo zipus0kDZLTcS@^1nL6Q&(>xc>NO{$i{3#Q50eQ24GLf1pn86WJ)1QY_b+bw z(DUa^}Rji=60^F(L%?Vr6)|efHu0g!bD(ong6q z?n%DB_&j)}fxSJSweZXN6%)BG?YlDb&dIGSCD^TkZ_e#1++)0S>q>#%b64_~J6&1E kX{iM_DMbWJa56CbVLUCwS!LTboFyt=akR{0DKMEH2?qr literal 0 Hc$@mF%_jDS>+M6D`hQ3s;(ly{vBk&uA@}V#?Ok65QzS2wfY@h0?l?8AorXxStbl zrm+Xpk3cAToV0^HlH}(3X|hSgwR@XYxT+n9{}vGo^f<%FW|Q0?WVf9Bmo4vaE8HqS zz^}8%et+O)IU&rf{jrHND5>!kATJT5k$5@a~cF_ z$%q)<@(QJZP&uke;tQcPr*uy$t5s77++ zRdoblwtu&;XTT)MQQ%fntzwI`ZXBcYG+1V}+;6IUP~O?|t1cU|EyTz)i*?R|3b4E) zpKmV@Z_>;dN+`SkZ9ftp$N0UaLG zN1ztXwqX=~=H_DPA6jCHB=-7;XvN%Idah54jt(zoysh^^MVQmdsW&}@mZVQ%2mXI-zWH)s;ZpJ^8b09{CCNDXTjk9N}{92BPa~(NAwhG zAeXp#ILK ztDzzg5P&^i*uYOXEh#1oiWw(9B#CtQM&#Flz*D^N)g1$PmO`4AHH&QUQq1WOjLKrD z!YlA?JxA^x?r`84NQgvFoCA)1ej5!PPFXMen8vTsPIEBYCTA>A$=fT1h;p zfjs5iI6_CBy4}c;htE)W`FOk6xdnVsLhbG!0wv0Yrtq1UjUKWW@1^s>e&y##*yJUz za0fiw?=xTw-)Eqs>xk@Xro)#m@Hfnx+>jcgXt3)ilBoF=0;YxAj^#LEkZWpWJ?B94 zDfKR}6vvNSZg-`0fq8e)!{UyVUe&qvjm0#r|pq+Ji8 zEs_p(nBM4CNxfkfKah07SrHKTSt*<)$L*qI29e!gh@ndp}w*5D65b3$pHonJtNtKOS*R&BI^7QNTrj zMUcgj#SuuU^#708cgS9RyYrcV63^?K%WCsI?6X(T-yL_1r*ii$^Cx=uQ>Ry)^1gN^ z{(k@Yb@6Qx$rEzA)Ae{B2omxYzYx~U3H3LOd@N*pi>$Y@f4 zQshbm9N9kQsdo>@r%c~P6Tg@>B9sB;;mY!OR-5g+r*UF=?6IZ$`RpRGDgud6CgCL3 znX~%x!>Vr0_PRT=k5BK}nq1lC`TNbDn_skfjQ*PZ+cG0;%JpA69J)C{0a^Fd@zWX& z|BnrSXPEyl*sHVby87ypw^7Y0x1(*=X`D*l^>z1Q_sypiLdE@8op(O-wW{m+TRm-_ zPv7LuSHHYHBlZ3<9@p)M=I^ynZi^2+v$@wYZ)fp|_*r)j7HFb6m)O+9!0rmH|PUUI)A1CbzLlP52Wpo@Sbh+q+9ab$6v;K-7AO0D?9%}Ko1bYHAl^Ru%0 z!rj8SPsQt0=QXXp@_Lf|hI_C6cD#3(`ZVga*y4a^$3G=?ACF10SoKl>q+h^M0BF=t zJs1mYD2#&0nc z@4ag^?O(&*2Y+x$wa@?QxV_lEDSgKEKTDRf-MyMqz*`l)`KZX3P*Au^y2ISK4r(5; c(Zay+gT2ki=vvXYs%{X^)78&qol`;+0EZC5`v3p{ literal 0 Hc$@QRKHaf~&-!~d8sD07-_%F9qA_gQ&(*qFJMT7&XC<%fkH6+L?Oap^H#^J(jwXdB z1rK!=M*&9x7XcPQ7Dqn?s3=4MiaK*7bwDPR0*kzCL#P94K^OpJ-W5Qo18PAS;3%*} z8pQ?gX6vP# z<8_|XU|N4t;*nqdG0uu-(+vF%yqS1)YIRo%XbOC7L!?DQrfzKFE&=O zXXi^HnfDWCzq=@GenLhjPj;8p#u=NI3wKB7&2Cz(>s)3cy6N1`w}Q48m5;yZlshaX zdr{fDV8zpkvbh3!&S~c69NuTYpFLRk?)o1O?r$6Kd1=0tyPX$Y_d@c`Z|>EJQt#{6 z6v}=|?l--${`hQn-Ralvm7Tt&cYfCV%a2;3OQ99FqozysNvhJYZw2zVY9f985d|S6| ujCuY4kj<;DcitUbnR)Mv3=^>luHiq!+)B&6zq1_DKwM8(KbLh*2~7YJBv-ls literal 0 Hc$@85dqq!L4l49aJNPUq=kee5X8k9q+O|?*6oyE%xjl|I;58-Qt_$ zW*g)lXYGzVSM@wIT{7uSWd4c2_wOZJH|IT{uWQU5&U(Pu@tTpz!)}fZP*K)#h7(Dp0!%?`wk>M#31jC_xR_PW>QP|nz#u8FaQw1d zL(1xAfeCkbZ5Rq|9T+sjEDXE}=Aqi;PNk*oQnd}PRfZG1aHHb8KDk-c3YPy)Phy(1BTsC1>2OoX`haz*J zu18hCu#~J|0MSKK5IShB4a3T_nLz98=I}Wo)CKXVbv4Y8YiW4$$Rv<1aB1-#r_)wtm95jZ zrb@C1v=y=`_-y2H;BjFn6k$9P&mthEo~N*GwvI!D?yu%0zWlBKSGHUDdKdpzm?wE5 zDRe8t#3bpC5L-!yklzck&Q=*UXq2yB#oF;{+N6uw`xz!~OWCT)ssa(3IO*c|GKRq1 zu=&PJiyi>A2Fi52xXG~S`Qd+R|Z)^lM9Pka<9>KY&!8s5-~(vO4@K6GY`MAPeZ$uQCd= zW?!x1gR1-jF|&>_@FUPwD=L8YoSgf0j%dfHM38hY$mEc{K-YA|0a+zgAa{UNW_$!{ zoU|Kc(9<-y$}OAceP#;$0+I(i_7KPkcYz@QQF#@iQiS(faRZObiYW1T`@pon38xBd z-JjKd5L>*>r}~=3_x;Omr|-44^tnCJ?o{BpU(7!?E-^V&ztYRX+h5%HM`rJb>E9&l zZZDhgb)AoH?M&4dS+7iVkB9zAj$R!%S@-UVx}Ewwhgg)BSZD5<(rhlvZ@e^`v;U#~ zFO>$Hw)-if4nhhI;GB&h_9zzaoVtpe^YYw3S?qinz!F4&?WX-!Te}ExVv8IG2KIw? U+_^F)#ScInPgg&ebxsLQ01tXI>;M1& literal 0 Hc$@k=1|mVj`PIi}UujZk;!x@U5NqTY0@XCLOHIb+&PsP(Amz;nDJ@l!9{~dle$*03}Y! vG^G@^DXa`}{3HO>$|8s$SU{NA=wxVEf6m!!Vf?xv2N2KG)z4*}Q$iB}-t6td literal 0 Hc$@?KBEV=;-19|fv!=)VD7bxkKLY3n`$`GuqpUSBdgm<$NEl5#$^`0FMIaJ- zMY0qatsuFxI9mkv&S=IO`zQxwRtEy`NIQKnYRB|;*ju4gO%-dZ z;@q0o@uWdtqCMl>*x9FE-Yn8|QLJc&k_wjVo8_u#AnD1({-1tk4l1qMpXl^1**(b= zXNua`TzX6@2c61UOFTfJls8>jJ$pwf2KUEFJ8o7|(FwOZ-pL5?DX&*>p5eCyZdPU` zJ#7xlM_N6sJ9$VW^%;zm=1~~YS*hDxI%yp?1og;3`QD+zo>YQcHhMms1s6) z8nJxoDsgi>d$Cug{^(irMxlku@dGZ~*ePDsScXwXISxi`t8sAYa?yt&Hs^z{ly~#4bE! z*ht+r1I1b(2Ng{-Y7QQ;u&eG=U>32M6uhePa0fyTWEF}t%>L1r1Ybv7RGO#0E2=sq z|1xUtd!H7)(XerdouGW7Dfblp(Pw`;S}-rsy2PuQmanI|q$v*@`(;dpDfn1p`|BcuoWm zLhGCD@s~;DE0Qx|cDr4oH{D-Wv|~jz8PEDyj5LmKsLvdyRH7`djJ3c literal 0 Hc$@A{K;&IvO!z za7r<#rG*3=G$4@>3tGnqOwl0a6(R(k3Wy?z)Dnlmgx>W}|JrZn&b|BX_nkfG+R$!^X&f&W6ARZ(8f4|MeKrHxi20T zWPEAS37EH((d7sBSXZS%kkfi0f3qlyGhZp7v1!e(JM|aG!=}r|UhTG*1!372?jbAi%>rfc4aqyYhY6z`}ae* z71M1*$O*p8wOs*Ztnu9U-6>zdvXt@n8Xl|(3riDTT8ye46H=*@;8jFPHvl-4l9Bfk zU+Ckc4V%R0-5}~4da%;xq`K+t2PM=85#E{XrAkrQFf~NRYZ?I5sn$bSqv+Ha z;3~c&>u13x1sT4F3@#?x4K%(~vV;X|n#>ro44xiXGleglsLB*O2|_>WV*khUvY245 zUJ-w!#|*kwl|I*1-fi-?;p-4*e096xqlipY{q)Ta z;6lwWCKm!wObGR5!r0;WKCW_er8p4+RIIMJ{Putsi9H}ol2Ab+hoa8%E9L6Q%X_B5 z*9piu?Ft@&Fw6wNld+_VDOuhiF5p!g#z-Ay9wU%o^5h589J!_6&IEOp6i_gmMdiQV zsgur^n@#>91edr13TsMgtfQS!?S%NpBnm>$RSJuPRPliQi4;(IGm1!Vr^&nf?Pn%P z#ovjfR)~?^3;#s^MCw|u1f>Yo%7^zsf ze`2mQ>kU&k-`)MDW9Esz=iPjAI&t%A%{dKS``h2-xuXv4j>HyLCB}1aZel2{arf;- zUN%#OPX%03A`SZL`Y}=7tm)U!I@@gM)QzNIG&ozmw^dc_bJC>1=OM5-l><%$KGYZh zV;WDot_mEh<4d59(Hw{$KC}ob9<8jg9_fpzJJ0Ks)E-CkG^rDkyHW%soi73b#e@Yqsnw_!sFxnY#c0 literal 0 Hc$@+WSUFJHMhk^h@Il-Isd@iy_ohbn!}tRn^)ALS8$0KQ(@_k(>X9CO z(+W5Mu-_AnbPb>oKK^E<0sw$yAE%}EcYe}|gJPt;IxOws*gp=JQ399L`R z=TuG^CY2ce-oz+UzFv4E=BMz_8L(Ftn=wjB-d{{S)O5a;DfY4rVYeov?$r65i+n|oPIf0G}Y2iw+zUY6uhjxD1%rN8d+okNei?+ z<^hxbcRy-f0mKWj)9q3ko0N;kif_eBsA*!jMPBAYgp4WyZQUhvVl}L~-+wZr$g8~k zR<0OE-}&w!7hUb*>XlsThCc~4ECe?v4ZCIeB2Yl-Bo?LIHek~P&3C!0{S^?r72OWb0WJf0b!Tc3yZP6eW21z&U z(p9R){04J9JUHE!w>cv9aXtx;#ckVqnruWs6O65Kp^Yo|M41JLg4UM@nFy%OXJOnB zkNt7Dzi8LlU~_}{rRs2J#{ylm-31jA{2`P^PI-VhJjPldKND56n%k~(JnN{jj#fM) zl?WfWlquKDmDMzRx)Wcsm~ZoJvcHPWG;r4)FsRGU_Q{kzfJFN@YMDYXvh8&-y${yl z?Ir)cywgct(8d!**r6vSa@Jz^-#0bAO4>b(MovO1R+K76V%+PveZLk%c^Ws}FWCi$ z(|GdWL=T5L>Enl_;d>ud6BEh~{8BpNaJKrdtPx)8VzLz1YbOevhgp`6Bh&k^VKeg! zsc>^=KSo3O^*2&ir<@bjOF?-QV&zOj9j7?LBVprIbel`m%98K0R?YZavhUkNMcu@E z!gc6quZcVt6Z`#uk1Do#8vEeYsUg=@Z`(lSSzIT{Bc&%ySl{IC2Fn%^V%aKaa>wg1 z!-^XdWDqcI>~$oRlt684_y2mt5DdJw514)u43cq$sit|uz`%-xH)qwdnq-Ii2r#Wj z=Y22gga0|$wp;`uwS=BK+qFNN{=5}Z!32Zo`)G42n5zgcyn-hDJ#hAVu+Hu0gQ~l( zshM>YUNG4feOXxfLKNOP-C8ly+2bny&XRzyq_+<(UO6QxK02Jt{^Q|hcF|40jp^MA zQs9z$P^`t~+1M4I)0w8irQB=o5o|&Ox4zMQ9QpfFV-+F1ZDN`GIIL#Oi8@}|c&8`P zWu)sb=SYj>uBlcWC!#y=obC^mnosn`8{U(tD=`JSU-kIlk%Bq_`@N7)%5vyM);JAhDoX^)f3ViC?XERWxrkGvF)2{ z){OE;*UX6i_l>UMp#r{%Q(XVuGZQD@00uk7QyZBF#pN4Go;J4z&x)%~2H zDFx3$hjLU|(_07@*bJ9sM3KvUC6N4dOYma-1J^;n|feMwjvA+6=p>F52xs0xutF?rV3Xy6=6(GsWKrSPtMqEL5n zFV$+-^{-CcLAq5!z_fCEFs<31rNI@{gwNb+QQ@LUWVx&ETTh?bwkyvX%nKxB2cq>B ze!5ivc(%+tjP{IK_n8!_ZR=e)KpzB%-Dp&1met#H&4BsyTeXfuyI17t3VWFj-aq2P hvD*CY^uO!?06^E~MPY9^;hxzygLcOto7{d%{~N9dI-mdm literal 0 Hc$@dp%toLn;{G-c2l9agnr?2+Ozq zw~o)gA86cp@YKxe?H}d_T%7ibfk^OR@{3d2r5}B#{L1=ku*Gbe#axAc-@{L>j=yB7 z%*jX=&*b=Yd_&AL1>XtwzoNxexQZgYCTN^kxSy@FNhZuQh}Ck9s)xuEgB-_Y3Z+?& zixk@H`uaCs-9BU8N5i&Xa^5u^>(;-&SpHFQUA3>7hemGv>zB*iU2hyS^EugdVd}Q^ zJG(Btl70Q*MAoMHvP+H{M{BPA8#>D_&Sk=J{(TGUE~&=3PB?xnb=7=Bw&g6AJ=L{& zx0;HZWVS7}Gi6C+4ebcq$%k(S^JxaW5*RZOyS;iEfEp<$q6C~TmA@q4l zdKbs1Js#YCe4i@%)*QU)xag7!IZN=#;@!q zjwXesGdr6&f{J8UaTlHbn!8?MdW<8BWRdJcuApF6!6i?ANls9ByM525$J4u2J-*() z_khWMv1c8d5+cxSa_r5O{(e3cD+pkDLZl}wkZ5feWS$c_-pUf2Y(%xCGOZ_#BML2 zqUk^9w&MgbP>3mXC~zoofC4WQl?$c7B9q!sxG3r>Ih=OtW_PJBE^+VPXSem;+7+K3 z>)zUTZT|+o+&fM38+Eh)&Z^~$%bWM=dhfy2ykDiSJvjR8mu~TgsHJt@oGgMa0*)Yp oMUcgj#c{%QAr@jY8Uw>WX1kwVTXnCb9RTq>UHx3vIVCg!09`EE>i_@% literal 0 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 literal 0 Hc$@B_||Q6gRfbJinvaw-4m^SqJ?A9KcNw>i6OJVhO6oxQ&!c>CEVo9NBAj{OZPoBlQBs+rsdKF4`EqWw3HxtJJ= m{)}C0?S$%IVxyXY;eq|+1=hJA&zM~W@jPAqT-G@yGywodxCjCO literal 0 Hc$@%Q&Z6*J;Kk8}muOG|WYEDV?OWAI;3-kTCA+zuJ*mNx+KPx?Do%^?4&=gmVTR-KXVfXOw=j=1P3tWA)XWmRKg4v0A2|l=%H>Q$nx2uJ^JV*F)sa%I8{T zZBIKXV;?nL^{V6P)qVUstNrJ{W<7ED_R)E_s>`PvXIrPW_Ix~?+n#g%=RftOYxft{e=p~;1Yfc}ldA_jp-nu&xA(3YLic@_*a{sEi z|N7UQ@O+Loo!8ULbHChadc8lW?0r>2s__1WC(UD{me>4hFi?toUvGD(*j{4d+fdh6 z-FMF)>{Z^RoBu=Ex8QZhlP_ILr%T*Re#Lf+R83)T(b9kQy27t^XNCNKhw0+ESBv*< z-?O5Nse12=EysVm|9p~qPJ7qWi`QbsrkY#D#%(;?KlR?HE=w+(E$cGQ7p^a!eSOWr z_EmfG_UNCiJTvLFx#{vf2P2NJePy`*_A8CVGtpZP3tiWBp1ob7DSQ3p>!sndbeyMe zk8G|MtG>B~ue4@~+%?U7Q#SFd(f1a=ot3t(&fMJhdfLp^ef1NKZ2R;V9slV1#bRHF z+;MTs9qeDHRKI@r^5CUs`>s8(%YK(3-Bf)x`d#X(=HGK~-#NaEh2JvwXH~7}8v~W& zJ?zEv*I&8zQD$1&>F}4&AADAM*$yOT#?5L@JeA%Px<}&ct>?+hE(=vB$o*!|nv-mQ zWw}}Ywf@7>Spjp8X|B(_zWvyOS+h6(U2yu^Hs4^`>rJoxkCzjhuNfZfznFAv|I*)r PtstJKtDnm{r-UW|ZHXOt literal 0 Hc$@9&SX`-pKlZEM;<|TBJVd2Ot!yAMlqPD_7CSKPCta&>@PRf>Anl4H3 zk|8Kwrlx6`T43dJ#gu)uXw}i`i|k^<5;gYuAGGJ3_dMr)ZtwH_-sk*|)2L)?loJXD zgIPyLgztpG;N{E5(gL#d?$vyR)Mi>t90}6q|0%s^o`|5dRs5Y)I_#+m4U{u6w+<36 zdy8b;h*foTIShtGMTUpO9p3YD$PW&Mj<_tyFKW;Ut6`rg`{r(A2Yzy}JW6!APWo%9 zJ!g+u9A0JZkGYf%_j?v`;NC~C`KwOn{OcYNhn^HB+avp22;@8BmF)FCmgvW#N4D!k zVf!r6!>(HqV(4PG|3=X74D`M8NCp{D`=n~PI5zWJ+)Cs7^WCyrbsTlsS>A3Y7&};jQZ@4RtRs3_lk5OIiOI}8z4A`~ zptdU?o2qsx(hAfB8@g%S{C4p=I|k$xkiZSV=pxM7d)BVIt%dJvsxw~48P|?ls;W!e zUxOc3CE0i^9TE-dh+`8-63akVM>iNpy)mll=q#bEvd7u$6|B3hou44U@X*aY$#(8l6!6o*oEvO$wMJ-`p`S_Q0qX6l_fKT#_uK*b%77C;&H;PRqW|fSS_e_;zRS0C~Gv zV7Vl{!0$^*ov~*-UU;Qm*K6XU#*33={TlbFjcR_%c4W6$eLGi50Te&%ijsQ? zPFDI@1RD;T3oDiUwe|cr*ly=62!w*JF0~dYs!i`|;w!a^crfI%Bf0<; zP^6q#3TbLI-iwDosNItpT8LXiCosU)7Jjp=`a)o*RkL-+yD{;~xRx;aI!T?tTwPhJ z3z#W%P_YKK2}&r*=I8N2d7hZ@vXqWPCnzojbw$9CP&`=W;kj5&OVmbEBHmV$pB@c$8SIO^|?t>O^kRGB>%DI8+=Qi1ZKVFDfIy2o=Lvx}g5yRT#^WK- z*ij%)p8!pkj)g*d?X5W38!u#U!V6O}&Wf&8X@}R+ z2?)s5`ieYao*DMDUM8}RdFDy$(hJB>B{JBXGy-{hg?(_{GG)RdN!0MR&}7kndex|3 literal 0 Hc$@`j+^TI-W_3$h3 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 d`?omV literal 0 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 literal 0 Hc$@BOf9|kTCuGWD6pHe}aFZ+;qfONV7P!+Xu49h5Vmy!=mH1&zmEd=s4002P` zd$^@*_#x&bC94!7E##vZ@Bf!i>)ucZb3)n7%tGt*vCzPlRcPo4x3W~p9>z!){MGe# zag(+5p7vmDIdU)L6>CQK4S_U4wdElTI~BbXnwWoJe*f674x)J#S;QOoP9c~zEyxpz zZ(Hbkb0?hT-m(+Uz_Wu;VEuGVJ=`C}+uD@A|5i^~@*-4uof1(ncG#ir^7r@^BWhOUJwjU# zcAPYPZ*bVTU3L-YMWSjnNm@#EhjEC=-5ji!ZvJ=(XSbh1C+CfaIL^NpC?sPskQHl+ z=?DQbK2NNA1+CKYGOc*%bc6Q7X<2hdT}FC6unm*eKn|bVEUqLM{Jl!TKZ^2KuWQRV zW&qn7eyx{j%aPyWn{%W{64ODff{SOw61y#Tzo4HNjnEZ07HfXIqnI)<9Hh2Ps`~<% zmw5$G=c&e3V$ey(sKOzgwTfv^E67IIriP|oY;Wnnwquk--JtdSE>6;QrR(+G$+lq- zwP|)UcC=kutPxoGIH$VdF{U(X=H$s_=AJ zCATm&kQKI=*7=4o6kd)SzOxjX2_^nxv5vZ7{T39SpV{S68Avf3Wx=DsCnh|IO&LW?OX z3)7Ks2hEmJn^>#Cz_TAV*4E8sS<^<)mhn>=!w8=)rQlVZ1Ea(_ZZu|_0oYxIL^VgN zKKW)q7YqP4F~oJ+xGKctj+7kP@Dbzdov|nJgs%ZRuTz{sJLd|DHSzt8IB^7Hh>#kM zJ%wL|b_%l`!ONs3N5x`RiP5cP?}X}SkQVf|k?3Wg{+_zs*a4774Vh2x(x@JMH6>Cc zNi7^WPc_@BcDi$wbTg2Oo61Ug!OoMcjnTJJsSIEW3nis?gdl*Y!G1AeYK6Dq7Yy?s zpY`=897?5fwmvB3ZxDK292Zv`zt!|2Fmk6J_OYYd#{|)rg%_gHUwCTu?u(gL-y@<0 z?&5Msmy@%9AgfL(B-%~xZs@|m&ky+ZruDH*PT!&#>Mi@3bP9=lj<|`6sC3MO_ug-A zGp!dBuP3F^0!w)WJF;!?P;I&IyUKE{H+ZdWB&u1`TXqgu9{N)w$CuW~r@^yPOhcYa z;8{V!nCpzX2d~(@!h#a?Cmm-(VY$cWno#_Rq&ztOc51DP>1;PVBspZKq>ZDA*il-~ zNHT|_K@D$G?37zt!K-Z7+1xbW3bjb>#dC?s!T0kIBOf9|kTCuGWD6pHe}aFZ+;qfONV7P!+Xu49h5Vmy!=mH1&zmEd=s4002P` zd$^@*_#x&bC94!7E##vZ@Bf!i>)ucZb3)n7%tGt*vCzPlRcPo4x3W~p9>z!){MGe# zag(+5p7vmDIdU)L6>CQK4S_U4wdElTI~BbXnwWoJe*f674x)J#S;QOoP9c~zEyxpz zZ(Hbkb0?hT-m(+Uz_Wu;VEuGVJ=`C}+uD@A|5i^~@*-4uof1(ncG#ir^7r@^BWhOUJwjU# zcAPYPZ*bVTU3L-YMWSjnNm@#EhjEC=-5ji!ZvJ=(XSbh1C+CfaIL^NpC?sPskQHl+ z=?DQbK2NNA1+CKYGOc*%bc6Q7X<2hdT}FC6unm*eKn|bVEUqLM{Jl!TKZ^2KuWQRV zW&qn7eyx{j%aPyWn{%W{64ODff{SOw61y#Tzo4HNjnEZ07HfXIqnI)<9Hh2Ps`~<% zmw5$G=c&e3V$ey(sKOzgwTfv^E67IIriP|oY;Wnnwquk--JtdSE>6;QrR(+G$+lq- zwP|)UcC=kutPxoGIH$VdF{U(X=H$s_=AJ zCATm&kQKI=*7=4o6kd)SzOxjX2_^nxv5vZ7{T39SpV{S68Avf3Wx=DsCnh|IO&LW?OX z3)7Ks2hEmJn^>#Cz_TAV*4E8sS<^<)mhn>=!w8=)rQlVZ1Ea(_ZZu|_0oYxIL^VgN zKKW)q7YqP4F~oJ+xGKctj+7kP@Dbzdov|nJgs%ZRuTz{sJLd|DHSzt8IB^7Hh>#kM zJ%wL|b_%l`!ONs3N5x`RiP5cP?}X}SkQVf|k?3Wg{+_zs*a4774Vh2x(x@JMH6>Cc zNi7^WPc_@BcDi$wbTg2Oo61Ug!OoMcjnTJJsSIEW3nis?gdl*Y!G1AeYK6Dq7Yy?s zpY`=897?5fwmvB3ZxDK292Zv`zt!|2Fmk6J_OYYd#{|)rg%_gHUwCTu?u(gL-y@<0 z?&5Msmy@%9AgfL(B-%~xZs@|m&ky+ZruDH*PT!&#>Mi@3bP9=lj<|`6sC3MO_ug-A zGp!dBuP3F^0!w)WJF;!?P;I&IyUKE{H+ZdWB&u1`TXqgu9{N)w$CuW~r@^yPOhcYa z;8{V!nCpzX2d~(@!h#a?Cmm-(VY$cWno#_Rq&ztOc51DP>1;PVBspZKq>ZDA*il-~ zNHT|_K@D$G?37zt!K-Z7+1xbW3bjb>#dC?s!T0kIZrXlZa%hXx4fiHfwmjA=TuF1(3l&oma+hr6aKM7{<}oSQ0o#8AtuBYBDf z8`d<%EtrKeYEN&!MW4Io~-CZMv$z#+#e#QQ=2JQ^%%tt<$glVo%&9FZKLx zlYyMn^S@06)<);7*%JR#u#lh&4W*uFK!jZo(m-J_ohaF7aee*T!|!`~o&ByJ zza#KOpQA~kNufibi9-oWa42y!+4zI?8NmgKO-~=B>SOlFM7`GS0r5Ot{an^LB{Ts5 DheGbj literal 820 zc%17D@N?(olHy`uVBq!ia0y~yV4MKL9LzwG?TN?!0V(4EpAc6D(!pX@x066huq4PY zm_bdJt9Yhx?F1{|gfIi=wk*w+d#o53nC5%BIEGX(zP;ZrXlZa%hXx4fiHfwmjA=TuF1(3l&oma+hr6aKM7{<}oSQ0o#8AtuBYBDf z8`d<%EtrKeYEN&!MW4Io~-CZMv$z#+#e#QQ=2JQ^%%tt<$glVo%&9FZKLx zlYyMn^S@06)<);7*%JR#u#lh&4W*uFK!jZo(m-J_ohaF7aee*T!|!`~o&ByJ zza#KOpQA~kNufibi9-oWa42y!+4zI?8NmgKO-~=B>SOlFM7`GS0r5Ot{an^LB{Ts5 DheGbj diff --git a/resources/builtin/alphanumeric/2d.png b/resources/builtin/alphanumeric/lato-dark/2.png rename from resources/builtin/alphanumeric/2d.png rename to resources/builtin/alphanumeric/lato-dark/2.png index f8fbce508c7cad78f05303e23ed009f320fb0ae5..f8fbce508c7cad78f05303e23ed009f320fb0ae5 GIT binary patch literal 1183 zc%17D@N?(olHy`uVBq!ia0y~yV4MKL9LzwG?TN?!0V(4EpAc6D(!pX@x066huq4PY zn1M@8*vdDnxOQfnv%!Qg*#teVWO)V#7A{X0$B+ufw|4`J7F$R(IC`2jY+!s>e{1cn z<#Sh_Y&&t{XYl1(mU>1-$0c8`GZAZZ(a-C;ANNYWJ8W_GtN3XX-v09CiuUc9YyT(D zZAXgl!mB#aqN9|9zX=RpZf9+T5Y31c|JI-&tSm-UT%|`&wd}R$uk^X^y{EkO(F$9cm2)3D zPc--xvs&q6wT93R_uYygO_Sfgp7*0`aoM(aouA)r-EFCU?$&GRoX*Lgg6=O=IVbr# zTF0{R*yepFCs-)1{~DY3GAl3Qve}fNqFqyi+H#E&_s6VUt{d&SU;B2@`P;(tBVT#C z|I~Q-P-y45$6f2I@)id^*{l5P%T4}BvFRsN+o}%zvIs0&lfK6CVnO4U8q1=HueEpg z)`o7_cw$b)Tfx^SUamR3;oqX?N9!+s&W>j_jQb<@c-uAq-p>9fzh-_d`@2T%;=j+f z);wOS9~*!Ex_x?Yt>C=q{>VE)_QtAG?<1V2ulzsh$L5X4jgGIa(^CJp;{4e0NKQ0n;o-Y}bS#u`o)#vs((#;pL-^9+ESADa3t);K8@xvy?v z&$rG0GL0vEomMe@_uVzlH&>rsqkJ>`xwzY;=PT43UnX|R9e8nNWkBB#^;a(v9r$aR z9_>=U_vD{*U%>Ul%+us-WH(El+V|?CknNWl!5URhTI32}EWUo51s9nz8iQo3i1&HJYXZ|l24vVQNR{dxQ=ZA|vW&z6dn}+e*eru7- zU&dbb0%An9WLxH}?Ae*Sb=Ju3&uIaj-C@= z1Wv!=*Dp73Wux+i-#0J4pYh6k)}{Q4EBRCFT;o_dQ&%*#Y~m6+wHb)jJajfIYz%R9 zy2;wPl;e_%fFp|_i{mX$r4EHA1t8|Q)Tuyhmi@qA`+eCLp`P-15YN-q&t;ucLK6Ur CP6m|# literal 1183 zc%17D@N?(olHy`uVBq!ia0y~yV4MKL9LzwG?TN?!0V(4EpAc6D(!pX@x066huq4PY zn1M@8*vdDnxOQfnv%!Qg*#teVWO)V#7A{X0$B+ufw|4`J7F$R(IC`2jY+!s>e{1cn z<#Sh_Y&&t{XYl1(mU>1-$0c8`GZAZZ(a-C;ANNYWJ8W_GtN3XX-v09CiuUc9YyT(D zZAXgl!mB#aqN9|9zX=RpZf9+T5Y31c|JI-&tSm-UT%|`&wd}R$uk^X^y{EkO(F$9cm2)3D zPc--xvs&q6wT93R_uYygO_Sfgp7*0`aoM(aouA)r-EFCU?$&GRoX*Lgg6=O=IVbr# zTF0{R*yepFCs-)1{~DY3GAl3Qve}fNqFqyi+H#E&_s6VUt{d&SU;B2@`P;(tBVT#C z|I~Q-P-y45$6f2I@)id^*{l5P%T4}BvFRsN+o}%zvIs0&lfK6CVnO4U8q1=HueEpg z)`o7_cw$b)Tfx^SUamR3;oqX?N9!+s&W>j_jQb<@c-uAq-p>9fzh-_d`@2T%;=j+f z);wOS9~*!Ex_x?Yt>C=q{>VE)_QtAG?<1V2ulzsh$L5X4jgGIa(^CJp;{4e0NKQ0n;o-Y}bS#u`o)#vs((#;pL-^9+ESADa3t);K8@xvy?v z&$rG0GL0vEomMe@_uVzlH&>rsqkJ>`xwzY;=PT43UnX|R9e8nNWkBB#^;a(v9r$aR z9_>=U_vD{*U%>Ul%+us-WH(El+V|?CknNWl!5URhTI32}EWUo51s9nz8iQo3i1&HJYXZ|l24vVQNR{dxQ=ZA|vW&z6dn}+e*eru7- zU&dbb0%An9WLxH}?Ae*Sb=Ju3&uIaj-C@= z1Wv!=*Dp73Wux+i-#0J4pYh6k)}{Q4EBRCFT;o_dQ&%*#Y~m6+wHb)jJajfIYz%R9 zy2;wPl;e_%fFp|_i{mX$r4EHA1t8|Q)Tuyhmi@qA`+eCLp`P-15YN-q&t;ucLK6Ur CP6m|# diff --git a/resources/builtin/alphanumeric/3d.png b/resources/builtin/alphanumeric/lato-dark/3.png rename from resources/builtin/alphanumeric/3d.png rename to resources/builtin/alphanumeric/lato-dark/3.png index b06b0b09936e48a2c52da7c77aa92ee290db261f..b06b0b09936e48a2c52da7c77aa92ee290db261f GIT binary patch literal 1556 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 literal 1017 zc%17D@N?(olHy`uVBq!ia0y~yV4MKL9LzwG?TN?!0V(4EpAc6D(!pX@x066huq4PY zm_bc8Y-X{6@Pyhd=LBCat2XCVb|)AZm{UAm978G?-`-^BYjG2CIq2_qTIc)zHN|{u zl=Du8xNCOLtp#me2>j05W0m?=Kxnaa`m#`Ts{B-0wAt!pIL1z6D1-6t` zFHb7WdAxS3tyD|ip6j8KU)i_vGaFr5>^S3CbhIl_cWvlbL!ge``z|d7T3oFP6bkp| zN^&^1Z(kwDBtwPg-|s3lNlaKd2}qQ70wtb#0f{ycv2B{jk%pdHkQR3k0oI(|4V2l1 zP}2n@rmaw5dlKsjv}QHPnAIS4$?+h5B!~zB5w{irWp;w37lMejV7H+e4R+T$ko0D- z8ju!Mtq#VS+L|4Vm7zfb%tc#4o_+)3TfRD|u;uk<)rZZFH|+l#RT^*{e{Oz{z4=1F zJkM01!*fJ|f%GL1XmudS{x}eE6=dwj)j%_ztN|IMp5fuRH9F9s1SLBv*0Ayb7|khC*c4T!r}A&~i#9>@fJAn_!tNrm^sjp+)W%th0H zgwa$Wu}QDV#!4Y@*RTD%Sxy?I38o0CoL2Cdwp}4o%<<5grifCV&rq^qnuFLF*=$_Zk82CCLM@xCxkcj}SqYa#KE-yY#IUZ31lUfW*w@4NG+(yzi> z-pPO4Rr_QArC0ZlX6|Km6mS%95nvHyaV+9!QfN}>P~cGFXaX`lSrAezjuTXnq?!~w i7=Tg}3P55+=L*#?R{P#dsh(B_@jPAqT-G@yGywpnIXANa diff --git a/resources/builtin/alphanumeric/5d.png b/resources/builtin/alphanumeric/lato-dark/5.png rename from resources/builtin/alphanumeric/5d.png rename to resources/builtin/alphanumeric/lato-dark/5.png index cb30839c0b8983494bd4c45e0f72bceaa7541ba7..cb30839c0b8983494bd4c45e0f72bceaa7541ba7 GIT binary patch literal 1301 zc%17D@N?(olHy`uVBq!ia0y~yV4MKL9LzwG?TN?!0V(4EpAc6D(!pX@x066huq4PY zm_c@?fp2k}nw4|d1g-?(tXhHGS>_B3EDfG6jv*C{Z|`zWo4ren^+L9!q5+ff|C9gz z?fC}Yi$ZGzB>5cqZ%tTxJW8sde#;ogiajQ&sRM;8P_{4}yWxCRYkXa5zGmBUc zP0$v|TIV29%zd3Gt;pyJD^sp2gr3ZD zTsG-z&-D#cjdg8>0yj;I-qYbIw{y)?lk;+w8j;!EDrfw3zZSm#nCErv7T?aJmQ&VL zFIkjw_fe6}S)HewrtjZ+{Hp=a*HW|1yoHwU*v=J8`h2Zzo^&+tovHZg@+mred1=9$ zrs!m?n{;$V%3oX6?r*_UbX2)jy-!9xs?zbgHvQ(AZyl#E7UjAmhi%$-E^V7!e*2`Q zDGO6HBQ+w;Hfu(DiS0ahI3ak`zPyvWw%+duHmHf%R5iP8>$OkmTkYDm9SxnbCgbyB zy{F9HvQZP>9BHu1cU&jTTsCuw^|Y6j{V{jWn4PorDAl=a^yR^Z^veCITz$7rOMVlR z3HJN+Vq(|p{NrLfcl;~s04fZtR#}kpH*3GER$f|koKH)Tk*bsSN})t8Al6tZv~U{t z8(X1(O>=HlIP5$oz^M^=^BRYC__fx`zK(t?X&`EZMf5fA7~y z%=>z#nrG+Pt$()uHQX*&|I}=4a^*>p`Hvh|I{!8}5pE>;*nt1kkBpD8w=OFe{c8Sn ztLwsAwQ84)X`_#0fd`|9j-Ju`#>;AvNJ^P>woXaIoSFvCSED$WLU;V>5qSt-mkGOGCU>`lcg#D;^5S*b)oxg zfXQTzw!kd@iTMH?wvh@PE+Ayj**GD4CUf*U{nA+u`y7D@=b5ua(OHS0;mhD?!Ptv@Zakfk4MjLd;a6u?t;o`pDPoW?kEa9Z1rH<6z;PJ*}oMnH1#M@ zExfce;-BL;xtffqqNfLQPflgOJx`nemvN-rnWrhMZQ_chPtTM)=sBHBexuL9$nYC- z8}2tL|5CpBx@+6?a_Q&~oS%d4WxY7K{L91MiC1(#33%ofGEG$JXtwJ=`RKtv9e3T= zV(*Wey?@&9{7SRV%qx}M!55d8+HBbL(I@BfuIc%auL|xrdEb3^c=5GQ)z!6p#jigy iU%XxaSI3aZvf_jPGmD%!$AhbMKs--ZKbLh*2~7aIY(Yi< literal 1301 zc%17D@N?(olHy`uVBq!ia0y~yV4MKL9LzwG?TN?!0V(4EpAc6D(!pX@x066huq4PY zm_c@?fp2k}nw4|d1g-?(tXhHGS>_B3EDfG6jv*C{Z|`zWo4ren^+L9!q5+ff|C9gz z?fC}Yi$ZGzB>5cqZ%tTxJW8sde#;ogiajQ&sRM;8P_{4}yWxCRYkXa5zGmBUc zP0$v|TIV29%zd3Gt;pyJD^sp2gr3ZD zTsG-z&-D#cjdg8>0yj;I-qYbIw{y)?lk;+w8j;!EDrfw3zZSm#nCErv7T?aJmQ&VL zFIkjw_fe6}S)HewrtjZ+{Hp=a*HW|1yoHwU*v=J8`h2Zzo^&+tovHZg@+mred1=9$ zrs!m?n{;$V%3oX6?r*_UbX2)jy-!9xs?zbgHvQ(AZyl#E7UjAmhi%$-E^V7!e*2`Q zDGO6HBQ+w;Hfu(DiS0ahI3ak`zPyvWw%+duHmHf%R5iP8>$OkmTkYDm9SxnbCgbyB zy{F9HvQZP>9BHu1cU&jTTsCuw^|Y6j{V{jWn4PorDAl=a^yR^Z^veCITz$7rOMVlR z3HJN+Vq(|p{NrLfcl;~s04fZtR#}kpH*3GER$f|koKH)Tk*bsSN})t8Al6tZv~U{t z8(X1(O>=HlIP5$oz^M^=^BRYC__fx`zK(t?X&`EZMf5fA7~y z%=>z#nrG+Pt$()uHQX*&|I}=4a^*>p`Hvh|I{!8}5pE>;*nt1kkBpD8w=OFe{c8Sn ztLwsAwQ84)X`_#0fd`|9j-Ju`#>;AvNJ^P>woXaIoSFvCSED$WLU;V>5qSt-mkGOGCU>`lcg#D;^5S*b)oxg zfXQTzw!kd@iTMH?wvh@PE+Ayj**GD4CUf*U{nA+u`y7D@=b5ua(OHS0;mhD?!Ptv@Zakfk4MjLd;a6u?t;o`pDPoW?kEa9Z1rH<6z;PJ*}oMnH1#M@ zExfce;-BL;xtffqqNfLQPflgOJx`nemvN-rnWrhMZQ_chPtTM)=sBHBexuL9$nYC- z8}2tL|5CpBx@+6?a_Q&~oS%d4WxY7K{L91MiC1(#33%ofGEG$JXtwJ=`RKtv9e3T= zV(*Wey?@&9{7SRV%qx}M!55d8+HBbL(I@BfuIc%auL|xrdEb3^c=5GQ)z!6p#jigy iU%XxaSI3aZvf_jPGmD%!$AhbMKs--ZKbLh*2~7aIY(Yi< diff --git a/resources/builtin/alphanumeric/6d.png b/resources/builtin/alphanumeric/lato-dark/6.png rename from resources/builtin/alphanumeric/6d.png rename to resources/builtin/alphanumeric/lato-dark/6.png index 1b4c8d2dbdae7b016f6c5cd0f3215dee50b6d86b..1b4c8d2dbdae7b016f6c5cd0f3215dee50b6d86b GIT binary patch literal 1503 zc$}3~`#%#36ra{Kq-lgOue^1w#ZBfBHIKD+v_+aJj zZfJ~2MGv*|u`U*o)b*UoGw$5KpnE=_^Et2Y`JV4jhwkO!swl4^4*&oZ(QYUo06>Pd z?O>p^!zDf5lm<&LEZ!OL|E(P4(kBgj<9s}D0Qp0H=UKN;AR|MvsLC*Rqj5r65dZ)> ziAFi$6J=&b(9mKpB~&*>HfLn3MVw6D@^v-UUxE%M?~woLgJVP3rKXs5K5US-^!L`h zxBbyS*VBjau*CZH>}d9$l3|BQ9BgGS?B$oP#@qllaLIvEyNAc6K8<4U;eFQ|u0l4< zgiU?v;^o?~fp0jFB)o!O<|dO5<|bSi6E`#HGTzv-2dkMejzT6~Cdp%8S2|5q8F-ig z1xjjFM@YMFZUcx6bioM(T_R1f1JzES7-mLV-n}%>vj~K)OfSuxT^Ngk`KL&v6ll1S z?4(6UP z`yDqYi$cgXxTq-uuOFM14X@*Gkmenfc9KaZ0OONz!4LTQa**Q0dC}-HEaVwa&kZ$w z{_!Hyriyn>r!FVB+^uJDfgrx|)L$DH6OXmJv30es6n_Ob@hR`uNAAebF$1Isl5L?#AlCj7qb|L`_iQ!DBrO|MneIo!VwAKl<`=qj zHFD`SR~m5ocmd`*i<~|N3w<)gSttC`X%w!%KA@Yj2Kqc6=mEBIoXL8H0fsMYGTYp^ zI!7EG9-KSICiR(qB^GmU9(}kmRdirz!0Z%Jg(Lc?^Hn5H6MiU|8?e}7=dLZP%I6qc zn^&yo;qRs4djhNax0suyopA1vx2D{P)UfQ>c~9>)^Q0A}@u2(&yMXw`!=Nv$U`jMI zYA>VkLz!YLJlh&$_%=x-AxwHxtD?x~+|=s&_NqmyI*;jDz6@$M0TL8SU4`#_!wK<) z?>|E0YVV5Gt=(r@Y_H~n4QE16b^0%t49g!z5y{uuyz4IukZy>FfeZv zNYahpJ=x~C5p*e*G_4Mn*0wheeyHf&zr32;5y%lZPC}}?5_AnPx>jS~sQzMgpNxcy zrG`pH3(I<`_XCZI`-3=C7ksy6Ov@~>V)vcF;#obWEJu(q!8uqYiZ;%CLJ1&gY7Vw5 z=V~-j3}f;ywpZh0{z`qfvrbtkkTaVkoj_3=mc=z)Sx?&}ea5hA<#=Pr^HUQD45&8h z49csU_buM;^Ugumw{}&_syIBb!PEd^+|o*nXuor%L*;rJGEdO_`1P67+|E>S*@bl0 znsL3V!-gwlqH0m(G*Px%`;S>7qR~^57Pq4I`?aZ3i(hN(_gDz?ZVj*h(Z@e34~HbZ zB)83*Tv%nAQ*?GWZ9tHj^k-oetC?0V@!i>=XX28}NZO3E!lwdF6N%Bti*WJ24z*~W zI~6`^ncG3!)O=`EL^rsX16{;LWTL*894mA?-JhAPpyWZ8`%U~H`1k?47djFdtEfc0 z->Q;u={`(b%b-f$p0u(6NRXSwaYs~=z2JAw%{UJ!5J+0;eV~ULzTnCy6wCyV*045P z8yj;d=N7TCWg$3H8#f)eq~6=cHyW3?;XYcv-q_Et{2`#e*VY36_tIARM>5zyWoDy> UrsxoVgPQF%w6h1Q?s!PXzrvK4RR910 literal 1503 zc$}3~`#%#36ra{Kq-lgOue^1w#ZBfBHIKD+v_+aJj zZfJ~2MGv*|u`U*o)b*UoGw$5KpnE=_^Et2Y`JV4jhwkO!swl4^4*&oZ(QYUo06>Pd z?O>p^!zDf5lm<&LEZ!OL|E(P4(kBgj<9s}D0Qp0H=UKN;AR|MvsLC*Rqj5r65dZ)> ziAFi$6J=&b(9mKpB~&*>HfLn3MVw6D@^v-UUxE%M?~woLgJVP3rKXs5K5US-^!L`h zxBbyS*VBjau*CZH>}d9$l3|BQ9BgGS?B$oP#@qllaLIvEyNAc6K8<4U;eFQ|u0l4< zgiU?v;^o?~fp0jFB)o!O<|dO5<|bSi6E`#HGTzv-2dkMejzT6~Cdp%8S2|5q8F-ig z1xjjFM@YMFZUcx6bioM(T_R1f1JzES7-mLV-n}%>vj~K)OfSuxT^Ngk`KL&v6ll1S z?4(6UP z`yDqYi$cgXxTq-uuOFM14X@*Gkmenfc9KaZ0OONz!4LTQa**Q0dC}-HEaVwa&kZ$w z{_!Hyriyn>r!FVB+^uJDfgrx|)L$DH6OXmJv30es6n_Ob@hR`uNAAebF$1Isl5L?#AlCj7qb|L`_iQ!DBrO|MneIo!VwAKl<`=qj zHFD`SR~m5ocmd`*i<~|N3w<)gSttC`X%w!%KA@Yj2Kqc6=mEBIoXL8H0fsMYGTYp^ zI!7EG9-KSICiR(qB^GmU9(}kmRdirz!0Z%Jg(Lc?^Hn5H6MiU|8?e}7=dLZP%I6qc zn^&yo;qRs4djhNax0suyopA1vx2D{P)UfQ>c~9>)^Q0A}@u2(&yMXw`!=Nv$U`jMI zYA>VkLz!YLJlh&$_%=x-AxwHxtD?x~+|=s&_NqmyI*;jDz6@$M0TL8SU4`#_!wK<) z?>|E0YVV5Gt=(r@Y_H~n4QE16b^0%t49g!z5y{uuyz4IukZy>FfeZv zNYahpJ=x~C5p*e*G_4Mn*0wheeyHf&zr32;5y%lZPC}}?5_AnPx>jS~sQzMgpNxcy zrG`pH3(I<`_XCZI`-3=C7ksy6Ov@~>V)vcF;#obWEJu(q!8uqYiZ;%CLJ1&gY7Vw5 z=V~-j3}f;ywpZh0{z`qfvrbtkkTaVkoj_3=mc=z)Sx?&}ea5hA<#=Pr^HUQD45&8h z49csU_buM;^Ugumw{}&_syIBb!PEd^+|o*nXuor%L*;rJGEdO_`1P67+|E>S*@bl0 znsL3V!-gwlqH0m(G*Px%`;S>7qR~^57Pq4I`?aZ3i(hN(_gDz?ZVj*h(Z@e34~HbZ zB)83*Tv%nAQ*?GWZ9tHj^k-oetC?0V@!i>=XX28}NZO3E!lwdF6N%Bti*WJ24z*~W zI~6`^ncG3!)O=`EL^rsX16{;LWTL*894mA?-JhAPpyWZ8`%U~H`1k?47djFdtEfc0 z->Q;u={`(b%b-f$p0u(6NRXSwaYs~=z2JAw%{UJ!5J+0;eV~ULzTnCy6wCyV*045P z8yj;d=N7TCWg$3H8#f)eq~6=cHyW3?;XYcv-q_Et{2`#e*VY36_tIARM>5zyWoDy> UrsxoVgPQF%w6h1Q?s!PXzrvK4RR910 diff --git a/resources/builtin/alphanumeric/7d.png b/resources/builtin/alphanumeric/lato-dark/7.png rename from resources/builtin/alphanumeric/7d.png rename to resources/builtin/alphanumeric/lato-dark/7.png index 97f0797d0ff5c336a57fedf6d939a0035c1f1d8c..97f0797d0ff5c336a57fedf6d939a0035c1f1d8c GIT binary patch literal 793 zc%17D@N?(olHy`uVBq!ia0y~yV4MKL9LzwG?TN?!0V(4EpAc6D(!pX@x066huq4PY zm|^CG;w)dawy*?Y11o2)T3Mr8^|cHPOf8-+jv*C{Z||^{-DVJQy(lQ{@;g44f7;I8 zFKh4YZmo|?l32}0yppz!7#Q!q)-?q1=zODSu@z7DAr zjYVvd-RFJ(El=NR`h1soe8rZtE9V`Zo>sq6=hMlxKaM@VH|JU4{lh=f#NKl)UNhTV zG0{Wyvo#Jgz{;%}cgXb`S+4g} z5@=L_p^~YN3g=d{HaV~W(V_d1i3Fr_-84nU>B%#vJ< zF|)wxf#^~StI~w(!a44*_gI~>)e?~Fh05G>Rj73pJQ3l^a!HhFr&%Kh3mB!WQ(>CP z)yN{?A=7xlo%PTRQI5Gli}TqZ?Xj|-uu$N{Qn){S!xWfyhKn@Xpx7sVeCC{R_nFeq zuLi;ci$!U|zDXP^Z?3o~RI3V}i1B0*+S=}LE1gx)V|zGXV@~l>ffHBsUlE&P9+b#4 XELJnHWKm030r5Ru{an^LB{Ts5!lLN4 literal 793 zc%17D@N?(olHy`uVBq!ia0y~yV4MKL9LzwG?TN?!0V(4EpAc6D(!pX@x066huq4PY zm|^CG;w)dawy*?Y11o2)T3Mr8^|cHPOf8-+jv*C{Z||^{-DVJQy(lQ{@;g44f7;I8 zFKh4YZmo|?l32}0yppz!7#Q!q)-?q1=zODSu@z7DAr zjYVvd-RFJ(El=NR`h1soe8rZtE9V`Zo>sq6=hMlxKaM@VH|JU4{lh=f#NKl)UNhTV zG0{Wyvo#Jgz{;%}cgXb`S+4g} z5@=L_p^~YN3g=d{HaV~W(V_d1i3Fr_-84nU>B%#vJ< zF|)wxf#^~StI~w(!a44*_gI~>)e?~Fh05G>Rj73pJQ3l^a!HhFr&%Kh3mB!WQ(>CP z)yN{?A=7xlo%PTRQI5Gli}TqZ?Xj|-uu$N{Qn){S!xWfyhKn@Xpx7sVeCC{R_nFeq zuLi;ci$!U|zDXP^Z?3o~RI3V}i1B0*+S=}LE1gx)V|zGXV@~l>ffHBsUlE&P9+b#4 XELJnHWKm030r5Ru{an^LB{Ts5!lLN4 diff --git a/resources/builtin/alphanumeric/8d.png b/resources/builtin/alphanumeric/lato-dark/8.png rename from resources/builtin/alphanumeric/8d.png rename to resources/builtin/alphanumeric/lato-dark/8.png index 78490351c537519b6e7bfe338fc9c2e1ff5658c1..78490351c537519b6e7bfe338fc9c2e1ff5658c1 GIT binary patch literal 1685 zc$}4#`CHNl0LBqezoQVm??g?o7OSCnq)yBuaY*Eyd5}j_)P>DuimBj{XQLdOWM$2$ zG{UQL>7rp4vR3F+G9{tBQ$*7a&sNX=f%bWx_j#Y^eV+Gue|t+QJ!Zd99xJsdml0SAX|S z-u*EDGdDMKF4ldWqVy)YE;jyrE;xfD+(erx@RV!|VKuU47{%AYs9k84QabB+(_;YY7rx2o-|fTJJsGlog|8T1K80L*+Uc-z!2HZc=k?)k6I`Bb`cA1| zf@LhA#rsO1e`-&eM9YXZu(EN{u*g%N_2AGU$K+}Y(aZjh)w#@~1Y81eeO#x7xHvOn z2!QK>E_*gH1zEBmWy;LSCm_2CsHFb%CyTz%V@lAiWF6Z#nStle0bMjr=jyJgFLuxv z1p;vOjycZwf+wlK@P51SmF7v2)BWO@#%SjmM-#aVYdq`(mAL+>EZZ1An_-}&G|n%Q zu|ObWXT3PR5c^s+3KV?95-_OZuW5V_@*DpelAl#dU;i2@bL2T0QQ7G7KpmQFUgp0* z%gShnGC6w5{2&5qCTfCBFW~Amrdv`he;?f!IF`ce)z(`sCeWpW4A{On5vRO?c88%o z@o<#y4a^aV8p@_+P|yHZYwME+AO|5e5XEaxcWj^zE$cA zWF+KFgn~GOBFXUXcePTEw;mq<5~IYY1-&d>bbLVuEoj@g)Y%H6KqoV9ZbGZUqqc@}dO9#M^B z7b$gO2MgE3T*nU80{xxRikz;zM_Dus824Ui;mwO(#KLdRmgy8NFAd>}O9E^Z4s|^k zyrEFsTMKDy3-_{71QotjUe>|%$}Q7-j6xzF^hRU0V^_DRuMNeYCFX5z-{`)i6XTHp zABfwE(f3UVbv8Y)%Cc$ktI(nCHaLyHIzaqTcuICg5{|>3F5QN$@yfpCcEf(joW0re zq3Ppx-^$SB(EDqpBGgzDsRQY*ipTe@^z?a~7!JKPA+x^Y{I&4-2qJDxcg}>LB0b_V ziY`+g5HCeD<8RP=wu}>+Rxt-N&1^(flFIiDR#XHtV@1&KNj|EaQZas|4)VShhgQF+PTDo7AzGs=Y%80$W zlG}zt+ddfgfOu7J$?Z5Zcv_ge!-+cdcAcz`*|NahGp zX-xC4_*_b(xV=2iJquHxy~;LYI~^D6`kTIY{B_e_UK;^zn+1`tQX-><=ln*BU+x@Z2446L-qD_fwDP LOZE}$p|bu3$y56P literal 1685 zc$}4#`CHNl0LBqezoQVm??g?o7OSCnq)yBuaY*Eyd5}j_)P>DuimBj{XQLdOWM$2$ zG{UQL>7rp4vR3F+G9{tBQ$*7a&sNX=f%bWx_j#Y^eV+Gue|t+QJ!Zd99xJsdml0SAX|S z-u*EDGdDMKF4ldWqVy)YE;jyrE;xfD+(erx@RV!|VKuU47{%AYs9k84QabB+(_;YY7rx2o-|fTJJsGlog|8T1K80L*+Uc-z!2HZc=k?)k6I`Bb`cA1| zf@LhA#rsO1e`-&eM9YXZu(EN{u*g%N_2AGU$K+}Y(aZjh)w#@~1Y81eeO#x7xHvOn z2!QK>E_*gH1zEBmWy;LSCm_2CsHFb%CyTz%V@lAiWF6Z#nStle0bMjr=jyJgFLuxv z1p;vOjycZwf+wlK@P51SmF7v2)BWO@#%SjmM-#aVYdq`(mAL+>EZZ1An_-}&G|n%Q zu|ObWXT3PR5c^s+3KV?95-_OZuW5V_@*DpelAl#dU;i2@bL2T0QQ7G7KpmQFUgp0* z%gShnGC6w5{2&5qCTfCBFW~Amrdv`he;?f!IF`ce)z(`sCeWpW4A{On5vRO?c88%o z@o<#y4a^aV8p@_+P|yHZYwME+AO|5e5XEaxcWj^zE$cA zWF+KFgn~GOBFXUXcePTEw;mq<5~IYY1-&d>bbLVuEoj@g)Y%H6KqoV9ZbGZUqqc@}dO9#M^B z7b$gO2MgE3T*nU80{xxRikz;zM_Dus824Ui;mwO(#KLdRmgy8NFAd>}O9E^Z4s|^k zyrEFsTMKDy3-_{71QotjUe>|%$}Q7-j6xzF^hRU0V^_DRuMNeYCFX5z-{`)i6XTHp zABfwE(f3UVbv8Y)%Cc$ktI(nCHaLyHIzaqTcuICg5{|>3F5QN$@yfpCcEf(joW0re zq3Ppx-^$SB(EDqpBGgzDsRQY*ipTe@^z?a~7!JKPA+x^Y{I&4-2qJDxcg}>LB0b_V ziY`+g5HCeD<8RP=wu}>+Rxt-N&1^(flFIiDR#XHtV@1&KNj|EaQZas|4)VShhgQF+PTDo7AzGs=Y%80$W zlG}zt+ddfgfOu7J$?Z5Zcv_ge!-+cdcAcz`*|NahGp zX-xC4_*_b(xV=2iJquHxy~;LYI~^D6`kTIY{B_e_UK;^zn+1`tQX-><=ln*BU+x@Z2446L-qD_fwDP LOZE}$p|bu3$y56P diff --git a/resources/builtin/alphanumeric/9d.png b/resources/builtin/alphanumeric/lato-dark/9.png rename from resources/builtin/alphanumeric/9d.png rename to resources/builtin/alphanumeric/lato-dark/9.png index 51896d03dd1901d7da665227667c3609b3574347..51896d03dd1901d7da665227667c3609b3574347 GIT binary patch literal 1490 zc$}4#X;4!K5P)AUfpC<|z_eT`5*ZFTs)*Xi3nWSiM7e|E5{qIHLOBMEiXA|MrzGol5>fD*wrP{-*{yED7re7m!=|CW7_yk8UfH4*>- zO`<#A2LK?P^;Cr^JNFN_epKSSgPwi_;Qt37v9DbTokSn9FM!1C_6kopQ<&*y%(4G5 zK=0UBEI$B1V2OB~Ukc=vkg>jz##^g2sDys$fuplcmqP;&TLL7%!&8eN?M~4<%g`#* zDa)Z_Yhi=)ObN-;o?z!lpsHcq9lKlQXqi8zA2ekU zFeLcwPpCbf)Yxn*Ei1jN{rthRe>uPf19z9#P;eIJ#3W&6(hl>SP#7?lq)0bE^?gRu24**e$L8H-#KT6M9X5! zp47MCQA>2yBr+Clzu;Q1SKE7_`j?mU)zlK0aOMN$89hc-{BHP|*s)WxLZmvNEaRFK zqcLN~TC=1J86altWlpr2wXhsYgsZlwK^p)#6EtK5TXWLD)Cv#@Ei`g3yW|IV+{MA0 zzFC`3Nr)KGVdXF6%EXEy{gx#2J3(BHgCX3Y^We?%tTDHYfvZlht`W9enRTNWxu{E) zp$OdS%*`K6&-}5Nt+;1ynW%DuYLJ!jB!1huz#?kz@VR+VK9@t0hKed#EE6)8TsV(Q zdXY2Kx4pA2WMRG^pUPJm=Rn?^HmP_KAm&KAzAt-Zt{oZwZB>VAc^j{tb>gYEf~&p# zUQO|)46Ae$U4s(Y)gy1sna-rC;l`4^ezw(m_Fc0rqUpj>OUX&GC+sRF$BkJ1&cL?-752-goh)pke$>F&R?eNS^ijPpn z^J3NmkMMfRqJdgXp1Zk$I~>*$Mw=iP*1)5y@!_?6W^mVy3bVm@eGSe9w$nurdetu9lV>5`8%q-Y~xx4ugT_rppER< zJE~D`=hD!!LW_3lsX23E@R_=C^=6dR*V=~HM#iO$3gXq}L%}eqh|dQXXad-p=IZUV zP_INDNp2|9ZA1w0G{&~RBT7ZdqQzIBA*J_0uFOGNyg^&(#kH0VTF})K(+3QVMHa!q|NtIqgKQbIs?|Ou0!5`3p|B?qisc5_$J^ zjb+t%6}n9yW7OkctyQY^f3(4SgV&W*QIdgI5j6AxvSB5wiXoqmUXy_fE*y=-F+M`^ z-o!$BYqMGAgeyZ!{^4}ChHTFzc6~F}8MXe;45w(=EbPFhFMNM#fE6=2=|Rs)#JUj) KWPFWlIP)J%w0S!K literal 1490 zc$}4#X;4!K5P)AUfpC<|z_eT`5*ZFTs)*Xi3nWSiM7e|E5{qIHLOBMEiXA|MrzGol5>fD*wrP{-*{yED7re7m!=|CW7_yk8UfH4*>- zO`<#A2LK?P^;Cr^JNFN_epKSSgPwi_;Qt37v9DbTokSn9FM!1C_6kopQ<&*y%(4G5 zK=0UBEI$B1V2OB~Ukc=vkg>jz##^g2sDys$fuplcmqP;&TLL7%!&8eN?M~4<%g`#* zDa)Z_Yhi=)ObN-;o?z!lpsHcq9lKlQXqi8zA2ekU zFeLcwPpCbf)Yxn*Ei1jN{rthRe>uPf19z9#P;eIJ#3W&6(hl>SP#7?lq)0bE^?gRu24**e$L8H-#KT6M9X5! zp47MCQA>2yBr+Clzu;Q1SKE7_`j?mU)zlK0aOMN$89hc-{BHP|*s)WxLZmvNEaRFK zqcLN~TC=1J86altWlpr2wXhsYgsZlwK^p)#6EtK5TXWLD)Cv#@Ei`g3yW|IV+{MA0 zzFC`3Nr)KGVdXF6%EXEy{gx#2J3(BHgCX3Y^We?%tTDHYfvZlht`W9enRTNWxu{E) zp$OdS%*`K6&-}5Nt+;1ynW%DuYLJ!jB!1huz#?kz@VR+VK9@t0hKed#EE6)8TsV(Q zdXY2Kx4pA2WMRG^pUPJm=Rn?^HmP_KAm&KAzAt-Zt{oZwZB>VAc^j{tb>gYEf~&p# zUQO|)46Ae$U4s(Y)gy1sna-rC;l`4^ezw(m_Fc0rqUpj>OUX&GC+sRF$BkJ1&cL?-752-goh)pke$>F&R?eNS^ijPpn z^J3NmkMMfRqJdgXp1Zk$I~>*$Mw=iP*1)5y@!_?6W^mVy3bVm@eGSe9w$nurdetu9lV>5`8%q-Y~xx4ugT_rppER< zJE~D`=hD!!LW_3lsX23E@R_=C^=6dR*V=~HM#iO$3gXq}L%}eqh|dQXXad-p=IZUV zP_INDNp2|9ZA1w0G{&~RBT7ZdqQzIBA*J_0uFOGNyg^&(#kH0VTF})K(+3QVMHa!q|NtIqgKQbIs?|Ou0!5`3p|B?qisc5_$J^ zjb+t%6}n9yW7OkctyQY^f3(4SgV&W*QIdgI5j6AxvSB5wiXoqmUXy_fE*y=-F+M`^ z-o!$BYqMGAgeyZ!{^4}ChHTFzc6~F}8MXe;45w(=EbPFhFMNM#fE6=2=|Rs)#JUj) KWPFWlIP)J%w0S!K diff --git a/resources/builtin/alphanumeric/Ad.png b/resources/builtin/alphanumeric/lato-dark/A.png rename from resources/builtin/alphanumeric/Ad.png rename to resources/builtin/alphanumeric/lato-dark/A.png index 0000000000000000000000000000000000000000..96ec17c25a67130917682bdfb34701e9df1d20e6 GIT binary patch literal 1537 zc$}4#i#O8?9Kh$XXpH4?bu(=}6*nZWRyLtFSFN=qk2{-34-BUw*@iTuJakiFnk`p(aX|{{@4H`csskeG>`BTb!I08CX^$v4!sD?@ZC-OJs%GA~ zB1N2VyDG8H%3c)QfPQ~RtvZz@Eyw0{mL`iLkRw9@(cA>L5XZ0+{V^uK8Rk-#W=f3aD4PkbuGx@0Li&4+=4f*xAAK!iSL;D5Ypa)9;TWG zSxuCQbd+}5%+X`Cl`$AknTpH|a~TDl31}Rfw5M-c;eq{h*0ewoIM_wi{ zsPvx8&jc{9?=9tA-kkQYu`J0it1nMqmc-AhP46-&I_F;U%o2es8Hlp|A;;&GNoaIy zt_!({n)u$g%#q*SSmP(e2R@QN^>-mhq|LgsOnpu0m|=Z1EM>T>^9%uAv;zL!zU+yv zVnISZGM5Th421!9!h(MK5ZxRs+e9-JW7OFbGZxKIi8{P0ITxfs*9~=yx~cf zrR40*#8-1+FI!-W4cmXBthSreiZ#2P=RDkk z^OliayKp?tQRsmE7Db+U*`ll9Xxf(RO{5|{J~vX+X$!cetNky1#!V+#<^V3_%n{Ty zq?0Xci<3}D+9k6|x=L@}1#J1481-gHK*dJH#Q?O=)@lDhIMEWH23vB~wv0fD=3IGh ze=KnAs?fok_LP2=LdpQ%^==nBc+nb0Ll{V~bfCHG$qO7Nhf@%i_Ci}+j_vL2XDnk0 zoUhYG&cOJmsZP|;R6l>otx$}@%_vH?p!+4bO7~CD-Qw9@52}|Ic0v)QoQl3J#O&wW zje-z4Kw7!oay`D+TEtX}jQ;e{SMIS|*i4OeOEc^5{*hHf0rlPmp|;wL~0 zQWQTvdRRD8kJ5L~%!TYJwILaKJ8CC8XknbHFIcTHMYG91FkdqK20$ru z#9`->kTwEl;vp>)^Fg*^_@2pJ-a(>C{7nl*y9=3JAXj2h+WvGc$6#duYtbvLD!F&^ zH37bcIpH~Lf2C4xBz?M4LPe7POed#z<{cfQ)q*v zO*9tye5GT(7I?*9n}rp+$a$!&ZF|gs=>DQt?9F-lw}{F7{?JGj5XfHRnAOx%4MiRJ z=cU>U71!KTL8YwIxe!@ookdsk)f>QGya545WBKs%Mw+{R)QTkWx>v}~q zUaoD-4pfe#-ZC@|24daym&aVG6ARnQzV|~K@-8zU&T>mC*B!s3c;Cm~lpFs6o&vgR literal 0 Hc$@Hd z!>p~Gttb?VbvOs*QYb6%4@EO4Z#0RwmPy+j6~SXu{{Ly9hW3*N=5izVQaoyNQg;Ws z;)m?Mu#(2GN_x7&>nIc;H5^5F`74Z%t()~s$CA54+;?k(`j`3R>!QBC_|t6AS1*II z?^u}axY;I*YgU+j@@&VkqRXZeYx`1alkc4%+DkSB01|!qR zj>7XQVGm;b^&?pglqK~t!%lgChL$0A1g`0ecc-QdXv-{LcfDkDaq%E2jRRFs*53D< z5ql6VwerrW~@0DU+hNdy`Al~eqCi3F^_DxW7 zfSM+{L1?eLbF2kvI_yEsmNFVQET};Z6Zl&miq8nHdSVgAQ`gim$4@XIz*NRGt^ayr z=d6y8f0V#Bj3yeef{7YBiYLd|AQlL)=z;(siu1|fe0yYA1{3>7K;e>+@hmoQRIcpp zZSZ#|d}r9(kuKFb6mOCqXcWVAx}?)=*opBcm8A#dS_&@jz#0K?aMI68**j?qY2)=Uf6|y%P(Eu$Z7FQ zO@I*Qh)M-@1|ISBB_?!ChiYmQf7quRQm9t$!zS82X0aE7%^))KM{d6g+L_kN$4emr z5{k4H8}^`p)2ffCj%P}GY80JQ0lK&jBdaGgDXjjar06R7ymMKjWcptd|SJ1twF|UeO>{j-J5jA z(!+vMe0MQ~ZpB^a?1c4I!`x*EOV``B&;0_8&mRp2-XXwf>D1EF3-N92jAx5hlkjRx zejoAA4yeE;WJ<_?eJS_Ar8&^>Xm-x=jSZ?8gsw885eB(&M|_qyl(BYE z3tq4z@sTKi>STgFi40#6_U0mCDXLuWMYLs-3wU@;{sYw77o!BW*X4k=hWrT=4096d oS?`|$g2Fj{zT3j5eh4Rr7R}MJ%5GM?lm0^=&W=RYA&0R40Ov&m0{{R3 literal 1279 zc$}4#`%@EF6vrcMFkn#@NO=fhU6H3it2HX9%#sa+77=131{4J2Aa4vbJYvLIEMTI| z0+mO#P)k(65Jq0H4#_WwEJ9^`fjrb|QYc`gijqQ=cJ(i?cjkP*bMD-k^PTz3xu>Hd z!>p~Gttb?VbvOs*QYb6%4@EO4Z#0RwmPy+j6~SXu{{Ly9hW3*N=5izVQaoyNQg;Ws z;)m?Mu#(2GN_x7&>nIc;H5^5F`74Z%t()~s$CA54+;?k(`j`3R>!QBC_|t6AS1*II z?^u}axY;I*YgU+j@@&VkqRXZeYx`1alkc4%+DkSB01|!qR zj>7XQVGm;b^&?pglqK~t!%lgChL$0A1g`0ecc-QdXv-{LcfDkDaq%E2jRRFs*53D< z5ql6VwerrW~@0DU+hNdy`Al~eqCi3F^_DxW7 zfSM+{L1?eLbF2kvI_yEsmNFVQET};Z6Zl&miq8nHdSVgAQ`gim$4@XIz*NRGt^ayr z=d6y8f0V#Bj3yeef{7YBiYLd|AQlL)=z;(siu1|fe0yYA1{3>7K;e>+@hmoQRIcpp zZSZ#|d}r9(kuKFb6mOCqXcWVAx}?)=*opBcm8A#dS_&@jz#0K?aMI68**j?qY2)=Uf6|y%P(Eu$Z7FQ zO@I*Qh)M-@1|ISBB_?!ChiYmQf7quRQm9t$!zS82X0aE7%^))KM{d6g+L_kN$4emr z5{k4H8}^`p)2ffCj%P}GY80JQ0lK&jBdaGgDXjjar06R7ymMKjWcptd|SJ1twF|UeO>{j-J5jA z(!+vMe0MQ~ZpB^a?1c4I!`x*EOV``B&;0_8&mRp2-XXwf>D1EF3-N92jAx5hlkjRx zejoAA4yeE;WJ<_?eJS_Ar8&^>Xm-x=jSZ?8gsw885eB(&M|_qyl(BYE z3tq4z@sTKi>STgFi40#6_U0mCDXLuWMYLs-3wU@;{sYw77o!BW*X4k=hWrT=4096d oS?`|$g2Fj{zT3j5eh4Rr7R}MJ%5GM?lm0^=&W=RYA&0R40Ov&m0{{R3 diff --git a/resources/builtin/alphanumeric/lato-dark/C.png b/resources/builtin/alphanumeric/lato-dark/C.png new file mode 100644 index 0000000000000000000000000000000000000000..69245cb33d599125a61c4c3c2d4b75d881abdfb8 GIT binary patch literal 1443 zc$}3~`#aMM9R6a~+=oL7H4alp({zqog~o=lX_2umJ2sVd8O7wB9L)W)Fy^4z%4N!E zF4J~O6qPlk5IZ5tiO@uZ6T;Dd(D^*i=Xsy^ectE!e13SJH-q5osinSE9RL6=tQXo3 z0F>C@7NWAD{6&$jZNSe2++hsx|EEmVqiq9p8GgS00Nm6a9~{ZPlDbzP8LNJVXc3_F z3jnBUW6`L?zmcb!&6EHDqEdTftwcAu`JB@C-k7-ZmC}E|{sa~U(=5x_V__~^3mjbS z(p_X!^+w2yXL*RP32JR`-+FAP;+6|dLOyYqyRD-Ddcn_9!Ay?S?w z11Iqp-9BS$IE_<@P71Mz(@7{Lhwl_=H4d9+iIh?+qcbqWEfo&l^^M7f3*_VEX7+rT zSQdz!RLSG4yLW}+sKD5}C^J;mG8Y!#!d}3Zv}xdKrX4aZM-R2?&3R!o&2)GtQVJF* zEG}y)EZf!6d4~hZ>;uK_OTPgL8~Oa-rf$tS+hxnsTX=s6o;7_Sl3mcQw$WDMVke6s zSiAaTaT;U%{OsjIHRAPwd!C0vNtAxmv?+(aEIQ_Lp|tL*D6T|e2juf(zQEI#=HsNS zOYd@dBJRMuv81sYN8Z*kBbT7x*)PP^@!ojtl9PJZxQ|Y*@;C-&`-|nJM$Lfjz;an4A2rP^z!@;UgkLz4 ziCK0Ry5b}*LFsQUNISTHXISRX!)_9KSg%!{%K=oa-2paE3+i~(!M=+=l!37q(^=Fi zR?4h#0mCNw8C8ulyeqmTSn*AXtDCqcqZ8=#^2c&Hf-4ldU6y!58ibFv(j~)P7)jq` zituW73lX1I-$!~vJDaB(Ue(76Q((NG%)D$fhn{KzDTjm_wluI09Dsq8mCc|~nGga3 zxxrviWu*it#Id0DBUG946xuBp=!1?XG{-+QP6g?;8de)+B0zqlHZ&c~2_p?d@oy zN#hza&s5zm8(hX3gF{^59z_3@)Cox{1T3~gZ+Ouf$MHf8fnjV_P;1}&denZtUehkN zJ5QKn*l=Wpc1VuzyaPRqK1DtIZyA76nHnLpAh}xk` z{PAgPfILL5m^I4VT3h|fR-no{#zJQoLUE%g^WBAJMY1F``F(;@?j}WU;DU*8pj`zq z@i8&T?ez9BOU;1rd~Rcce8Il1E#^FFW~3Dg#+sh6zFWE3hrHOFKkr>9bD^y@c!~7) zrCS_~Fv<;LC3%Ui3*t;R-K+>z^Yvv$v?B!}ociF28z=o%VB?RF9?qw>u#PFw7x%ei zSR!7@&7AK0p000U$`t;A6-8$PK*uuR*6W(Ks ck;>m!W=wEDF9{*Kt4{mIuoz!-wOerFf0<2oDgXcg literal 0 Hc$@gFAA-5Kv7c(aF#7r z9A_z?r)X)n%FGSd#?AgSfl2!whOdOquX#eS)e7RP$kGD43{a%@q|L6|984N0U4v>( z+!(_8bF^v*q^B^?4`zg6EA^Wwm?6~Lm4mFPY>>`EC-}evSN>^5Sr5hePT0EhjLpet zZo%XROlyC|d!Zy?23M#SqXl8~J;T|3D8%QHW4E}9amJI>d= zG$jt(2ZpW(dD-1E`lMNBz+4hlk#s$cfO%&d!+YPu(yI1ucIpPw<)>#tVyGow zf~%ad(w-YO8>yJLAs&#Q+5gyrNURay%3DG1R#c3f2Hhz4F~)x`bHKEU(5ZP5rPGJ> zV5)}3o@CHIZy|S2l|iMX7~A_!fiK+ol;~j!v->9YGS z9cTttAPQiLG#XgwKhX59$jPy9F`&i5sV*BP2_nllC~i~KO)fflww3uMr@C$P5yRP@ z&FCb%yA4v`)f;9$y0Z$kg*Y-VL5+DDCw*dl$30Br@qoi!$;zCK4`-k-ou)t#mVED8 z1jUi`kHe9~T5GhvTJp#7ugS(=i;bt#RwK9Rr*l`pJO0`uJSeSaT^%x|o^I0UKF7(F z?e2);4C^V7ubF^Q>T-^WD<>kIm~gC8FgO=W`Ir?4*pt0_r=W4hn1WTz+kw;_Q=;Z| z=up;Rcz`2QTYl=185?cv$jFwMDpT&CXE$3Sb^WEq@e72qb9femQoVdY;KZqsweeB(_mGj>~vERUhqR@rL>qbP`0DG{?n=%lbWXaHODFaRUXRxsw^M|Ov<)AnF45pfSvqE`UpK03$6&6gCs$+^n zzWuJSjuYSj>pr{fgGt?ZMYzx*w7`?HmpwoIgBuz0u<63asSj#{4xA1zD`WEN!0PuA bn?5$}+hYYvmmy!x-euvnN5rrGDkA+~THL`WL89fN+X}Z8p10~(y8YlR+_U{4dqDv&0~YXL z{?2*1icT#Yf=VtO0;r5hLYF4H=irdU#yBC_I%UEn?D9`qBObRBYY>PrhnEwF95#RG XZ91B}_Mz0LFc8Pn)z4*}Q$iB}+v8K| literal 356 zc%17D@N?(olHy`uVBq!ia0y~yV4MKLEX+WWqKVr7ffRp$Plzi6D)8rf-V3ByOM?7@ z8PsO_I?I0w@dFC{_jGX#sbGA2w~>`WL89fN+X}Z8p10~(y8YlR+_U{4dqDv&0~YXL z{?2*1icT#Yf=VtO0;r5hLYF4H=irdU#yBC_I%UEn?D9`qBObRBYY>PrhnEwF95#RG XZ91B}_Mz0LFc8Pn)z4*}Q$iB}+v8K| diff --git a/resources/builtin/alphanumeric/Fd.png b/resources/builtin/alphanumeric/lato-dark/F.png rename from resources/builtin/alphanumeric/Fd.png rename to resources/builtin/alphanumeric/lato-dark/F.png index ac5277a6cbf4546dd7dcf112a6141acbafbbcfc0..ac5277a6cbf4546dd7dcf112a6141acbafbbcfc0 GIT binary patch literal 374 zc%17D@N?(olHy`uVBq!ia0y~yV4MKLEX+WWqKVr7fs{mmPlzi64iIK8qXncmN`m}? z8PsO_))reOs8vpp1scNY>Eakt!T9!uBcn?I1H;ArzG4L|kuT(3nHe7JWhCd-brAvOL@OLFSqyEakt!T9!uBcn?I1H;ArzG4L|kuT(3nHe7JWhCd-brAvOL@OLFSqy)8LH%B0LwN+!!O#ruyrLBjgCPxCUVa`j^tX1%H2YeUdTu!hD@d2c*kKOuZjW_7 z#+dwcI&D~evu;G&Jt-Ph=W+jB0vt;yepOwOpZ(2=+BX9ZI}z0B7zsY=V>3t5Srr#j z{NUC?W zgmYdh{8WC4!({&b3*I(}ZjDXXP$Vy6?5;&Oa^LYYqFO5jisMRrkE(Mrt1rk!5>*~) z@8R<=PbAGQ3ED$g#%AYVqdlXZ^^z@n8=>-HRN&W@mGP0~>GohLXMVwZ#j+>sW5B(>j^iR%)mAEbUHrPr z!^RP3GdhKF?Q9rAGej*I&a7( zTpt}QY*ud0(_Zj@$I7v9p)`%;=sslO%EY#nJYmK#(x46^S_45O8aq{PG5=N*Y!2}!D2L>UjKZb_p>WibCY`kb6b*)Ghv;pf zVm7M{drThgR@2b=%rwl;VJEUvJ`J$={SnX(J@^~Z@Y=Z#Zj+xM$Z?5T(l}wNtDSUi zV0}dNE+M=&(FzfKr_z+G2m4O=Yhh}1EI5{0ijtAgAC-+|%OYR;`1nKYH1$E35E{hZ ztxi1sNdshMnGQc zco>RO9*Dkp5wNzuD%Y1se3TMrtY5&Ep3+M=ydUJ51i7QYvFDU}KxKa3)Cz=F78SXm zFVf4{?sh7Kv#LG`9}9Qv6@d^+R`jYt#2YqO6Tky|V||{Zlh?a>G=R`mM#XOuCdEwv z1ZXJdPHh=(>pBdyqbjZ!l(Y&U_}hMM`yb@~Emd(y5$m|Yo^9JbW!M##rM?~e*X&7T z$Kx!$oLbh3xvQH)E9f)^6CIVkwqR4+jf_D~i4^Wcsi$Z;YhVn5%18oE%>NI z%}+51aXAWpfsF0|1~Da;%Jx2SkB~6sTr-r;<5Vjpe=7jvs$7Hfssw?|O3~7EeQ7sb zu5lS1g3ToUe4E(|(K)6wO=P1J_UYmRQ{hx&l-s<7r!)g^(EX={SLK28;#G%;I|eX) z(Gdoh2)!??Tle$5#pK=2|>JMk@9NcRBBTUia0rsc@SJz|?=}&mQ- Ra94?dIG(P4F6*2UngFC~Qw0D3 literal 366 zc%17D@N?(olHy`uVBq!ia0y~yV4MKLEX+WWqKVr7fs|-~Plzi6HXy{vumni4mjw9* zGpNlh_I0jZv)*$H&;UkH7srqa#RBBTUia0rsc@SJz|?=}&mQ- Ra94?dIG(P4F6*2UngFC~Qw0D3 diff --git a/resources/builtin/alphanumeric/lato-dark/I.png b/resources/builtin/alphanumeric/lato-dark/I.png new file mode 100644 index 0000000000000000000000000000000000000000..4455baec89fbfe42ade92b8abee2da27333bb6af GIT binary patch literal 211 zc%17D@N?(olHy`uVBq!ia0y~yV4MKLOw2%$zZdVt11Zh`pAc6D7-&v@c>qW;mjw9* zGpNnnP@N+MU2?> fNG?_5jWF(?#PYo4t3Bm)FF-s`S3j3^P6VJ2JM2@I zG=I_V{AI22Ylye+hl$s_RgDTw97-Hb98C&M3LOd@N*z!dB1E}V5mZ+ivWutizACN6&2?zf?`sQYT7GAJo741%SzrCi zz9xgxQr^Uqwc8iWT)RG-5E{$$&|+R<_XCc&GRS6da! z1vG`tduhBxeY?#AL6c2Bl?QAymOK+&zo55T&X6_t&Zi007miFgzQ&RHeYM2=C$8#*0H4T-M;WzRNm+KYddU>FSBH>@cFqpYFlOJe4Wo>ucrL= znec79t?-hWy6Z!lCd*YWJZ^1~epY*L)8xF$g@zWZpOh|Btx`InZL#)Q>br}=j`QBX z=uo&U6{E1;$lagiW|Q`w->(kd3Fm*d{`%q5Czl*A?fRS--)6IVU-Rn_`=EHO6Ulsf zUteTbO;GRg{^C5r>iE-$PxiaYryO>zm74ZLU`>C0{NsOJ{f9qEWyyV$h`N$+*Q@qP zpH+^x$q}pRM%QN58(fV#^=JRKgqihQj)}7nm!1x6f4JH4gy-7l93Y;jtDnm{r-UW| DlL8k# literal 818 zc%17D@N?(olHy`uVBq!ia0y~yV4MKL9LzwG?TN?!0V(4EpAc6D(!pX@x066huq4PY zn89~uaah&_HDOsR=Y+Oe11{?d=~)a6OmjV5978G?-`;GUdDKjx;o#L%e>VJ2JM2@I zG=I_V{AI22Ylye+hl$s_RgDTw97-Hb98C&M3LOd@N*z!dB1E}V5mZ+ivWutizACN6&2?zf?`sQYT7GAJo741%SzrCi zz9xgxQr^Uqwc8iWT)RG-5E{$$&|+R<_XCc&GRS6da! z1vG`tduhBxeY?#AL6c2Bl?QAymOK+&zo55T&X6_t&Zi007miFgzQ&RHeYM2=C$8#*0H4T-M;WzRNm+KYddU>FSBH>@cFqpYFlOJe4Wo>ucrL= znec79t?-hWy6Z!lCd*YWJZ^1~epY*L)8xF$g@zWZpOh|Btx`InZL#)Q>br}=j`QBX z=uo&U6{E1;$lagiW|Q`w->(kd3Fm*d{`%q5Czl*A?fRS--)6IVU-Rn_`=EHO6Ulsf zUteTbO;GRg{^C5r>iE-$PxiaYryO>zm74ZLU`>C0{NsOJ{f9qEWyyV$h`N$+*Q@qP zpH+^x$q}pRM%QN58(fV#^=JRKgqihQj)}7nm!1x6f4JH4gy-7l93Y;jtDnm{r-UW| DlL8k# diff --git a/resources/builtin/alphanumeric/Kd.png b/resources/builtin/alphanumeric/lato-dark/K.png rename from resources/builtin/alphanumeric/Kd.png rename to resources/builtin/alphanumeric/lato-dark/K.png index fd630d951b0b8e54d07693eab0b95358f157053b..fd630d951b0b8e54d07693eab0b95358f157053b GIT binary patch literal 1270 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 LtDnm{r-UW|Hvytz literal 0 Hc$@*#>O0ss;P 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 Yf&4zopr04oM^PXGV_ literal 1026 zc%17D@N?(olHy`uVBq!ia0y~yV4MKL9LzwG?TN?!0V(4EpAc6D(!pX@x066huq4PY zm_co3Td}XRY*=l=1S>9KgRDQcSLZP>Fz0%@IEGX(zP%ebX|b6|+r@5%$ggV z&RgE@wRGnHhjVmmSa&t3iW6<^0pqrB^%Bc7XFb2Z;fgcM&iT*&N@=wz{EymxJ;;*f z<+r!RA$*RzzLtgoNz<2Bf=h01Us}X*$#?!KMGtc|Rlz0F>p?8tsm>GL)rJT;-m(Cx zFLxDOvNjzk`__A+@RHvm_gMm61iY)GCYXtvH|@w~1#%}Gc^N*zOwKiEf|+Qb-YRd2f3D@~dTE6DI6R-gz(k!W(Um@|t~3YPycQ9-CIR3W+R{URHL$PQ+en z$!@pl9w8H~?!8^N_s2_xyBpkjqnfVl+*W<YcFa0o zB_x<~I_fIx&YGpCxQe#e-|jlzbS2}=DXvdbzkYI=aP!V=(I-MG+9xK6x=dL5_hx{N z*b){&7Xe3>$_53Fq&Ht3k2ELRIR;hi)HpHi>#x`eC)ro6QLuZM#wxj~?uo*QIa@yl zPcVJu7(2oE_3|Z6dp4E5;V_cgw5W+EvfYxyXsh%&rOf_^5jLVJJ-05ZowzgUTMd`d zk@+*8t`T<5|Ci|yKCvY3T7-?@lZeTF2SrjMqs2dkXq-sTk3BX??}X*nXH1=(MQ5tB z^(IVFNI(CO$&<4vcWrT_3XA2s-2AzVfBdhSP&{M%)%gLoqACB5eL4Lu|5lws$A1># zC&4PLH@lW7ybk=M*1_sBp;mKJ6VK87CW#F!H<_zAlKy(|8o7NHNU`l&pzvNv<3ydP zqvO6lCG`^(K*qDhCpb6Fb#<65_^R8Q=Sb@iI?)mB8(@mnTP zz2b>2XRk;8Ijivd%jxSj``Z>Sy3yC5(4=renZ;4SQNTrjMUcf26rNxjBIHQ16tNlO Yf&4zopr04oM^PXGV_ diff --git a/resources/builtin/alphanumeric/Qd.png b/resources/builtin/alphanumeric/lato-dark/Q.png rename from resources/builtin/alphanumeric/Qd.png rename to resources/builtin/alphanumeric/lato-dark/Q.png index ee7b343136f25c5f9d2ce6713236a50d836c71a5..ee7b343136f25c5f9d2ce6713236a50d836c71a5 GIT binary patch literal 1750 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 literal 0 Hc$@3lxt{GaFl{(tZL<^A?&d3(92sp_f%001>NS0_9G zppd_9r^I&oR#c|lv=VdMHA-v6WZIHt_N zji;3qT7>7w31;Vlp*>1zBiX#cZ*ZkFz+lZRHZCMXq7rMcT54b;X+J>6Tbngb_02{fHO3US!~9>$#q=3FG{ATykJ^wO=JF} zmA^7xp3GA@Dhv@VM?Ty_$giQ9SOd|d(Vf+-Gv=87C?xRfatA|m0?7Etq1~IaA~Va(_qyal!_!*^@`D zvf;X}y-ROf`p`(fLTkA(%5gJvkEKT)p&+)Wt9|WGx;%7-01Gxp^N1&&?$Yh-xMnvf zzCTCGMLGxVEzzb-?QRBsZ}MFvOOg_BdHxx#7aqKi!Q@zUWPe4CwHxV-e%yHY*u1-5 zsae_WMZGFCIYBUmTS-~gV(ur0OU>v9LF)W;7BAk}c(p~wDnwI*l^JNXp(6b`5HY4o z^Gjr+tyG{5OE6J!XW_wcBT@-f*lI?}}@~64G4}Cd|{gJfjs;`-g&g_Zt&IHdOnMFlBzSZJtNw9UvjQfq`qTKBT^O` z)Ia1(S4q>85_pVr`B|1xzPRTR0kb`W#>z!+U@V1-8cwdRKoQSPCY<`oPIwj^9c}w4 z3o-Gd7~zw1pgLXTM5TmTX@XxhZ)$ilJnALj(W=!-&v<5#^pHQ5xbui`BtJWh(z&7W z8#hh+Rb`+Gv`$?~GaNsF^Ws}Nkg28)Mme+U6&OQabx&pRwBnL@Z62Xq@+8r95@(_j zrAw35Yi6O$XtDxj0R))FM8EVjjCyCg4R4T9*1NyJeLlY{?!484VqYTevyYw%D?+^< zsMZli6twjX;k&N43EJ6rZHP}c^jnWq4yV^W1Kny&ni4E=h`C1|P3zoly%H&T&9%Q* zA0}u_C4H%Y1twmNxdfZBe|7ZJ;*?84;lWbhfbm}bc$|Ta_aT!0Qj>M6UefsO7H776 zc9o+cY^V;LF5HZ{7gRK#vwR)=%x}KdC7(Na1_i-X`iOZhX>lV{FIZUd+^qIwub@VE z{SQVJ$#fW!vF;vPT()2hYEL;4`<*pOVFyX|VBfVm9ZR2fmhx+RW9cje%AXItk$G}{ zZ>oDmH_mlH44{kpq42LJjL+xM9T;ej00ZSQ#_V^yr(C9t#!r+{Ofid< TO)ryZvhB?c>*ZAI5JCSN@OpU$ literal 1477 zc$}q_Yd8}M7{_Osp@3lxt{GaFl{(tZL<^A?&d3(92sp_f%001>NS0_9G zppd_9r^I&oR#c|lv=VdMHA-v6WZIHt_N zji;3qT7>7w31;Vlp*>1zBiX#cZ*ZkFz+lZRHZCMXq7rMcT54b;X+J>6Tbngb_02{fHO3US!~9>$#q=3FG{ATykJ^wO=JF} zmA^7xp3GA@Dhv@VM?Ty_$giQ9SOd|d(Vf+-Gv=87C?xRfatA|m0?7Etq1~IaA~Va(_qyal!_!*^@`D zvf;X}y-ROf`p`(fLTkA(%5gJvkEKT)p&+)Wt9|WGx;%7-01Gxp^N1&&?$Yh-xMnvf zzCTCGMLGxVEzzb-?QRBsZ}MFvOOg_BdHxx#7aqKi!Q@zUWPe4CwHxV-e%yHY*u1-5 zsae_WMZGFCIYBUmTS-~gV(ur0OU>v9LF)W;7BAk}c(p~wDnwI*l^JNXp(6b`5HY4o z^Gjr+tyG{5OE6J!XW_wcBT@-f*lI?}}@~64G4}Cd|{gJfjs;`-g&g_Zt&IHdOnMFlBzSZJtNw9UvjQfq`qTKBT^O` z)Ia1(S4q>85_pVr`B|1xzPRTR0kb`W#>z!+U@V1-8cwdRKoQSPCY<`oPIwj^9c}w4 z3o-Gd7~zw1pgLXTM5TmTX@XxhZ)$ilJnALj(W=!-&v<5#^pHQ5xbui`BtJWh(z&7W z8#hh+Rb`+Gv`$?~GaNsF^Ws}Nkg28)Mme+U6&OQabx&pRwBnL@Z62Xq@+8r95@(_j zrAw35Yi6O$XtDxj0R))FM8EVjjCyCg4R4T9*1NyJeLlY{?!484VqYTevyYw%D?+^< zsMZli6twjX;k&N43EJ6rZHP}c^jnWq4yV^W1Kny&ni4E=h`C1|P3zoly%H&T&9%Q* zA0}u_C4H%Y1twmNxdfZBe|7ZJ;*?84;lWbhfbm}bc$|Ta_aT!0Qj>M6UefsO7H776 zc9o+cY^V;LF5HZ{7gRK#vwR)=%x}KdC7(Na1_i-X`iOZhX>lV{FIZUd+^qIwub@VE z{SQVJ$#fW!vF;vPT()2hYEL;4`<*pOVFyX|VBfVm9ZR2fmhx+RW9cje%AXItk$G}{ zZ>oDmH_mlH44{kpq42LJjL+xM9T;ej00ZSQ#_V^yr(C9t#!r+{Ofid< TO)ryZvhB?c>*ZAI5JCSN@OpU$ diff --git a/resources/builtin/alphanumeric/Td.png b/resources/builtin/alphanumeric/lato-dark/T.png rename from resources/builtin/alphanumeric/Td.png rename to resources/builtin/alphanumeric/lato-dark/T.png index be8a7fc7a5d875a41c28a9e5dd772e86511ef5f3..be8a7fc7a5d875a41c28a9e5dd772e86511ef5f3 GIT binary patch literal 356 zc%17D@N?(olHy`uVBq!ia0y~yV4MKLEX+WWqKVr7fs{mmPlzi64iIK8qXncmN`m}? z8PsOV7Pn3Cjp?0w0x0&`)5S5Qg7NKnLq-P&1_lR>1xyCqA30qv)*CQ$H|%B;XT)aU z96de0$+pT$*ubPV-dMwnExfs3B5Dl-UEix1xyCqA30qv)*CQ$H|%B;XT)aU z96de0$+pT$*ubPV-dMwnExfs3B5Dl-UEixlJ9_xmqDubnd?EW$yK z#3n{Z0T%%lK^7PVWH<^yDYyt+0w_X+M3;hpNyn=E$AVUlaj)I$WkdH){CZw*WAFQK z5=**s)57HcY+fUsT>E^@?4C9C-!j*{?_Tk{V!C6|?D+hwdWJjR6TZzY?)h3P7JC1P z-qba_kK9_eCi>e>r?wTptGa_dYIdAgh~MrWebMrj-*29x9QhyGziv!@z27SJuE6VE zDR=i=zkSc{)hV{(Pm^z~oK(6z;=1W;uQws{{pUwc&nYOI{dJ46<4LyQH=)x@KYw}i zyuPr0!(^PF0Hxme_;v#Q_nPJUDB|F7x&=ANo_?DFH^Pblt4TYUJ- z2f0|5+HF=bk93#mMSm4^oWAy1@tu5&r?K2Eins4B6P>qOcS4uy?YX~xC&_QRYq~;y z(f?(;T~>PszuG_7QKNEtYDIP5GH0vhd;H6LW__OY-O~5q`d@pl@0s)X{@3kZN$-!X z+VNDnWa<7R@xHY?&qXG?ub<)f(=9gK%ko=oz0T5@-P6Q)ub=#~bFJNv&6A?F4#t=6 zoU4~{-|bpDbEeUm=&uq@;kRz|AGEiAwa}yQptfja(>JB6H)~HAuCRQy@%rZzci7+R zx7goFYv#rHbG%Mz+ zoK~%vsq)#kFVyF;=Kc365o=%6oc+FYUUR7LW5xTg4C0!;#vaSQw?6ps#BtHZi|8#_ZnT{&H8gWCp7FYjw?{e4f?kk- Mr>mdKI;Vst0IcV_@&Et; literal 0 Hc$@$Eweq_9gQE4PIWV{K-;qc`#kwna9 zWwu0;@yKwbR(X8!wPXkz^BIrDlr>(Ijp>zJPL)v zQtZiYD3lbq2RZ58N>kA5?Oif*b@H%9{r{+vv3t8qhZ%0?-BF~HjH~iCQJ|r7pmKtS z*NK+jbj?vH88U@z<#9`Do}aQekzBD=bF>EipB0MBTAWG?F_ngXhmMoiUXAoKa{!fQ zR^Mupc%ctl9de;(y{phdn4ZI&RcsNu8+}{{S9I<-_gAA6!Y9WT0<=D?1Drhl^3pBx z3e#dnnC3VeWh*|Au=r0nto~SMIBg~_-(UyyxM*%BpTL+57lLOkzfdL~Fk|hiHYY;5 z#w_ywsQ=KwjDREZg`?$+tQSFoH1W5zPUR#uPLsQu@o^2V`cz-4SQFNdto}<+T7(^L zuQjiGkky29ApzwY!^ACR;MKbgFt+uDL3B!iC5s@+Rn5k2B?%(3eI+~Sz_vpHxUFn) zi%l&CiQCEx11(Pb3CnLY>gYY&H|ppC@hn-%X0*v`k+8I@gN4sU+fU4m8G3JA*$>Mc zd3|Y9#j!4NK%!)?MKd2<(Y7yd{`2i~9vY$ngy$r1TQIM#P=!Gz-na63vPe`+m>Q?o z^UFC41&HSJ>Pm?Gl9pg@*>`qUs?PuWAv6-Vi7C0pZ#xN`scZ?Z%WK%p3yb34 z*@5jJYy7`yYjD%V8TDhGLMw^?z*Vq)&TZ(r9SO)ImQ$-$0D^Us*&Vr%lJuXRnyK-5 z)gzq_5TD1cn5&%W;5}^4jjnM$1gHwUIB8$yptzg!$K8FLNq{1;0F6+o?`ku4S5S6R zjkBf_dpA-VTH~E+#3el4Fz&wTgN03&qUhEFZk(EKGD8#odBW=vMXxR~$83FoA3b0S z_I2|rQ?%{1M4^%}Ybhk2i%K6W3;*^68}2Y`x6Z6tg${PATJnyG zp2T|JZ;~6vD@;p4cprkeP#VeS>atFzikT(X5`*+`R5sH*X+A|fvqBVUatQkG4RX{t zgoWbEf@DT4EE;3_{xCGUx%e;?YwdWKpF^Mn{`W4Jv|5n>7iBb+s18KXKBJHW>B~Ew zYf4C98`FCqf?ZyimEklnatw0hIjh7sJPhJg^epd07})1=%vbe&>Fy;+^}4Jnd2Xf@ zq_QjnJMS#?I>)ClKP9FqLU_PMpj>>SuY*OWVK}`Fiuy0Hdv(E=K;ImAj z{hX-kIJ&L2J*|JO^<|J1De3X_cMcc9gRt|)z%@B%c(U_Z&pGQ3R@nHnQxB2&)wapT z{k#5*4VKtsv?x8XKb27uJT1Fq$#dmhuRtSi!;eb8@)VIks`4Nf>aN#6+J2Ce9pZZn zg`}p>4jL|zNkGiyCdrg+9X;{-tVNi*9115lx;?($fXyoOB-#WIFWMD=9&i&s(&m)t zk^y2|(O&G}lZU6mQIxw(3V~{BFIh6xY5T$!7dt{1$Md&c>bG0nE^oyby^*X;W%}ih z_wxvkEMa`x6ewn!vKeeID7GiRZ`6V0qKn+$Yfoo5z#3NS6%f4(EW0ZRus>HW@G z&Bd2B7BRkgK_-_dv~YZxKARy+Sqc?I+H_n|QZkYRUmejg5BEYt>y_{lup8Ui*F!f&%W~##g literal 0 Hc$@n6>4!gC-%V9CC=}o2)5Iwa}1LC!=Qh zj~DumOc zXI@y?1~N_;`sez%0m#}tkalW3;m{emgR9W~s{)ZQZTjsT3EPqt@zF6vPufm$uwNLS zP$k;?fnJFT=k7&0>PN}7xkID=G2G7ejriE@s%*;+N_;5T*#^X7vn{2{Gy3k;T5WsU z^PFynMg;GtiylPY(i1MgcSGfPTVzB~^=z?TXpD2IOV95GD?uX-(*RI;;W*%fsoRNC z8&d;5+X^Bai$01S)?`}c-^@6_?XV$uGI?n+$(K6MU-ubUFt;NsT(ZEbx47pl| z_ss(5Af@m9G-re^wcO`bRG32QEitJq`CuM>h*IL}DJBwkeFl0|e4gGAfRwgGQvVKbt=PgX$ zZ@qB^1oDqKmtb~AbC~Uy72h21=!K@TjOZ}CwL+N5b5CpkgXMuY5IF9w@R2pr)PU|}6I?3wm zSV(_MUE2J|6t6Hd;SRS=pB7h^3?%P*c(~<&#nBgVf=smB>ZfjoDiKmRG{O7+E_D#o z2mbX>7j4b~>Z4t_hk2BF{LflV)qJ?&ilN{l&7&hx7jVuh2&#W1DDW}~ z?KG!xh5Vx^PAw@X#+>_F#ek5z8+H7P0gA_`Xz^`!o{n0u-hs2&DqeSoMK*d6PP`mq zC4SPG=V9?(GxMMa<_;`NdT2>C0L08bF1o$f=A`8>Y2sb=WBcd>hfX}B$1RDuURB>!v--JDz`JNyAERJIyT0x54J70oF@OMh^RVUFaQ)ISSJ=L++wij0v z*EVRW>L&;POD6RW>A!+S~v@d;1Mb19`DrZ=1*6{X#GUILAy4Fm#e7oXy4mR&8= z#)iM+;tpfi?G~qg&!pZiTnkP(9gtOa15uDZ%)aHBye+Bbres^8@ZvXP>sl z19URFn_ou5e3d~{3#gZZb)2E{rX@9!QxC?Mp;gvSX<|V5HsRWgUMFle;0te~@N4LP zc>ediRYQpJ27WnhNH^}DL~Tr-&2^gI`Po}BQ%cmvmTMcz$XLN{#&M?}QJ){i zhb`u1plQe`m#u_rhTDi_DV(aH*;~zQM=scN})M14m_pa*q_nh;3I)=k8P{0ENdsiVeU&6LXfyK zS7$;71TOy&Hnwg@qx9mWJcH9wu(;Y5ddFc!#RLnQbF-mbvl202H|nA6Z^{C>shRS$ z?;S$_?9k-P+jOf)!v%74`9;rdz!G!U)x@fU-%lF&bmpzd7$7De4r@n9s-CUQc$`~y zocu$VcY`L}FD~so9H3ByzLCQT9ik~qq6^AhO~@T0`|EeEq4WUkGjbp5HT%2HuwGNk-}fM}j$a zH@1(4@XVoBgb@c4Bv`lxxY=+9K6oQ~Gy-ypGbr{~4jR9$ff~hXk z)^g~z3(5aIs6~)=z}$i26J{ti!1)DHu%*L1qqhWMpGw%~*w@e7&~NUlz>(5iYg4IG zx-+Jc=3zHKb~fpku{M~|>x=b7SSLX#)Z0zaXfxa)1{Y2Hcpmal)3-T(8Y2e%swC+$ zzJQs3*or}&4$1^S>^cDj$kOu5u#qg7Whb?H{d?xm6t7Q9@+3F@D?jX&Yn>JO9CfK{I22!r;I(B3q+uW*UK%)K}*>a#}^z`5K;v1LSwzr=mm= z5s{(gk5OAI3T*8-A%q8}@0C}>Q+OqIqypFk;SES^@0a+x@41!mYV69*{EC7nO01qF zb)#G99ZpM7CdGvlb?H|AgtR&sZ-BV?#IuF5=Rb}WUQwdS6B<(%7?yt+(UfjA=wJBe zp0B%YwPS^3FZm}X`Iy%l_(JMW$?Se(jorstdRrP)fsg;EUlzsgBw*2v-oKXFCi~ZX MJkHa#(wWBo8xZg@-2eap literal 2446 zc$}41i#ro+8=u)?TMC<5sSqPt%%MVk5*BM>n6>4!gC-%V9CC=}o2)5Iwa}1LC!=Qh zj~DumOc zXI@y?1~N_;`sez%0m#}tkalW3;m{emgR9W~s{)ZQZTjsT3EPqt@zF6vPufm$uwNLS zP$k;?fnJFT=k7&0>PN}7xkID=G2G7ejriE@s%*;+N_;5T*#^X7vn{2{Gy3k;T5WsU z^PFynMg;GtiylPY(i1MgcSGfPTVzB~^=z?TXpD2IOV95GD?uX-(*RI;;W*%fsoRNC z8&d;5+X^Bai$01S)?`}c-^@6_?XV$uGI?n+$(K6MU-ubUFt;NsT(ZEbx47pl| z_ss(5Af@m9G-re^wcO`bRG32QEitJq`CuM>h*IL}DJBwkeFl0|e4gGAfRwgGQvVKbt=PgX$ zZ@qB^1oDqKmtb~AbC~Uy72h21=!K@TjOZ}CwL+N5b5CpkgXMuY5IF9w@R2pr)PU|}6I?3wm zSV(_MUE2J|6t6Hd;SRS=pB7h^3?%P*c(~<&#nBgVf=smB>ZfjoDiKmRG{O7+E_D#o z2mbX>7j4b~>Z4t_hk2BF{LflV)qJ?&ilN{l&7&hx7jVuh2&#W1DDW}~ z?KG!xh5Vx^PAw@X#+>_F#ek5z8+H7P0gA_`Xz^`!o{n0u-hs2&DqeSoMK*d6PP`mq zC4SPG=V9?(GxMMa<_;`NdT2>C0L08bF1o$f=A`8>Y2sb=WBcd>hfX}B$1RDuURB>!v--JDz`JNyAERJIyT0x54J70oF@OMh^RVUFaQ)ISSJ=L++wij0v z*EVRW>L&;POD6RW>A!+S~v@d;1Mb19`DrZ=1*6{X#GUILAy4Fm#e7oXy4mR&8= z#)iM+;tpfi?G~qg&!pZiTnkP(9gtOa15uDZ%)aHBye+Bbres^8@ZvXP>sl z19URFn_ou5e3d~{3#gZZb)2E{rX@9!QxC?Mp;gvSX<|V5HsRWgUMFle;0te~@N4LP zc>ediRYQpJ27WnhNH^}DL~Tr-&2^gI`Po}BQ%cmvmTMcz$XLN{#&M?}QJ){i zhb`u1plQe`m#u_rhTDi_DV(aH*;~zQM=scN})M14m_pa*q_nh;3I)=k8P{0ENdsiVeU&6LXfyK zS7$;71TOy&Hnwg@qx9mWJcH9wu(;Y5ddFc!#RLnQbF-mbvl202H|nA6Z^{C>shRS$ z?;S$_?9k-P+jOf)!v%74`9;rdz!G!U)x@fU-%lF&bmpzd7$7De4r@n9s-CUQc$`~y zocu$VcY`L}FD~so9H3ByzLCQT9ik~qq6^AhO~@T0`|EeEq4WUkGjbp5HT%2HuwGNk-}fM}j$a zH@1(4@XVoBgb@c4Bv`lxxY=+9K6oQ~Gy-ypGbr{~4jR9$ff~hXk z)^g~z3(5aIs6~)=z}$i26J{ti!1)DHu%*L1qqhWMpGw%~*w@e7&~NUlz>(5iYg4IG zx-+Jc=3zHKb~fpku{M~|>x=b7SSLX#)Z0zaXfxa)1{Y2Hcpmal)3-T(8Y2e%swC+$ zzJQs3*or}&4$1^S>^cDj$kOu5u#qg7Whb?H{d?xm6t7Q9@+3F@D?jX&Yn>JO9CfK{I22!r;I(B3q+uW*UK%)K}*>a#}^z`5K;v1LSwzr=mm= z5s{(gk5OAI3T*8-A%q8}@0C}>Q+OqIqypFk;SES^@0a+x@41!mYV69*{EC7nO01qF zb)#G99ZpM7CdGvlb?H|AgtR&sZ-BV?#IuF5=Rb}WUQwdS6B<(%7?yt+(UfjA=wJBe zp0B%YwPS^3FZm}X`Iy%l_(JMW$?Se(jorstdRrP)fsg;EUlzsgBw*2v-oKXFCi~ZX MJkHa#(wWBo8xZg@-2eap diff --git a/resources/builtin/alphanumeric/Xd.png b/resources/builtin/alphanumeric/lato-dark/X.png rename from resources/builtin/alphanumeric/Xd.png rename to resources/builtin/alphanumeric/lato-dark/X.png index c1dacfc86ddf1c95e1b9b194370ae8a61030d7e8..c1dacfc86ddf1c95e1b9b194370ae8a61030d7e8 GIT binary patch literal 1638 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 aZ0=_Jwyd!~>xIl5>FBi||1G~O z%%XC7+R0D%MC}e-w_n0Yw55NFbyR!XO<0r!8aZ4Pm;^f{t6r^Jz(w{$5js7 z6hak%)HEPfJwa=NR0`J+@VcAy=`^xJN_-5CO z2CvMw_Ru>2X|nc?quQa5pW3`>G5+?_zo6UpYJJz1klyK4Q|H$-N7tn1?5SHMue-z9 zHmEnKrYA^BKlb^=tSL#Sj%82Tm6eh-C95&;l*ZDJQcF+Vu85qIXnFXMhUr%g(|Z+$ zUYUC&mi7dl+t3rV#rd(R*Tt_A5D}^M#yW9Q>jS$c26}Q{6P> zKmu-Vn&}a4nsFd@n&i?ObAdienikl#{+RWDjaIN%tqw1GDz)@N#dEo(240d&!LIKQ zvN&wyWqJ6M8H4ZRxkXc=m=|A(zg+RrtRavKWF82Eg2Di36Hnya#IKS|BfNy7OEUIw zG8uZQa=JYB73&Dp3RcKb4OQ5~I_Xpt%cN6E6GF~S>T)P+eDX=qLvOl6ktRGHr1&A2 fb#NvNv8n4HLnnXXkMuyd!~>xIl5>FBi||1G~O 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 KG3}yz@_zsdqgZkP literal 0 Hc$@S0g6_&f?ep?u8YBJ63EQF=Vr81nPi_4lMvgCfxSRRf}4YM%G z?JT+E+71@xayGf!h!E*zj!g6Zpn2pXLwRlb5$8hBZjKXAIic;U3DJEbizw;Dvnrqoj+X4VTUD0zP`lL-%_{k3bU zX;LQ8jltJO>2^G&jU6lAQL@ZrFemT)DT#zmo9!>?=LJJdm9_cmAMa?EEG!SHFQ4o_ zrz%LlLSPCsV=J)eL~~UBfWb=nq~}G@TF1JMu2D>PN#CYpv_oyb?d*1utm{(8>pSDr zK_IiRZgNovf@!zRsADuN%Yk5pK}AHfn3JHT^h)Yc;m3Hj%V)z=-G}8iL0O? zFyIsiV5>n(TnW9i_2DRjB0pklAuJt2`p0?|b;I^Muu%~%IHOhwhQ+d-!pANN<_>x9NAX`)%! z)7(d=ef^0ClIgsS4{Et<#BLYI`Q?Uh)!hiJ;)w@6-00R3Vf1CuISl%XK&#GuKKmCJzbXw_%- zpGrVhlc{Q2kiaaf&oZ}05NwkW96S;gEz*InRL(@UoExu1#7$Em3*X9CvIp8aTSNF; q&8+Z`sjc`O-;6C^``w^llpkL-i;i`hM%c*hH+x$rSmgzur~d*iOZ_bX literal 0 Hc$@YF=s?=(J{(tnqMSkUmE$KKRz*X(D%R_?rbd($)p$75?*I5*|1dQ1qOs^EAI zNN28HpwN@e%9?mXOM|02G(bR4RHWr)Ow*Bd;Y}=irm?U-+%;7p@-EQdWkLhUwBs6%pRQ{=eu9{Cw#j8}_;$w$3$9Pf z&2M6nUA%20r%*{x)N(bC3st4_W+^xxUlCmW{F{9923x~(f3JD6Z%;o~*{*Qr`0>hq z1)tj=3-2j&9R64+Cv@cbp}k*u4po)R`ObN0(^dU7-rQV|3O^c}IyS9qoqp{Xd*Uv6 zspof_4CJJq|7|L;Hacg`miX_g1wY3l&Zn260tDhqZrtW(Pn`LBa%qmfe9Oa)SEKv) zZtYR%x&J>k&_jSlkj0V3QNU5aMF2*Fg#=w_DD^}GBJ6^Y1`31eM9Dsj>+9DZe&5sU z?05C}9f2qM98C&M3LOef97<4vLy4ow#viQD2rfu$dio$$AG1#;>a}hUi0A3*=d#Wz Gp$P!y_#;OE literal 0 Hc$@?GQ3eJUE>9Q7kP61PcLR$STSzoGdYUzCV0>49 zYwfM&b61{hJ8|M?@a0;TdPYUZC10*HF%SugeqPu8xL5MsVT-e0#ZQ~?_LnbLv~SN` z`#*VZTe@Gq{{*BR@lm{ zocqvuqQR$_)k+_$HH3D!?^gV1n*8?lydPbQ%eKAi{QPd~ZcFuZw_Z!a?0Ugck3Zt_QpO+TU9R(0r?MPS*Q^fi_j3mUi7SQbTm zt-ZUqHgvYLSTEq#3*cYLoBvzpap@a5Ol zHaW+hm#QHG`rO;UJX4SfK3u(Wo#T!9hj*BKc_GzObbr~_f5)wsd^ziQBGqD9=E}<@ zcZ$12TlTAUJkQLIY}!yIFVt<`wsDI5H@~~vb+Q-PuYRAX`^|>)>9v1*4Qy?CUT*aH zw_JBh&h0f3a%I;$Qop^e*4S+wrqga6rg3v0<3^r;-nLWr+^SZaa`2tc!Y5bV)EDw> zyUOu2O}IV6Et;(*C`Mu7lcO9$r_%Iy26)~0?0jc~&n0GwxBSwl_EtUVO^NS)G4aXG zeRT_azHR=OX*}WUw2JAw@2+vax%%uH<(uKp#oZ=7U!mUkGO6y@1Nwfbzj~4A zz+cPsXqWoEC;y!L0ZGY`@G1)~I^YB3Jlw;qmkF1{axazc}#Q z>S(-bl&f0MF85*~d)1Le?Q-r;{I*{%KqN0X^MAQ;SWHc^>PJI3KV0-N3s9!tG>qT& zTZ>%&GWMz$5F@H3+cIZm&(7Sfvqo+w&*PYQv#DQ<9kZ@5{aj^_0hhc%H6)F6*2U FngE+-Iw1f6 literal 0 Hc$@WHF&#p7-La2JV=H5ev4tpO$#UH*Glqte8Ch%MgQ9J?yfsQ(&ZQVd1 zKI#u3{D+&SfWG}hGjMS_XLsla|5Hu*v!uf}$v8KxJ4nn-IV85UrgdQeJwejJQSmvu z-XM^`HAh>kbBTOwUBtsnP)`}p{aElA=qHuRtWWS?EvnO#PK8RVqFWA%zbEUaWRdAf z7uy!y$Ey@mr*(};wY^t%94MQ{$AOO8TY_IdtG-NE+I!Iel&BA!7{Rdxro@uq`It+c zUywP^`tF0Cs4LulX|JciL+Zwjp(UQDb_4YdYU}fKe3oMHEl=T@E&Ubhy;uy>oA&s&IF{-(qo;9V;`*Zoegf*XsVoDD)n^?gBwH_6gO8K z#0whIlJ;&|>&S7i4a2Bzqs7svst9iAdCzF7Ikp*GvY3zia;nEnvA-+M`Py`-)!lCf z)BaaZS{F|}CnsznDVvTZZI_iGertgtRSxmHlzq9pUCWf;Tt9-s_d~~x+NFqQQvnyy zJr!n&*_%ecPOZQO8g2PmBjK`4?DtSbQQ&R1WH3s>_YG?NjZkEoh$O{qYt&2@!sN8C zdBV62?Y?v6sLqHn1i2hl7V!$(GrS^5^60|KV-)9dHGw+Moc9Pb@QADPG4`5;R_mlM z&{RmB*NqufDzTUb6>nLRk*ay_39MlVXMnYm+R15_D5<%sYUuN?KSL2C)j=cBf4t z1>p(__>`b1$~=bI>rr=S^=tVztw4l0fk!)Pf#Vyax0A`C)$QJ29a&p0zx0=-2^-2M zpArwY4XxuRk}>fxDz{$@VC&o=qS%ALfL^`6y$WU98`3A?P=>jim5riV6e|j#l<&joFqhL@_d9H2W%U z<~Ew?R_JU*N;jE&8wBK>UiFE9J2Bmw8p{R5B5ZU0o0u-=ZaNT_BT(|dU&bB5_?vwN z&KCNn6WOL?B$;WU*U?N}x|Uj+6vdO>pzhq$fX76B=Hns5V6{n4ANkvNCl|C}Ne6{< zEWdSJLUu|K$z6rg&h9vOY(5i1Q13^WO0SpjYP@F(Vd65RGd>0R`cU7=kjmTK+ptw> z@EN*CFlh+urG_J!4_@FWc-han3CA@c zUK%_s1&Rix<{3;J_>Z+c+MM@VOGSR?VOTe6@zz@Ve*ylK>8K6=PeI896!@?cVM_sgnh7rSE!e*%O(~;+doam7Tne|H) z*iu%#JgG3}@!GAnQZ0FVu7^r~W#7urY;G?(eT5v83>BV#zpKWsVX~1#(x%oZz z<_rDuJX3)V&k+R%(w9J>)qx=U<3Pk!kg*$A1I>7{24s+y<0Q6}Se8zy2|HOlr6z=P zPBKx57FNjwh7O3o7(}cD5nDNhOci25(#~KtAnsm;K;}<+AQSX~#FMNh72Xp!rYm?d z7fk~aMpJ>rCcP#bD}}&azxMBDIcbz8m?ETdTES!5c7;eW$3ttHB1#?e<}{_uWZn3x z>CR4;lbg7cuCngD$T?{#Cy4PGs9NX5`@%HcsYj}>g~UI8dxXn)eR5NIZF||j@6MY_ zzY1@8C;x3%?T`JJUfn;MxtG;Zz)`?OfJKnSv52Edp-G`bfkTO-3CQ$hK}fMUPEbLT lYEtlE07^|L0ErQuD^$N&?Rzh!dRiI8^K|udS?83{1OQz*YWn~H literal 0 Hc$@_4_YenuEZi~Gn05UwZk6ed3Ohp@pBQneOjnu^GRvW8 zW)bV53EBc#>l`GCS)DvZIdsDn&g^7*I1wxsacX7Oo|d?CTiI56U6Wa&6&XEYWy)2B z(34q?%O-v8xxQhlv97I9;HGKOdpaEDcCLA9a$c@dBQm>N<&2;1*TVN7^SrLz;@f%D za>|LFwT57hLx6tw(+qq&%pRcvelaA)SGZjBwK1GKw zFD-b}6rHSfla8)P`D?4%{VjNkjw-jR_sOV7RXSeRrr$jCt>g5?qFk5cuuc2UrEQbT zZ=bX@WnqeDq(-FKX3a=1v7P4*Cj@WWmv?g4*83g71~n0zs%E!sz4j@6t6kf+qoGsQ zWPDz%_mtUNHfq9~BMnyhj_ZV(%VsXIp7ye`KjzLEvval{r8<|5zC75FUb#P&tMArn z$!}sZ!G51!Oze7{e_U+mj(=qxK!st|DhpEnX6<*?%1eum^Jxh(QgzZ^DU_%M#2PDw z7Ea@SV=EM}Y0j+*hn>d+I5i?~UgOY?+%HwF^5EBP@#_voSBs`b*YN+Ul|9X#CEK?1 z@BLbdd0)>|^Xxpk_0QJ7hTG-ppPH>rt~@C+|B>TL=ide=!i^*!8}Og{k?}G1)@9|Q zU(KIxbzNAiR_&6Jyw1I4pPF`*&&hqRJM`l}6yI&yt$O0?wO#Bh)0(e8urj^Aoa6SS z)#--Q`Oh9~Jr;9Xc817({qG$)2V0-T#4F{T49nOk{qb+o`!%*jhQ}mgvNYvi9Gsf9 zE_9y_FqzEJ7MR69F<*egHd2AZ1%&K58z*GXWR6~^UpmWSpCd5gJad*PIx7)We0HUA zRB6(N?-J_MZ%gHR&9x0ZnRI$gJex=_+b_?#98p5o;X5~Mp7v8IGYPN;kzH)O~ z2)pHmWmaYlVfVJE&$@R@*KYOx=MwC{4E}AOci{kP^H{(Jr6@#xuY&wo7IT~Imgb7kVv9YvvstsZQf!hQB2`?sQn zrXB^Vg_o8_{B!&!SCbJ{^z>lv$*JtO=V|l*GLDox^E73(O6vl|J*RWYZ}d4B z8Gb`tQQBDe|gwD@rv#z0ngk*rim&Y&364KA3gY| zKGDPR($Y(W|0%;cyN^ti0A3*=d#Wzp$P!bmvt8a literal 0 Hc$@NuGb3W(wJ?DIXIy4_I4@G%Rc>n;Qh(aR#000^0 zj)8&F3WxY)OX{qBFgQ1<-~ONA6isGH$M(hhd0_!c$gDcy3<-aSIlzTk#MxsAopAsF z=p+i^ic6B28%04&eUuSBWZB%&?N(6=Y1`k!%wPpNl(K6_+mB&<7_-t$+2Fy3s4IVM zFZwziy|a-yjDsaLY~;kSl*&e&r?Ifrg@{*Qx|{NXSilu$a-9;FllCl{rNsTFKT>Vq zI2SSVrJI{)#{#}(Ly~a{0ohv&9+;DOVO-Qgr^)zYDju$7Q(OcLnoP3S{_aewnhNkR z9tsrKsf`l%+}t4$=%~UIRy46R#0=KBexjQjYy0+5z0X-$>B;m_Em*~|2v}gMSh@lQ zHQnIX5s!NxfAd@gewdNITFqgu^T^7#rdoS%L z1z;+;wta>JXe(N?sj=^j(A8Ftj>^0h4kby?zSxo2EZuL%Qea3+QZ}a4yWJxQ7U@C`|b;#8b)Oacpg&ecaE zX5*eLGwiCl*LCZ2L+>MdhnDc7qGy3RSV{uMrfBn3%_79R?Tf(-}+TZizyJVQ0^gk?;nXz zDE{yf8eex;q+#nh*XnSs0BkfDekvEplx?e29XUxo+@|jk(_(KIPit_Ld-?c2UeJeA zkqeoCIFp?;bLi#EcIb2udPWsq@sGEU7bP#QP}Dp(=lAp~gFQDP7FNtXz|X5ZJ`@bh z9|IEg6828FyKIJBiY3l!fTg)Z(V@x8t^<;_yv|@Y-(?z7)19bih}N?i|C$yk((ubl zyjX6eT(Tt5Pk#_>LO2k@PIJfgSW{Z(36*0Jej-PiAF~4@GSy#v7fQ@E`5R=w6LR81?tDUMhGVJsDEl=K@InC)x7gb!y zWUiYus5x(XK&Gmfg|1T-YjuB{Cs{Rli!Sqw;V_ z@+(sNqUnV-h6P!7Z}TR^KAZMDqH-q|AJq$g5(D9|NSjHwg z2^X-YELeE})6q7pmUkkqE&&qd=CPbn)f6B2?elYP!wPt!wnjhbk)}Vm>M0pL#icf` z&)3CLe$Kr`Xlh*wJ*$JA4PMdcYv&nHh>_Tj)^9cs@T$J^(>~~Ega3PJYrG>_tRI5; Wn2{MOEYPraXAI@$g{VIsmh~^|fyxp9 literal 0 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 C7WNVV literal 0 Hc$@z6k&&)IPnddnZ z!;5rw@^Ye3D9%w_luw~7!apRuhL~sphxGUVGxX=5V`Lkc&FAf+gpO+K zvV_bhxDR(}7nXFVx~ZapLII9Mp@<-7k@cx_lbPjFc)y4LZbjJb1>xYTn6EDUJQ4Qg zRM^pb4t85_w20%IRCbh44Ud8ROSY3MZlzQzi=lkcT-eaR<>7H&WG4nF^?TUlfoM$pO{jK?*3nAprA!>xOmO=;Ho~YQWRTI%n2~ScO~3 zqOo;mBv;m+nMbd4dd1qVs)kLy-fxv3sRGMbGTp&o-HyqfHHwC6j0=U0_ z9hMxTqe-q2hE89uvnbVwJ*wPTOyfs})$3pae=9)oanTijEZTbdst)F^6LpI)jWyK} zyqXA~FbeUH654{%B;8IhQAtPf-N*m!PS zMREE~s%PQL`xVlGtB;#q)%hcbhoytcU*xhna^OQc2s=xp>54bHVTz;bxVa(s)enzH0&Zt#AGrovD@sHIuo13*Sn}_S=|D#$ zt~-(lA*?=)25JvY@@Eo5M%MBQYNN0>s0&hQ7VpM}TGvcqlcEhEGX7`wZ4DHjY7*i_ zkONW=b^r$<(8VuYJpOQF;U zqh45AWLOGw8$-OZpyRxoxURgHzW`xrX4lr~U!lR*hqnXo5TL*4#oXMa^bU5`Uu)1O zz8p|KM1qfolwv~)H59z}05S>(5`xXT2p9XgY0&ayV%p=43#z&cU17u`407X=f)@OW z+1seOlN=u27Xwf|ZLmL)&XizpE)b5Avef}ZO9r`shX#~CLe01KsDUlDS)i*WXUGP_ q+{8Ne{4gNOn>OdHocYv)aH?n49xX2GVkdZ-Kh#ki9;%D@7W)qixHfo!1j!pm1 z-us>UoVVD`wr$?3|M}ehiO#|z43vO^dg&*Y5_euW_juM%O6I96a(&li^n1ovZ_|qF zEZ2+bJa;+s1q;S3?(x3FTr~e_jzrDX$3Zim+Gr$SEnjMILeoIMs?Un^-qmAko_p@& zycbY)X>zNQ#R`^K!IPJxF0B5dc4OtwCD%RUHk_XGHR>j(nRej%?IH)w;_@fD9b|L9 zy8DRIk5enmy*58sD)u!l_QRnGU-Gtc*crcMo+SJy?n1f`6Zg|*r%yqvf6Y<&adN^} z&xM?JQj_emMZ8Ze?oxd+u}i{9&WbZk_w`{hOYzTlW&Th2vfvKO>J{x*AEbvrX?`~6 zef46=C%Ip|FBw_=44GMdb?u%#opnj?{PtaWHld_hL!0Ni+@-n9#`n6_BPz3=%el@? zZA~qg*>pc7Q#;Q@uH$is=48IyLLMSFb|q zvj7lpxUtKLHGlQ0)Vel)KfPdE7ssNt+Db3B$(=cr^Lk;S$X3&ju3^FYCW<#^ zr6&dj>wjM)`TM2Ts;H_% z@`zb;7Py|MCw+)`ll0R$F zJXH%z##5Sym-P9bYg(9I>;ATR4)rdyiAk)aSNe(DkF|T?_i3 wrM*vH^Q&7b`TJz;Pa-_; literal 0 Hc$@lRx@y-oYYYi9mY_+boM>ZR z4<)2YW5%_i7>X@nG>yw5YEak6V7u;j>XMsU5-(4#CRvY6 zB9S!Rc&Imtq=KIw@C>0yL%Nj&*?4*QatJ>8pCv7jW5hQo&fC+6#9nBtDURixHJHHp zEG(?=dC&S1i3D77LlNIZmG$=swfb{<@|=ktI?6l>igH-(U9}Le_BlM-eD`}0U<W4(vQI?}7x*1HJdB7+S;=T|yN!^H5xne&|D>)4wmq~!OhrFBXMK5Cb@K|%=Oudbz>TA zP;nqs{>FM?EQ>mN&_9@+m<~&qFLbc~vcjgDTMK7|+xkfKdJpq{hPsCMHupmpHHWH* zA82+Kk;T;&xwgndBjybKrZ#hG&ZyG^i4I@3@7e_uSnhVsREpf=?N|nTtCT1dyzBObZeFoKuUr%Y?-! zn}9?A@Okpi{+%M0EKCql3vV}V4bT)()Lxp%PNE=FmFL{(qWW=TKJL%%yo7n!7c0oa zZ&wJ9@tZ6 z6}aMFp~8^)T5D2}TBjirRMyc0834Ltw`NKn!KL@|^#-*?D;wKciyGo5(LRnh@c8`b z&BPzzabatcz|jLA4BR;m))1S|tJ@ix^6nP~z1?Oa{_ou%tK_6&aS9!F3Me+1=NBiY z!SBK?TpZ*OCTuG0#x(+P`_b`0rEFSW2bJ9z@t^4rR8C00g(Yizu;ek^?gR|E;@Nuz z@I6qBp2z+q);=i<1)fTYO9HX<3F#>Cwe*mS=@?>bc2r0)L1g5K*`fOP`k126SQf+4 z!yc^CBfuSh6HSB&79DH*!#s~7dRUj63cCjgM6m3*YL#|kjqHbg73oxI{;|QHbvsds V!-KtS#d8_3 zfr44_d*Z%M5Kwe#;Sf}E=|E!$wXzFr>cb_Al`&z<>?`(4DQ!=bai|H}GC9jU4#L^V hON!B`3`Q*8Nno%`dA~a^xA+u@=jrO_vd$@?2>_s)X(<2z literal 0 Hc$@dQJA4i`}oYO`H0 zrXLDvp_{bZVbL92dTd$Dn{GIS!b8;LE;#cQkKMSoBDbdp+M zy6ypz27cebP?vn^J*{>Kx_$$EnrIHq6b z9It!+#=^VexmKbEgStfW**T9{OIx=xMmQ&SF!fdPq<3JAuFJ-ZxDj)xiOtw@&l<-Z zcxF;*#ec(g*okNO%MAd}(yQ!wi7u~_Dh~v_kfdvp5;>RMVlY8Q*01E-yiW0aHKvr1 zA-jq!3~3#Tt=j7umXayo{>j+l**s@nzLE&2)LbaPEsBs=TvMa8H&)x^ zjv5~F;Il1RnWw`&xV=pgQTbQi?gslf>L{AA^1X@#SpbUJ_Zs8UwJJ3=FP%9ycilnF zG4`8gxJTGXcVyIvjp=6>hQ;F-@(|Qv-Q2++omBZn7^A)=@r+)QOwB5}2A@EsK2KET zEcB84hPy9~nh7hbJS#2Y(D13%+}j{@rlt){-s1w_2B838KnZ7+j2tLcF15uVy zyEO#EY|wCjPKP2J=AoMFpGNv4f$6vp%XqxW=*eN>EJaLUwfV9qonKwXWgvOuv1lAK zr+(}*0Tmx&m6~U@s4g(JksndlIxV$}))J3P(z|pE%iW9_U5DiMG~5+#Qych@>NtfE z)c7Z;ggy36Lc>!}DmvW8EE;ZYaUuo--@5S$F7kM4(b5ZkE8um3-|laOn!}HT)Rw4( zF))3Q6(Oxhx6r6;unkoI6IjH_&9mq@NyC8spQ%{{*Oh#wSW=ylNW5k>SF!M#u z_|5%^^M-dFE;b(_9(b^3`j_a>Y_D^zt?Z$cUj{E^zl-1W6W)p=^Q*iG$RZg?Qk8fH_smrQF4lA!wtI!z895aQc zY$(uFnF)@m3Rp*x*Ex2@Mr4|`@I6D%nD48sodl zq5KpV920mW?dV94CM48od&r**W}HP&;yHX`iBJlh%9zA6tfd|E`s_|VZZGstcqo<2wNCo5D8>WnhfhrC*HGaA?q5nttRLe6p&mUahZ(z)T z1w4=vW1ar)U1Fe?ONW4>Q%i`D5`@7aNEX9$-rc|3M2t>VVwK(K(@LhfXbfy#NwF?B UFxZv~){-+)G zDNCBaXm|dy*7!9HM1vnDUhh^lDl~B@aWru>DKsf`C~zosKxv2&EQ!fR1^pX0CXur4{4e#SGn-GwMF__?Y&Kt^C}k_TC9Fjx=gi7>4dh$+GnZnE($x& zd;g+C;j&bW!g?cjf0mm~+IxP#I(R3X|JnNMhfkkea=f(bb6$L#&FX#4uS4vE;{q^yW|8?~r{v?$p_e~<|O2S>Q z+9!QhIo>8mtfm`Xn^kXcHR{x#{o4{|)^9l`&O%&zIa|rR`8qg zAwL7LpkcF7HdRTHAXl4(27C!Yk;?~3oozO-{>tGFXs*pxF@F4}F5LizIJb}BEL zVm3RfH|nevegaZw{URGElfV4BKriK^CzR$G9uY94Clw%@laz_%}(3L;FS36xKd1CXiPY+E+BH^lE?f~uAuVy4gm`59o-w}6YRUj2tYnUE3)I2xbo%v(E!sYeV*S`K;{80Er z!GwRtFKQ;}%5kQczhDq(YFDV?cZ{3Tu260x;8Fdk(czsGKg%ZHj|>VaLW}p+e)Lc% zwtl?vUy%N?yZ1M-Fm`Y-2?!n$7nI=mZ?5Z@abJ<+(T3@qNp3$B>eetb6#nI7DD>lE zP)u=|@OA#~?Q^FI+PhbHDW|$jSaR>L!tsut9~Ylrd3LitfuHH*C4HkujDZvEmFjjK zW;l8HRENUONJ&8zYi;GGnl(KflRCd1(entiXG(2M`D~mi=JEENhx9~2$4wiIlsx>x z+*nSY25KoS7jFR?waa)Cqq>LQ^QAfyM4m5Y5Xb{c9|uZTMgUFRzFR@eqYNZ>YtHmV z4n~&xKqFIuZrTI1CWt=-sP+(0t>s!hWY`mT*nm{ME>3fx#Y zb)c>~Ua85gvift7n1>m{#Emc~z1Hhs4dQ>kRAYk9Iqyh?ogmYKfNogwZUs>9Qbr>s z4s+$ECuQPCm`=XiGllh&DM+mkNNps@^U^@ihky)v1T<*UgE*e9elF{r5}E+1 CPy_M+ literal 0 Hc$@&n>Rz`$ToG@&iy$wHNXN4}H_ tdZ-9>x}Z=`l+Xk)scWHdu8JYTNLjV@`%dM2yU+&Wc)I$ztaD0e0sw2PK>h## literal 0 Hc$@3^=;6VLNu7<;ccDh>p`yiJMb zZn@M^*0OkQzVn{Z7i-c0Fs}?3hQ#mNV7x0pAhZdeI`6O9kcfgWUAtt%KDC)n3gs2y z1HUa1%J+?(O5&eR>1jpXu}Ve5J-az$eSxDBeE~Tp-h(|DIqmVPx!SY}o9f9{gudDc zNOfj?uf*g8sQC0=-BM(%HS14f(OM$7LAFFUW(BD6OFS=RY~rDW#h@}&_fLZAk!%+c zqG^b~AIPSz6)wYw?YyDo^Krv%rWzej%^+2K-qVA!(5l6Map7?Ql!5&mvL5hLn1wk+e4_&QB+on1b_0H55 z7<{xdF@a6_u1R3H&T8>}Mu6}s`ixrw8MgCn@KE#PUWjiz;ZBM;jzg|Qn}Ei6jq(X? zYJna0Zl^$>ltUh`%LBd|b-NKDVxtksGG@P*?p}M&LBDkttd?dZl93tehTAX|v?RuRw&MdRUy9%SEhW_g~Ir!7# zvTiR+Tr7FJEsLn)49|}iwhr4fs2OeI*A|;+)0WbJO&qq^4X<4E>-2QrXF0jJJp;?( z%Vi@Lh*Z9QwR)mve{VIUjHMZ{O2H(PCRi}`e(QJ?Exck|mJO=tpl_NFl+nVcD{et? zwu|Hm*KjiBvyw^Sv{^M2#tCT7yM0iCu(_)BcJO>Ntq_I>7cF3^%@|mogGO%%pFZ`diSUNHOsmT>=){8@!;R(d zB#6Njkk=f9!4&5OHy$0%w7!q>`ls-)A+hIa5V$#%p#s`DLdvk!9V?V!s z2Tn%5xE1r_D>qw3PFJQ<9&okZ9MR|<-o)P-g?jD?8vL{AN|{8TUE;J@gx` zHC@tfq5J_HUE3|$xd9`L`wjT{y`H#S(q264g<)T51H zWDw}WtE=el30BU78CnuznTW7VRLl;6E{1H9*iX} z&s2WnaC6!D-Mzq*`u(1Gfpm&2TG6f*$!jQEn@geocE9DHb#F@MvAtYnpXVbYgA Yw1didHC)fRS5DGScvzIMYGrc%zdHVo`2YX_ literal 0 Hc$@|cX}@>duk0U2&^eHKH+|Sw-BLD5-PLfbLaSh0Cb8MRO(^r6he^ZVu8z)fI z<0Zc%PcuuTJ&({41CI%BfNE0LHSORKO*vU10uot!SOKI!bGuqcd%WYccE=_OHqK3@ z5-K3$pZ*A*P`hO-(6~2`-MgjOI6wWiP~mN6$&@#J`G29p(mVWtK<%fVdq*xccl>5} zWz(szp%d!wuAE}DO)*R2N&mwyJwQ!C&w{T2Z7RwJD^BbH3K{u<*k1PTK*Kcm$1T!x zV%2o+{uQ!EAz5}3$P=2cABImTst4H_v~Kzeu(Jcj7dG{*UGsTO)0?DU8|#3cyLNcJ z!tWQ6K%>dHpKb%afW} zc$!x!L>^uMjFi|vR<1y&ME?I!EqKI0L#HD#z(D|L-IVjE`Q~?tA2G;K>;MOEbTcsQ zRQ@Z4OxRQh3ZsAspgj$sa9^{JV{aS_XY~(TV7PCo7XVtaExsiT7%b^PlO?M`L1462 z9uzB6M31;;K+LcIv+{@Igf)p5e4*wrI>xkcZF(5|F%~HB78Er%Yb8QhPfD@v<(~9) z<&XPKDYaU4Vk+4ZTZA2tS#b!Zu4+ozxt~+WhDS){fDMrUrYU7+9mk|pJI+bKSSbR= zD9eu(KsE9#CqMlJrk;gdldOPh>w(Vy-`+GO8kndO1yoL1a0*!ig@IlJC7+&B0p!$C zEUI$q28$t&P|C>~Ar^4C*8~6n literal 0 Hc$@j-DTyrCxgA@R z>zUA$G&x)7=5{hBCyXb;j?Q1u`99D4eBSHx{`RGx@HnQdq^kq~0F+&@XgmNQm-92g zTQ@sgV$a4VEKVHv#%xmdKgGR0PTf3%#o|4@05--kk7|a#ybk~}r)%(5aLZ;~?jk(W_{%faWkC5X zCjv(FoYR)-e>2Uv;V(7IAgl1mRDa60LTMn~c^Q~(v=Rc}si${%>j%#zHE7YC{GPeT z2H2#s_YR+yVxn3O9F)Z%>kRb6(~AORPgX0p144wQ)ncV~gAzJ9@8 z5MJvrfi|hQ(Zy(Y)#DkUlY@4PUx%d_^0(3v**DQSAT>vQmEBak4B6hcLa@l7^H^l< zfPu!8)A!xF^K3RUQ5obbcI%cGoo5box(Xq0b1Sdds?7vkv4SIM1IFDWI1>zsNd})TR$?yJD6+B$8 zy8;uXOs!e-MW}*|0l9(X6+dTp?%e#YgCn zL-pbGQ6iza=tUn|t*jNkSX~fPqplp@-_^*!+5u4R8Vs{Lnmex$ty@7tTITpm_8(PW z(R?6oe^5-{7Wa9WKe3%=B*G=&-MS?-OpB$3J7g*&WkbkIs@~WT^p3MRE57=~p@L zu90ee21K7qPJipD8zD}AjoRxTS8F$~tWaHj;qSZ9;qiDL`x_!OS~H#%cz7P!B59rT zs;YpK>^u8jY5j4ptoqf>8B${o*X&16$FlsT3jg5_?t4KY*Q} z#xkXo2O>llmt;_eLZ{DV84WYlM&eY*Ki$F$??E-I4nX6zv0z|oLHbQc)y%dMbz^5> zCm5KHPz6#QNY03!@J*_Mn@xTq)A7HFhBgfR@}KWq7+8O-pXLr7QpmXAFtqQi!PC4E z+H29Z?u{ZjiBoHRV+bPQ$p!mX=^=wtjHfCfP#>-I!0hue3#+k&vX#g*o&03$@k_Tk ziCsJItw$bb$y;L!dhPWNwD-F*$IUkgvec8l>5w2+??~zB%hCwoUFvJv`Nh8H-FZ!k z9A}=ex~cGcSW|mT4!LPGC0%!I&1kLCFC&X$@x-s`c#!e>4-7{TG4JQx-RHYxDIo4K zw9M5p-d~sOv6(17$L1QR%H7AJq?vdQ4&kI;P(MZ-w69bxq1$zsyyti^Pk&oO_bg)B z(DJtBcMB(uL52yzI>V6jbvJzQ%p))yH-eDlQu?HD#C`wAE_ytKy@q9&WF|Xx?KTG`R3GD1{<3)5&0e2S2g7BcO{?^% zF-0j84v8=?cFPI~tE1S?UJkYgHA=G~Xmwo36 literal 0 Hc$@{zL%iFz{&iwyyj&2R>t_D?c24cYhYawi;l89u>G&NXO)nP{Nn zt<@b|o8}*_=P;^yZ+iant7TskChSVyc`y6I8*PvBnte@bx{kXZn^v_7i7b&`R(8Km z#9nI2ZnxDznP zQ0zR*O4Zl%R6X`?dKcMrCF|TNE~72heUBC@Y~3oo?$Jtx^lM5=9=>)mX{MHBbnx&_>iniF_?mFIdCF9H~u1{0HesY;`^UiG1CqgRPCnkuxOj!E& zW`K>@5*9%h0Y{d~1_h3!H(wo(G$-0Q2373TI5F+(uhIWFHlis#w=SxkxHIWn z4VTf8`7@rb5q8f1m+25bu_W$VgpJ^nh{=8jMN%T8#Xp5;oJh})JvK@2gyq&}Or4xX zXR5RHCQMOCKmU-)ld~vyZE>Rti{-l9{JD#N{I8l&JY)OS`2n_~DgTarIsGpGR-Hn} ze-_~FYN8+ZHam(bu5Rq;Nu+#Zkafz(s&Xki`)co?sdx66&j8U8$qhxRsc;TBiTNo@cM;c|Wh`b^ZL#@o=XcQ#zpp0)dWE0Wuu~ zk}3LpkRyjqTkzoiA>lmS7|w@$@GsGJW1f9DQ;nm$dx4DYzGW3Pj4b}Y3h+7JrOU>a zH@Ja7@(xt810z9ZRVX8KSd~HUR}siC&_BXP4g?|%&FC%;74&<6;94Y0P|rd5m0jyk z;=0q?v4g&f8`szb5mL-NkC3=Sf?4+0hYRT_}}k*;i}!;bWWU#Eb}m4rt5 zN0VLR%Vv~I;QO*~b7thDVonT)vKLXkIVUq`BUeXbym6HZwp)MZ7}tX56QD1FqXTbK z0gXo%_7~HRCEHHjRnZW6FbGBGz}V(Kbt+11Nz_Z$PpDrd2I9dqt+~@t;DgA8 zTdNt1!jLv6E2#`;#9GaDQ$hXxIqss9Ed^CsviXT9#B#aCkS!9bW1ECh$%NTTbbsq9 z*=)>infxOWun7_Rr~zeEFgZ;AP?$V?wZRFl{Br3+R@g>{cEr_|=bTJk4y2^;*ES-HHWKfAjWn+8vfg4dD= zp+?nwuQ4g(0w@0Y1Ikl|=<<;v=oJb+q6Z{)xg4LW`)olIu(zD@h#x&*)-$LU zPXqk-QlO3NL2>+PiPiF8R6s`|3}$Z-{n~lsPORo1#^unO*vdJ$nSS*}qjT`}TdVk~ z*4SP0>$vF2l&X>C0P(OOi$lG?l>4B}icbk*SyhXP)8qO+> z?eLfpkUX;{!K8Iiq4SZ8{^jNF&q~<}V`e9S*=K}?wBhPB-;RgXI>p(fxTPr8c?0$v zb0idesW+2k7u=)ha7VyShGmLt?0p%wet(Ob@0;LMs9z6GRiuSPyw_2mdf-(Xk8d|s6?Lnb4!r$H zmfwanbB3R6`}7*cww+PAyYg%ediK@#KWa9ydb`D^qxz>&4Rw&+ys{p?oE|gWHiz=g z@?wHHqM4UY89o!lG%mc`Tun~|p0F+$U$AI4G$0zNb#C+A@BlijhoD{e=Hu)-%PZy`ED&nh>x^xQ`l#_ zT_;OPdgL6~TQH|M%ThZLS$v;Z1lj8Ik2DZ-0JLPfiH0njO`m^H_@DSCb3yxqif1Z} z!wPhnT^fKA+Z07*5_K_Kpf7t1sTw#k%A(fL(i(`~rc&Es)f~)1Xaow}r~w~K_CZq& ztMjK5%hHobEYB$#s;J9^3$dh5sPKPDb}4{cdGZY534jg#4jPV@MR!8q8!1u|IM5Y5Fi}M>fcs}T(gie_J2<4TC@=#;W;}tp!l zX2dfLUGHT(Y0PM4=VBan2~**)cB-mf>9oF5ZpGv0nP)FAdlsAg@H6mJgwn0m)ty@4 n=B4nuUv*L(!Ttpu$EoQ#0-8mP74q|kL z=W%Rl+i4I4*>drS7znZ;%@f%KDqY8ZS_dJJe?Slk;>Q0RT{Tk#Xk%o?@M59RnLEuH zDOYem;;^fpwEIKo6&nOWa2z)R6P*5Z{_Z;#fT~4TukY>;`@{x%-7zsgTH5?)03Ckd z7^(VMvBH@{($Pe=2K~t6X{0Hv@kcT})9mmR~>@HILfdoVH_QvG?Z&b%?2M zHlwq=9F*r&l?>zi&mOYb#GTo|Vh1cLw}oWlK2oun&D~dqHtfyA8S3gYB>+p<5ArmY z8i}cU8!Y;*0@z2wXQ=Z{_EHw%qf7bt>}`}=@zI8rdUpInQq59jmLZCc{zvXKkMH~*`!n&j zmk!2zazt@HtI0-Dzi}X0Pa+D{Z$iR&T$)N%JmD~NtRl(bL%q{9zyUZlvAWEjs_kFfm-m!|V_w6G8{-3o^_8%}bRK$vny z1bw}qPv=Zf7=6^!j(A3PC57Eupxv6BVjF_AwYInunL`{UYAvZ2kX2cYHm2@`O_a9w z6U`J&3v4ONFJ4QIhc6wv;HfKnvHvof!}%qd%C7esr>r;_D*bh(qC_tpA^LlVuH+w5 zjy5Z`AsBoq^fR|!ba`niz+}h7kA%+V!q`H4Qk~Tn_0e4^!6&aBCX+_>@8*iu55nSK zpRbKA7Zf>%;cL>+jid1R<_AAs45LiuA=+hn(OGu~BMl`27Tt&;M?NgHEJN=*fGFC- zP>)$e(2pOXn&KxTNZJ%#eYPTziT@z-W~guGKn!@bL6Y*^PljmMSWzUq>kT;yF)$s| zPM`I)yk7mq#$8@^YTlx4a4Hi|Z}oD92R`P1*=VDv3LZuAnJcB`zAVfxPE1u$_#y&| zil%3ZsV1pdPjpm#Q@h3Ey+lnXIsuwa)F@G*Sb&7% zs&*F(`xmGUzXECiM>lE#H24565L44{0WT{>4YWKOt|yoi>4iNt>we-Qux literal 0 Hc$@&(yo`t zOP0G@&CBM-ZeHdxr_4KvG+AEe>QA_*?>XP+`+1&oo?pLAUmrIOb$xXJ0HERF?t%jV zlnTCEb;tIlh0vkc4jW&u0L*r7{ZF;rl+w1}v{P_C{s2t}%l)Jp;Z&PDt*l_^e2_mN z69E8#tUX-N0clDLqhL<8on{unKC=6&#`^n@6SI=ks)i3$#4C%sicWiXz>jDno*_5# z;OZoY730_nyyf{2Xpc(zXbyMqtC>nVV6bKm6Cau>QHwKLE4>J71uq|y>7)wIX(ow# zn{2Yp_~j(mUf{Z2)JH#r@nUR+3$GEQaT9T?kUczyUTVd>&2wIQAWEU7zGT>LPgCBL z)qgWzoyu1`DhL&=L_OX{$RA-@7$ec7$=$W=vsUQ-Xaw-fN+(@=0!W`?Q}55)u*0Z< zM#(~u>YKnFXz~C`Yvq7OZ>V8TFvBL+hJCeq1 zbIkPJdzasF`cQ~~B0GgC(s?UvkBwJ7zA&yw*s*>$LlHKMhlN<7xP+4}yY#y{ub&tc zKbR-xAzXv^mgF@3H0823 zhdvow7qmJe9JGM66HX{HGHRJNyisY}y8L5Hc{dAWynPBGX~LinxXeo=6P-081}rOG7Eu!W!X zBg-4|cl~$|AUK}?nPIgD^7sR3=h5&JAn}_I}}JE>^veEEyxKccWr9@ zS(mQ+x-v)&TCb_19f2Fb`tWR=NE8bvliWGY3bZk|x~DQ^MtNDhz5rJ(eU{`ti8a@X z)~CuFw6l?xRC%E)9|BBgpk8?!M-MrChqs7myWOA7{5}npblv74S(gd>9Al=#i;-^z zs`Uhsh3$RAIN^l7=VcU_)k&OE1pxaH!)BI&NA@9hO8NEAgSED3v>KyMk zg!7xyh@UH9K}pwQFT-XXUmyLrH0@Scbg<0-%y=(vJl@FO_Yl!=x!EqwAbI=_$Cag+ zTVrbp8moh5ine0!2Ny5ouG|1W4_K&mE2x`1i-e#n{lr|i^!U-~mrRU!eol9?mtUj5 z@i)DSXfXoG-0%!5DPOb$b)=q*`^KCkvw~#?ux~nD&SfoKWxU$nI2sd<4CFy?W}RBt zo90>3jddRo18AatsM!~D`lk!1PBgTKkA`yTQpeq%saMEj2@~aH3-nSYX(s*{^`Y8Q zaJ&A>&*r})%A795UNEFVq64v)biME_e2m{NPB&%&gU0EvCp0^jv*C{Z_gVtIyf*eIA|2k5&fSJ2tH=8&k z0~RnxPmgc1t+Em}FsY3<*6?BrZ|;|fTEjrs_bOObkp(_=c8~@*usNQY+ve(n!%|_6 OAdaW2pUXO@geCy5Q^E|IF&jSnmC3pA+O${(5t|nwOPk*q3{#^ zuj#BOH_cY4&$ZC>kQXrba?z8~wh>&#}gd{?k`laAg>%jb%lQUb-NhooPu zy7j+t`oqBMYb;N1+p$FR^sV4?U$pdA+CQ!T`tI8AQy*TOvv4Zv$bPjcr{}xWrkvjH zD8CA+Z7(N%UHYnJ=2nZ#`>#EJXq@e_`(FN&hu_y|NmPcz1+7yT?k&{Is54QyG8x4P6(^q<}iLe;qIk9@BYZ0 zU6WiU={+mLHCfJVOWw?RFH>XR868{QX8QfbqesimIII1>^F%K+=FXmHdT0Oi9X^#G zoEj|`m~y&g$$R4`ey9KZl(S^>es|@J{QE%n3(w=u3Y?$u`p)Wpj#qcG_a1$GOs`gf zU$S`r??12h-eM2h_Ovecf5aQL@6k=4lz;iZQv4>ht>%cppYW;tH;+v(nj-(Qwo#|!T(=1S9aZfl>K+_gdH26J)P&jVs%}I{jA?vk((EkEHWDxy3_%_q*FQTh-7s1=FW~3T z$L*5Y^N;giUiY&uTiPaj-L>-PE1vzZRJqyq!%!viebJtyHl;szo!d~g`1Yjrk$DHB z&jwFEpS4V}Vt-=Pr^2mL^GkML-x*)L|Lno#UoVGEkIo5|mq~xIJZt5DnPuyyXT3W9 kz$W>BycUsp?a$f2!klw!67r{S)dBH6UHx3vIVCg!0AAnto&W#< literal 0 Hc$@@gry|JgfLhTDk2i3M8KKEh!~xK z)=EL3)#o4(NKn}%1lfy>ERP{9f>@BkV=c%7O$hC?zrdcEJKx-M&+^@K?>QL^x)0WH zry&M|!P2PS0T|4N%uj3UMpRQ3-nx#0JL6Ok1;u~$4v6Y|%~0+Sy~ z2dD{|c$JF?==`><4TITCrg?h>{luGn;kE%aZ6xXnE1T)8O_x3j|>;r#>KH~$$a zI6-vPg~i$>8xg1SE4dY-GvD;YnXHpi);ZV3DZl^RFNDJT4QQtm&&KRhb`ew_3ehf{)ioUYfsZi z*@WL#KwZ>Geoy4zQHx=V?@NbOYjH@IcDKbX3sBdEoiT?L1he2}X=Yj;G-wSg^Sx_R z(gm!p2iyz%L7aSHHEl?Y1PgM_sp*Lm%zbv47usyKDSKk%`Cw%EaH6qBx>B?a_UWyn zjLhFLnaQ2n4C6hay)nVmRV2fkx?t@(MzF_g5(sE$N?~`E*$d%^v9jt8oO~wD*&VC} z4nYH#LmSbc6`;crQR0Xs9(KfQEawIdAlb@->hLg8e>HJjf`bU;1F|8Pogm>+oYKx- zKe!`Qa1xLonv3`nl8HVV+kMb8Lq_}cACF>YYDJ-$^Wz(R$BnukDDzJxwNU6HL|*4| zT+6IHZDj-MfWAXvU=sj_ovq+lxqv#6$8jx3Q7v_c!t2`KFI^68&_+IU@vvvdTC^gs z9^y15t>-lUfZWHZ_+*W(+;NV(n0X^oEGe(vh1a~sLq(5er%;GygjqH1gQA0Y2c6L* z%rP=l1iOxJgHrWDIrby{2^9n z#v+W4nkTs#X`*7$YpCj6B9qPJRrj_$*?p$c)0}#&eZ{Seo!QxEg5+^=&|HB{V+7<> z|Hp+2`#hW6i(9C5VDH*cW44@{jv%GIakyGOS@ooekp?$P`sT+BSOnlez;3+8udQt0 zN8Fs^>ziT+SgCGjx7-%6OfLppmI-{v-%H}3qJ$#a%KQC*QW;yJxJ~cqmAI*W0jw$8 ze+6vPuAfUAe0Tj>lB_#?JG@U^(%OPmzELc#VWIHUWMcPTe1p(&qxcJ$w0fm@!Vh(5 zFB|XzoMtC;4Pnx<>rJn8!StCr=PWvB^sW^%LlDC?iqP&snXJy<2!19)YQ)P#VT15_ zy$k(;rF`-ZwKfLK(s@{pE}IOmHHVwnh` z*>0NQq5HiC%um5Osf9h3FzMs2yc~DPNxLhr7=^W?P&hfGke_N1(x7#{#?*(SY}flu mY&Hp literal 0 Hc$@A;%%LHnlTovL za%?o?lSAb#L?SAQTHf?Y4&Qu#!Ta6U^<4M!{GR*w-1qOkuIIXLHo?U+r=?iH6*vmb!lUX}b9;UkQ zoSoa5o_aL^K=~KW#nCTGVZKAC08rlwcxWoy=wjdx1>^(%w%vUsShASD(csl?7SAZz zvS;g4LieS4>f?=w-w!V0$Gz@;Z%Gel>p9)4RlC3`)@xtjZVXoEN_>N;Qixnv(qGlT{7GG(qscVQTHP^psCwmC#xRPX!fGXYMCBD#U>~Y0?(ws; zU7naxB-r|cUJCK&@5I>a#Yi>Tq0Z)jV_#2=k}{3>d!;~| zn&$n8=%eItBy3U;F={^urW+w)7P9));X2r{Od%i`f>>)dLq2(!$oPCFgR)h-YYTmg zXya7^WVo|AW9dVhSA+?Fuj{stE9{{T;&u_cnyjPb2m7)2OGr!HCuLucT-=yZ_t0So>}RAA82_Fx;L0KrxR6ht`asLm z%JIbuvGVHTHlEWowaIN;m#w=Uz#hUFDZn?=I8r_Q| zWQSS^AN7@Zn0;5zar8jngyo8ltttkB==ouS8;7h;oBtADysdolND0Y-cTarA5Mk1h zl+6YQS~C1Q4~!^FZ|z19{4OS`S4dnj!8Dq}jV#N4NAzM}Z~lUbOG!_ZX_HWpN7<@L zi%#d0b-h_O5NXxpGg|Uenl)g`os;;R&QAsF2%%fwbMQOd%}QMTY1H~0kttM8w{Nn3 zfvrgF9^2i^jG?Z3B`SzYIHVbT9(p$~lYC7%>sv8iJEc)~R==pgxT5iWs;^5&V=VQK z{kz^-H#B7k^bVI<`eWHAL2t8%cjO9^k{{O;ld3>;Z!Nr7ka5>(6*P^~=kdt>T#}1P zeuG346ZwXXb;oQuAWZ+BL%vbI8Jrv&m|J}vUY0q*Ec8s>mC{%s+EvcK^wk)#bd+?G zm~ikYm53VPR#VVlB+&FS^5qb1C#bZ2Rmsm`5baCTsO}-P(;!@{NKM)c2TVTTGe?d8 zCH#n1({q2!L3yJ3)=*HiMbO05Xc|a}7~TO|n8To8 z$RF*)6mqgq6hw^kPJEt$AtFwF;KQd@*tfC_wRRw_q88iYA$vvs-@E77G9ATxZb((+2=Q?7SRUF#EzOvp1XjRrY;*7>m9$J*7xZvS(ng2bgmYx2QI3Avf1Nl zc6Au>hYsgDg?~g?)#n~4lZC&QYTC`=kZ@iFwL4(Aai>MTv+gV~-8c@FUO3>!r!EDEt#V3h!)08{nf70BP3pnl3lBy|s&z&0nt8`V zST@%Ur=`UMbMZrMq(3^MJKyFuBKG$V9yT}6bU<&1O6z63;C|hYs;SyE?`&g0h5>J` ze@|BpH1Chp|2S&k#l0{$pzxFlQVDQjSrB4ww?unU3Aath@3J2n=BN&vy2!A887@uf zWHHqV-A3`SS(-YR^2=BgOnc#r@q}BZKuP2q?a(+A>@gY}Mfq?6a$nuIBWWHj1pTV> z)1iF^)BkNP1ohd;3I3QZJQ9$h;h$wCS~kf~>Gt~P!k=kgA6KO*uH2XYm_<=qc>6Ri zA|!hjT%Jh=ORfGWk;g}4%GQTA|G?$HBzn7f`tJ_dc=6OZw&iJE!n%v6Ntm<*3g6-8@61+3e;p&P8$GvDcWbxFtpVvT=72Di| zjzCW1w_C?K<#YJKO& z(;6ZuPaopeJya}b=bUW<#zx0Xj05mvqx0~5mFk6gI6~CYP};`o5;T;mcp8in-wd3I z5ky5rhu1tr?yN1dwqb?h@9lXjznYlC$+6?Lz;*~{RAha((%0=^Ve-qVD+Q&sWsl@o zi=Wt)YN6|%kt`=AMiO+W76JH-W*BFbu=2>WlXmc5_O)Iyg4t6lb7p8pKm=hA)nY85 z{Pi7QH|qxbTG1imPju=@uTAioIDnKh@Y)h{n6)}m6_7^z;`)of)|k7G OY@TsgPnS9;3iH1W$7Ff{ literal 0 Hc$@Z^qxEuHt+kuR9y zn3qCuk;{=f+-mY?3MyBX?)N>F3(+p@A z^$erdN7+;b491qBfh3mF!Neo#DAd=%?nP{L4(jU)`@+LUfuzMK!*1XSl0?V`$`~r= zd)b(|17S@VERF&?k!8p?UTlkFe>tN!MZr8)BZJlZp}vIF1VSUUjS_~A`#dJahyAmR z)8`VxNIf&Afcpt1wgApeUsc9zMo6DFg^Lw|^kMgh3WtdersrwF=7MlWa22NH4=YnzXaxv^t(;7q> znLTP=b5aFE0}T)Fj(s)I@(O#pFj-*_=NY-6YduZ!aCKD4vN^E2?g&;6=Z-Hgly~~+ zb91A+a}C&|Kus{q0qW}|iX$MTb?6CKl&#bWQ&o~bx1XYv2U%O01Hlo60%S3?tw``T zEzJx_zIY$0vZo9Y!aDnE)nJnO=T29YV6!@9$Db}}ohWyrZv+s-ew4FZjl2X++&tCt z%F~;&uYq-Yq!=cZJ5JX|y0RY?q_{@kf+ntwcUDcoxp_>7=xxwM=P7@zJQZ#zx0M@W z))>#^yQ0%eAJBv>RWtusnT7|L%(S#b{Qy|=Sl>0bK#QK67Ww*^aQ`v{{{Jwfb(5EX;7Vn^-|aY~6~MKI}3}_KXGMWo>S$wH4$cTO5w^PTb>G z$f?g3b!q4uf_BvL^Lg8=-eWGG!tuk_i#8LR4B}=Jl;ns4g!XHX7yLSJ5EKfY(XMO^ z$eeDVFNS+`T*&xVq)!Um#t#B3C&Jx3E}UjLQHg;WZX;KJ_=aY3=A)m{1V-a{=HVSp z&M@7PY`Z2^)~9e6=CkEpPfhRby;g3o*4F9x#QbgWNKU;~0@t&I0cr*J&`a00=P+bd z>MWe-U?4C4YO+Y5-a#C&=DgmWjPm~!&c0!gDKf{Ijr8#2P=R;>}kLDbpgdlVCdHtx&>q`v=WTse9{&iyqeNFras!K1%nk{awsN|30*B3)ckSlEps$u%D*T27&3LxDsi+cHaV zaF*w;lT37FV_#A&L`_xV`^YD|C3WLeqUFd!{#g+*5XvkG)p_pb%5+^5%z92|hul7n zy_r8Zv$4?M{(H^R<5+&A1ZDS{7uaWn4Ilg_%= z8QOnenh(%2;lC_BeJWIJme;({N^YguccFHo{mS#U9ai{YtXC`&_ij`Nu(d5nzu)Nd z!44zG5wrJab+1fJnc`IZJ#L0SGj{6;eNRq9&#y-E{))+ZK& D8ffnQ literal 0 Hc$@Q1KqzaaIJ zdFoaB?V^`*`Ttoi^WRe8=&pEnmH3pG%ChVCPkg01_shgd(@XaJwPT9;zuWh0|5fi@ zuI;bOJ4?9km3Q!6udORScN@hPTJOpar<$W=c5a`JJo<6s9+lzv|mpmjFnQvLW{=N6)7a5XP~s^yqI3%Ywd7y2T#(| zT`w4xJ~HZ<``V{}YNWo{Q%!b_p4W4yt=s*PvGK*DLoM&K*)Kj9J^p>Q;G*c=^PbF3 z@5n0@{W8IrQk`k-nG zzqpIMUWrpcnCQie_bPvE)a>lrwvKtq3Pr0|@zrx?y;xD!<5Bb7h$Ciw6QiMs?7HXA z7FZw0e|y)|mZZ?o^x(MB&+usJ+bQ!pHSaw0T2%bE>aC0a(gn;HqcvaL=ycriE^We+ z*GUs*ymnc?Q}6wo9e!ULUc2zCC~IDPt5TH{zvz2#fT73z(nZH(#G6@SrkAtDlpA}T zEnUREO~AH>rS(OlEKsB0mlQ6k)7CrhowD932c+Z9S_8!n`1SAUw-$b4|M0GyEC(R4Mgb*zpjvWF} eLQsi?*xb$bZ%;zrG+wP(I|6XT=}&lwn)Hh8)?hEy=Vz01h;$UuPgLS~M1^xBXA zmfsa-Q8_*B5mbre8Ho z?^PIjW$uw!+7oncLr>5a=f|dA7r#nCM5NXm>%>W|5A2#4=miotiA#^@0SO0ot@>Cc z-LMcW{E%n$c}cO^Kzj~JUemc2vRGs}m_03!tM|G_tMQuu69Z4(W{_BF5(jdYn`ZBI z^{AepH9%uP3XXO>6V|PD)0`)jKOJPQ)#0R+DW5vU7K?nnRM8vM1967kxeap?4UK?K zb<>ms3AnjwrboDG#(~&rl1p#Q1^OsyT42}uW7hvQTESkmI=twq)Y1zT&*hdHcu6h= zyS_ij;;@mI<>60e48D)&7EOs_UVJ6~a>YlphCnWmc_0i53Im``Jdtw~ze+BR@DhqH z$=JimWay>J>GIfDtRqk>SRqF>RACS6q*GBWlTIm32st;Y%b~3C$tOV%z3C1`n(%ax j;)h_?!I>o(gBt}K-y(y|ik=lt7d$&QYMr)O#_KsO??A5B&7OP@}nzeV$7^R`w zqLj9}6vgfD{sH&CzRz<%&-uPM=iPap?~C)m!pwk)k%tig05G8pkyZczFyo&CQU6Wa zT!+s90IDVn6C1t1_Wb|+pZ^_L$4=Y+e(lzMD>G{VP(qqhe|r99*;5`FSq(7X=vFry zu)(PEJw!f0N3+1XyG4-i&}Nol<-vXJL-ej?_H9Gb}->aSIyEYB8PWN;ipZE|;pE);LXH=@@Mj6M} zT~Q`-#9smc7}Zfo9h*?#USHhb`heKt(`wFYD!_lHpeWRbrHrW*5b5Uaw%U64uOu&d z@y4_+bu9Yge+|5$&ueNVHIJ;vtEs}(I$yxwTKj$$z&p9T3p>deTw)PCU;#lG8JQUp z@5w&GOhqds7-Yz@l{QLQAxE^KyqxB#Z)p@7*|H7uo>G~5@$Ag?4UP+;Z*$nZR%^$M zQbT24#$ponEZFmB3>=|-2{Phnv>H1ah9Q_7(nD)%vM?1HwoBx!lIH>@M7k{HW1Ts& zNmAY;FNMB6dsNmc9V&u;2MgctP52~&Zes!z;+^Jx{v3&AP_aOR}B1&~P^N7iD+Uc)@c!U)n zzd1mAc5DZ203Ms_s|)ZC=gu_N3f@Gfu6P%($SdzXL(H9?2o}K3%smR!N}U6}zyB&q z>1_Ye7;)KU%a-CCqn#HDy1i01l7`8YTyl}H)wnA>k)T1XxQXu7e9SJ${zF~iUQekn zQE36Z#|gvHcV%?@tN;aIS)L7M5>D}__|i=k?{a(N)d*h0tqQr=)5;pd4u+90z0o5l zm=12i(}b;2f}r8th3umH;(id6Q%O;>xyFfJwQw5@9L0Duj!2vBoI-B z;1bZC47rkk7fikKfHsiJ3T!FSm{OA4%;nAs4&ZVNJCG{!7|3wQNuNu}`NAFUFNF(T z9h>1*XQ*H`_DBo{nS7Y8fJrFDfe2Gp_HNu%Y^S`lY&|0vQf~BM7e6Lz4_S9Hnxl}QG|>Nw#(h^N>v+EIqY$6gS@XiOPHNfMDTx7?8d#Z{m5mO7MqiF zAbDp+Fox~ma?3JLFDdV*@Y!2m?b>?k#q4_F=rNFlLE;tyXGh8wyJ^G&OfLCP_HPW9H$2>2hrAwaI;*r#3TbhFs$?gm`^? z2^?3F<#dx-algDY817O!3X&PmriDi3B5d~=!gj)m^y5dVZ`l;bF- z;ki8il}3q-B&GO$<-3NsF38Cz8{DzS+t|~hO3g@Vg|pY z+o`}+_~*<7P!!^+qtTMcEs<6tFx3k}#1snzO!b4lSU_!|uGkS?YiPR@SMNezhbldk zjMp}Ou}dg&D?YkoXjvBh19@k z%A`Bgib=xsJ>ZXJGGz=6BAfOElsp^NIr$V20TAV{KURM`^bF8C6z-QF2gLLX_CHH? z(rDlK&go5lalid_yK1uI0BLv)5AcePbho(30v^NDU9&gd+($0Id-DbDIM+!mkubLo z+c$Stj7>6iMWD@gclo97HstVAToGgW1UB?hkfeq6dU9XdFYD{IAN15J9C28=n`QW` z^$8m87UuK(L~%bV5?Pq<7kf_*{M&xAsj_Kt(w_*I>moote9xcnNrK*;aPBa(iok;jRr#J1Nr3AwYx_7<95 z%m#4TaUMn<4Wi$hYRo$(Xfpf?!LAVCOmrV-@lU?G_tAK2S+F$JC2${Gv3zn#(Tv`8 zsRJjaI2$ox%6qw{t)c?E6-Lr+oWLrO02c*V$c`zOd-oqfuN`utOy@?DD_>DHQOB2S z`*uX)c{)mAMy{qtkKKekfKa}fnwaV6Y=x5RcO^(>6N*W`T;A}7Kngf8G0J@5hiTjx zhqYXf-%X2T$E$na7)-9;kzTlPnd#k#SdE*jIv{hmifzlscvujrRpSz3{6|lzTW_Ms zD<2z^QrX^O7p(7>qFX9!T5dNi%P!9BQ{sMAtd!;g-uU68Zz2HyVw_$WL`S>-q$#;1 zzYsf@GK7MV?ue&1Vd`BxaQAd_#OnkQQl2PHB-;MD-_XqKLR!lt0_U^(an^8&3l-1_ zu-$KNE2veO1*2uePx+*^53)2O9Bd0c@}JgLyn?`=IFt6i!p2Kl$bt0bUjy>*H6DS zPnEOds)gE^{o2htD6@1)>D5CM-JiRPQINDiS;!WA>(*Ca*tdZ8tNxu`ml9nm@h(mNBlPfA6_NV)fMVnem|v)6^kI6F z+b(s#ayE;i>wSKj5(k=#Qq}axjgTjQY_+1!!7rcbZKfeCR*3y>Rzf`on`AHikDvj| zSK;Ib{Bu8E5s8O4Mo;+pLF4HS&F`#$2fmJrk}6RC-}w<&&NGjid3E4}=L6skDbx?G zajht=4hAgjoOWX9@hdQezqz*>4Mp#$hGQpGuxM>I%X=Uxd3vgtMfFGQ-C*T zMn6wAgetColor(), $this->getIcon(), $this->getBorder()); } - private function composeImage($color, $icon, $border) { - // TODO + private function composeImage($color, $image, $border) { + $color_const = hexdec(trim($color, '#')); + $true_border = self::rgba2gd($border); + $image_map = self::getImageMap(); + $data = Filesystem::readFile($image_map[$image]); + + $img = imagecreatefromstring($data); + + // 4 pixel border at 50x50, 32 pixel border at 400x400 + $canvas = imagecreatetruecolor(400, 400); + $new_image = imagefill($canvas, 0, 0, $color_const); + $new_image = imagesetthickness($canvas, 64); + $new_image = imagerectangle($canvas, 0, 0, 400, 400, $true_border); + $new_image = imagecopy($canvas, $img, 0, 0, 0, 0, 400, 400); + + if (!$new_image) { + throw new Exception( + pht('Failed to save builtin avatar image data.')); + } + + return PhabricatorImageTransformer::saveImageDataInAnyFormat( + $canvas, + 'image/png'); + } + + private static function rgba2gd($rgba) { + $r = $rgba[0]; + $g = $rgba[1]; + $b = $rgba[2]; + $a = $rgba[3]; + $a = (1 - $a) * 255; + return ($a << 24) | ($r << 16) | ($g << 8) | $b; } public static function getImageMap() { @@ -64,21 +94,105 @@ $root = $root.'/resources/builtin/alphanumeric/'; $map = array(); - $list = Filesystem::listDirectory($root, $include_hidden = false); + $list = id(new FileFinder($root)) + ->withType('f') + ->withFollowSymlinks(true) + ->find(); + foreach ($list as $file) { - $key = 'alphanumeric/'.$file; - $map[$key] = $root.$file; + $map['alphanumeric/'.$file] = $root.$file; } + return $map; + } + + public function getUniqueProfileImage($username) { + $pack_map = $this->getImagePackMap(); + $image_map = $this->getImageMap(); + $color_map = $this->getColorMap(); + $border_map = $this->getBorderMap(); + $file = phutil_utf8_strtoupper(substr($username, 0, 1)); + + $pack_count = count($pack_map); + $color_count = count($color_map); + $border_count = count($border_map); + + $pack_seed = $username.'_pack'; + $color_seed = $username.'_color'; + $border_seed = $username.'_border'; + + $pack_key = + PhabricatorHash::digestToRange($pack_seed, 1, $pack_count); + $color_key = + PhabricatorHash::digestToRange($color_seed, 1, $color_count); + $border_key = + PhabricatorHash::digestToRange($border_seed, 1, $border_count); + + $pack = $pack_map[$pack_key]; + $icon = 'alphanumeric/'.$pack.'/'.$file.'.png'; + $color = $color_map[$color_key]; + $border = $border_map[$border_key]; + + if (!isset($image_map[$icon])) { + $icon = 'alphanumeric/'.$pack.'/_default.png'; + } + + return array('color' => $color, 'icon' => $icon, 'border' => $border); + } + + public function getUserProfileImageFile($username) { + $unique = $this->getUniqueProfileImage($username); + + $composer = id(new self()) + ->setIcon($unique['icon']) + ->setColor($unique['color']) + ->setBorder($unique['border']); + + $data = $composer->loadBuiltinFileData(); + + $file = PhabricatorFile::newFromFileData( + $data, + array( + 'name' => $composer->getBuiltinDisplayName(), + 'profile' => true, + 'canCDN' => true, + )); + + return $file; + } + + public static function getImagePackMap() { + $root = dirname(phutil_get_library_root('phabricator')); + $root = $root.'/resources/builtin/alphanumeric/'; + + $map = id(new FileFinder($root)) + ->withType('d') + ->withFollowSymlinks(false) + ->find(); + + // . appears in this list, how to excludePath? + return array_slice($map, 1); + } + + public static function getBorderMap() { + + $map = array( + array(0, 0, 0, 0), + array(0, 0, 0, 0.3), + array(255, 255, 255, 0.4), + array(255, 255, 255, 0.7), + ); return $map; } public static function getColorMap() { + // + // Generated Colors + // http://tools.medialab.sciences-po.fr/iwanthue/ + // $map = array( '#335862', - '#dfc47b', '#2d5192', - '#c0bc6e', '#3c5da0', '#99cd86', '#704889', @@ -91,19 +205,14 @@ '#4bd0e3', '#a25542', '#4eb4f3', - '#705412', '#6da8ec', '#545608', '#829ce5', '#68681d', '#607bc2', - '#d1b66e', '#4b69ad', - '#a4a154', '#236ead', - '#daa969', '#31a0de', - '#996f31', '#4f8ed0', '#846f2a', '#bdb0f0', @@ -121,13 +230,11 @@ '#7f4c7f', '#a1bb7a', '#65558f', - '#c2a962', '#445082', '#c9ca8e', '#265582', '#f4b189', '#265582', - '#bd8f50', '#40b8e1', '#814a28', '#80c8f6', @@ -142,7 +249,6 @@ '#b888c9', '#476025', '#9987c5', - '#828136', '#7867a3', '#769b5a', '#c46e9d', @@ -161,7 +267,6 @@ '#45a998', '#faa38c', '#265582', - '#ad954f', '#265582', '#e4b788', '#265582', @@ -187,7 +292,6 @@ '#ae78ad', '#569160', '#d898be', - '#525620', '#8eb4e8', '#5e622c', '#929ad3', @@ -209,13 +313,9 @@ '#63acda', '#7b5d30', '#66bed6', - '#a66c4e', '#3585b0', - '#ba865c', '#5880b0', - '#9b864d', '#739acc', - '#9d764a', '#48a3ba', '#9d565b', '#7fc4ca', @@ -232,15 +332,11 @@ '#6bafb6', '#8c5744', '#84b9d6', - '#725238', '#9db3d6', - '#816f3e', '#777cad', - '#a6a86e', '#826693', '#86a779', '#9d7fad', - '#8b8e55', '#b193c2', '#547348', '#d5adcb', @@ -250,11 +346,9 @@ '#b2add6', '#5a623d', '#9793bb', - '#bea975', '#3c5472', '#d5c5a1', '#5e5a7f', - '#b09c68', '#2c647e', '#d8b194', '#49607f', @@ -269,7 +363,6 @@ '#ad697e', '#799a6d', '#916b88', - '#aeb68d', '#69536b', '#b4c4ad', '#845865', @@ -291,20 +384,16 @@ '#50959b', '#b27d7a', '#335862', - '#b2a381', '#335862', '#bcadc4', '#706343', '#749ebc', '#8c6a50', '#92b8c4', - '#a07d62', '#758cad', '#868e67', '#335862', - '#b6978c', '#335862', - '#9e8f6e', '#335862', '#ac7e8b', '#77a185', @@ -314,7 +403,6 @@ '#467a70', '#9b7d73', '#335862', - '#8a7c5b', '#335862', '#8c9c85', '#335862', @@ -335,12 +423,4 @@ return $map; } - public static function getBorderMap() { - $map = array( - 'rgba(0,0,0,.3);', // Darker - 'rgba(255,255,255,.5);', // Lighter - ); - return $map; - } - } diff --git a/src/applications/people/controller/PhabricatorPeopleProfilePictureController.php b/src/applications/people/controller/PhabricatorPeopleProfilePictureController.php --- a/src/applications/people/controller/PhabricatorPeopleProfilePictureController.php +++ b/src/applications/people/controller/PhabricatorPeopleProfilePictureController.php @@ -32,10 +32,11 @@ if ($request->isFormPost()) { $phid = $request->getStr('phid'); - $is_default = false; if ($phid == PhabricatorPHIDConstants::PHID_VOID) { - $phid = null; - $is_default = true; + // Compose the builtin unique image + $file = id(new PhabricatorFilesComposeAvatarBuiltinFile()) + ->getUserProfileImageFile($name); + } else if ($phid) { $file = id(new PhabricatorFileQuery()) ->setViewer($viewer) @@ -56,7 +57,7 @@ } } - if (!$errors && !$is_default) { + if (!$errors) { if (!$file->isTransformableImage()) { $e_file = pht('Not Supported'); $errors[] = pht( @@ -70,12 +71,8 @@ } if (!$errors) { - if ($is_default) { - $user->setProfileImagePHID(null); - } else { - $user->setProfileImagePHID($xformed->getPHID()); - $xformed->attachToObject($user->getPHID()); - } + $user->setProfileImagePHID($xformed->getPHID()); + $xformed->attachToObject($user->getPHID()); $user->save(); return id(new AphrontRedirectResponse())->setURI($done_uri); } @@ -86,7 +83,10 @@ $form = id(new PHUIFormLayoutView()) ->setUser($viewer); - $default_image = PhabricatorFile::loadBuiltin($viewer, 'profile.png'); + $unique_default = id(new PhabricatorFilesComposeAvatarBuiltinFile()) + ->getUniqueProfileImage($name); + $default_image = PhabricatorFile::loadBuiltin( + $viewer, $unique_default['icon']); $images = array(); @@ -163,9 +163,18 @@ } } + $border_color = implode(', ', $unique_default['border']); + $default_style = array( + 'background-color: '.$unique_default['color'].';', + 'border: 4px solid rgba('.$border_color.');', + 'height: 42px;', + 'width: 42px', + ); + $images[PhabricatorPHIDConstants::PHID_VOID] = array( 'uri' => $default_image->getBestURI(), 'tip' => pht('Default Picture'), + 'style' => implode(' ', $default_style), ); require_celerity_resource('people-profile-css'); @@ -173,6 +182,10 @@ $buttons = array(); foreach ($images as $phid => $spec) { + $style = null; + if (isset($spec['style'])) { + $style = $spec['style']; + } $button = javelin_tag( 'button', array( @@ -189,6 +202,7 @@ 'height' => 50, 'width' => 50, 'src' => $spec['uri'], + 'style' => $style, ))); $button = array( diff --git a/src/applications/uiexample/examples/PhabricatorFilesComposeAvatarExample.php b/src/applications/uiexample/examples/PhabricatorFilesComposeAvatarExample.php --- a/src/applications/uiexample/examples/PhabricatorFilesComposeAvatarExample.php +++ b/src/applications/uiexample/examples/PhabricatorFilesComposeAvatarExample.php @@ -15,10 +15,10 @@ $viewer = $request->getUser(); $colors = PhabricatorFilesComposeAvatarBuiltinFile::getColorMap(); + $packs = PhabricatorFilesComposeAvatarBuiltinFile::getImagePackMap(); $builtins = PhabricatorFilesComposeAvatarBuiltinFile::getImageMap(); $borders = PhabricatorFilesComposeAvatarBuiltinFile::getBorderMap(); - shuffle($colors); $images = array(); foreach ($builtins as $builtin => $raw_file) { $file = PhabricatorFile::loadBuiltin($viewer, $builtin); @@ -26,17 +26,20 @@ } $content = array(); + shuffle($colors); foreach ($colors as $color) { shuffle($borders); + $color_const = hexdec(trim($color, '#')); $border = head($borders); + $border_color = implode(', ', $border); $styles = array(); $styles[] = 'background-color: '.$color.';'; $styles[] = 'display: inline-block;'; - $styles[] = 'height: 46px;'; - $styles[] = 'width: 46px;'; + $styles[] = 'height: 42px;'; + $styles[] = 'width: 42px;'; $styles[] = 'border-radius: 3px;'; - $styles[] = 'border: 4px solid '.$border.';'; + $styles[] = 'border: 4px solid rgba('.$border_color.');'; shuffle($images); $png = head($images); @@ -45,8 +48,8 @@ 'img', array( 'src' => $png, - 'height' => 46, - 'width' => 46, + 'height' => 42, + 'width' => 42, )); $tag = phutil_tag( @@ -65,12 +68,23 @@ $tag); } + $count = new PhutilNumber( + count($colors) * count($builtins) * count($borders)); + + $infoview = id(new PHUIInfoView()) + ->setSeverity(PHUIInfoView::SEVERITY_NOTICE) + ->appendChild(pht('This installation can generate %s unique '. + 'avatars. You can add additional image packs in '. + 'resources/builtins/alphanumeric/.', $count)); + + $info = phutil_tag_div('pmb', $infoview); $view = phutil_tag_div('ml', $content); return phutil_tag( 'div', array(), array( + $info, $view, )); } diff --git a/src/infrastructure/util/PhabricatorHash.php b/src/infrastructure/util/PhabricatorHash.php --- a/src/infrastructure/util/PhabricatorHash.php +++ b/src/infrastructure/util/PhabricatorHash.php @@ -78,6 +78,21 @@ return $result; } + public static function digestToRange($string, $min, $max) { + if ($min > $max) { + throw new Exception(pht('Maximum must be larger than minimum.')); + } + + if ($min == $max) { + return $min; + } + + $hash = sha1($string, $raw_output = true); + $value = head(unpack('L', $hash)); + + return $min + ($value % ($max - $min)); + } + /** * Shorten a string to a maximum byte length in a collision-resistant way