From 3c2548cd906d7f9d3ebd5c1ed76a2eb28cee68ff Mon Sep 17 00:00:00 2001 From: Peaceultime Date: Mon, 29 Jul 2024 15:07:14 +0200 Subject: [PATCH] Progress on auth handling --- app.vue | 17 ++++---- assets/common.css | 79 ++++++++++++++++++++++++++++++++--- assets/global.css | 59 ++++++++++++++++---------- bun.lockb | Bin 360864 -> 361144 bytes components/LeftComponent.vue | 10 +++-- components/ThemeIcon.vue | 4 +- nuxt.config.ts | 24 ++++++++++- package.json | 9 +++- pages/explorer/[...slug].vue | 1 - pages/index.vue | 6 +++ pages/user/login.vue | 10 +++++ pages/user/logout.vue | 1 - pages/user/profile.vue | 24 ++++++++++- pages/user/signin.vue | 1 - pages/user/signup.vue | 38 +++++++++++++++++ server/api/login.ts | 1 + server/api/logout.ts | 1 + server/api/register.ts | 1 + server/api/session.ts | 1 + 19 files changed, 242 insertions(+), 45 deletions(-) delete mode 100644 pages/user/logout.vue delete mode 100644 pages/user/signin.vue create mode 100644 pages/user/signup.vue create mode 100644 server/api/login.ts create mode 100644 server/api/logout.ts create mode 100644 server/api/register.ts create mode 100644 server/api/session.ts diff --git a/app.vue b/app.vue index d4e361d..96131a8 100644 --- a/app.vue +++ b/app.vue @@ -30,27 +30,28 @@ onMounted(() => { -
+
- Systeme - Outils
-
+
-
- -
+
diff --git a/assets/common.css b/assets/common.css index 60e69b0..4423179 100644 --- a/assets/common.css +++ b/assets/common.css @@ -49,29 +49,78 @@ padding-bottom: 3em; } -.gap-1 > * +.flex +{ + display: flex; +} +.block +{ + display: block; +} +.inline +{ + display: inline; +} +.hidden +{ + display: none; +} +.row +{ + display: flex; + flex-direction: row; +} +.column +{ + display: flex; + flex-direction: column; +} +.gapx-1 > * { margin-left: .4em; margin-right: .4em; } -.gap-1 > *:first-child, .gap-2 > *:first-child, .gap-3 > *:first-child +.gapx-1 > *:first-child, .gapx-2 > *:first-child, .gapx-3 > *:first-child { margin-left: 0; } -.gap-1 > *:last-child, .gap-2 > *:last-child, .gap-3 > *:last-child +.gapx-1 > *:last-child, .gapx-2 > *:last-child, .gapx-3 > *:last-child { margin-right: 0; } -.gap-2 > * +.gapx-2 > * { margin-left: .8em; margin-right: .8em; } -.gap-3 > * +.gapx-3 > * { margin-left: 1.2em; margin-right: 1.2em; } +.gapy-1 > * +{ + margin-top: .4em; + margin-bottom: .4em; +} +.gapy-1 > *:first-child, .gapy-2 > *:first-child, .gapy-3 > *:first-child +{ + margin-top: 0; +} +.gapy-1 > *:last-child, .gapy-2 > *:last-child, .gapy-3 > *:last-child +{ + margin-bottom: 0; +} +.gapy-2 > * +{ + margin-top: .8em; + margin-bottom: .8em; +} +.gapy-3 > * +{ + margin-top: 1.2em; + margin-bottom: 1.2em; +} html.dark-mode .dark-hidden { display: none; @@ -100,4 +149,24 @@ html.light-mode .light-block { } .align-stretch { align-items: stretch; +} + +@media screen and (max-width: 750px) { + .mobile-bigger { + flex: 3 1 0 !important; + } + .mobile-hidden { + display: none !important; + } + .mobile-block { + display: inherit !important; + } +} +@media screen and (min-width: 750px) { + .desktop-hidden { + display: none !important; + } + .desktop-block { + display: inherit !important; + } } \ No newline at end of file diff --git a/assets/global.css b/assets/global.css index 25da060..89ad96d 100644 --- a/assets/global.css +++ b/assets/global.css @@ -4277,20 +4277,35 @@ body { object-fit: contain; } -.site-nav-bar-text { - color: var(--site-name-color); - cursor: pointer; - font-size: var(--site-name-size); - font-weight: var(--site-name-weight); - flex: 1 0 0; - text-decoration: none; - position: relative; - display: flex; - align-items: center; -} +@media screen and (min-width: 750px) +{ + .site-nav-bar-text { + color: var(--site-name-color); + cursor: pointer; + font-size: var(--site-name-size); + font-weight: var(--site-name-weight); + flex: 1 0 0; + text-decoration: none; + position: relative; + display: flex; + align-items: center; + } -.site-nav-bar-text:hover { - color: var(--site-name-color-hover); + .site-nav-bar-text:hover { + color: var(--site-name-color-hover); + } +} +@media screen and (max-width: 750px) +{ + .site-body-left-column-inner .site-nav-bar-text { + color: var(--site-name-color); + padding: .5em 0; + font-size: var(--site-name-size); + font-weight: var(--nav-parent-item-weight); + line-height: var(--line-height-normal); + text-decoration: none; + display: block; + } } .extra-title { @@ -4978,14 +4993,16 @@ body { justify-content: end; } -.site-nav-bar-text.mod-active:after { - content: ""; - background-color: var(--nav-item-border-color-active); - height: 3px; - position: absolute; - left: 0; - right: 0; - bottom: calc(-0.5em + 2px); +@media screen and (min-width: 750px) { + .site-nav-bar-text.mod-active:after { + content: ""; + background-color: var(--nav-item-border-color-active); + height: 3px; + position: absolute; + left: 0; + right: 0; + bottom: calc(-0.5em + 2px); + } } .site-login { diff --git a/bun.lockb b/bun.lockb index be1eb03cddfce2869d46d98dd31eacd82f917f06..eb681e35162ac64111b1438d6c4030e1042a0790 100644 GIT binary patch delta 47646 zcmeGFcUTn3_cn}o&oD@IsA|Mjs!Qovu82b|bn*J;DBX_MDp>bt4lt;OHU=bAoxR3B>)=rcOKyQ@plIK2XX z{;?oiSP)X%rKdYq93={ZEkGa8a-gL^i-IP^MJEm#EC{aYN8M6#P{RdGofW5xL7jkS zfl}opPL;pl10_Ky z4%`{Elpv&}wnBzf_5vkE&H*@p?pNtrP-^gA5#Ep^UNNgaoVMkhuk z2!fAl+hK{}$O%Fc%s?Z%4@ws4q0+H12U+Aj{*WShD!s1KAjpy8LrA_iG9hS%OuH78 zED#eNpAZ@!FSLeMq)3!GD%uhz2(3_oOji|lMK-lGD0EGQY{JNxaN#=&i650X0_qAv zANi=Rmb*7*g<4N7!`12wS_!xbDD_qWFV!e(d1cx`T~VF{ ztx3^-pkSqTz#nS&ksDWVq&XtO5}zPk2QDh~5>l^M=Z=f+%n|0W@KeAvjoF|y-CIG) zp8HV&I;L&{rRjD?!{kPZQI^P<=(vQ$sF;YvL6)eOHMyd>a)y;_N}MO}_N@n3(-QAV zCKhUW@nJtu`FnsBdjgYv2E>^|!{Y^EVl6Ir9F&GxzBX^q95pi1j0I^9jgE_gnV!Nn zq_s8=cY!ePQJ!jZp#L?$0-j!%e1TXEru@s@!jg{8iH z<@Bq=EwB-keB_WSuQ_@eRvYy_PCjF(CAGmCDhbqBmaI+AdG&Z%e1tiEFxtKiOu8JB z&DM_MIeDbDo0urCux?@5AH;jh1f|y2fRf!~%n5@%hlY<_sN$KRWT9~?9X{AXaY?Ym zhmW9zIIF*v93DR)(Gn3RluY=NwhvT#TBUncx(1ZoGaZ!NI9a6@ zg(3`gRT+&`>Zwv^l^Rs~x*fO3EtMWu=^mA?1Eu+%r_ymMja6wsmCk9Z+8?x13M%wM zhBQ3gjgQ>iosYCLXfg1ctL3pF++}uvlKVOJ;0+Z9B{_e{5%mJ439i(WQ_X<}#(Rd3 zNQg5(1)m&hNPKiupMjQ$@LVv+ld7U(!Pxb`#H{>~<&1jNpxlSo*TZ+Ho$~Tg$+gE5 zBi~L&n&SpxAqyA#agX~8l!lQFO0~DDRBz@J`>{XQDm229XhFT(;8Uw3z5SyA1+(0! zu%mQp0OuZ%&4nG^vk@uD1fg-!@$tjsg&ap-dL24YUuQsRq)p@%g&kA08PjG~a}jL@ zHCK@aau?HPUYl9&LPDzMf|@63uBo}C<|&$osUDG%s=1oxvzjYuKC8K)=F6HZYOaJ0 zkoHKSd?Z)U77Nq~!%GIm$WtGKD&~min}`TZrj8#rC|VHOz+dBdY_I_(mstWzHXaZi z9WlThA08GRnV4XSh?mv!zL-F2u%k+$fambR=7g%UShQBkUIa~AVvo=`#e%b-bQJn^ z7`M7KoYODB)XHya`39(O3%nedmijbMS`cxd)J{iG+PVEfX?SHoDMb8;;tS;#Xa$NT zhmoNQTR=&0At*JJrsB}(i0HU5K^O#F2K+9d6zqaPNzon2+zeIJayw9}{|*Y0{0&fQ z_b*VA&jKwDx)ii19jPX(1rDHO$IysyGfXEOg5QzhL({k)hJcbEZUvtj3LDEi@)*ZQ zb{LpC)Hd(J;FAR~ah?h0LGdCmwf_-vL~nySr6AK784`?~$fIf#&>Fy}Cn@K+)E%H? z;sKx@pff?MfmVeanRE#hDhWDCRm>a1rR~@OlsbwY7_OXtwNnHgAqIy>35l_Bg6vVO zXv&A_+=P!oZBgO2iY@VV>kP0Y2z_UAlVkrM9v>kHZ&a+UHTBzbN6(>dwH^;*- zdi=tD;Vvk3bQP3LtDM&p<09h2qu`=~aDNe(y9!Ej;o+VGEphP)r&RoAF)xo#FefBp zecuNzChxRsQ?VslEP)zd&}zCMC51+9^XMMQ@w zXTb8m{vUclJ2c@>QBF(25^s)+GmjK*17nI(lxq|6kj*=I^jHE)ip&9}ijkHmON==_ z{yz^4Q&3KxmbHt^ZveFg)^^taJUD1O^77qW@sItfeS|sf;$^>Tr}%`paC77cLDd_WyD=_x!0rtM_|C@JtO>XEZ)3NjU&<3~ne2Nz1iVQC<9e&hSt7*KoQsC}?> z6=aSgLk((+HB7}*_H+IzIjxkNWc52A=O;O{lv}5XIlQr9pkys=asv)>rG|h{N)0k6 z4uYc#ga6>x>7`QbyxkF)lxr@#+qgX|Jv>Sf>Yd=jod7<~Q35C_ zTJ$7e14C7QAGO{=v|oy@8#k+(&j&@QOU*f@+L12r@YxMa4UR=QDX3im#Q>KCZgYl5 z_FPcfY)^tx;O!!>aBxi7g(iytB}NSnHzO`iKgZP`#i1}p#miN>jVetCRhI4rZg(sR zQbsrqOnmL$!XRK<;6auIPrAM-bct)*8Wd)#pE_G*V8e>1E4Ln~Kz0kYcv_+cMhoN6 z5#bqExcZ19kueGJLK8W*v}4LQaLL)U?r~`rN^3&9xYI7i!Yl&^l6pyyC!^r(s(iGI zx&h!jgFlo`FxYdq-{9Ne3{cv?BS0&H_PfPrxdY^3M7fZobIQcqe8!_=uu1Jq?Jm>aZuFG*ynoxi6$%N3zhhZW}4V(%T{|R`^rK51sL#-f0g;HkJQ$C#YYI%ugT+RjjGN>=A z^wASO%u_1O0(C<9GEP%cCnJMCQ{zCf6jS?xl0BM%lD!h*BP=kr5CBYed-#$M!v~m# zG4&Pq9CsCKx4#A?#t(=diCdkoc{^*MDD@Mgj-dP-8YsdrLjk#7E*O~X)TzK^f!S}l zMJ9k20oD#{L!#p;un8%UBYtRf^iT^p(dNVic(#z3NO#-FQn5IPC~YYgCLXn$@PRwd zN1`cU97m=sb)Xh}`^cx{87O&}=Ed=JLkKrg;s;xXTF_X%&%D7Qs8<+rW>B)ohcA2z zfKPUu zY4KCb%Y%~1D;5$JQ`)Q429z3n3rfxvW+N&V{cbHPmhq8zdwW&74U{alOiB@zwKAu$ zs4Uj;C~!f6cCWiEFqts7h^Y9+IZ#rJ)*#L2TeSm6TTvN^0P2YH*kYm*P&$H=1${xu zQpG^4fS(5Wt0h5nR2c-@oL0v%~K>-?hM|(b^ zZJ^`>Z$N1v;gQipELcEm)$;kE!nOiU{Ji$!MwVUf;Tm%;}>ubIVC?wv?G z`u2(`xbKqL4=>+zp8e-s-KE%6*2t%3l2gEE%cL#?gYT{#I(NX`{nxM&4(SYd}(ayOzE75)zXmq z7j=JxmQVA(kYHa^P6_$D+x!z}&yVfbeA$f+D;={x>ejwIHgNFnnn$8~F6?l^ZPeGv z>*icO8S7yB7*lg^p=Xn~tba2p_?OJ1z0D_&J#A}~R(?)Fx*y5Ar^XH0*Qa&f;g^3V$1J{d{G8>F!-1G#&>*uc7}HF|EZ?dPvIPyi^*&dk>N%FF$2 zqw=C)zl%10O@6viD9yPeUrFA zw$wLCmr+tjE0K!oITGdA`bM##>>gl}62Pks2_4lntOn{UZ*CtTm9s*Q*9LQc z4Yz^1$esZKQXQN%f)ze$N=t#L9fRy0V3h6v(fFv2zYUf@4M6b}X(kZOGw<-AoY&MO z+R5(COooLxL$sAWn*|u&BiCHX1>&T@b90evNjyo9=s*Kd25x9ZNRA8$l=GUK43~lG zD>X|Zm?<^kWf?6@QVuYwE7G9EQnGtXlhg%qgw#Y!82nN>qov7k7QCiP3w05Fc;BOu zYfLV zZ+AHlf9J~X?M>2Qgmw=!4^M1t6kp33?M;Rt+(v1rwDL`M?_e_cAzDYtk!=GEtB~uh zC`{>dKXOgvXKe$-`m&|7NsN#) zI-8`kRrumWJB^J}S!`gf(W)SO!<&1L8%gF_1%4ie#SU+u?Ad%$B?XQz#+Zm;uK(w~_`uzk%np-I=tscCL?21mi z8l^-al0-d3pkqK}H$@@Iz7{M6gm~20-v)qIA>uHW>uexuq>$3cRUm2vOBoB>tu|Ms zkh1*EK>qUPRsrHl+0w@(T>z%Fhz@`Ex4{{Yyapi^^VCU2uxBfyG!2M+2nYtQ3ueY( z*96M$p(diHWzq^DGNlrz3|FX3**={i5+p~~50JW3 z4ibeFPu~wj-S9KSOG1i#rAC-|#o&p^ardC{WC2n8*jBN;UI1aZP?A7rrL8M4NPmCh~^pAgMzWZcJ{XWFQ(UCh8vIP>e}Bg0+WLg#mhFa;nLB zF(yN!7J|@Aeijp8Sd3f`CHF3$*Aa8sS>dfhu8)!vTHzaIC1*j-tmKX%$4lK176vK2 znaG7Jxi`r5Q*yy=v|J`~yhbq`CwOTja$JMM$aPn0RBwmVhrD@2pj8J9NA^q%Fbqcy zyE$@yXssmCPHssuNn^V46NM5P z#piNflF2Z-yJDuK0O=ZX6h*l|xP}yvl|})no`YcchwPqgvZ>UA`xYy4SXWy)VfO`x zTEKe2(qEa6UiB~<9+0%`i6g24+HCs434yRkIvAzVK-d#fOUSV?M(H7ty6s`jdiUocod^HnKv=|hc!<{XZXi`3 zM7c6%Ttw#g5CcS`QjWdS79cVPU-@}Jq_Z;fQsn{p3pU9pc9z{Inxt7O54Bqxb(aUo zHR=aRMMJfrQW$Lx)KUpKGm*olP7{s690jVQpv=ksHUO#*1RKRhvioF{I6<~dHc1D< z__$yX9FYv+n%y!F_}c(rslzy#{f*LMAPP*F5HxXC&X{5{xDG_K^5!W4hEU`X_>jv$ z4*DSXD!4AJU# zM~-W?D4%y1IbNgIP^$54YM>P|t(E2uAlFikoEB&mp-FW{PSpfCEbi%nHpq|xu=&En z>O}Hm9!FJU__awP=52)q14JHRP2OSn2-K84Gl+pUv3yFn?~MW?ufdLji^a=8wdKwI z0wmWszA6McHr1cLnGb{z-<;P1sZI{JyR8Z;+ppvl&#UQ`GaDXVQ|sYiW>^n|F$@Z{ zQZm>sb+r@ZAt@%C1kD5KxU&+7)}wM<6tBt|b4^mIM9nMdVABMMOOO*J$(DI0X$N>6 zQ40%vqQA{Bex=J@x-U={ZHUr7AX*B1`1Zp&LN%QDgMr9Fd6bwB^t0Y$pvEZU8@I;@ zoX?duX=9xZ6r7K40`*i71r7g^f`B>W%geAD2&ehQfi}p%>D5)&e-yv!=L+u!g1@O{ z)snR4sH;?<5Z*ZA=w%?@F?CgAv{puvV}a^G5_SwWO1pr1=eJohnQzpXb+pnSNF6B9 zexSho9zFy8tk-Rf)*tn-9_VM8Rf^U->CzkMXPeuATJkng_7SKNP+>XqlD|!Az91%l z1`zp{5(o@`0r|+0xj39HHA!)4STiWYsTx6IHxSJu=Bg#ml0a=a!gc+~vAB03M@|kf zv>r!W809jM>!w^Y{gB<4n+!e2)2RU^QVw$dsLMV06A;&c&bq!6IKm=oZ8Ssz1uIuz z2ap@6Try3cNLOlfW%?AkVG2(-8P5tTyvfM%YqmScjZ#W`PtmSrk0IBWQJywxUY{&XG^a017MA0?i^&lF3oI@_8xkNcl=HTjr02lo^Qh6p-)50ko!0O`Ab+I@ zCo0_i$=hm@UV+z8;UP{+-ir$wJ{m}s$L_F>%9JVpft*?gE7i0_jkGM*7CQw*K-f8Okym-CHb{!*J%D^r2QJjvC{B~}el;2Pf#;#f<{?*GX)zO8JIfi{ zO;W36`L~1MvWY@&FKNr|fCC`;@W6B=uj;wZbjHrbcNsP!J^G%BcMkhzt&d zo181u!O&JG_LcK?nxvKBHBg$TP4X5{ZRK96-AY~&M>2TJb|BhZbnI18m|+!Hg6|+r zRK$%k4v1DRUn8f0C}QF622A0wIzJ!-wF06w0$)HhO9yJCAd)<*O5z@o*(h1B;Sbx3$Qj@X+qoR>CE;Y&6o`+2JZvnG;=@W$XMui3 zBAXrgiyk8h0rEy~g=O!-M(GcrEk z4NDQnv>Lm(W%<}*fT#>NA66TszknJ8!NWHjB`J%SDU&O0$w%1mq(?wBS-4gMsc;rn0Fb$GB*Or=0FjZp_QT=^G6Lb6YAbF5 z@8yyR=GgFC0pT|E3mia>o1`ots)wbH$$A4+UqQJ3lRUFE6TaH+Zv#L@*v+Gj(z^U2 z%qs4J=bbQ#m1XynCaf9DNt3~4AFgoZNL*&8AVlg0 z8z=~pe8>6)h+4t^6OJeaM6Ey)tyt%1p`5~ST_7q`Mj|Z%>c;EgPUIUPgd1!XO%HMp z!9?^hN>hPUgTnj&1X6B)NmhUGr3@+blL*upZQ%kPKAxo_=!bCs35c|Xk6}uTe`-@n z_DBR$C(mp&90pSE*hz*%TyJheKOjCPYTW{)#&2w(uYj5=J!ft=N`8m)oew9TL?CLN z-&)HA;&!5|icdf-QKr}sm%VwHOyWe@{jy0q{uht>u+mARXe(!2HqjP|zmH`1E4UYX zlssVbrT}R)a_T(bCd*zq?}|x!2OhPHt<_?b8XVK?k3J2NKpm9`a|Ai6iOT>i3+ume zmkY>Fxm&+Ywp_!v8OL#!)%26b193Z%4Sxq}rqq751sCQgxOK1(8n6!n(M(`mSbmd% ze$L)OAlwKG4v<_sszNuLQsCgR8Hi$HW1QI5Hi%^7@I1B8{n-6%%LmfN`h z3tlVm_<`4SmLG9>SegOUMJdZf0Lulctsw99{x;{d(*mvV7II#$$*>kYKlxd1fZ-Z) z4Jao$o#zT*^-eY#S_3J3-K6vK>@jx^Le%iPOY3grt zS=(ANH!7emO1L4@P{e2P)exhUd4)$I)B>`-$}OXWQ>h)0>RXu9DL^zGSl5V9*+8^r zaIS%Q-vH65adN^m23+H#=4;*pMD?(l!=o1g@pwSjG&g|wtwiVR+PWsGRzS^Bhif$p z$P)E&U>tUYxBfpm~m6PZu^29|Hg03E%oXT-+sD3 zHAyXR^IrK4z}Y}FCX5g*9|0nJVkIv2m))P4q9&H*BgmGg&GQ1VeaMj%pFjOwe&wQ^8^x}&`wNpeOSZf)NuN;C33B{o(E1*}54e(ZxrXqd2ett6+Bvs+{&MTXl!a9dE7qmDrlAsL|UUQ>?9w6XhbO6ZnSOs zn16R>CE&q9tecv2+uHUcxO5h>1sAsOp>U-ZPX*-`ZAoRk6M-5+hSrHux(E~i#LLP& z;|Kwzo6)u_Q1^edRv}O-`d>`ySpQrQy8c6yxFP?_-3)H$|B@A6{2RA3xa0``7?AC1 za69}L_YJsh{*x;Oz04m{XE-eoEgm=zz6#$66evII8emiM6%PtOzX9k7PJJ#3Gc5q( z#>WMg?R6l(fArLUy;S@)KbYCT_B1Q5az%eP<;#SYDB+O_myOb7AZ~xGBHJTC-O!W) zH4t_9jM>(F!#%VxxQ^QFN@j3XZ+dK$Rsm5Q!%6dn(e^D6nFJN^KN?hjDB9#LuR*QL z+k!mg{$C{<@YI!xyPWrda8|>Yb(P=o0V`jc*!BVPMtd|8?7ks2`_+ooun~i#ui%oaDKfe-2DSlQ!y|*pzbMyLux2$R z$a&$3Olphw69YusdJ#GHlRrJQ*+>C6b4W$;$Yux-w^%9=ANy_Oupi+hd_PvQ8PTxNrOY#d!v*B)I~v9hlaO6 z?UgUB8{^?j?v})#2!uF~FZ*^ON4@gFx#3YxI(ijRp0|hrqE*aKJq*u%CgitV#7>=K zDG|8=8eh5u6qk=$73cHH&%K#IBl64K@%X2@P;jO35=ij{Logl}<JykG67O+JM|Z#e<6Dq0okCn_uhn1X65C=Lf?cAgl`bbTJ2RIlh}l0QoEWC^xNu zs1Co9x(!5DghW^uHu4}vdunCkDYN+ywmH_SqO8s?BQ3blGw7W_}RN4cS8tSFeKA^>cBSGmy zluQ`|N)0Bcbc9MrtL0ihslfChN{XeVsf>b@3dVv@MU&NXqSV236%!@78K9)#EKst{ zT+qs(S!(%imA?;^>gRwK1wFxWif{&*l3?5gCEtAlN}qz1I(Vk?|BX_;cPJ;h52{>2 zN~~}ALzWT>@qTPT4e&p~78x2zF@+%rr9i2IGblA&5tKBq3W|S%hl*>1(unLL8*V9`CllFtUW4F2c6UgfEJ1_o84i=s$e7E}!`i`QU`myqxVt=Q$U8~;R##g&v>aQmD(lOsX#g@M~ zU2@{-Gi9v0{OGpIHCZ2j%-L0+nmIUl+~E~fqVH6nu=;Wtzdw_nwi!SC9Xk=Mb4m$~ zC>2}xWNw62X19;}L&1xmSf8IYSbmgrXS4Hg=i0up#foisdT0KojoWujY1=EdR@a@O zm13f9-OBxaR_k{kueEMdK)nwI)yt{1LZ=I!P_FR!Hm9l-zP0;ZyGyxmF5Yl@JSNmD zb9Pkok9&99mHJk~dEbkjvwu%K@VRvAh-$e5%65O0?Kq@!H`A^uEV(n(V>L4ahy3XA zap=6fT{Z{K$0e4%WUNtLSIsK$dHT%D_xinVT)EGjnfsGV-rV2Yue{!;O|e@~`gEx{ zv(C#lvCV1}zEMEEPX*O`5arfz!t5TD%2jd*kQ?O52@|Yb8AO9%#W~^&VBo~FlA@Y zKQjJaa6-|~N=U`5ekrKm;9l=W8Sh1Uo$9oCNSCj^MMs?OQ6y|xZRe1%WBpUhv>DfS zhjZAC-l-{%tlb{o$XkDL-F&z52RE&`>Q}L$^@Q%9*{^EDbQbzru;G|NV_Xlfo$~f; z-oidz7B#FM*d-%3&NF=ffzWV6T^mK=Z#rdr<_>AqcSA;b(PnOm7pKJEeqDC7cTSi`p~GGoF5QmL`0~2q z#jw#8E`ILsR`;(rE(g6T2y%=(g@r=ICr?73rf$l8%Dx-U+N>e{A))Z%^Vh-Gduvu4bzwR#e>nO(hh z#fHl**LJ4Vx7zZZTSBlQ6aOgKaN%_~FHD))W>3%q^Og^m`}Z5)J2_{|pTC^C^;{@< z_raF*9@k5}YB%HD;*oRD=Y5FiF`@Ly36aKfj>~jXlPAlEw8YhgfdAYm(EqkkPfnD< z8OEm53)6Yu4}T2ZyB=1;h0TQz;+`mm}On_Tm&H$Hm#&frcz zzQpx9l{772((02FcYfc$?XuKBu>@~dR8C}SyWS@j-F2EAvgXM6vb*ZozYHib?q*8t z-@k0BGNMP&@L3mYvE$oZ9TVpE+1aYin;jdvR5@$;)~NZt;whb8^kF`q_huPY6Vo9} zSFqs+Ntb+mHiv(?o}Fsm*{85;PwN8{{_J&o%=Cv33|E^~j>#^)EyerGs^;?+v@G8K z$*c{L(eCLB<{T~ZZB$xlju=pC z?BX8v2YZa#78v(x%GLH6*4H=B>p!ja(_aR55AMEm#>gpS?znzymJ#nKJw4px!Iju! zm!*C+68;!>cutFHQ}2`;q-e(@sG*>Ce_nf4rODhWp@%25nVV=MRCztqpB-L2ed^K5 zi_cxSSK~;zPW?WVig@9iGr!y@{|C+W2h)zPy%;dfHF?*Q3IW?1wQ^_eLZIH7sOLp` zj95^5^j_;b1G8*?tyHUfxh@NhFQ2v2-DtII*P!zoPn+d~m5wyFV=G1v5pU0`=k>UO zcf;nrMi+}}ZS@Q8LF5PcLIu^U*ym(+%d@_9hYlarT;3ko}EpKEAJ& z7*O-g?1iJ^3aBR)RBwK>cV*|jJo1>*POCejf9pUh>FWasZwHOYQOYu z4QjRhWyZ!`WllD*FYfnsag|S%I~vN)pE5RZ%xQ;?t_(x7y;2$2;5X8?mKcnN@Q~?Adtt^6moa z*%nmK`>%Sx4_~qFB0JSBGjCUyqceMsv5UHz{V8s>&CRf(0~(Eey>r+26LplLYyIzslkN_!u=Y*y)GPGwbQgJ&SyT&EBU#2W4A~3 zy*ssAaV21D-2C6p_3Gc^Bil#n^?cf8Nw4sbeeILeJC=UDb?KM-J{7Fx3%1+Jcw|** zU#PLi2kTFJN|YS+vi_ElDO*~3^jX2KM_d{ICFB0hdFy%{N-CgUiGu1qJ0EvD(DC5) zoK5eqjOm%V^usHUepM3Zotjg2?GEFFIn z(QSS2POB>HYr!IWL%qZ)x#i2bRU7BJw0XoM%i8fh+=Q^9wd$SBUU>cO!SBTvH{bu; zDA(-1d!9V*wtP#2KaTzQcC*;tyNw-J^y!@(H`01|0rg51RPWyR8Ua@hyVV{UIHO4E zkkH$Kw{J#OA9kb0wz;>CwCQmqFKq0bBEPp>?_A%ZYn8`mFIH`F_h!l4E%x|VzdLSu zzx$!9Zn1KGpk9T(b}@r}b^BQ#w_Dd%ul{lOqkDR*Zn?i#UGU+cK5Jj{BJXou*S&RY z`|Z@ziq+orX_*jRwdgKmd8Z9)b4-h$x|<59=TK0+G`A8y$u4c!UmvG!JCfFascXF9 zs=sZ&y=BTSUl`iJwQ{T0Ry!uRxjSF@9zF9)_VTgCrkEl(k2*VED&pW)x6;ZP}=vmB$Z!I=O&)js?}b_^x=rJLQTV>M(0c;OwXUgEM;9Tr&Dtuj#u7 z#%$>M@phM;Yv(umkv`vf($p(1r}}P@)BG2l|9U%Oan)wY8zNc+tt-xw`$E0Pld8I` zH3n5U6gPeK>tlC4-?cvS*9DuE!=5g-Z4k1hpZ|olgW^9P9u#)#s{0Jdd4$vM7Z=7l z)S2-|>Ocb<)bYXA0_r&zRL{KRaA)@)tB$x>gKnZ@ro;oL>Jjc&LX{ zxecj)CC}<_JMRp5bac+StkW)er*}{I&>*pI&n<1Pf4#kSEA#9J^@gUG2-zGqDaGnf zZ`b9|H*}2ab!*6tXKSkkCjDCY*`b|VuP;vBI$&_QtB<1GlTO*)y;SItuEazuOQDuc zZ4L$qh3gbh&!wPxA1``bDKx!Tt%)I>$1l1*XxWN`#g59pV2Yqi%e$+h$o4%|MqBWV=70rlFYjHujV-Dsau8OvtQGTlDw z=Har)Y2W>?9TyF+-n&H1O6jiso}TZ&6!J*V(dn{d8?aSJtS%t~+aK24hWsFezu4XVQvlV7A)(-%~ zFaV6ItkVE6LPEjVNenk8hJs-e21a-&815{S7`ut#5C%p~W)1^ma5xx;h~ddfgoEKU z5RAldFlw|h2ED?-8EIkp7 z1;fC2M~r@~(J(Mt4hLh+Ffh#Q6)`>%qw8=mLfMMpV5}bjhG7I4;jGgLFhWLxv6C2s zm^cy)n^9ndj|9WQGKsO97!ISr7|P6}z!;na#vx)vvJy#PIE@A)F$s)lmP3pq#HczN zj93;s8jKOiU|b+ZJgb-tM)fgZOh^VJk)0vNWn%b^0b@8z8w1AV6fo`+V&FRa8#?96zbY?$qU`>gbv4};k03A#Flb56J$Oqjk|wUUP52de2}U_N*P?r;fEr!I?1|hkxTI(u@t;n&Sc#~2mZsw^c#y7uOadLCh+yFeN%Lm zb>hOT+-bV*I>XhnxX(*XxF}7q-m`QzKRZuSnvEP9hTk6&gvIRDES=lW(p5_7>W2I$ zYPMvZn5}aZo%c26KjcDJT-tBqIyS@i%G65}-pi(iIvcTERy$euL$qy<@6yT$LTZ1| z@+9;{l=S%iNdoT@>%(-tB<&YcKV{`Got-G2VrLfU?i$LqLswbei*+q@iYoZAP35Pc z1DWk&ovU~<%X6{ri(b-xTk=zu_i|kmouSqYjG1h!49`LPfyIJmQaZTAYR}eR8`4RswzMD47;_=dbUYdOD8(Ba$9w-g@63Ue^jT)K6Y}pZY_ysz1*tv z5V54nW$K0+KK}_rDBeQeW5s^U)cs~iJEH!K2ya{anX@%njkfEi>1^Mf=f91lzkr_- zVrHgm!g^1DN*yk$Dk;;;PVds$iz~D4@4^@)ZLZH}y~@&c&`H|wQz@hWAlLS_(vYr+l~gf^H+=(^Qp1Xc9JoN5*KT@(}TaU8-Dj zl~*3TJ}R#Tc<48UenCm-MH=AKiZg`@$d^_H+kl6ELPaF{7MMQm!JuJOLV5@unYDw; ztBm|ORj#ATs{-CcmDfq-RRwRqLH!yeSY=iNGXsKT|IRAU4f#S)knG0uLL95S^kjJpky=9erX{o+t8eRV&1*JTLH0 zf=4E&1xHnCA^oPx#jCv9;O$p=2`Uc{4hh4-qiIM4kCaaF!Jkp8;BZyY7rbzlH$vsr z0k1rG6+lO-JU`@@t7aXg^6G+jN*zd&%EQA+!fBN^TIFHi5b#*Z01!b)29va@hvWf4 zGOuPCJj5WFP)HU^RV(AsIN_qIV4BJc1n(GlWR0;ZuL1H?S;a*7`7~90yjo;J(HQV( z{1iW^`-Vt(q=lZT5GH|#fAn;W@Fx}GGgYnI7T;UOYl6J2_Awni{G(?-=*P&Y z-4tP#D%cE6x|Is1Fk9s{NB*$dNxI5w0p2_`*aUQr%4>-{Q+cw=YX#myl{Z)A;lUdL z&!Z>`%u{&q8$5(3Tt_F=*?d(nhNc&v;}bb89GK|q6I7uNYZRk*VM)XE6;tSeg3?Hi zNKQ!3NM(>*kjf&JLn@Etic|rqB2p!!%1Bj^sv=cGazm<)*RMzVHju5~QU_%aB$f ztwmagv>qt~X#>(mq)kYhk+vXhMcRS16KNL`Jt;5+X)4k*q}fR0*_09bnqotCf0({< z{np^LL28TC9;pLT5E4CgK|7Bx(qNdB;sCAtXrx}4kP$joca*-l_=t@hrLW~hPq|!0 zx`uQe=?2nGB-%D^BjqC9MY@M{-@q!3)Yrgiz12wl3$}igetEsV*y;KqbwQ%HwlqWf zh^{{&eL*^hbROvf(nX}JNEGDnu(Tw7XZKWO>9Gom{ry1uBMm?rh%^YvAE_Qv4|Zj= z{zW83={`t(ktjMlA~_*BBNc;~9a0e_dIp9fH9ez4&+j}!%0qgL^aSZC(leyzNH36H zBE3R-jr0cTEz&#YJzC#E{Ea1#h9fQ>t#8O~C*x0*G5RXv8`f-$-Ytb5M`(%E3aK?x zH6%Br>PYTLHIV3e2N6k!q(`zsG9dXu=OfVb1=35T2S|^Q@{k@QEy9HTf>a*5xFVHC zazt`Maz-j+5LkAKK2{f_V>MFsbxRgUB^xAqVn{?1tXZWLeI?d1Mcg47>_(ctGV7nFuQPwFzHCVfJ?)X&Aq65e(6Rbs z_04@^;7nPl_W-9#RVMuPl9>z8@<)Uhl-(j@MTy(;a=DL*W@D3cq+d zQ1C)(q+?^p>#OOG>e!a?`ZBdCcr8bxOOX~K;dwgY26!LU;5B|V8p5Yw5VN-~4`w-i zRbIP}V^p&D|Q2s#; zQo|pSLQ(m%n%8*r)d+q6K$vdymxt1gA=e0rc1}7~(@~j}rlT+orZf^AZS9c`)0cq@ zAxI&VM!i6#%~43_J370WkhXwN7TSl@4T-F@1D(-Xu>n#IBs#WLMsi0!2b9{S9mWl~ z8kHlFr7`(JChC%7R-`>W1dK|c71Vr1(5h;_3TR~{;%Qc?3i;~5MCoix_3MGs3EctfV9-y_6Y9Unw_5$@pB1LP0RsfYM;}2EzV0)J8T_ULtv8X;#tz9}-8kyfPBaE187KDu9ydwEEqVeU{G-^-hg zUZt<=LMQOTDDB?M#k5yyn}E_fsD~?V zjregrXR$Lq(TnzCzU|c<9i}e|-2{QUTtMxG%W1lmVh7e@3>8^UsFkxehNA2AWke4) zV>3z`vqtMcI94%n?N$zjdid?6IOz((u>t3qBg9W%8{j^ zIvd#Es*LExa{EGG?Y(}^cJulc9WoX7xiF)O;XAWjYGEKt53_P+9XCR!e+=P&AL?56 zswGCXpJisCp>s@Z2c(jFEWNcd;)3JNIa1U~@LW@rLteO-#5{mkB zMgL(GrXxlFMfdY;=tlU2+6A{RdrHFpG@~NttH~)Nc4342TRDjn**>x}7iTXwq3Uc_ zgl0gglRteSn^E$Qeq6Md6xPfLz5hOO)hZ~jy7xajS8IJ|c3Uu&LCm}rt+!%*w!i?| ziwoP<&l$3)&eC=|k(Qn>F4~8%bO>PY*hq4-5DjUqEvuU9QFB800DF<{P|!zh?>;-R z4PH=kE7aty|DkQQ&RCYT^`}PHS+bRtquwawu`|^$i|<*7Ote^fTYigT2wPDHBHp$C zUG{(Ik*g;vJvxhPnV5-=TeDepwT|))Q<^P7w=Pw&wP4Jt!|Q$xA2Y4R^`C}OmFIGr zIfpUVUlDP%HzBk-y75ERuG37I5^pbGFC4P8moZ#fv0>N#E1$QZ#K+6e3x;0KB2m>v zduxL{^-cecA3Hx%s@C)Jt}Ee-7USgYOoDVowRPUy?CLVNUSq60hQ zYvowZC{)1aLeu4vGRk+s<0L=yZS?Z-_43D8CAshQj_mv%{SbsP(_VDbmmT;W>ZIZ} zCG9(n>^EAj9`2US(zEr=#1rgNw!Z5>`XHe(%uIbQ zV@V(`+ABBf@0r%+i$mD2T4zS#65C30`JH*QSD!KKUw^~2cr$P6_@6}8MrGzNAa#tb zS%>|oa*c`m^}a5i6>;Rn7$2>lYIpIXbqu;yBa14hT5u)gaDGT_U+dsX=VO1^L(bRB z$IBacNZ1l;FNtNLJ@F8G0_0*}nFo@8T+Qb8h0NHHC0W_$rT*q>C1nr%lx!+H0sb0r+0lN0)T`RR5^>qX;tFNt11UHeW zTDTvJg%d!-X+%_W@^QhfD#DnW0hI~-Pqc~k%E6HKyWw&Q7I?BTe9h9c%iz-78~laq zEcPMVc*HVt^zB@;DX=eUmA{y*CmWzu2YgiEHvzn*S&ob7|0AJ(*Rf!L58)86#6;_Ui zg+VU4HTlVCUHG%~rdK}qP$wDF_L8OjiQVrSJM|};e8BSlgz9fuxkF&av7v`xAMM?y zg_q=B9bf3KFDk=7$V2w9Wrv`!_EOUZZ+_1_Rvh2ElK~ZhvIIU zYHvrKRLFg4yH&rgQ`+;U@V}9zLqJSp8w(J1ql;soj_7Mjc6E7RnZ!JgqAl$;beBpU zc58oP-!imCheF&s-^$DoK%YrR|9{vB#51f7_5*m9%MX1mHuspme1U22_#gX0o4@tt z#3#)1HwOQ6TNtF%`?Cti^-eBD{rSEy+)j6O+{0sG(5ki<;vZH4-wSxC&zg8#A1oH| zre!z?BgFfPe0S0`czY5X(;-%ZTvG8&U-35UcZ%e)b`Ik<2PYvY46sPaT9ThjmZuyL2Mxu!A06}_*Y_SV^K`_d)*%vw0s zN`#r}k)5>n((e56^mXAf$EyA;nZqKlKrih@w$=$}!y-<;(ft%S#a2K-e9p2-&bGO7 zPat*LtZ$36DwlZtQ?3?!0Rg{Y2vC@P(5R}-yCzNl{3#HFk_sp>x^4FN`Et7X&yv}! z!Bw=qL#^87=7ANH-lmoLDR7p>LIB=AjpS@_MUSmL)$Yz2Z;!8kqy%K)|nG zJAPcadGo-MjXwM8S&6W)H!Vo*O?s9+f$Qs7M?UyjGLG3^L)-JzsyX-5*Ozi^@!_Yy zI@SmR;vUwE$Z?id(#qaiY4jGG1(u)odOw>IK{a=abC3V5s=Wa4NTH6b`J>2#KTDjM zcwcW{L1{*NZQw!Sd5da!x`scc8nF`B(PvjylZb_NDy4Ou%vLYp*9f@;=pd z^y;qi&-!a{rw{i^QkS~a-g_=DwCB%~y=*g@bkW{;XzSQCZ|Rm{fBh7Az;db2uj~tv zlB}Y=*7a$Yc>`6o_x@gM;_|InP^~nbs9x_1W)^w_5m|d}o~!Oo-%ih;(+Pz<9!E*u z0$lxXYDjxAaQ9B<+x2;UG#7GM;^e$e><0wIO3e8tR$wkOJ7Oshyomtvl%?H72`4Vv zn}PjXAA9bzsLTi}9wrd1SF%$ix0&Tp3x`;_Tj=n=&p2b~kOReJ*6Egh5YEhdZeelN zW#+=@u*+?Io&RBbF|$>-aaJ74@^0g-xRsf5(P1|0R~&IkdwK9y%f<`GOYJX>q0#Xb z{&M?LD z>vKozL22s%ODD!Dw($;Zaf;m{l*2yV!HBb&`7Ul9Z~Botq#SnYBj*4N&7S-bHs{j#j>5OA_g&wJJ0%R8d1<#g`kzI2|#Nrvy>4IX0h)Pw6}HVx-jm!*;X z$)v3r;qq;Vw@YaOVf|ooHn0N_@Y7xZeDcNJ%NGvg2|MmS*k`p@1otYrwv$WU(WTT9 z>`FJ7?IX0Uy;Jym_()@ov<(YY0nED{YXkuta(j`S_HN>KJ=^ZsHRGWB&xX3NSrG8k zUS=Hl;PceBy)6xYHk1~Hm5v})Vf$`}>I>%G{8_S)-JrI$_ar~s^kPc8k9PZiwtbkD z$b$~ISWOTY?M2IFGpF2nSn^}ppAD5^{UG3{y_wl#ajVvA8cw2nbm}tF-ramFBBbxp zI|uvzEQw>Ascr3L&tA#v4Ie@b`kw;JSuW}D8~Z|X+RLQh2iE$0Y>f2_RSu?p#A-c; zfEdFk%VWBEdfh!Y&i)jzWucETx5+H~joz1ieW@?wqP-b=rSHY|%hr4{LYP7$re`n9 zd5!~?(-Zwz98?xPLCf0PvF$EZE1U9!k(vDXVM)CrEXneo;GiM1iqBBB<5R@ZC2Z(Z z^x2Uudx|miWzUEx0;R2R#8w#v`R#DiC;AzhQHZmsD)RCfTD#8DU*IN1)#sXv+E-BG z_P-;aP;+|?W`Bx_bT(tP3#c9{3d~e zfo|3*7yLY{+&!W_^viqfq2f4J`h(ubukbj2UVV9Ybe8CN2pZF6BNP@qP(laQ8utR- z!e{sm`&r_^l1YJoy)u9Te!@Q$yr$gWBAYjzEu`SWp+c0K}sthl>Ba8Ku22{bKvR2b@ntt<_BJ zFU(}iJ|P5ZZ&q(9ZF`pX`X1LJ>3xAc|4~3ImALFNoBj0#YP& zMM5(eh=_oQNK={w43OVvcHiZakofh-AH2Msvb(dhvoo{1?=Wgv#{CO&dwk?_kP$c? z7Ob%V!Wy3Z?ljG>J-)>6IEs9lh(%3Lp%qJj&;SSp)0Yidck|^tOo{=;0qlil#Fk;CTJTz#sEXjTy1Wz9p{!n~DPGV2yMA*+jh zo4RoVL3G}Mt~|vI5uFS%Sbt_d_0EJYuI~@vRS3CR4w&;P^BHFSCHmqSJU5X@2+`i4 zKBXWo-tkGPT`R4@`lI%}>t3be=F`of=1GjndVj&6$TXd#lID=AuNJ#Rh15=qB9UBi zrDUz*q5ka&=hb=;JO1&METzM?ZeYaA5*CaY$^%)L_1EgX58bgl7Zlk~(W=eVSbxvH zMX&3>yq$aIs1353>gnJzf1M-Fp=L$4)HGdDRP=@o;T&}W0uBfbWjx1u^0!g1be=Qw z@QGdvY_m{@9+V4JEz(p@6iS3y$%RIAPpFB zq0Q;@uaqNI^TR?tVW}2MZA$s2u=`)f{_ZQ}0M{#2bB{*aDIsbmk2cytqB5OFm+X|O z&!ypovcYf1Nip7G>4gCl8!h41gtV+sE9{CZ1?VvxYI^V<#p#t6_PRwfxn61eh4S@E zxM9Fz88<&VQM>u#-rEbsz+)2$2MWle20Cp0(d*+QhlGb_Ep-5b>N+f>en3C~HHPuz zuW4(tK4_Bi@qpaeo4^Z~8uSA#XFN4AX8oCP$7u_G3aT}oJuygyD^w+?Um}}(YkI-s zIu0GT0|6lz@-LyTV32tI*X` z!qqG#^{S`z$BmDb_0Y*Hl;?nXa;Bbgs$x;tNgTka1I6jJcyFsKwP#`DLEWv;{HQ`& zN19i~*trd5h?uyVt5nYsy}L>oj_AXE`pi+uRu#wa+6u{U$7fA{pMCm3K3WYTo@g?_ z#JEgy0@a7KiNnpvRZ^-&jY5KI+s~ErQY2~z(q$(IV>AUg11|%3!U`5XIp1oKn7gmOt2?(sHbDOT5GILqKT>>Gv z4QA*}TJ55Q7-*9WQ}!G^W4;_0D0fMP-@2Oaf`j&Rs?!jR_5zPLonKurHvhWnLyxGaW{Sv%A@_O)*LzX%VD!z9p@Cibkvl(n-j2{K|&+dDq`u=hL{-^ za&$#aM}W>v_BkIgqS*)^WLV!uk62N+P~IzwKa@6z4cY`mE;z8T0W`=nPe#fJ`yFBz zLb9d$Zm`Dc-(C4{nOL$Sd(r|oaHv27^ry_|61lm}UHX^r0)aD3Xy5Y@9Ux+*7o@Iq#T~YNCTZc{;KG{$55xQ~WzXMn z8kUqaUAq*50xxFw3H4!wO+a9^SYNmBS!w4VLIr{tERjbS*`GP|Nh7Qi%eLVFBv7RX zg?MAG5e%wN!L28+#!92i9oywtt(){LHDrYWipQ=4TY)VjrJ_7d(&mo!?eZh)=A{Fp z`1%e>^XTu%@dpNfv__}xj1nCC%JT0bmBz#Ovfn;?-<_c0I2_{11O^K(cF4g4%N$qe zb=pLfG{oVXtV^^TEitUbdp*1c)xLYPc~=)jr=5)wHc+eRPauR<*&xBZ`f7ctodLY7 zM|eczfS_GL9~ht;NUPvsSie(d<)#%5Y= zZoI3-Y5FYq39c$fsxG`@Wa133?~$UKw{FE}U2+y%Q$Y~bRdV(~lVp<46Z==O zK;_zQJ&L(7vOz7@0`-W}bs7oOu(3d3;rbQ6zklU_r%V6>j&N~%r?rs2?ZLBMZe?Ga z%u#`wMSPn!aV_)d8xQ5AAr_}bdA8>~T(e@Ahuu`*1^b61M9>VPt)9S3p<|v9&`~Po z$4mr*3QH#JBPq)FsFaro~XvW-6Gef5bPnPE}gj^%Y#|O<=O%Xn*-$JSUc7ta6K=s29 zN_~_$RYO<2a$o8VfB2#$_H>MBhfv(UbeGBIP#s@9)Qs*>>VUUy@t|V$i<()u*>iA@ z+MwbU8RJo9qeQEp*T}83+*k3zM%#X_A&t)CVYq%owl8b^%`<~~gg@c9RM2Z?lcOIH z_I)GeVxRi*ksJM%?3NZV97cN(b@o$6+K>5G+JSwv!4KVULi5@wZmj|}g($C&MlW>A z>J&13b0i4GauBEqJ1Pfbdg-=hCGHJVY=aR^CT#3i+UM7PO_Nbtg)O%Fi!yM-rYD;M4&AU{1`xZi@ZzW!NtGkxo;6t6q;zEr>H>t4!Jc^BK_t7j|cji z%4v1t_>4)H|n4?e^F)=;Fr?kCg^b+I*vC(-4imFJ6O~w$k`$7B+!vQU=^E2 z+NMwi>pre*tqe2Oo!)ZMW+gN%!RXXiC)HH^jA)0%?O#k&B?gFK5MtO51fGURZ#=ws zZ`R5)GQ9w}rabH8z~Y`|Q~zdI={^8$jOvN@K$c)KUi(ZHjblQu1;xQft`k z<|9iu#$uytM3$G7P|2ZD1%4{qvO;Vgw^SNZ$L30F?GT#O9F32o%ZM9g_?V4J_f`uO z=F?R?bT!XX@0N_B! z;3{LSL1+-D5p_2*90LNY^ZWyGuhE8jvvt~57+pBUNLt&OAdf$&p9$JfOz-eRJx)=V z3iwTg#*L}7J?d;k5&lpYzakl)|JY{U{CbyLJyM4h>e8B0fnW{Yu(Rz%pZhC=D?}Qu z6cM2G!zTe|2cT-4Knegw4E=>S!(?#gmTtW}q~_8$y|5Lp9yP<19v%ok|0!Jz1l1LJ z(yMcjG6tETEkWR*Mu4I6+>INK$XE~C1!JJ9-#}*<3PP-Y1D)NoR{vrH9Y+j##>fqH z97n~lH^K>lun_cX&rfnR% ze^$i)cP|L$A_y-_zg141$#=uZi!wv7smS~L1M}ZpA)Cb+FOiKam%ppPz{3<+y^6~C zmgp#R#INusWm2c zGb(Kj?t#}N`ujbdx=r-G$U7!M>@x&u)c!_LuQnL1&XnCo$u@MnE*rCU{oLHmix%|+ zI#vRnv=_*uEw~GG>`Js%>epHTWY!n*j!+s?%yyg&%>K&G!#&MBE+Z`o@@u;DQ2X)8 ze1ec=5={HPL^j)InG|`D(lrxSF5-r?*TrG}a~v{%J?^A^8%__e*omp>X4ni(!oedi zukQ0%Ft|a0ybo->5^wmU=YLK$@jM1dYs>~XN~zHqmUz&FOub}3cVaBg;-VWcr(v2= zsi|WU!0*F?|Na`(|290=5rLU9_c%7q96ic{+X*LcpU%ncb_pQpXE-{aiN>*UZZ>gY z_@3#_+0)@Q9~He12>TgL`Y(^Vw{iJ&KyVV3N0$I$FV6LuZ)Dzuu#!CU1u;FL{a(QaoG&$GK{oE+$&__<% zBWeX_@Z?2$vU|ke3GWUVZG%`pEs%ZmK~aaO5uZ3|FQ_yz8R;>plaODZ-#a0zXJ*u= zZ1FhJiO4K9-GXmJXof|f`0iHES~xGz8XXFOe!X;4R46jO(Y<^{vI2+F!T8LXQqzSAxIXn zZx!1d{eaA39)Tyv5ZOULSX^3sI9MrbLK+~hfGiu_worF)l&1~y9w034vr}ES+84A` zY>?%E@Q!9?&YgAnUB~D9*+4r~P*F+ok=nPfykmo$1f&s&wq$1hUf=%DMK;LqDkN@p zM!~Fk@mV&A_Lj7L-DhZewET21PJUP=XJAMs*!3*>Y*M!o5)RnbkK8o2g5Hy$%Jom)ME2`vHbrX=$%KQf+OL|fQOsuBs z@(b%%x$WjfpEGih!nHecQhuBA`r{#`jKJ3JcOVpq-E z?}=uI>X}LeXnfKKvpOX@B{d-ySCRU7z2JMG@B^T+V+u`Ix6#C=sw-dIpK?zMZ~XNW zIdeYTS}w-%yf1auY1um;ewY1yJ;4O$<}k(723ie`leT?3xJ~$X88i*h&bsSQoocHr zXz2HWsE4$iUxxO3>Ou}jb97l4Sp3ov}=folBI62Bha<2oEu2v6i< zasc5)XNkYLifFlPX3Wf zV_kGHZ5)KGpSwgThmZ;8lE?5-F)7`YV8(3SP3dX8{YYY(cDGr!yz#~FWK_l@|MU^9=%%=b<%5?I zyzY5yp8Cp;0UrWGO}G9JKZ>vMIQPS1+vaaM@TXhoJv&yo&z&meAhrin}hNgmPbn9OSheT~rBO>H%rSm&oYi;gRiq#`ru#CdDev znI+WmKOm47cyzn)IuLv=lu%aBGI<(`LC>kA+HDj4nssgPvyHyORUhg&9Bol6g)<~B z1F5%ws(h1$WfUr^dZ$Po#0vckD5WXrpRs4DG|16yOS`o@`}1*IgH#EGjZ!h1-k4$B z;a#JS4dYEfc#L)?Hh0X@Oyxsps%lk|+Cm`u0P)yz{Z}I$<{Yvi?kJ_65Km=s{aZPy z!&6a0mB#M>0Tg1dl4q5Lx^x{q8;n4$j-6Ia`pC2aUTX(OAjQ+14G8{iqd$AYp_B8~ zE=VIcpo}l6lXBD24r`_cdYGV_FfDB66@}9JC_QyK3hnEI@xcly=G4_g#XW}Ub`G{- zE>q}1A0;^K0Dj+wm*L_#{rbg?^M7>F?m$T$l#I_1zM5uSc*(74zun*Nq%8!bJ|HV- zXkSc`Sq0Jp=f(Z_@yVStTVh;-5H-SBZJ@b8(26TMF7$O@#m(LtB1=nT7+6Cq_GkCZ zoblck@ntSvsMylU=_M}#x+aX48U6HRwq{OcHTb zkGK2-aVwN>+)?)^Y%PgvUoJjkPkNSG?ZsIxtxi3dg54ski@&l4oS8R?DwWaI4W%&5vqf&<@8z z&>qnaSL!fGX%$|52aNc{0S`yS&>u=R?R{0+7vb@!Yf)vJZ1^8`ha+F8uxj;!?Wy}< zELmG=@?gwFDg5wiZk}Qs@dHF+9GhN#;`p@rFB~GOl2&KCR^AphPDi^9Xm`%J?}pCx zxZBKzsEWb392m~P=oGxcZ`+=Ruuou$ z?9$r3Xy6hXM5V1X*adaSh(+9Z86Rh6r^WU0R2Q#~4lGTMFd+|B0}R!VxT=^-U$?1} zdI47|mhoO)+1#+33s=2)=ojnhWH86q(!7VF`s!zaTRj>u6yqRS>5TT|8I47k_11U< z9|gj-p{)HiroQjza^quLXaA^2cfdE?0bdBh73{39T#TFC8m~h();cO7fOr6s+xCUL z#;4AWwn6$jQ2SwUCB^}RBjZ(vANegwdnLezQT=MJ&ML7CS9Ap`&4+)BSYbssR=*%x z{e=pvyd@0A{&v)l5}Cb3!0ls^*Vyc!s6 zHfq-xy{XUjC;My|dCm)Q|JPUm1RfTLthYyOxj15v4M81wRT1a}?pGWC$vOxa_{EPO zXwn>A0Fes~R$g&4Ue06nR<*8%8~p^vs^wEl)yF@q$?M!`L@e54U7IT~t;hxL4d1&b zWetv&scn$=(XEy1f*a8kGa8{@zgI2Iw`QerZ7221YIjD{Ewj?mIVEFa0=rHrFWGy% zaPh0GHq>df;)QLBXnwp)+48ZHAIE6Fd|Z|fZJa3d!6T^FVi}kZYvMWm^C|rvedi`4 zv%Z$1m+PMId9gBlER6$M=9a_KAzpQMo72_;Q+P zKQ8%d$**|lY{<2!@4iVqZ$F_eTrBnjCjZsN-RH)R^%X{PF@y^TNpYQD-z1J8~=dgDic5d;{oK216mDb*g=>elslTy=6$*HmCj_C=p z=9uVoa{$C-F>z*XM`FBk`Fgpry+>p9#heD@vcI8^!69_Hp58aCY+$4`Y&~Oqj92Ai6Keu# z-_ZM%8`Sb5W_hW!m5Xh(3& z=p&4)IXXGr9Gym67bqSE+xsXsVxvXGkBQvLP4DMrL$yeF8L7pDFIG^eQ;IL$nXJ_CSJw?-sehTU8^bX;s$_Yl znA4&ySn(v3oEIrZA?J$aW~P4*+YBWNqMVNvUtt-`mMkDwSi;arPEMl6)R;u`D2pjR zIz1kV=1~~LG3FG0rLFrEqff;$7ICE#a+;_#@hHcIQEWV+GQp&+tM{c950r*DemifG z;^)LEWZ>}w>updN?eC)Zsb6lr1(26rO3hcA)))I^D3KdxVw$YXR(zU>tu?NW9RU>c zt{Qi#Y$@ekIbrA>`7dDd!-VxfOfyHhIf!EU2jyn!n^L54cz4GIGYf9OJi-RQQWi_2ejBvCj3 delta 46496 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 Vc1L!EIq!UQ@BCFaavrB!`afBIq;~)S diff --git a/components/LeftComponent.vue b/components/LeftComponent.vue index 574faf0..e81919a 100644 --- a/components/LeftComponent.vue +++ b/components/LeftComponent.vue @@ -1,17 +1,21 @@ + \ No newline at end of file diff --git a/components/ThemeIcon.vue b/components/ThemeIcon.vue index 62019e5..07dfc94 100644 --- a/components/ThemeIcon.vue +++ b/components/ThemeIcon.vue @@ -9,6 +9,6 @@ defineProps(); \ No newline at end of file diff --git a/nuxt.config.ts b/nuxt.config.ts index bc15bdd..39cb234 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -2,7 +2,7 @@ import CanvasModule from './transformer/canvas/module' export default defineNuxtConfig({ - modules: [CanvasModule, "@nuxt/content", "@nuxtjs/color-mode", "@nuxt/image"], + modules: [CanvasModule, "@nuxt/content", "@nuxtjs/color-mode", '@sidebase/nuxt-auth'], components: [ { @@ -17,6 +17,28 @@ export default defineNuxtConfig({ } }, + auth: { + baseURL: '/api/auth', + provider: { + type: 'local', + //type: 'refresh', + endpoints: { + signIn: { path: '/login', method: 'post' }, + signOut: { path: '/logout', method: 'post' }, + signUp: { path: '/register', method: 'post' }, + getSession: { path: '/session', method: 'get' }, + //refresh: { path: '/refresh', method: 'post' } + }, + session: { + dataType: { + id: 'string', + username: 'string', + email: 'string', + } + } + } + }, + css: ['~/assets/common.css', '~/assets/global.css'], content: { diff --git a/package.json b/package.json index 27dc6e6..fcffe21 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,12 @@ { - "devDependencies": { "@nuxt/content": "^2.13.2", "@nuxt/image": "^1.7.0", "@nuxtjs/color-mode": "^3.4.2", "nuxt": "^3.12.4", "vue": "^3.4.34", "vue-router": "^4.4.0" }, + "devDependencies": { + "@nuxt/content": "^2.13.2", + "@nuxtjs/color-mode": "^3.4.2", + "@sidebase/nuxt-auth": "^0.8.1", + "nuxt": "^3.12.4", + "vue": "^3.4.34", + "vue-router": "^4.4.0" + }, "patchedDependencies": { "unstorage@1.10.2": "patches/unstorage@1.10.2.patch", "@nuxt/content@2.13.2": "patches/@nuxt%2Fcontent@2.13.2.patch" diff --git a/pages/explorer/[...slug].vue b/pages/explorer/[...slug].vue index 2e8bf2f..333a808 100644 --- a/pages/explorer/[...slug].vue +++ b/pages/explorer/[...slug].vue @@ -31,7 +31,6 @@ onMounted(() => {