From 967ebf54d413f463ae86d55be97a5b2accecdb75 Mon Sep 17 00:00:00 2001 From: dlawlghks Date: Fri, 5 Jul 2024 21:28:48 +0900 Subject: [PATCH 01/32] =?UTF-8?q?chore:=20=ED=8C=A8=ED=82=A4=EC=A7=80=20?= =?UTF-8?q?=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 41 ++++++++++++++++++++++++++++++++++++++++- package.json | 7 ++++--- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8f100a3a8..a6b70540e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,8 @@ "@emotion/react": "^11.11.3", "@emotion/styled": "^11.11.0", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-router-dom": "^6.24.0" }, "devDependencies": { "@craco/craco": "^7.1.0", @@ -6135,6 +6136,14 @@ "@babel/runtime": "^7.13.10" } }, + "node_modules/@remix-run/router": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.17.0.tgz", + "integrity": "sha512-2D6XaHEVvkCn682XBnipbJjgZUU7xjLtA4dGJRBVUKpEaDYOZMENZoZjAOSb7qirxt5RupjzZxz4fK2FO+EFPw==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -28318,6 +28327,36 @@ } } }, + "node_modules/react-router": { + "version": "6.24.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.24.0.tgz", + "integrity": "sha512-sQrgJ5bXk7vbcC4BxQxeNa5UmboFm35we1AFK0VvQaz9g0LzxEIuLOhHIoZ8rnu9BO21ishGeL9no1WB76W/eg==", + "dependencies": { + "@remix-run/router": "1.17.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.24.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.24.0.tgz", + "integrity": "sha512-960sKuau6/yEwS8e+NVEidYQb1hNjAYM327gjEyXlc6r3Skf2vtwuJ2l7lssdegD2YjoKG5l8MsVyeTDlVeY8g==", + "dependencies": { + "@remix-run/router": "1.17.0", + "react-router": "6.24.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, "node_modules/react-scripts": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", diff --git a/package.json b/package.json index 8a3e091c7..21b33e338 100644 --- a/package.json +++ b/package.json @@ -25,11 +25,10 @@ "@emotion/react": "^11.11.3", "@emotion/styled": "^11.11.0", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-router-dom": "^6.24.0" }, "devDependencies": { - "react-scripts": "5.0.1", - "typescript": "^4.9.5", "@craco/craco": "^7.1.0", "@emotion/eslint-plugin": "^11.11.0", "@storybook/addon-essentials": "^7.6.17", @@ -65,8 +64,10 @@ "eslint-plugin-storybook": "^0.8.0", "prettier": "^3.2.5", "prop-types": "^15.8.1", + "react-scripts": "5.0.1", "storybook": "^7.6.17", "tsconfig-paths-webpack-plugin": "^4.1.0", + "typescript": "^4.9.5", "webpack": "^5.90.3" }, "overrides": { From 6009648745d75340950550421a3d62196617fcbe Mon Sep 17 00:00:00 2001 From: dlawlghks Date: Fri, 5 Jul 2024 21:29:18 +0900 Subject: [PATCH 02/32] =?UTF-8?q?feat:=20=ED=95=84=EC=9A=94=ED=95=9C=20?= =?UTF-8?q?=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/images/chicken.png | Bin 0 -> 47531 bytes public/images/gift_logo.png | Bin 0 -> 897 bytes public/images/present.png | Bin 0 -> 4138 bytes public/images/profile.png | Bin 0 -> 4605 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/images/chicken.png create mode 100644 public/images/gift_logo.png create mode 100644 public/images/present.png create mode 100644 public/images/profile.png diff --git a/public/images/chicken.png b/public/images/chicken.png new file mode 100644 index 0000000000000000000000000000000000000000..53f99af2ed4d0aad3683592de92b441ee9111c0a GIT binary patch literal 47531 zcmYg%cQl({{Qr}PJwvosZ6cJ~HHuIxv18ThKvm4zrL}2MdzDx*LQ+EYV^ymywTl`- zYqk_cQM)yNzQ6N3-}8I_anE_4d++&;aq;kQaft{E3yZ-2mq7G%bo31LjP&%3ER4*I zEKrsUf^z&{1{_>a)(e7iUAhc|!7g9=pXoe2LPCN=?By*LC?1da*8u3QT>$hZ;ilKkHveM8z&72hrvbwz%g+>mqiRxk~6buElfK@=DZ%Y2Lh3*=+MzazN`3|a*jn)Op zZe1@b5MYQxCuSA9j>mb-Wmmz#oX~nL%hO-~hLpJY`j%7EMe679g@<_7JURw=li6V< zB!8DJe2}V)tc;i1 zg^HGtD!&?vYYei{AK-PL5P=}ml{pir+?yj@ek{yIK6DTWXec3-)4nMQFlX(rJlg{& zrhKV1F;gCO4Z|rUr=c~cf4c+uaDPp=LKHV#vohPagnSDq>5mfRN;eB1yeYUDQJEJm z!S>LdVY2!tjWXJIRu=9${?e3M2syou6tc*IoSNtu{ybDwG(1_;S04l*=YWNPf_d!4 zx|QgF60+|1MGsKGslk*9-=UVJ8TX(BU$GpLs@mC%GD^&h*eRbG`Lc0yx)GqaffT*P zrQ;*EH{O)N!=H}RR*gnk)ZHy#&oWETTGq1EHrT5iFzb&plkF}qu{0QLx1|gVB8LM0 zS^iNy+eQjWZq}+Qy7tT|Y+_UOHM8qW!cTwEm=gOFGTz}BC573Ik8#d&+7|B?+kj{^ zJYYINPtQU=+}~YXiP}4Buadj_tby9UTr}r#UsAkogh=`W`0<$bsA_4s6~8+mx`TI7 zRdP*-TO8pMO-0rXOwVGXOmq{nG=6TQG60f!xQUz!bZB3(Zx4T29%ONlb^5Ds24T0a z#PC1~kkcSiW&BM(#yxco5+I%J9hstdF{=aop?H822|dEuncJ+aVWVP;i0SIfQS6b# zjhSJ!r)wAcwYu6Sgo<88BE&;v!_5?F$om}K%L)AH!b$o8NH%LhRFA(0N;ru7P)UTt zobCVy$&w?Unt-i4k_`fM6vXjaJ9r+KZH}SkXiOS>&ApQnB_1UmV*p-NvhD`IR#Xcp<|X zCO!<2p3^yU1C885iat~+r!}UeM(E^$Bdoxwa2mY&fhtZ`64rZ4gh2ZC%iGu$MA+Qh z1&cqy0AXj%pt}NOK+eD=Rf2X)QGcAHf%07-3}jew`lwp?I^J&sY4yN|B2t2GSdIcm zL80cNCW=fH7`R73E$+&*QJj|K(}*YLoO;yS{FF}ZGm0?NrUc*tzqdMwRNrlb#tKLR z&IY3|Jtxka z0d+qkJ>DwPo{y}B(?U(Ssdn+A-!10CC1}1gxOZoLP!t^6qfmQf9a-_N+|X0yiryu1 z^e6&wP7%3PlPhO|g*Y$=jXINw+FjQttIiJ&D`lxcDu-Rh$L1Q{s^z>9fgsxc&LRy#Z@jmlfKK@o-j*9py}9=)qEIm_wjJwLFGB1nT`Kfzk%dqji8{?5oRl=t1+hG z%6PhrHUTuS#mO25s*ipJ(>D$#{0!SNIpYCGP*{*eQ-jb!D%o%eQ1PSXWP=SISu>hc zPAzSujJ80L>`WM?rw!C}eJUz|&+P?Gl_o_GWM>>12GO&lT{7Z|MG9#h5QQ~D6b(%y zMKH218Av)g^H{A$Q;{}V4oF%U(Cznr-W~&=tKs$DFf?_iPC2Ga5*Z7xO#7z<9O)jJ z0|}xd$qUIQTq{j`U_kZbRKgZN#fr7pPggYgLh&JZS(v%@779!|HzgrGjX=^2Nc+yZ zlJiq--juVzm!^9F7ZD>mLIoU7l|7Y!sB*NE2K1McbRX;xAtm7{Ah7OZ9*DQ@15sbg z;bC^oXQC7;PF4{=T|Sq&D6>wzs}Hq$tLc(=jRb1ji{krxX z$gvsl;P`r0R+oW{JRe;fz5At+?d~Fu_Q^&gG^;QP{4p55Voskol>j{+$)MW9!y8RL zc*Gsd<3v>d4Fi3!R|;?iW8Ia;t4#dvU>Z4n@ub* zk4I?ybS@ZS+uDd!d8JUu)>NMNFFAddm9OTE>`atV&A<_T2>*#WBd>`z_dkooX%}RI zD8B?iBa!l}n{wA2pktHNJvM9%1*#-U|A{k11O) zNc8Diz>&p5=pa|#m9i-4hgyn)EVCll-dx3l$&w*=E`cqmn9_q;`@C;{bLJt14V*e z5~zLM5QEr_td>-?2x3+ za&f9)EF*J?^NQi_pq@qq$M5S^Lx{TpNnj*ipPA3pgNX_WR$WMCIS16#9&H%h!-0@& zp#3uXn9wrXD#va^BXF)y!D~=;uR&Eq#C0g&cLW6_d_gB;tlu zLdn2LXR&bUsXIWLZ{}1yR9~+2(2YJahYE@I)Gaw$mT>MXsSy+%bVOH?NEg)$ zb@i;qtS!_zGk2nLl&sAlfqvT_6%jOWRO#5VnD!|vr8)4|QRIM8tR$V|QsH)h5cOzS&f_Tu*t% zexvEgmW9QYhL zy!TV>3YI0AmOUr!DDG?@!L9$?%^{u4T&k8;9~Uh$S}goN<6+(K$q*LNXAn301OkK; zKSCCwf4dhgw+SNz*7YGKI;hiMx>-o7XpR4@x6(?hVGx&MNj$Q5A?m5}bQ?n927?O& zbf1uTfM<-12-j+KP;$WTw*QXwXh!0-&M9l<$6c~htV)hwmP`wik4=EpD7-1Qy+p?Y zUzkQ#N!Y{lT`1(_FpJ{HBl(?=hrx3H#!USs;?4pMGpN>)R3F-O^hIz`TtDT_$nC4lsVaeXHg~&gZ+s zMD77uv7i0kw6&AU+7O93jk6|!cVN&Bk|QCeDk&?~w0iKtt-%`t5VJNtIC{7@M2jxp zT~oN5TVv_>9`jf$+mGo)#A6-N;`dpA{v+M^*x67;R!8Rg59E=arQe@s<3fDl)r*r*NVjx1e%2IHRbx^CIzZ5}T7(##`>NX55&W64RNU_$rfu?#5M zGXMMbMSP@b(Pg9Sm#JKBB{!EVn5RC>358iU@OTd#5HGZNf0Wzz+6U0sy=uQxYX{UW zlQZj@FWQISsPUQM>!<-37+|YMPwpjGQm~9~0{3SZm z)kl*bZ`in=5NWu$NGWMb9MLq%p$~8uaq7uS*p9lz_iht@2}nEGKZMi-^eFyxj-pK? zfIz(>3SF{US!X67_HabjRFr!@r{ckodsQ_K|AwF2tf?u}U#eRCiYQfMjzh)jPFp+o2X&Fy@ zziLfVmq+E6)$F<`7QQq|~Pwj~!#qfu~UzT|FUzBKiMx=r#Ai`jPf3 zX1$g?mL&m$fVpwvhK-3;jLw3}g`IXixX^kN>wn3k*4InS5}5J!wYn9FABlI_+~1D$#Z>?yJsCR;3+wSfR$9xpoD6{PQ6=}@F3 z*pzmnGI+UCPB=AWesU@*>cM{H$KKLcd*$y~C{(PYsXgM^96RM*fU#R#ep&c+qV_3~ zo(gwkA&%>?OazKVsfP`V$Ob3H6|L!-Q{^wD-P7%)D;1C8>rsNEqW6ggqQ{gK7{DPb zr>N`ZXCSX737sz-2H(xt!z1ZR|d->0SxoAN)&icX-(vX586@7w$8pq#= zAc)CLo@7%BRieuGt(*HK@yAxl?TP>`z@w@JicL<+9|Q?w%tkBSd-yXjG(CmpZ2A=A zVK#*xPSD99a2$)n_~A5uIlEH}yQ!2zVj`@>nV3_|b|mO~$N^4jq7Th6OnAl@%vp=|nsm~S7 zu6&Gd?Q?>jytmoyMBKl#(`)i*$^<^MJ!@|hX4a|UGx=jE@$p0*lY;ALA%d6WAk=U~ z(goe&-oH%g3c?{-%m}Ok^9fDhoET1 zn%LuF|U}dUx*hkZ>CjlTj!NBoR#k@xgdmeTvu>kD@W9ViQa%pm&KV_ zSdqY)Tm?>Hy2*RpGP+66;!pFPfFEWF4sY`Qd-U|0W!|6cQYj!pRKIku=D9h3u2@QY zeDsO4Gr2v>dh_mjYe;G_PP5RvQ*Fu#tLkjjNM_Sk}S9{BoP~XqWYKLq0XwN6t_7=xrt9&IxFXVQn@;C;8W$^@V zt}lw9&RyNBJrhwGC1GAXz^*YJ?=Wqqxvd9J4;ZN zc!-4Jc|dF)EbajUx5}<}0Rg%OqfgzEU4!SMZs?hzqlO1k_aHzBkq)d%YA{n0SAaq0 zyWIGF3Zvb)C*Q+tny<*0IYxOlh#k*y+&GWF(-CYc(} z_h?DuTBt_3QR|9J_48lf_^ft+-fFa#x$ip}+o&@gB-A}|sVF8>n`NmL|==x^%Z`x@Fi_8cA?lS+8{O$Ba zUJs?W)xDB+bfa83*J|`2_%Wun&R9Es?v)6eqyFxd)q?l+PgdQQsyILDjF#`wybpiy zQYih{_A2!Y`d!g>bfcSwN{zZ{x!>64bX&dc({)|qmG=Df@b;vpE4l@{dSbu7!1r1z z_FTOQjkRV3dT2^-3Bj27P|r_*_T*t$i?Wkm`rrb9LDM7bS#tw=m8PkpxeL48O_bc1 zP1)lLT}fqEDx-zz`7o_bUz;K}f81-zH!U+=yCJ4o*=TbPK2E2at3~(kv#K?E4=_}29A1-| zX>C3893oZ-xsvD@)4}Y)V=82qjpv?0@>79zf~ls?v=eW>X_g~U2JGKj@9c!rqV|l< zpT0Z8POSe8+0$<(KCzgrO|8Xm%k)YkM2x+cc%0QI{ExnLwQ1n zyRc@O<=DsG!TUv{uot&Pr5V^PX=z@knYXnuDfvIqQv~w{Zb1^zgJCndYuOdkIbLU| zpY4!LVn2Oo@W#gP;1b3skpT~n!h9WdrS%X#OH}?3siHzQrP`X-l&@Ev1N0B4yHtf3 zAf25(*yVRZ-L;bxG4mHJNZE{NzK`TORBKDqhvs(;nCD;7!?Iblo7^+k_Q@(oxrJ6Q zOAh-!uZ8jXTGe~4t%g@Mxh_kjhs+<6SwBU>>`rt#o@1@sK3Oa}s2+aQ3cA^97B=q; z;`4RjFtJy~B$vavB|Wpj`Zd0m>fOquPLK)5>R^~IEw`feyFb_QK;gz*#exc6aIA~_ z>$bUX52Isxtyl)7*T&oc(70 z{Q&=i3S~oDNx`lluUl&D;7qx7$GK|Bc>TWylyE6RuJu(M4<^gg`vVPKb2p`OuGx9G zlO1u{jo2wrbkA;lCwN|GJ(gy?B92WjU^cYj89gsPuRG4%Y} zznmw9*J}1s?gdype$1=&!vLeK#mR`d_x8Z14>fHciHqG@5?Q&u%^NPYTo=#y`-$bq z4B9I58W&0w8h=&rO#gk(*X7pL645co%Jzy4zh1Hna-?z>d^m_s_v3E&Rc8~)LQ8; z3_Bq*>hf6i&f|cE0=OcTDO14BWOH$mH)WZ0`*@a`#S_?YgjHs6vKQi%8KiKLrKvC* zN@f5(Tel3@GT@jhz3~1Z44P#XZus6LATP?paIq1@=DuibPGfAgV%`@!mE97>LV$eC z5|^9bc?qRl<+Hcb8$qU{2NPy8W$ znz_{7;}1UDKKB|B+8!AFZuE;N&lQDtZ|p;>5K^Xc8xOuZuRaXi`1`2*vNb8-_HxrS z@tZ2;rp@5$y#<53e_1ycY2Ip9PmtA|d0o{>nNw^PBzuZ1{lUS)yI%RR>-Q&PViX7x zvOxyfKfM*7>vb&_5G#tluzUP2QWP&=CX(mt){OM}f3`S=eXy)tI|n$vIen|Dnrg~z zpqBpJHPlE)QepSPOTTfcUz(te`{z9At`a`rg_4qiBh$Y_auf@Zo7FtjUw z#_~%Mg&6pC)VI<-YgVtqYi^fy?GwO1S1mvDTlq9f@oq$01*K*L=bB^E?Tztl&Perk z&V@BTM;A4lL*FA9_IX2-=P)Jk^KmL}$7jmWjxA52lEqnn+Sc>lcAdl8y{qyIydl0! z?xrGtdL>WR6FsYL-{!2p`^`cJw%A9@HlK%UZ*B=2-DqZKxb5x6@@ytUZrX4sgmEzzm9wc~TLwEran>7E#yG1za1Y-StOY%Rg|Ei=D%`Ufu~V*%~g zHEG_enBmIlTOIn^A!l~^N4CW?^^XIBXP+A*?v4MIMgp8$AV=KNJ{KYDYJgKss>!tl z6y|!Mnh>{hgxx(9>KtGk_iu2P>E9V)-oNu-j(vQ#*r=G8d2s%8n*GGyP!=Vuar|>G z1HJz&zuFL)3&MJh92nwcNwWW1g>S(_-Pb;%GdfatClj-9HKFNTE)w9Y-=stA^-5mYF zZx8k!RZElcZ_CCLdrFNm8mZZG!*)&08hU@4v(wA|lN8B|ZVWh_6mWjyaH=t`>hUZx zw|*%@KI@;APQkdJ&zfmmizTD1ORA`wK}W?zWy5vQ32Lt0kH@QPIti7^hveKY zJ2h@s2Qltz`(eD*kttzg@PDoRX7|gq6tU#S=AK?P%Mf>MaadC}UD`iu0dnYSYiJh@ zW=&@@yXJ===tffI{ArnhJve>wxljd3U$=N%H7MtDRZe$RJyWECf99m0dhN<=TP^pRNw5~*OON9cZ^}6ZyZSCN1 z!-zCK~1|2ga@u_Fl3`s{bL7njTA6 zb%xVyEDScA-|GR!E3O(pS!hbQWsj*~t01Bcdj(V4>+*|qa29BSB=^|X?fDapwZ64G z%+tz-+rN9h6&k97xU|!(^n&E>Pxke$9VtDPwD7Jb57mU7x_{@Pg=&2-r`ocv6mpa6 z;eKSt?KDehWVM$qErz<+tXP z8WC=CvL$FtL`XNS4qg#k#<5&GV#`sfy1ZlJ_V&QE?a^CN^@D41N8o#=a3S+R&yP9M zi_KNFCysePj|%gpPmk_qkulZ5$9f@}TV-n#T2+BxT~L43c2MLn!CAeFTp4WnAn7{U zai-BDca~Wijg=up(E0Y0z~&8vo12qV<32NCOS331orIlIk%KxtJsk7PBf=-F9$udZ zyRiDG?~i3o4wOU|GuWvO-F)u0F%~j7EjE6KC^xG1XyWO7kno*w`y8^gvWDx#P$fsU zBumMcO^dzF=Bln6S%thlOUD)e!76(HB`nDyujHs|)0)AD>lDF6?~~&92y1 zo{5-y9Ci}*J#7~ja##**Ds-_(h3?{KOph@`F82nx*+jtUL+~)b=Yh{SXLB1fk(~|( z(tVWi>%xgzu~y=#8auZBdyx(rSdZR9G@>%Zc7q)iAScoN6;8rWmj%dG46RX!TR!@v)`~;&`;|u1HN~A+L{wy@Wf<&n{Q~#FRAQFV|h@dE%j}5aZcPL_Jh08 z)G&CNZvad~=Jj<5R1FBe$n7ocM`eeOCC0&Nr#+S(v>!FSUe2W;E#^_0Ip6kNygCfx zQan5dZd(=IGuK8e3XombM5?a5Y&^cAlpj7bPu=wV_<_ZCZnn^P`A113>@eP%jJDb# z*LQh)t6h0LAw3*T5Yj_)Wk8AJCM}ik)9vp*%J2Ga34M(rP>S`y7Dt>HTMD z`}IY-{=zu=wB1hc#tb^L@p9esW2ucOT7(*v6S7?*7lvR83I(reJVKlS<)?s@2jO$TL(>Eu) z&txwV6LW{rKC$Bi*Yre7L>tAtVD81ig^6jTlZrIUWoSe^8Oq_n%|!lp?Z^`QfLJCY zlSPj6yopOxv7o}Bt)Xpq?d@mo$Slvz8X9fLf-$8rDY|bZV@s4vT&z9EGgKXKt2CNr ze$|nSTgK&*JQ@%Fy{n_l+}?X0K|c6AmyS6OCL-y?jgqX^)T+*Sc8`}5F1lVnEQfhuNY9p8N=&9huI~!k1SO;4 zKBD%+8yloL)B+J3Mz!K8Q&o9i*mXX1vd3VrRCg$G}7ga>yItoH0Y$f=5wchEBiA6KA`xo>W0m~ z;_PZ^nHkY|bryPK(bz=8-!4f%kM93FcAyXZ7qn(yW*S<%`!dM(D1M_A_WBRD@~fAa z+QaNsdity{9z7F?aq;oVD}z_m?Keaxw!V+eNU!S=#t9~+9~sqNp$#+^C&>T3eeEE2 zy>1<$sZVjGpQ9z!lq7Ao+BN=n?<#R$A5+p)9laEj^)UfzA9SJ>aQ4N_@}Anpj4A$= z{w^D6=y*H=7PvX%>#4Lb$gSrwH8;8O%XwBv#%Udq+wnU44{qka;TgZUIfooEg?DTj z>X_-h^|`z$%O`X3H!@ou`cj#L?D~?ve$#xyDZaU?{W`DN8(`y`L1~R?sa0QHYH(gP z@LaL|{=uGXUUhs92+^;Vf;;w6SIPW5jIZu9&?msXptws12z2hGxqZwu+My|mA#j)2 zn}GY$cun(#=EM)o&<(u=9*ko2YD)awbD-h!*tKbo?}%xGz-N}+^bkp!moF8@5jvXZ zK#708Z-?!d7cPZsr%=kfDm&Dl=y>0Y66XCA`J*GYme!z-sUoD22TGo4D@Ir|XlCE& zEG;PP*}S1iI!Lx(FuOg$R6c*X#kBR4+N9rDq47~>dL zXO+5wTP^lC;`M{51^;B;82jLNoA9USR@hwE<>Z(}dJB)U-U!Z0v31|j%%Zopwvbu( z0?O#hIG;>&RkGMihUQrrR_!PSWQpm%b>pYYxxZSPZUt2Vm`g=^WDW?+bF-YJd+*wmmVhe>dvEsg$kt-y3wzg#s~k1HUoyUD7GJ5hwse@P4AhYM zxi1s*3EL1l87*^FNK|9-VBUC>*fqQL#GN%XsWUtTjBT~1^cqPAQRBSM6= z+3~0zSn}5(bq8hKrJ=T9RyP<@k$Dq0E)GRn9UUZ1$#+8uI6Sd1iZ=58LfO)-dY0 zS+d(wjHLoh=`&*(7dk*LA(q^`Ib?u|Na z>#psWpi7&u!Rcs|_s6wOQ@xJHe>?eUI{r&DUt?Czt&M;iNtc#&*t@G8HApIn{_+y{ zJ8U!~dp$FMC%VEdJ+J1nJ;l-}q{R z$fwB=UuNUKSQa6K?^#@w)QH*Xditve-Wxcs83hs%`lk~E_upOWP=VhhQxAK`~)VmC#W(HQbm zDp5U=#}i{QdR)NIE}<;(a760dQ!M9l_pk!;CiH03ES$LD;^h|2W`G|A22F{37tkTA z{|ri>f$A&7vjS;9ve@W$(Ny!m|;4dJe}o_6qBop<``lcjwDUZC_Czy zGo1r+^njFmJ5?jf=<{ozgTDu^^4gV|Rt39SeqpU<)(G#X9cSG$LX>23gOm>J`&YIc zG4X~71~Tls(Uc8@TG5!TR8D2fp<3PO#XQD))QMThET_qzJqlJ9+^ukHb#-HgY@|J$ zJ3!1dl#Fbqx`(QUX!yGvu+A7u07q>a^ojA)iJ%%Xf(} zKF5ZM)U~~T?J>akAbnNbT)QwhX=Iu-x@|vW7*oZXppA|JFc?_{;yFV$uNpPC2ExzMs!Jq)rYq=p=pl67ekq6+ z>O-cZd=<8F6F1;>Q?0Qn`G8#ysmX58%(wJux|hACtp-G= zz<9e^yTFhwr0xs5mJn(xB&Gly0QVYCDI346eaTb5j%m6DlyW~Tr-m4y=6R7iVomb7 zwI(XY{5pLEtq<;Hq&!d^E^S`7I~dqIcKE(CyWLycdLOs4V(*qkc=EyX z0G{gqXtl2?Yo~7iao+sz>f6seJ*u+_w(WYyai$C~*G8?K!GN?o4qt;B_8DD0vCq@E zv#YnoB(p2N5PUTeZybDIT+xQoizEOd^K)-Luj_Bt=zUgL5RJjpW;5*aO$Q&?7s>x^ z|23(+M7G?UnS5eExwU5dvZdMglTM~mOnQl2=0lD3Jg1jB^b9#vhd`m5S${KYJc;Ik zPE^JkwP)s6qi7Zh!AQF=KI3B_S26O-U9k5|)(&bP8E#4UGUzU7Z|F4@V=6?`Nrut# zh8I|qx!ZH_8fnJi+{}I*MUgy^=teJRP=Vpy%l2rLPLOLfpl=Yqh8Y@N9Gr#qaPD^D zp7ZBKI2olx(P=ui)9Cq3t-ZM9q|>KY#PXHQ6Vu3T53>paM+$MKPdVN1oZ(zGN)&x` zH@2ex$$u%^_M0^?Qbyj;2Z5G2n-}_XNhkKDYHe#dS)DI%P1jPDsGXWmdkpN?I?fh} zioejC9iu;Pp)<|P#nh}glV$_oK7V?I`mf~;KV9aS3o4C`6T8PzvR~^c`$JokKbnii zO$S|heJIO86ITaJbHdG8N-u6BP*XMc=Qk&zUml!XA}};gAL}2SEv#)cdDT^3eSHNX zZ;qr#(V}(|2d##^n!bGdh|u|OO?yQtvU76YvrV$eszR_LoepBmO7Kq!qWxWD4}Pa> zT9)6LH24FJ9k>5p%$EZ@o7=b&FiBz|NLUG}xn|Hf8z=AD`&36X-!@95?i2ypMRT97 zo7Yw>OjwchiBT7Ee3N&>bN!?EPl^8DuHn@^20cXpo zwcyRb_(v&__hZpgAy#?zPhKU5&x$wH-4T7YaNj6&RF)kqlBsSTZu27}BrMl7`*OB< zmXMxk-rmlH@WhzMpQMv9k`!AD4?2_H?1>3B71ClDw07A$~IeaGcT@$Nm+EK>&$ z6so((%I{5gf1Cp;4y#VOibo&*h4+6brWveR?7lcyGg9Nj_=b3VzYPc-ov!`cb2+y& zvCigqwp;k?Ajf{KOc#rX>hr}DK z(Q((eTNqfT=6AlI8yvTcFEWO$pCThhzoGUfv`$h&4YqG@&!5TsDe!Y=ntB~e(4`Xd z@jC}Je6`|OI>gPW1j3Envn!dBLNm4dLg&Z$|P~rwb<+EgI!L(;npU3YHWOi4MIre!4N8rx#U)UJ#$r`;bu&g@= z41eGGTfHEaza5tKZAR!eS5NsprRuQNN%pr;Y{(4<(V3~Tc2LLY%yvaH zo-=R>68}#aA8uw-`}9QClaEiz_84VRGM} zHtCMP;lmW2?&@DZd5P_L^s##AVVqlN(ycH3WI^PO(e6lla3fq8;ar4Kn0vN`gaEeF zoIV+I8TB$@+86gYD#C^ZE}+@?EZ8d7ztO%D!YvUGP(1SPgPCF8?rpQm@LzPwUDx>= zV(b4|vbcjy!>OU_R(q9PFi--Au5Q>cyRL;PsAv#)aJH{EyVUkvdpbUj+E6EwJ#DWd zz&y-NP?6NLEgP}wd;d5OI6s|S520vE{7rA8*i=z?&9QM@05K{X|4?-KzkLmZ z_@scOrrgi-_2reTCyp7(MS5-XVVi+Yo{K_Wrn!U)Hl0v0@h6=;JuQE8=WD*oMU2-Q z#ac>^wjc!Qb~=C2PftcVw4MVUKb~HBV}W(o9^rXq&F`N0bunr8PgSeKrbGG-rHtkL z)cc~g?AJu+42rZap|s>3WfV(n$G)!yx|{rB~4P0nOP zaV8QA+ctw3&-hh0(tVP?l7~t4djU9iL|1=7<_++G1{yjHJQT9K598%%+W7= z)^dLQwruCHKX$nP!H=l?1d*55)8^4J<2O_2@fNm%8m}8(594@YsAlK;uMW>vIkXDN zG4Oqho7&@*5}ljB{^W;8FA*`pE~ZC=)-8HBWx468=MpgLwJD9mT;iiN{ChzXB#B;B zy;WG{tXWP-yX^_;8f3R+)^G**tX8VCNu;t%;z>S}K{c^{I zE{u0iL?kcI6*J`R3uLQHQQ3*8#V#+>GQ6voKR`=_tDo2}a?E;TvqkWn-?MFv!SxNj$Vl(5Gy z=mM%_t8KkTa~-fB%a>3oqJ8WlVbg))Cb6{_uI?1!C!(=PEg3rjoZNQK7ziO>H*X3% z+BVA(^RyCmrK19S7%4jD9_z11PV|1^Cuzy_NuL94DN?9_>RFXfUYxTvoTVoB_4iM9MQGZq_L}#Jm77Zi5mk3(ynlBT z1!#{pX1du}zyDW#Vz}C9?>QNh=-fMvwO2HmdEG!FqzK)zi%#iG`tUJyB3o(w{v$|~ zv8W+XBFj1E*fy5$OWfuyi5h8oRvep!3XaLeytzHvCtB zJAbW)_8&31jq}341Dz-a1y_(MHdNBpJ9r<|SKgcfD~e zI=%y0viGT5Jk&7z!T2`hicak%aIK>tR!}F#k|6(Nx#Ck;jYQ-mVg`ti3Wp@Q|%3I`v3&8P8ZV z>7OcR=HLRMmbFSO$Lx0Rjr$12=c^E>G z6UgzH@w%^s1pK3&$Jd-}VzTmt=+fY=9%gE03klNwR?SMNPd`_?G& zntqqaJ+?d=lJfFh+Q8=FeZ|>|naA_54veX%+x(#tl4_3umO3;d9nsg@yN-A`?N_NO0308gt9cG@Oi*L=br-#w>EBY{&)e)qgTU+<)ChC8Pt|~ zzwS@Q-V&wn9S!{H*XTYUs%D-`K?kPjhz$6Rldg{xMK-I?Y6JcQqFMqne% z8L=1_bK1~lI`T~kh_Uen#@4>)W;Fz)$`iga)toyEC+0e~`pK=^FXd!fI=mB&~=a0N2 zHH!zsw8TnAM(bIMD?`86@dv;yQ_``@g-bx3<KaFt{>;jW99ZsTJV;%NYOm($H9nM)XJJjtS~^iGOFgla+<=($ zF(QVT?a)z4Q8dqLy7NhJX%p}6-rc5U`BC0mVxpNe>O8N<3GZ~CTFb|IF+H}vtw_=v zh|NoSbA3RVqC9-_Guh3Q}2AcIa!0+pRON7KKg{`xi6z4f<` z*YDq)SZ5KbN6f-UZqhX3`iII*ZRu(2apQ~@r~{RMJOSPhzcrtUIyOJv=5Rt~U7h+?FRIrV zC#9-JLx)72Y+eRg8@wTZl_7kG)HY(JT=Mg`u-tcF`B`kUdcj%UOg|9>;!W_Uo=_O{qne?OBy ztL45fAwC|oj3*Qxo@ zed+%L)<7x0qDYSZX-#A5IyF7vDz436?vB4n^+{rkp_dw#yWTR>`%9nH_U@ciNHbb5 z;zS;r$q)#cu2-l0WAO!$)Tga3fFyWsqf3H0J_>;z@mSv#d|!XnSQfWd2w}#=lG~+N zB41arMC7@lYZP#+;xlbx#7Y$~PvYNs~_Ri*ags<(0g%D_O~!t0e1X`7Xzf{L=g(u5KQ>d3QHX7hiDdTGV8cYrFV! zqcvsHZTiy+D!aHzA!L!J7Z4-{LxKt-dATS28M4l7Qe6iSyV7@RM? zasIC?k?G^1wRsYgy4!wVrJYZw>GAEW(yc19H?BC<)wp@Q*M*xF54p?;p@(vZk@NjwUmHNfLHgF;sr6d~+Ahw?Pc}SMzJ+N8C&*B_jEON7%QIor+qqIoU@I>a{{Td!Nl?U0 z3hOVd(`{pAcj6_s+$wFBT2KzDJC!d-8PYXxTJl9NH7PASs_pVtpPf^D?Y`Ex;O4&E zWjl_*)Lb<}qjA1fe^OG-a;B4A`#beAdZL?bqTwy1 zC0bksA|fJm$dO%j?cliSHZQJRwnK_riV>_WV8TH%m?#5^^H)|vmf2ZSNFfq%1Xn}w z{llF?#a%JS3O>#J$QcDA0D<1T%Z=m4q_<0F@c#hxc^3&vHqxhe`y1<5ZS6Wuo!db{ zx7}KA2i^f_QC6NHlo9V+i_7=A-J%d3V%du((&H9IM=*5224tijO>=$)^M~wqEjXKU zTQ_=-^1{+%#1cH9)aothYU1sSjc+AN3b#lu1tmXy#ku7P2aIRZjt!>q((w}1uCBer zqYX<_^CsM1-CCb@{p@F5U%uB(OABPJYFeF1I0Y&J0EF}RH>^t*-o3bGlWm|pq=mX6 zL;|fkwEAyYOfz-%b~=sHlG_&=jklO9R)uL&VLG6W%8Kk8xotfa`-HSneEQT<>dI18 ztcA;Mg%t@NnHyCP6qV{tw3GaH;AE6x6`?1pO0J)bz`eUz`$K^`w1WY~5=x8##c5l1@pnaTnN(>0bm^6iNL

)YBvm#x$0Eg?Oxv|qp0aW&h%TmH#q=h_27@bX|R=p>{qKuF3{ zkpi>hQkG3mid^j3?3J%Gw%dNRQPpDQmfl3HwhxHu00Lx87zE_bd)BK`q-rswm3d(2 z6`cFen=rzcETvk*b3SE4Nssz#0RvjYasDJ5*JpPf= zBU7;3f_M=SW16L_7v59qw+UM)Q6ZY&B}Pb2#}iu*vb+Aud=!MG4W$8ODPCZ$ zKqWvJQnZ)`F-)7%;PGs^-(#KX>upFuOOim34kAACjGsblP=rVXZfj@M3a*_(3YMg{ zgrUC>nF*bGQ@{0A=JTfXkNi35N>Wge3!Wf{C!R<(cZnQvNr+>V+EnY+t&VwicUH`W zI>|{eprSI7$2GC)9}-@59+ZxsaN2bxK>eU#kdQ`VuIhJ=E!`_2LNtIx{+rgBEI8wL zHvl0>w@Oszr2wc>!U1hE3Ewot-bAH1t6Qo(&y8bh_fNTuG=#yK@5MS$H2GEPL{`Gt zt3}(WqE_+ypkh0Ny)d^ST5t*c1Q2`FrIjn}BaYXxu0w^hB_T-$bG|)l=Pwm-;n#$I z5JqOKyJ0CnQhs0$*0GsLQ>j7Z#P+XKjFzh4jPbuwRuWzQa>79b&gb%~cUF|`y=6UW zP?Z&sV2vPizG|&asbMKeNK68Gt02>=+{x587&Q02jLSZrE?IGYC_zF=i0$66R<9*z zbrkgWo(btry5lNsJ|TDnom{39#cNzXSgFGIZS43>RTw2(B&n`l-J2lOmpuyoAo(qW zH;PPdQsB1zE)8osT3TJxXm#(ilA)&H&XgI!R*+R5pkli3hHRB{)4KawNgwQ|OpoeH z(CSD30M}eqr~AZ_-xY80kdOVuz0upa(wnr>rmq?=EIFpoC4DvMk>e(Q;f=ujwyhQ0 z9&%A5y>%_w7cE>}o!PgyDh@ej<-%BW5rp`b=R#bb7TR;oRdLhQu`5s~ybs#Bc{8YF zSGBLy`tF;emR_D(Y1F%R_I`}!U2f$_TaEt!yHH6|M|}#D^aiqQnNqxgr6M!q6%8s8 zuuOjSo{Lo`-Du=0J<>r({{We+n|oWdw&IFXZPF4(mi)*hN14IF?NXL><4TCfqLgK> zN>u5(uYX_YXC!Y~YTEG7Qn6F+ic*S}D0Pum3kA>cLGWFwx zpG2XwkI>hkaRRlYlKB+QJ8@8YaZ(S+Z9^ad^`YQ+fl88j;8DnvQXuAlSsQnxIj4v| zpW1?i&#v?WHHQr2AKI^x-l=c>;U0!RDz*gy|JCaKIj0#B+lo*-_NxbK0t`{iNzE_f z^rs#ER0AeyvF$?@2%rEw#cKW{>&)~HoaM^MFE7h(-*tEP6|!;0*h1ZPT3T#sT90A9 zc-O>TWzN0T9J*PHW(h+L@rs1yOKw?aIBItIMy~4R`={K!yIEbs#HmE)CyK&arkU3@ zD4Mdu)mOJjU>FA~J%Fszl8SPd30pP75}cz5t8!^2@*7T()Ow7YRur@eC1(kNzD;!h z01w;sABU2+?+5-7@#bJF*G>R6M~dfTG&F5O(ygPg9#GQHn`MJ|3+zi(X{AJNfQ*Fm!nEX2zuT zN^#W*T}8g}HTIU4U0gYQ76rYb3PWfA0Jz~eK?9CWXnL}4RdTB`of^fvwgO-Azm~U`3P^D}UC@B3jXFW~ zn$cW!BDI68sZwA@C)id;SiHA!)qR^$w$~{NToND!8ByIwCbZX&w%dv=Hd5Nov;?nK zloL8NM3}~FL^12$PU~;?qR3QWtCzccem+cxdcvDiY`g;7WX_b5l`C9No6rc&Vcp+a zUbtQEdg>BV7&(DR2#P;NZLnIOk_9M<7ID%Hzom2WD!)|T`MSBe)p zN{!`+6w=&VWp^uBAfQ4@4xi?xWl9HWJ+WFIkJk~= zEbr{052ej611j?@d32>o3QiKDa~oAzYH*T`w&SPKZc_=#Ny#gxr}1Xm^QhdjX0LPU}W*0pv$N5pB=DYSs{ z{6bI&(nR4YoiU!(zv$gP%bPXbTKHZgw=LUSrO7&p3M&FO8&*m9nP;J0CB1ERf7&Ld zp$8`W`CIL(zxK?&h49;}dfMe~Ax!vz#reXC)1^TwPpFTrSJry!k5qNL*4EXFiY+|f z;?$AlQb7Dkt2&+g9Xis@uAg|TjVV`%z)poAsFJX*Gd{JYZs8YKLAPzvpyqu0$O`hN z4=N++Uh0eK$w^7q8+I#Do<{Rz-BVH9OI!25b0G{4t7!er)9cXNNkTSKj^aD{ zP>R#^!_yIWZq>pxu%MB23=%2})43rDV@4LbW90y-yQWUcLVSsqCXB-=q6d*t@HJlJl+$ZjR$DFr_C;s3~m; zaAHzN-5XY#+od;q)<;S4f*URr7x%&elAX7VVzQ7NX3b3$pdorxpi(4+l^-gicR7m4 zcc|G8k!;PgDQl`*xIkJ#^Pyg1R6xxA*qYG^ZBhMSsZ{*CbKCw+ea}aK?JxA!Su41< zSN{M|Mue#{PNi!7t6S8pZrD?0){xOC!A7E$>4`F_&PSzYBdlLEUIoFa_$qlrQ9w+_ zkWFK|bJVVs+kH*q>uEZhN0;%(^u|sq_-p%}QYdYyRhouxTxn$_#N!p5&Ds=4i;#Ce zy=!jm!XGHYRC87{XL`04^J!9;MjTiM2hZhKN*LNw*;!i4kvT!FRQ71iyLqH22FTKW z^lwROS}9Y69~)9a4;n~Tug)ta?}fU%7WTJFvvp0~gqD;5RO^iqpsVjsHM76?U#N6O z((~zUWu&D~wub>NmF$%c<6=eus+_UKX;MwQMflvEDSYj_*j2c;Z6GHAMn-p>Vnt(F zTlF5NcBZ;}F1>Um=x-{7`HHJ$X3O^|@l&Vnt<|Awi391m*j86h>it)xmm9a%l{gla zEEA||Agd?UJJw|_H?_Xon-pZ1mreJ#!L3hT>bAD`76c^?I8v9#goG^Ulz^oKg>xA- zmiJgq-%M`FhR=@b!ko+`l+KidBm{(klf6=eyK%3^T(|*Rkf9^XlO&$ijd66{la5>c zlzpuPpgLBep+ITb1u6XMag(2FuJ>q+@yGot?)Ed;Yomv*EnIDPCqfZvblEM#n3D?G zGG`#qq{z88R^s92uKICQiPg(=4z3M!PN{gC^Xc*DDpv)M+G0kT5)vosK7R$IzvrniY+lM~r2YpAe=CH5Y zZL7DNXr*l>Y5=xLL4){7+;*#>4K>)$JesY3d9!2E?X3RJ%g&XlZaDL5X|O?7lq9#L z!3WH&i2ndhk4SphbvrwKJ{e2D&v{U-j=?L~06DDk$R?gfu;*|TY z1c!D&8rH0jGNg&`1n*FtYHgB&dO3VjF6!*sGjv;J#6Fc0l{%HH!q=-#y-Gp}9OLU+ z{-x6#=~tzdzRk*01vfUU4z#J*1rB{Trn`A+XH&N7Nm`DlASDGegtjz*oTTkl+FZ7h z8*wWwrNHBD>W~b=q-{ERq;`wgo3xX=u6@X%EUWEFUKJ=CLBLQTiowzWF|^i4RJwKN zB>lpCrh8T@ObWLWb$-2$XIGNmkIN#ekTtlJ4ox!ER`m89eevO>t!g0+qzNTTFaWEO ziJqPC9f|({VD+n|ecOiIVFEJ^w7EXV#Qdwux;e5pDQ~EiqSeee^FS%ayEv2*HAf@0 zeF1A=j*0NAwv(HCHn@pT#vZ*Mz$;Y#m^37A0!H=$h89{SDRspm zrId)$0zs9YCl#8s1wrlmf+{5z?Y7&uY^~-{=+)sMIO0Nw-ayj0GCNn8vRg}i_SnCy z!lRB-RkrH;dzcUO(e_859Ys2V#-5zFRpJ6f_>DFZ5&r;ID~tGrmM!m|ZM*OGgajY8 zr&gC1q@=4W$m9x}6r6NkUK&pZ@^JI#frOF{oFb{8-R8K~}vy z*|p$=l&O9pUV{s{3NaeUjz^``qIv4 z*u@!`;&-43;&-M8VO9M7>5_Lm&=&)ksUEWwgByEQsmTEDXbv;@h1N}%PDf9-R6TZl z&~g)ATIz#MgeJFt7xfd=ejt57lG|QH1IPFUb9W1sR(ZQ^nxLs9Ays!j09q}lmDE&_ zFnl#FqVi!N>LoCL!CX~^o83a~t2RFSs)^tY$v(opRXsfxeJt7+g_HKIDa81yDe)k- zl(vA8I6TIDj}^7a7vM0Txxhr(AkeL~-)br+4h zwS}tesHnwu(T?&#tAzr*@g>x%^_)2X>1dpdA_N9kOn z_N%rYD<~l zZZbep&`9xHP*Z0CQk4uV2CwO!NO@bt2!%1d>VBh{+~-&(f&32t%hsJ;6(dR{T$t4|?5k-nm6F zl-mAd+gqu_;kK}qsw9#C18!^4I#>tod|uAdKHFT`=yme^a1Cs5Qpo1aa$tX{p+uew4TTkkgVUCyS-!6R4V z0)ACqDE+#BMp=@rElSy}d#3nSpY0#CC2<;?5+YQjMyV4eC+_AeUR+unLxhP?1ZGcT zIgz(Dm2&;6ZS9)32ren2E=f#~vg(z(<~*8mi2Z8;)p&$xMnD1+JPrQS!at&YOO!$XvH;2HEEp_olQMi+l!WhnnIjbwJ044QuQq< z)``i31JbLxyIq=m6+5lTN`jI>ff|82W(b<+Ka^BT6jGi<;E-zNkQ1p2)glQb82Z&O z1T9jlw*E_HlWI?8vPR{b_TD7ly0V0YDYStjSpa7uHWfv~=(|I+B5{YLEyCB49|J>)!^qMJpwDHdkydmlBnIX;GjRfm=vAu1%R%4fAS}nP?|v8ZAwB8x z%ip`{sp+X<45?Sn!j*7j1o^(|N46^?r*vf!9=_G#C~65$-ZScExAvb0KhwU?b9trP z#}lcmZ~;nEV5LTX6&||FmJZxnIN3o-0YIoiRFeuP8Ru$@v+v>Jd+Oc4SJ@U|!xpvA zdrhdP*>^U52LA7-vG#tH(+!~IO)UX>mT*_7X(V<8n%3U1_ffoB?_42jjcIHI4=2YYcuT=SEG{^!!Pk|kTHWo~j!cyYp>CR9WxSvDGVl6@jfY780A`_0o1lW*icSKSOcgJ=&nCHR z^xGwCPIV44et9i-MKt0Y_029<_qC61j*}=B-o6LK3Z%tQqvJ zP8+7VDa(`9mL*QG!>s+KZL+cy<0&f8qBbf>F(PXT#{-H1I7r&6e&fe=Y6;SkNeCMW z;8ANQX*>$KMXlSmWsL38;LmAKB~6_e15zbCcgU@^yu1t7%sRGPPnW_PRsR4CsD%JA zS9FhtZ(nRXd8W?UU;WF4hSmQ7OJFTz{{Yinix1dz+h?r$O@-G|7Yv49L#ptZUXW#A zA3T{ot0ePdQl{44pWPR{u}e&Me%n{%;S$ZuuKljzue7euR0 z!qTK2Y5S;?9DXiN^o*sGWw)v1vTWN`OK*b~{{TnY7Sd2qP_wB#2*g$?Fd~8pjY=|3 z=BsgWTVonY9K4g&Cm zuYBFJAcZ-Vt|T_t`^!~(&rYzn>Gq7-+b2s*q#*;Ja~zYCR>D2~3MVe!rnloOkFtCt z)*i%tnN5x|=?stk_2GXFqS<$=x4dyy?cB1q(RKkTX;L9>qykHLg%ssKcx_&@{9EcG z%i)A{^q)UbeJMZkGDFJ$0Mrv+eejciXEyhaGjQ#l()=NDW{|6kYt|)gt)%`bLZ?Cd z<5%?5-vx2|k>9QEtlKtr*PUPO$x};cpA{D&2@6V-{KO1}1SLtF_pB$^;yR^wHMhTR z!5tx+i*S(kpr^`MRjNwBN>-#Yu#yrOj?BGuB34JezmuewFlRjr5R`ii1j? z+J7Sw1!eT~zTkNl+DpMHTWMe2BpVC)`OFtp>Fvv=B9T zJ|>+i8}_d){vuhr&BeQy_od`1rxR#|6u4PwwH*woCN#>F4tO={PuujQSTv7_x~r;V zboCDq>N1r>TJ6d}3QVF8>s)8Yc7ac8>0KSijyd(He)J31gX|-AM z->|m7>qzmF{{XOx_fyIF*GS=qf7XUFdu%9-n5bi)r2x3&xuNPdsru0n2Y&Pbh@{WT zoF4uE04h=k=Rihsz5f6Y?ke~-Q(u1_zqMOHfB)C(sD89b`3TJj+nF>3(~077PCxBH z4b2$GtpLDws_!1~Y_4AZme&X605NJ7u<)gZyZA^WvAXKOKuRA1u}%8N>gaS zDpHhZ*0TN$=}q+Ybqhq?7ExhnTvMn{wJ7;XP}E}wwQ-*nb<5k{qT^t#O==~zEk#5H zocYhT^~}jNmJL-rlDOO9LD%5#ba-@Sid9&#txtYtwO79U9WOxYi0N(F^=9vvd(@mR zDb^N92n>Zb8!jB5Ap5nayXsfhcP^#Xq#K7Ex^b|OpE~~Wn4Weu&oc9gLPII@Fr_$2 zDmsgb0SFNzQI2@7%G;x%<{#=0g32tAlAxgqTaIB2#`C#8f~wB)T8wSRQErzOmhJqc zYJ$ZLStOH`ohH({)#Zvy*iUf>mCS!0ScB~uZi|h7K=9DzT14SrFN<Vi=AW~1TYj_-ozPk8NKm%E@SRHVl_Zoe5(={;GsRNpN$`c$ zt<*DdtRUz*g0c*xK%Vteszs&Wi*4eTLQ1s*pn)R?PBDzuRh8FFMZi~8L)Q%`>P#=n z2@*nre8;{GTXNa2oBoD9GL74{*(JS|bzX*^ozpE^UsYSp4N7X-G@&a8&Y(3M=lt5W z=<0n&;eLCER+5hm1=SToF@dP!Vy?dyw|CFD(pJr?vux0nY2hhSmQL|mw&-ChVY`+; zk*NjeP)5B8oj`6rbvaGa*3)wJ+KVAkj~4fQD-z8PIMRr8CDg4YJ|dEooDfu0wG51Y zb|i8_hg z=C?)c+?q(knp>q6Z=H$~sFFWAu`eqTTRT32wF0LU2uR979QvB?T=-kzkA`|vR~=2X z-gO(c{6>%*R+N!;JNmpkXr{xN>l=Tr8$BtlzztU(E;}vSAtYhmtg2B0(67k zy@c`2Qm5=C;w0qa;;yatEw#C24u3fWh$SgJ`c^~tcB?`aZh*_FlCU|S%N2`db!cTb zVo4ZL8+%kLv??J9kVX$9##O(16=ahkSIa%oL%mSP(`| zDLQ?^I?dWbQoD9mTV22y^CW6;qc0Q);7npZ4g{IF}aLORa@yXb@viN&yY0P!a}fO0JylpZqw~9o;)`Ta*M@ytb0H zB@gLK=>}yo6hS2J2pFoJxv=|R*`JhKD4!9*1c?|M$75B-Z9gJ(_h`3zey@r&7WWN@ zR4&xACsKy`lqX44?^u_JLe;E~C*hCYuD`I*wXKH&la&EEAZH&gD;LF0IIz^;r@ojmriM=wuM|M0_(5@tK}7JvN%IjUz>D}R%y3A9hU6nY`zR(EO^&C z*MLYTNcs%^b+fVQy)UPK&sS}v{7*BZ6i|Ewg-CPZ?DyT zaVWzLoh>83ueq#ld2%+VCtb?&=2+q7`=1A+{3CGJ#J4vHzO`ue? zmef?PA`N?^6UTE~@Sk!Rd`Bp&w%+UH@lS|4iCUGQl{PnQ;c1@6xI46^Z|X^uoP!bd zt?yU84!YvTCl$^q$#9+r?^?P@G_QlB*6EHnA5Dm*MP&5r2d|%P2yCrRC?%%G>QUO3 z&duAmkd&aWQ3*q75>!sW0ba-Om%^y&4GX)pg^@sMvfj z@bg^?#5Q49PQtET9G()N_*4G1)3n|RJJoD9RR?a>m5BXn(wn`{6#g@H1wYp8I%xZr zmgV32-&TJn(^`*!?z)|g^Vas(>|Qr;l$)NBe0(%M5i3HQTE63m-3q1tD>z*E+Vu+A zme@jlizr{}y2SW@;|284-KSQwM^&&u($|PeE|^a7YjQlu6ZlN0(!7<{-?{8+)t-me z`qPf3O})|I>1%Wk8OyuFeBzRyFhfNB#K;nNHOt)J!*CV0=g?MF_1{G606Woox-}7- zE~q}uat~y@kZsrh0GTz(^#gLjEk4@XB<`Vt2lS|5{HvLhrE|%uO1+l{)pVazjxLi% zHrwvq-Tq4Mu2*v6T1bMUKlLxlKPv6|3&pF;hmw!9H*08y3uEy%SES+$`4c-=pLmF6 z#@3a}$DEOvTDBkbkIuT^hTeM34c*(J4?5$z#k-_wQWBjAO6TiV=7NkDw#)Ko>2l9D zNxj=|Q{VVvy}i#|==VsrvuWRk>{Ruln?wSZ%gY2I=MZIKej58}^{u75m$u4H{nh%qHHic52)a;hx57zM0#fKNC<%`! z$mY2pi2f_+c8PsI57{E-?bR0?>Tk9X+FU!Wt5_*gv-g~zNT|iVt80D!O67?;$-gxw zn~ywKC!TZ*hb{gj>30nc3U2L)18glIkC@)RoFIY(*UTL$YjdyIxZ<@fcWkLd@=Ji4 z`h`+XqwQS(o*J#RG~Y?cRZn`)0i&EJ()`Oh7)gaXG-HBmhUwfEtM&l%&y~ z0N#|w!~8S@w0zj?e`>omLr2Yxqx)6U=|F$~(Cf&_qXTMQ^kxY@xS$#$K;wEiF%+Rw z&#coXB0gq-Y=eVUT(jd^T{Hb{C@0=AS8qfCs1*rL#2n+=jP*KcpE+KC;jiCmc!iPq z)=$IzRgRa{n||S>x{W}BqF_M>f;(2r_=nOL(>mkCAf=}iRDyX)%1_K!BoY*uKPt(R z3Q59U&G>RWa#N1`Z}57;Z`yjvPO#t}I`o}52P67>V|wL!#llpuz{Z|y`g`^&b@ik*%km>rH0Y=tEDL}EobhP4-yBM<^Yn`Q?-)$C&X?{0`9B`#z ziNPsSQ>*TY-k{>wZfy&p zPB_~6BT~Y&kO~UHe61qL2YCbLW$Kn zLP-Q~S$#nzLGs^~EqRjV zyn;%!Mo380!2^1PpyfEds-NrFoFdi9JK%1oc1lpfOpJ-dz^yCS2yM^hN{;|fK`D31x>NV3aJRgz4@pyZC?LTYGmJHwp`VLYTPv zUa!^mJzA%G>5Ar0`Yz`MY0&zU>K87gFgJ%mox5lAuByr{Y}06l(BhPm9n=64L}~zR zU{_Vv`fo|Ly6~-*;?RSqQi#ccCrHNgT>bMptW@=*T1q^w=?WMy0a=*IKj%5$Rg*Ju zw6wRhc-!B(s|QWer5Wjya;2(%{;0*ZV7GDnwFN$@($Mo~cok}tmm31|b!r4Z_mp&q zNCaR2JACU=_I{ykQl*G1jSB{Jj2XoD+P17&-Z-GoQdqT8mJ5!bzLbOJCp!)3@z(nH zl`Bv7G~{^woh#d&y$x0K*1_#wAt~&0Q>XPW8MkfS33}N{(yLbomw5{j_`Pdoe`>%l zxXzcG)U69rLUE|2Cv)lZu5HV4=W#OAiO5QQ>g-icHq%=va%RmK$_X{KTThcz{h>wwrDW;IJN8!LeVj=>!8RETglX_yC?@3I#d+m zj;}IM6cfsa6>Yu4YGrpfPZuv8jD-jZPNV>+{{WO=)a!SD>`t3yXKu(BnhVQxAP}z* z6&X}!0nfE^Pc4<)E!#)QY0WBwx=9*}J%KS=C5^muPs;5r{cHLe@hIeymkWI_)hGQ; z&E3m>6Hg~shVyqM=maS5i20h-y3=f*5xcQ?l>k)QlHybhekmGp=%Z2`41(zn zHlHg^tl(-gVKNL%?ON-bg;}@uWF$yBwUBi|8+%u{;rub*WVrM!l&bgc7u3V0Drp6> zmgLr8yv@pRRmy^PQT2*-SXpyYK9z^ltvY3^1FLlh1G=S6urn$-i0?GF9b2q*K%}&l zGi-2_qX`4mMg>sf_~X=z`?bki?G@YP^**0)*gwlqP#l9b%zqF*B5umXcF0)!MaU@$ z2W0n(<}Lca{{RoLv1+AX-?#_}LHM?ucyn88}Ty9Cb*67W~$=lOOm5j^zNN;dh!s4)U~)_4J1h>wtYL{d;6QFn9vmC zh61O^kOY+zUa|1+!&ZG6kXs%l!pHMpP|5!Qg(L8$x)|cC%g3otQPp^lXR(X$r@~D1 zcGGoq1DEO{nC6#xz+k_)AIEflH4&v@0nb$%Od@N*i^rF2&<2W^&x0$C5rIborY3uIFQ>={i26 z1pEoPy$SySgx-193HDXyz%w3t#KY^3%fLcXUmWDeEy6@|EW;%f_0{{Y;)Wv~3s zg#PvP_7Cq}*gJ}TsQ4_=)0T1clV71+a3~%7)qoM5=oIJHq*g8|P9z#*-YIfT0ID3- zWSpLA)3o-g)siRz(Ur$we^FP(Qqc3x*dy~5bpij;>x^ybiU~YNtkI8L_oV}h0e}Z% zl5;fa$GrrBJ*bKL&<>arQhDNrH>oj?&VbQ;ZSd+oA?T`kr2hcpZ4)@%P4D?vg1Ezs zx~7~Eq!=Q;n`PBBprri$MxFi7SM8l|?AE{aX7^)yc*2h2`S;R9;l z^n0}~#Z9Hyd7mzm5L?_&deb_eG(=W+LAFc%QrU+c@ECo>wDaT*C`!x{XBeupB|LQB z8>6e!f0LC?3(D0$gES`T9v$ddN|3EhsVf@62T&jbBRtnn)4GD~E|F~VTW?z`N|&WR zWZY?TNhk`PCw;|n?hgj##&wqvg((SG*+3mKD#GX4);uy)+o|B}d({$FoNldb(b1cX z(r;9xbWFr%qS)8{ZTDvtiO7(z=OU+QI) zH;a9^Ud5NU>wtg&LPUgsB2MP9nCdKjs@LrxDUj+^>J_m7?0q}d2T{5t>Q2BwNcv~q zuv=NUb++3smwwAwvZuCvQqlnb2-ePhIjnJt+y&(jiMqbZeht0os_^HeWyv zgds*9BohKY^duVjtlIof4sm{VoOM05ExF^_oosT$t5hq*vl^&(m@f8EIh5&r-&uDYsjxt-O#cM#IpS_&3|w(Y?MX$S;xlL%VG&fJz*rOAUEUs#lXR}}Zy-z?L zGpD)JnpL}~MbZ-3f)16+RHq7xu#%GlybOp)arr1lxAdU^xa zDR>g3Hxg6k1cb_okLi&?DrVd_)SYds;_*;!+_<2&)R-x8ULX8N0(h)A<0m$z=`Q~O zlWUT3T4gCaw7;jpuW6TUmW5ipg}gk?B?$`?sv$t_jP2UCtuLr_*Gu;Rp>Ju_W6TKr zN!ku;OJ&usEG`Yjzm%g^rGPanP|{^w;NJxKX{&M z=_#h3KHRnM&g61d>S{FC=KCrw>WS(v1TOuhEiIuEjZ&QjBT9Uv>5wZ`(*79gU0=mE zszWU@6jrws5SS1Ml}Ggo$GGbEU?$m@MZ+Q&q$NTLKXqDw+v!@jF7K^w9&g1Vz_les z2RecCXVR?4k1v|(Z)x9DZ{dnfE2O}*99N&qFbB$WVWbeI^eQ*Ai# zBq|a&P~=v65H1+;?^IW#C`{y!TEKSTgQ2`8A}Z{9wCUN&Y~@snCp&H1OR^za88DLy z+f`zfmmHO+#7H|#QY~biAm*=WxE{5lFs=Ku4^fuZh4~-tZMT7Mr_@Dc^!0tE;-;Y> zL2#%Ys9Rb6ppv5q8=n4xuD((&?aigI&{RCccB};D2gr#Jv1WJsP9FyL&?Yd)+VE~@zf%C0{eJb6b_pXWTD(GW`IPdBb zNXJMTee*4~_hfiqBrC(5xM=XxB_9$EZq>CU}j z()y!mCA(J~W#tY7!3sqD+au>*H8u4p&n;vSK8(e6}G-O4}?4brrzEerW6BD@Ey zd=b~WQBAYfPdRa@p}zsOx`zh}Lfc6nE&VDobzJV~oFL?-O)V={?yuten%fqx!vm`H z)qg(N!|f;U1jOr(Qg$_u)OxMwQ&?5gl9c__3?zK3cVY0K#FmRi($b!ucm8^aQ5}@p z0+sSmtRBD77t<7*q%AJ6@`zDFN)m@MbV7=ZM#igHzsz%zi?6m-=1b7iKB>N)V#hhb zN&f(wj{gA5n_NvVSKWVWS8n?4-b>AxQVfbW7Y60^Jm%^-tZ=E{RHEPq_SE;`ESEjA^zuLDWOKpud!B|WH zQdOP>ZSTG$={D$f3Ahfp0Rb(7pij8PYx=KB_<{RW+gUA>WZFVgZpw-lK>n{1C)g^v zfA$w!D$qJ@)SbVQxc8kg9<|SxK=WjIdWkjKFpp@iEuTRjuScW79-E+op4XEuMEvi-UpWZ{C+6 z)9*3G0R(_4qX)G@2>H_iBv1zcepIj~nDa@uGe9taXOCKnohkqYY8q69{naGyg?fIK z24f!n^u$Oc?Lc{##eV}f`FE)FFhY=K;?Vu}$<9Y3u@%81#kX*@@=6w*5NqfQt3Mtd zVZ(29j5PXlkLg(aNj;5m9}slTpMLLw)tOID>L>l(!aw?Vy;85jeGOG8cSZ2Ydo#}5 zvufl84=TAEO<^k4(7z2(5R;iZS4Vx&dXGw9^BXH?bh?~^J;h+I-KUa4I!WLCYdqrD z+HJ#~$7wr8s@12RxJ{!-Q^nP2X$jn^L;+84aNWDgYV8EJ4wWRxQV2W_{8q-_r@n`h z{kws+v~@PHNFhUFB7o?3H#dRX<(C_AdafNxfpt=4N|hX%j-5)RnzLLwwH36M+pkiW zl*-6)Dg+TDJXSjHTL_T=_x}J&z3zj0)xVV}Dg^nGrD`H@NI0!~-7e@tm#tXyk~y9X z*O9=NFM>Hb#VzZT88+_Sc#0iecRbbK|9{_+m3`@xtQ(hmUDe0T=8|mJ#YIR7SsB?O zT%*Frz7)c}_BBh{r6{v(*A}uz$jjRXCE%rb&9x01Y$`syd;t6d(%{PD1er4$E8pg_7JPmVf54_X)LJb5@V4%i z=ZH3`hL3@^wI2U!mrW8?#l-wB@96uLxPH2{T=wL!H*b+&rf7P40AlhHleW4m#sIlO zwR`J+Z%yuv{J8VWelVXDXN8tMWHNTtcW+;ye6Ht%$o@?dw>mt{=b+ghHqT5c8ijKKPzG@hV#dmJjY(Jpf1V z<8)GZ0o(SQb9EXl|H3p3hquOgq!t@oYHALoeq{w-G}*i|SgeCHAsDcSO|OF0m~GAS zIw&GPeTD=b|5UF!NM9kBT{%T!cKEH^_bdLfICRhbSDrk?@Ou*WcI0k&*Deo*x85yn zvP2hk{y+@DQ7oM>j6@V!SbORp;_aqN4m^Gs4&L$M`(~41jC~n5v?q(?fb7e(6@L-Aa zFDM`;jLeXU_lw#qH|JX#jNe=8adL_}JYod7VoxYK6|&#|Gwrg9LCp3zDwZG+Mu54< z7c4~>&So_lBRW?(exRaMZ%%V6(5fy~E7u@EIcD95hMp;ta)a-|Fm z=$1BI-N*h;s*z0hc!aD{@0a%()h2JhKfFh_UpE=zI?%FodX2A@sMv_b)+}nh(*>fs zb-}^rE&M9C{uMVm6+Ri6{`zyWEL-HI45DM#W+z%X{4lZ8qI&$6OMooJSpPw-7SN(r zVfk?I#=kZq&(j|NRDI|czL_6xQ)l!?Yn;98-F=Ha5?YOBZO*978!f)dsK?_hB5a!s z1cUB<1t*-%gf5!D;{9yybtXMa*1NkVJ|g#&$#o?%TiA7q~A?_xn*Ht+OF$4MFTgTurbL5T$SY0MoH$N~1YO+oZ(@MDj#VXPl zaV5yeJ0o#VM;kuBE)Dky7m4J|iZ(7r`Z2RL*{EZ(_$T`&lch6VO5Uq~ub_Yb(7}67 zndZK}O@7%;?3yyK8an;uqqchI`$wCK&O1q25yUERA#17eNjCZS%;fu<`tCXsxjfU! zy2*l8WACi}82wZoM?}S@R(tAYB`Bn?*7G7F&fN#&SxqzAwT*}pDMQ!FPi$`+9=bJ- zSz}qmb$MggZEF2e{0chunPcCCg`zRLi($+`3={ofOZWc*HICL#d0ZU(?Z&IC$9hxa z`@93x6gSv{?noVA?Z#Z*_!m6xbpwzC!LSQzHdHdM(cNn@v^<)E!I5{9Q?oYh(ej*>P6;M)r1t{pu ze4ymj1lV?t;k(R3Rv=q=8_S9N5@nCtQ+D;b^jc3l;3sBtpuOCw#57R*^d4*7AbX*& z+1aNK5gIb>CacXN!$umk`)+^stzF|D+){s5J9|~J>Ce&VTc@!ttLZoWK^B(UFTy<1 z%6>O0mto~`J-6GWygCOK#aCbXFZ_9YVy`$UCA?@{*b<>2& zhz9`%g0`WnM{PcGqd%;=dQ|L-QoPTGz?Mr{*3Ef2( zKlZcILyb?Xzq9DYBp&CkT7~9rYrIh(iI~V26NV;ey4lrj?TH7ZRj@}+dRe_V|Hn@s z!PT-~-p9qauP<<3HNU5LxiR};9%sXQTU}j^7v9mAJl4`La>({*boXlzEd| z5AF}Wov6L|$9UR2dBRXU8@x1JuivgfKyOGsa{uIy4!KLMG@@x_i_Z*`)^$jn*SqD|4y5R?TlsZld|5ht5(^Q@;Vre603G^=1o$->iZSu3<( zenLmw?Q0k<4j*%6S;)5A%;wf(W0%s|_l13xrqx?%=Sz_I+z*<$DO{Q?_us7F!TuL) ztJS1Q;Bxx3Z7H{4HCB6umQZt2wGddRg2YGx}lp@aEUb2P`Gp{a30A{cENF4E@i-Y%PWq zOP)>>6O)9kc-aUk+N_h#DumC4F5Jr@yk81**4c!fSKXUb9u?R=V|74O{(@habQWmLFyzEilJ;jI15n2)xPiSg_u!&m#&umukXO}*j zL9Sx;`j!_@OM`e9@>^r)eG+R{-OAf48Y>x2oy1^M>4u)}p?vkeY}MCfNVE{vk0f_( z$O4Q1r5|Fh@u;XcHg#+BAU%#(%pKe!(56o1l&5Y!msIF_$08=L>YvvHrtK>|Eer7+ z;!}&b;K5t-uwG0jwjL8Lp};M~xAWk=?T{m0RN6Ae9YsiOIi++HRKoPCin2n2cnxys z56N8ck|0bP|BEKKq_5^;YgzI#T>{xI5Z0PM&$9BAZ`g)t*_7Ul|tas0oZ8zUsOt7gdckEqB z$`z(yNlD(!QfbXBeZITkLO%0PKONeI-|m&&wF*e_T?#xhZ#aoxARq%%T%|L$t0KjH zSMGFYq=Y;&^PTlOGFatAdKfw?9{Z**+fP?9IUHwql^;p@8+>A~7;jo(69lzmyUYtt z&~+dO_q$uV)U1R+V&fH+{vRpaJ8?IxYDfmwPD?nxmroH zffQZdE8~1Q2Top+_uqwNwdYQSxwgUM+#Kr|LvGOvMNHP!pL}7XD>pItP1QW#Ys4;l z?B{Gm3^KZ{@t1Mvm`GF!JTG7(P<+B`ZcYxS3lZpqo>L}@JwjY;cQJ;hwZZ*4PbjSZ z`7>Mqony4*r#+&eA`j${eBJHaCv7#oT8ih^eAQX$6fFyty568#9VpoYAreh|_?SR( zOhQU?sZLbW0+tg)z}7CE;jkn{1w{n{@Eo)ink<&`Ly&^h5IJXDx|uck6k-*fwHCT&6wPVt zq;}gyR-=(*R@c^6+EGb7E1SAo{a{L-P>F~g{rr1bKgi-ItzD*=e&-Dzhlql3C-0y1 zV%DpegUs)qbB|09_d~?{Z+v2WkEf+xhuDh$1$;+xw|=gB<6lnV4|N1j?DBu+>B}@> zef>5wm!~ZS(Vho&y0iuX2Z3Gde?mdHiSf_Lcm4u9P&XGX_n4@1}^lrhL89krzL{NK089pioH5B~xurp2>^S-hAKn%w=YtdCLP&lVB4 zQKueoMhl(TDDOC*z)zk^jS(6S5j4f}s0Jx=`!6scJk1qmcBRW{_K^MIO$zKU05)0^ zAC9?klXDIEZ$sU^;%oo>9+cn}S9zX)65CMM_&}n=$m?sXoLY(OnB4E0W+`?K!9j4? zL7Su8@3L>tb({197Lj;w*E)oM9#%8YMeOEnI&1;@A|ov`q2Fqw-nb;lfLtO z!L%UZkSkqPilPc-ZLb-=;Q-#z>L!LY&xUqu-`lNME8w#PnM889wU#1`z^KDL2rZN* z+hwY1%dY+`b;_4XVtSw1<1risHc3thDLs;ej0I3w?P%=<7#&EYIVgJWrIb%?s8ePN z0`MUPfw_$?pRLR>Z!{FP1Lc!SB2!_KL%C6#?`g~nMx^3HoxYeSz+=+e%whRGuuSW` z$7ShWuVR2q;*SF1Uk8!5gnhcobs0;g94qp$?4CInfo>u#u2b?qWDe|#>D2JcOIC!y zpYemFsgWUEG%r(6z=!Me4v*3XucxY|b>21Iov} zNDfsve>xNkZIf@R;}2)qkh>nX?L&lh4XvKTkkZLDK}b1zG5E4$P*!5Dp^9 zSA+;~r#*Rp680=8)lcEBK=kg9V{TcGwnkqm0zrvwBzai7@J?at2yZE!6Nk;EL42*G z*@uTl6yV9$9i|3rZJfDU!47&9&wv)52p+lcrDX#-m^&x4A!TKHv-{(V{!5Vw+OF@a zRa95r{uy3$e}Yr384!ay#g4wXQM1{A>PplFR} zFRJ=Ynr;2pipy5E0dut*uJqg~>pCHMI?sGeP2PWf-P&p*_&u{Tu!)u9?F2dvQpYVk z_)Zuc#j~k2l;fk{1U$FPZ7zmL+=c+rEk-{Ey~h-z7Ez zphO**GiepCNYO+@EF$25OsC#gDEMGqGkQ8^W)XwR36#d1si0c!#5nVU-u1P3LSSg0mt?u&>F(9cyDji0`2?9IqF@O2;)S?y!TN&lb$>W z{t`8ONmpQ>B>HIll9oWBo}`iE%!CJLQ%jRm*wY72%r# zQvGP2zoBFNJR-52<9HPRRj1KcrbF zugwKg)m}Th=5?2CT2y+5<>_;AN1Kj{M;lY10>B?4KwW~}xyNXE+JSGWWl?Sh%Np}e=NQiSAJxlSHj*(OywokT-uA~WTIrICP z9>`-v;o)LOS;Gm6j8_#%lYymCy>#-Wg))|x)1m^ud|0rs@Tf4~;Py^d(_0RR2+gT! zdidaaE*T*#wbzL*R?=Y}YA{b$!}b=$;s ze-EL{t(UJ{PdWZ(+RRJR8{jhUk^P?QDQ<)yRp7A~G%_r46Asut9Z1NUQ=SJL5BTTH z=PI*R056txT!+=UV&ORE(V5=IwDLv%(&uqywDIy2;qS<=d}KO>?XYBK&^ej6pOcPc zIUVOT);|{;m1qTY3)1i`UfB6)u>VqMdI`|IgMx&s?rDva;S)k}p2kXjuELzojM2TP z_zeD&0XPtL^%i`dws_OKrl`}w#wYa$xhq~>WKnpIT8&u3&AD_hCGDE4S-mq8gdDq@ znPOXAJedHyfty1nu%&cBz8u*+;TTmU8j5Esh#; zD3iB@e+j^;g=TAHJnCnCKJqIHLAlcDSzKW}M?tUI+G7~CM5=K<6JB{NHJiult55rzhdLaqr+Q98`5#1>*HB6od(R(9E+_lhCb zJehYy=|8MPXKzReU&!06^gdhM~uv<;V+jb3avW`yOa zso!Q2S8ZBraB3>gY_lGCpk!JIBle(8Ks^o;-xJHeI2id%PM1+<8qj2``j_`I#sqt7 zb%R^yZd*SZu=L=2^5?(($yG~zefJ_xz^F)EOW7w*Zn8mh`Jd}`vgg9_FnH8&m%AU} zoj?LIa=JXkRMKj+6X^RvS@)XVH(g{tqc$W{e0Y2C9?UI}b50*Y^cSoD9??Axt+5aF z=E922f9_IaF@6cc!|J$QO_HR|p21n#?3?`Q(>_;dS<3Az8(+8iV*Oau!60*Na{7YL z-L+9sC!w6-j*A4Olh^WdvNqpuiAS-|@fDA{WS+!Mn6sn!OCd31 z?k1YIfhbP6r=EoEZ*;Ru6*dZO+B;U-ZbphztiLc8A+r<$v(F6tZ<a}z*>x=3-+9LnZ+}Q za#V3PpRmXb`7QOvZFM zL{E2Suz(TaK6YNsh6rc_F;$=a*v^E)`1li>7@?XDv~lQ5xUQrM1)M{huUrx&dn|a_ z{pYgy0))9B9wEDX#qcCHu9PRxJ{fi7H!m3guIct9FD=l%b}5z5Ng@ob5J6`Ma2dGH zJr*m1dix)lXi0e~c^af)X4A?1XkxXN5;a3Q>z9lA!p`F-`A8vA>>iz2-WLm6uZhLF zc=F;70sGXMH%*!s1nL4aFM zrul)EbeT8;ahyI8vX(sek4aHdAy-CwVCB2Xya{XI?ztfOferBj z0&Os2@(M5i(Zc9!dzuWX>%Y5A&O_68=mzmLk;Ior27eIhGb4@KY4DNfs}(m&0UMQLO598$GpH*^+C=swwNe(%ZWae#mQMP+ez9{z|kJw_TY)%_Q{ob zqLFCgQSy?-nXqe#Pwm&(8S%mrZLrwHin=Cu%wEaYA`(Z;!uvLl@jf|^{cn46 zePyf*)VyzYoA-7URC$17G2oK5Y)$AN!v{)$LS?b`-u|U`4}TnJ3FMc0?|gN*I9&+2 zWv{2jNiSOt(i3?km9H07;$)p+JYQF1X@jS9GVw^z_ZCq_QH=2=x-&cZ3OOtqNEyKJ z77U}42NHF@fZH%bIX)>%^-{B<9QR+yUnXg&={35(j2@k&KPW36A<&!;3dGLh(-RZe z(nL1W(+X%Ng-{3qYFMfRM~z|Y=`%nbOy8t?=B%aS40wlnZDDu_YX4?S`E2NRR7m8Y z=*EHuv%-(?TN4FdpHPfPk+;$3!&0GI&xQFyt06=fLM5q*och8@p z3X&VbC#Ta3l|U;ym7=U(dQv`^;KNn+LJDuzEs!D=LgBPZBg zfz`>k%|+d_o)|ZkU1Kd>7)IzVMS)(H6EN;3#!>tA5=SD!TZEj{^gsoxu$GEqojO+T zsd^C>H>I*OaT7c=C1l<2_r})%6@{h2r>kDNxTE=BR2s1d$r;iEy{$nb`K`KFoDi33Xn#;ZK*1qoSQN9*ckU;6ttjv0 zmu^ws#4pFmf*U`XL)o8x?RTuxyK7fnUiM|J(P)m|XfVumtisRJaM9F;I&sG2y*dAz zw8q_VXWiyPCB>w)OQ%8z)jjfVUy9khHOuhP=EvFMhS+@R9kqxl{q6@Vo$+O!L$H!( zf`7{HRu!sMIE+nSEz$rjkSa_E=S@0?d{b_G7tO7^>A_A@m40_ANR({mj&UwjTNGW+EI7=y?V@waL^sNEBi@~npG@0HNX^OSu)r1 z=a3SHB?1HT{`V8Ji~_eXiIXtbMq0kI6b1&^Zv)LchyPx}lT1`@f zA?_tn1_CIf<9;Tm&@axLj2qliI?_8O)i7GN6r1}RDl*}=?rvbfTog}dEZ_oPJ01YE zt0=(9$Iw(;STg2T{l;0TmZ<+kk=Jxl5**9iNrrRYJd~Nj{)r}Mr1N?jGEQwtW5CJ9 zG7J{HK3Y=RLCJrxR4_+`(f5hC@XMVWwf5^6{;s>^Q6VodVH(&0*C%LSyUoU@rQ#IN8 zUdFab`klJ9=zd2CDeB~)bTM9B0-s4AwEaUr7dLA6ro1r}5I@dH8 zBA`4(OAt}vI`-j`RzY1p(TlYfTitma`?BK2jdXWwG27%77GLZHMD#67Cho)&+M*Fr zb=SrBq`0)?hwK?P&d0sO!+1cfr4Ib|hi|=(u1d+vk60ki9G%4oh5QAA#;?7q$)IYR zq@)t;1C>bzBf`CDVpayWy$Yox+bK?AR_&(8_Ipdg!$v})d5YN#(0>8VIj0))wUp`v zsDEUlRj!Atc_CvDN}5O2jm`L;a&`>m@CJ}>4Czl8CJjB1b5CwPcPTfY6lGNNfA5yU zc^aRhCVfx6E=BD~Nb2O_@1FP}r&iYuFn(Yc^bJcBe{`A>)oaWGK!(}2dPa*j^jEN6 zTi?!$^c(-%XyGa?Un<)UCl?Q1Fe?d)zvjdZrrVEQqa$NidrZzw-1SmJ%B+2;FZT+Q zeE!566Gh)#GcUT&?Cx=JYyVo?Gm}zEaX43b>VPcZydhxf^Vn4xMA8SR`w6mf4qrX7Qy{BD)_8)jD`*iM>%#u-T zXcIZ(id%*ii?2uuvyW*BXw{RiF3PcO`tyOt%v~`YHky=noj9COjN~p^hYaKjP9#=f z=LmP=s7eDeQKStFERySE%aL){^h*UYD00j6luI<+!WGP48*4h|CYLWN`qBw9O>pcZ z{f{hlec3rG@ZzAXie?@hTn|rSbB~wV&@(m2{u~6%HgDn554JG=8(Lm`Js_mZT+!}v z|5)S{mHyLhV3+n^6Xus|P|_qyzVhjLH3)AzV1x{cI$hN+8FM7~^f_n3U^q>-!D1Sn zd-b?KIV;2!Gqa3q)l{GA2kXS-w)=DS2X@kh^Ynd>1;UX6+w0oS$|le36f#s+mQ^SW zc^V&>@qKDSu6%LZL=E6@g5V9EZKvvRB7<-@6O@Lwkv=kj0=w6miYrH=P1Qt^PQthh zAW2Ndz<^GrUA+LPU9`|ma<1A9XRr>B?A?~+4Flg%7c0Cf17;B``|aZqJa?jC~w?zOhzED<2Pk!>h-? zL-VyuNbitkHo|HY(fi{K6=a9%^60${8*QCGd4qrGJi=ZcOkdgF+p=1L>NOEm)|s{n zCqE?>#EUN}jmFZr={)u*M{p~`xrdeOtl=AXo&6614mtHUG+cCWL0T^(Z_y!+@i=jHR>cVU|5Ou zJzsmze?pg*1V1(}-6}4RNGjAW^u1Qr%Kqk~SWlx_eTnkrr3#UTx$me$`RctiF&w+@ z<|D5MzfZjR>c<>ne>}$#86do6;Z~o@hBIrNbLn~Q{RF-gCKg87)Yt_s9lY~XEovjG zUc85A77_cQ{k8&jUBP>K;=bBWF+qu`;$_yyfDH?QE+ar|`hX@Z1QA1%6ML=|*aKpfyF7)n^~8A40hRwAT>dmwdhv$7NMEJC>wvAlkFvbOsplX*^< z)u`z7NnyRs>L$N5+IdkFU7nsVGo)Mm?WsUJ_Qu?5<;v9ky^AkJ%-6Pge+6)t88$Ub zyoK>bJn|b-6?2?D%lvcc-lX2A)dSi0_0_fY+R+ix6Ad=ngSj88?pmE+IymL^@*A{v zu-KYf;-tnH_rcv`p8>W`HSSrfm2hVJNHb({inqAXszbI*(cRs)G9!EZ6>)QE%U^qQ zvz+2~eMWjZlGc~pzdXtv+VlGu*AVpIiN;XU7`D~RyjbSaHyvW+bScVsC)eQ+T=T~p z+n^PIkn}m~VvskQRyMb?*?vlq7Ywv16^#I9Fge^@ z0HKKE%od8<+PY=G+M_EU9xISSmJxN<0pA9`xah`FvoOb0G=~f{#|3LBDU^1Xe+3dv z#@ao%mu1YZCqq;0!Y?btB9_8ARSbcsC6|EdtOOUv#0?A$F1QLj&n3B(T>hW02^6SI z3yS z#U!T*Z_x~Y0abjL@Mi_?JI%eAVuanz7V>q?U@ya}#8eaiQ`8LNPWUR$Uhpc0@tm53RPM3l5nk0N zTmay$r>oTm3-*HqgB3a6_`h4~ubJ*P?=!$PdeIZ2Ttp0-p$eI+eh zTG09U6(p3j%jE>?MJ{7Fvvq%I3s4IToWj1nKHws6sokJnaAerf)`fR887xz~@-l>2 zRpiM4RM7Q7198h(GsTFjfjxN6`JyO1QlOfdNW^h!d)-oW*nC1pTn=wCfUTN-bl7x` z@Jckr*xC5Ddw>ucbqBI>ZGHIFiv<0HufBXqDlG0#xVXUKR0N-K!4ch1k>9%b-V=wY z1|Ii2vQ;-%anvb}yN06%8fkMKktF(tsn88uCX#6RJr})B*^g; zLqXxl8e40>4;QN;6vy{OFE_eN!qXr1`*+%`@E_$Vf`gegMU#5!1~j%Y;NK1F?q`A( zu0gL_ncqfIjuNNbJVMQWnQp1qjCHT8Ja{e2#c9iI?;XsvFz#|*@E4etyKf}X!n<; zkiWyL8sXB_+Xh_zxT#^Mr!g&mfeVUw5Mmo6LzLXYAwPeQ1^X*)m>9sea!~Z_v>q82 z^*%lvy_9x&&``cxyEDDPhJmO~0sSCS5=*)_PQJ`HUuy`fg57feyoKumhx&rpv+I|N zfIX%DnF$mD?#~64gqg~4f0A$GQQEu!1adR`w-1Bzd}@GqP9p?`!H`l|#(a~QQm8Lv zH?|70hNi{x91pkLC&_>atW@>WQvaob7R69J#DihOZ0AW)R?sevR{4PjL*l4H@EjM1 z$OK8#X+rE&@=ob+HOGcIr&{mc^CxqJq%b$UDD(EMm}EX%|cFO4vgTK_y{@^=aIbsDfpCuIPp}W|kZ98w!(qZ64jRnI^f( z_hd-$LG*ITX9f%l*v}>DqhjYJLniLwWf^Om6ZVF;}K1krCJ!76v zCLaz$Ji@i{8DgCw@)V?3?3K3{uM*O(G`P=D`vs=_{5Fjnx8%rG`2um{d2du1vH zk`0WOHDP_d1gJYEZiqoD6wej}z>Z8ZMYLD-WxyHi@`X#GsjZzd1#<*w%)ZPElAbe6 zUzybhBW=rlnz&)!T>6^OR4;vG_D%)G_IG5Zm77I5Sv4n(Pb%)@_KnYy^hAMVZbp+T z9*$U0L>+Q*cP^6wG8DRtk1El^{wUpDWHRpcI>xbj>+TilMnV$Hhi!?l#OcI2#Abdh z_&0)PmZ$-~cq;qh5+SQ|*9yB!6 zpvwe3Z=HPD0L4g$L9wb!*c!{kOdLy@?_ZJJ}vc` z&>09|e~z4T?iAqL(vXF6K=sa!4}o?d}`l|yBP z^)Il5_WXoqm7bA-E>j1T1|#?Km5+6}plYj_Eo7z?!`@QrGVNZlZ&@o)P>*ot3X{g% z$Ww8Q>*tY0(ScD0G>fOGD>sW;AyBH2i*Vm5w8#uMAHwiO+`b_2rD!ggs*K}a>qYY~ z_^2D#3n~(oyfBx}&y8q46t~!tH=k8s>~jZvqme8tOunVIoL-r3x?-(yr)wzPT{q#q zl7edi?aP@!B-H*JsgJ7zBw@Q8WUBHTl)SEIR<1s-d>9KJ=}s!dN}9XU3ro4C+UYh= zndV1mcjEqm&IQk981I)3IxzBP6w}%BW`bf`WD1>x5(4)N`u>M>>Fl28X=WclCdl-Q z=V=W1PM&a#ltI~HnR-S7o2*W|k{6cst1Gx!!o^W1A6ct{a!POpoRGVPk_b|^41dXE zQD^#Ydt0G`!H6eI3HDWFhDe2;JH#3@c$ll0akm%7%4ka$x%?4_j+`clhM~b-;qhw? z>3n=_K`!)kDOw$i7~MEe!3xG^_*?;uV@8x98gd&r?dZfq6cc793by!SQ|!ZhFfbV0 zvk3q}c&5X52&~TAAA|atleGI}893#YgJ@wwjPiRW($({k7{xs0soixA=#fAFs&223 zmKS6!#F-9iuwiU1_>BP8u22Tihhxk^JPXVws9gbq*$X@RnyUtzj*=KOc8b5K{G>Vb zQ)-^iZXS_GfC>pRwFONR=Hh%Xx42AALR4I_Az@7*Mv{FE&vMPxDeRZn=&m`!`#>2i z`fXrQ25tOSC|puO!{Vq&A%c=!(Ij7g`@XR19u(@{rh7h1fh`Ylhsd>n#`glTAY zEk#F4Vi+^&$nATj=Jv6Gm}@9GZ~w|Se1829E!ds( zbeK5Pw2%e~4lxSFoeJNyT{R=< zoul(~;p*)RC;gY6alrkH^x|TsJk1K$uMi?@Znk5o7Y3z5t4mW#l>AGZnUs%Bck9k5 zbn-fqGKge_NVPPKJ$^?t4H1K$r)|NO)X<3Zho%kO1{&LM%Rub@lR;o=23^5i5^PV# zF-#pJDUWnnO17r?-Ubx7h|)aDPgm#-`f6bC%g33-2-TuoY3Xnb9O>RC)4ahqc$qG& zD^GHd%$E`t6mCs}Zd}@1m=rHA5VD4aJODj!FPfoEwv`IgYy269M0 zHUw)jdurG#MHbROYV?<9o!R!PtWQvrL` zR47vDCYNR@!YLCDsQBj*=~SyBpyZ=qQ%+)4GOr2d2!~uh!O?KJ4&W52ZG660id?NH z!=<6dOD^i9kz57xb*O=l;pNhBAz(VwnNC!=23$_17jjNUD%}Qz1@_*FCG@M}U(o2x z@SWzV0fTOn$V>$7lzOU}3FE~#bG>t-;bRF}C$~mmA*nZR&JbYiE5xc)aTP1Kft9~F zGhoGPFcYcTvdkN*R1iALAPA3O-qNMm*Hes^tH``f*HVzN#5m6$#yLXd16(O)jx50z zL}y1w1%z|<47}O^C)xyI;NArIvBXRH(C?HMOWsB&R)B&{-|#1HSOk6;QF2&6qN%8e zvC`_K$Jg|a@iU6TZ7C^Mxq zd2$i=wuBaD!Vue}OjUbwN`bn(huVjt{^&tB+V0HIoG#NbQzx+yzTCT^)m<9J$a)!< z_Pq-Z*Er~6+09h*(l=2xeKjCsz5R^%H9D&9WNg*_rzZnO(`smdZa6$vqy{5jMmIkZ zGeIcR$n(1O1-D_oy+;W=Ad52^Z%n7=s%tPzR0!5>V9vIGp_nwdMeWaAzUu8oQ{+_l zozEytA7%L%X7=)~Sa_{tvpX7!d7rK@eUt_ZrINRLU4OnUP@5)DuA1EJVSmOWKS4@9 z_rke_!~@|>>5_HpreE-LAa2{41+fNI>ILL!vEdhoWE6u^G~X%Zd3U>H zjr`b&v0(5z29JB|pdA!`kuPE2weGl|%zpLuEjM?gTpSjS+%h9Y^>aB}6x~KAm2c1n zw-0qS=p!;(4VvV!wVrbotKn#~)Q$xw zJqt2Py_Vi)r9f6a{6;8;_u5C7{G^mRJvB{i+Rc-vJqikkuuFU%&@MLIP;@FvD6h?9 z9q(adPMG<|y?{tL;{|uf@fucnk^f@ nvj`I1oYLNLP*(kB==8{>=J1pDK^cYZ@A&@#%X)3F literal 0 HcmV?d00001 diff --git a/public/images/gift_logo.png b/public/images/gift_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f5b80a8db21f5e23858efe204c7f935aaff5c69a GIT binary patch literal 897 zcmV-{1AhF8P)h0000&P)t-s|Ns90 z001B$AfTY2zrVj=U|>K%K;PfrfPjGS@9)pg&kzt0K|w*jzP_)ouaJtayI(i?C9eqjJ-z@EIExXMia-K zj80wovZ$<+rZAp6M*1t!&gfz2&2!P=b#kTgq-3Dz{^;JyS=X5J(LQ{pIKGvuZg_Mp zy35gilp775jh@1rQyNcltG)GWT+2O0)#&uhnP~n!dw2C{qido^L&g;CBkZg%{IOJs zp3-^q(a)n!CM-v=}p*?xM+)#5E%~3iZ&86EHvdu*I>Irsv zS$H-#^3^+tCT_|^yLTCM^!vv_E~YeE%O|MKCsdT;j-pBN(KOogJJ?4r`$*TLKcZ7x zK2uemMXOvr0DHlB?&3sEq+!h_r-PYIXhNCjk>#Us? zOn0FdCg@u9re2HzAoG0XuSE}h$)eRGiRRlJ{G{?$cH%(h#68h2Bs9B=Xrl=BImxxzSN7kI1KGib z$*z`rY1!^%ON1Is-!2!?l%n5Mp*bCYI+~BwnCMa`nnDCw8Sq3Oj%a3%c6l6O zlQGB9e9jx9S>K)APkX)>PW+Q-Mjvuxa^;9NJkEn)w?z+a&cqW$OcQ2NEtMj8%khK6 z)##pg1_y{INO{xu-W^4FzRVY**_G(?5p6@_&gkQ3`bsoIG@`$4^xKWmw#hQ3e+#F+ zG`dRvC(%~ty>xU5qF*f9|Cos@AbLQ literal 0 HcmV?d00001 diff --git a/public/images/present.png b/public/images/present.png new file mode 100644 index 0000000000000000000000000000000000000000..4b34305704f5b2024b6b2878fb6caa56ad4ac96e GIT binary patch literal 4138 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 e5IHVB2dRx(rBeE$z<+FbGg literal 0 HcmV?d00001 diff --git a/public/images/profile.png b/public/images/profile.png new file mode 100644 index 0000000000000000000000000000000000000000..bcc62971ddc335d950bef3cf42694cb30268778b GIT binary patch literal 4605 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 M)(7jA-FJ=r4=H$h;Q#;t literal 0 HcmV?d00001 From dbf67d433b3f89a76f3799d407c44cf1d70287fe Mon Sep 17 00:00:00 2001 From: dlawlghks Date: Fri, 5 Jul 2024 21:30:07 +0900 Subject: [PATCH 03/32] =?UTF-8?q?refactor:=20App=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=EB=A5=BC=20AuthProvider=EC=99=80=20AppRoutes?= =?UTF-8?q?=20=ED=8F=AC=ED=95=A8=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.tsx | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 1df5ce256..c5bc1f345 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,18 +1,12 @@ -import styled from '@emotion/styled'; +import { AuthProvider } from '@/App-core/AuthContext'; +import { AppRoutes } from '@/App-core/Routes'; const App = () => { - const name = 'Josh Perez'; - return ( -
- Hello, {name} -
+ + + ); }; export default App; - -const Title = styled.h1` - font-size: 1.5em; - color: gray; -`; From b9b244780e06f418d3d9e323ae21eee974ea0276 Mon Sep 17 00:00:00 2001 From: dlawlghks Date: Fri, 5 Jul 2024 21:30:53 +0900 Subject: [PATCH 04/32] =?UTF-8?q?feat:=20Header=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/Header.tsx | 55 ++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/components/common/Header.tsx diff --git a/src/components/common/Header.tsx b/src/components/common/Header.tsx new file mode 100644 index 000000000..d1411b257 --- /dev/null +++ b/src/components/common/Header.tsx @@ -0,0 +1,55 @@ +import styled from '@emotion/styled'; +import { Link } from 'react-router-dom'; + +import { useAuth } from '@/App-core/AuthContext'; + +const Header = () => { + const { isLoggedIn } = useAuth(); + + return ( + + + + + {isLoggedIn ? ( + 내 계정 + ) : ( + 로그인 + )} + + ); +}; + +export default Header; + +const HeaderContainer = styled.header` + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 400px; + background-color: #fff; + border-bottom: 1px solid #eaeaea; +`; + +const LogoLink = styled(Link)` + display: flex; + align-items: center; + text-decoration: none; + outline: none; +`; + +const Logo = styled.img` + height: 60px; +`; + +const NavItem = styled(Link)` + font-size: 16px; + color: #000; + text-decoration: none; + cursor: pointer; + outline: none; + + &:hover { + text-decoration: underline; + } +`; From 91f0eae68222135d2dac3fd88d862421466da11b Mon Sep 17 00:00:00 2001 From: dlawlghks Date: Fri, 5 Jul 2024 21:31:06 +0900 Subject: [PATCH 05/32] =?UTF-8?q?feat:=20Footer=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/Footer.tsx | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/components/common/Footer.tsx diff --git a/src/components/common/Footer.tsx b/src/components/common/Footer.tsx new file mode 100644 index 000000000..fa0085d75 --- /dev/null +++ b/src/components/common/Footer.tsx @@ -0,0 +1,20 @@ +import styled from '@emotion/styled'; + +const Footer = () => { + return 카카오톡 선물하기; +}; + +export default Footer; + +const FooterContainer = styled.footer` + bottom: 0; + width: 100%; + display: flex; + justify-content: center; + align-items: center; + padding: 20px; + background-color: #f9f9f9; + border-top: 1px solid #eaeaea; + font-size: 14px; + color: #333; +`; From d59ab6d0f3063fb53d8971dd931fc8968ecee8d9 Mon Sep 17 00:00:00 2001 From: dlawlghks Date: Fri, 5 Jul 2024 21:31:55 +0900 Subject: [PATCH 06/32] =?UTF-8?q?feat:=20=EC=84=A0=EB=AC=BC=EB=9E=AD?= =?UTF-8?q?=ED=82=B9=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Home/RankingItem/index.tsx | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/Home/RankingItem/index.tsx diff --git a/src/Home/RankingItem/index.tsx b/src/Home/RankingItem/index.tsx new file mode 100644 index 000000000..0506454ff --- /dev/null +++ b/src/Home/RankingItem/index.tsx @@ -0,0 +1,31 @@ +import styled from '@emotion/styled'; +import { useState } from 'react'; + +import AgeTabs from './AgeTabs'; +import ProductList from './ProductList'; +import TypeTabs from './TypeTabs'; + +const GiftRankingPage = () => { + const [activeCategory, setActiveCategory] = useState('all'); + const [activeType, setActiveType] = useState('wanted'); + + return ( + + 실시간 급상승 선물랭킹 + + + + + ); +}; + +const PageWrapper = styled.div` + padding: 20px; +`; + +const Title = styled.h1` + text-align: center; + margin-bottom: 20px; +`; + +export default GiftRankingPage; From 11ca22765d0c6faa1c2b871795e2af00a9b2d54e Mon Sep 17 00:00:00 2001 From: dlawlghks Date: Fri, 5 Jul 2024 21:32:33 +0900 Subject: [PATCH 07/32] =?UTF-8?q?feat:=20SuggestBanner=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Home/SuggestBanner.tsx | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/Home/SuggestBanner.tsx diff --git a/src/Home/SuggestBanner.tsx b/src/Home/SuggestBanner.tsx new file mode 100644 index 000000000..9403fecb3 --- /dev/null +++ b/src/Home/SuggestBanner.tsx @@ -0,0 +1,40 @@ +import styled from '@emotion/styled'; + +import { Container } from '@/components/common/layouts/Container'; + +export const SuggestBanner = () => { + return ( + + + + AI가 추천하는 선물 + 선물을 추천받고 싶은 친구를 선택해주세요. + + + + ); +}; + +const BannerWrapper = styled.section` + padding: 40px; +`; + +const BannerText = styled.div` + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + background-color: #feeb00; + padding: 20px; + border-radius: 20px; +`; + +const Title = styled.p` + font-size: 15px; + color: #00000066; +`; + +const Text = styled.p` + font-size: 20px; + font-weight: bold; +`; From 816e0952e00e6ed8edcd4f93c0302d62e960e6e4 Mon Sep 17 00:00:00 2001 From: dlawlghks Date: Fri, 5 Jul 2024 21:34:54 +0900 Subject: [PATCH 08/32] =?UTF-8?q?feat:=20FriendBanner=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Home/FriendBanner.tsx | 50 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/Home/FriendBanner.tsx diff --git a/src/Home/FriendBanner.tsx b/src/Home/FriendBanner.tsx new file mode 100644 index 000000000..2cb29f4c6 --- /dev/null +++ b/src/Home/FriendBanner.tsx @@ -0,0 +1,50 @@ +import styled from '@emotion/styled'; + +export const FriendBanner = () => ( + + + { + alert('선물 받을 친구 선택하기'); + }} + /> + 선물 받을 친구를 선택해주세요. + + +); + +export default FriendBanner; + +const BannerWrapper = styled.section` + width: 100%; + height: 130px; + padding: 10px 16px; + background: #fafafa; + display: flex; + justify-content: center; + align-items: center; +`; + +const BannerContainer = styled.div` + display: flex; + width: 1160px; + align-items: center; + flex-direction: row; +`; + +const SelectIcon = styled.img` + width: 70px; + height: 70px; + border-radius: 25%; + cursor: pointer; +`; + +const BannerText = styled.p` + margin-left: 20px; + font-size: 30px; + line-height: 37px; + color: #333; + font-weight: 500; +`; From 92229089ee01467eabf57f6beeeba2893eff897e Mon Sep 17 00:00:00 2001 From: dlawlghks Date: Fri, 5 Jul 2024 21:35:17 +0900 Subject: [PATCH 09/32] =?UTF-8?q?feat:=20HomePage=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/HomePage.tsx | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/pages/HomePage.tsx diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx new file mode 100644 index 000000000..903ef7d09 --- /dev/null +++ b/src/pages/HomePage.tsx @@ -0,0 +1,15 @@ +import { Category } from '@/Home/Category'; +import { FriendBanner } from '@/Home/FriendBanner'; +import GiftRankingPage from '@/Home/RankingItem/index'; +import { SuggestBanner } from '@/Home/SuggestBanner'; + +export const HomePage = () => { + return ( + <> + + + + + + ); +}; From 5a9311ce37507970596d1b73ffddce19eed34749 Mon Sep 17 00:00:00 2001 From: dlawlghks Date: Fri, 5 Jul 2024 21:35:34 +0900 Subject: [PATCH 10/32] =?UTF-8?q?feat:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=BB=B4=ED=8F=AC=EB=84=8C?= =?UTF-8?q?=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/LoginPage.tsx | 88 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 src/pages/LoginPage.tsx diff --git a/src/pages/LoginPage.tsx b/src/pages/LoginPage.tsx new file mode 100644 index 000000000..22c792303 --- /dev/null +++ b/src/pages/LoginPage.tsx @@ -0,0 +1,88 @@ +import styled from '@emotion/styled'; +import { useState } from 'react'; +import { useNavigate } from 'react-router-dom'; + +import { useAuth } from '@/App-core/AuthContext'; +import { Button } from '@/components/common/Button/index'; +import { UnderlineTextField } from '@/components/common/Form/Input/UnderlineTextField'; + +const LoginPage = () => { + const navigate = useNavigate(); + const { login } = useAuth(); + const [username, setUsername] = useState(''); + const [password, setPassword] = useState(''); + + const handleLogin = () => { + if (username && password) { + login(username); // 로그인 상태 변경 + const redirectPath = sessionStorage.getItem('redirectPath') || '/'; + console.log('Login successful. Redirecting to:', redirectPath); + navigate(redirectPath, { replace: true }); + } else { + alert('ID와 비밀번호를 입력해주세요.'); + } + }; + + return ( + + kakao + + + setUsername(e.target.value)} + /> + + + setPassword(e.target.value)} + /> + + + + + + + ); +}; + +const PageWrapper = styled.div` + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 100vh; +`; + +const Logo = styled.h1` + font-size: 40px; + margin-bottom: 30px; +`; + +const LoginForm = styled.form` + display: flex; + flex-direction: column; + align-items: center; + padding: 70px; + border: 1px solid #d3d3d3; + width: 500px; +`; + +const InputWrapper = styled.div` + width: 100%; + margin-bottom: 20px; +`; + +const ButtonWrapper = styled.div` + width: 100%; + margin-top: 20px; +`; + +export default LoginPage; From c101c52117a405022ef5d4d983872cf738c8f966 Mon Sep 17 00:00:00 2001 From: dlawlghks Date: Fri, 5 Jul 2024 21:36:45 +0900 Subject: [PATCH 11/32] =?UTF-8?q?feat:=20=EB=9D=BC=EC=9A=B0=ED=84=B0=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EB=B0=8F=20=ED=8E=98=EC=9D=B4=EC=A7=80=20?= =?UTF-8?q?=EA=B2=BD=EB=A1=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App-core/Routes.tsx | 87 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 src/App-core/Routes.tsx diff --git a/src/App-core/Routes.tsx b/src/App-core/Routes.tsx new file mode 100644 index 000000000..0891d6c3f --- /dev/null +++ b/src/App-core/Routes.tsx @@ -0,0 +1,87 @@ +import { createBrowserRouter, RouterProvider } from 'react-router-dom'; + +import Footer from '../components/common/Footer'; +import Header from '../components/common/Header'; +import { HomePage } from '../pages/HomePage'; +import LoginPage from '../pages/LoginPage'; +import MyAccountPage from '../pages/MyAccountPage'; +import ThemePage from '../pages/ThemePage'; +import ProtectedRoute from './ProtectedRoute'; + +const RouterPath = { + root: '/', + home: '/home', + theme: '/theme', + login: '/login', + myAccount: '/my-account', + notFound: '*', +}; + +const router = createBrowserRouter([ + { + path: RouterPath.root, + element: ( + <> +
+ +