From 6bac61050438a88156d0cf441175ebb29d201533 Mon Sep 17 00:00:00 2001 From: Ashutosh Kumar Date: Tue, 16 Jul 2024 21:52:30 +0530 Subject: [PATCH 1/6] WIP: - Implementing WAGMI for Etherlink Login - Changing useTezos hook to handle login with Etherlink - Changing Validation options when Etherlink is active. --- bun.lockb | Bin 0 -> 1053516 bytes package.json | 1 + src/App.tsx | 98 ++++++++++++++------------ src/services/beacon/hooks/useTezos.ts | 8 +++ 4 files changed, 61 insertions(+), 46 deletions(-) create mode 100755 bun.lockb diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..8cc4c015fafc7bd547bddf9cc0b25eb977c2761f GIT binary patch literal 1053516 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

@cA3Ykl_bD9~LWeDYJ!$%gJto!e;n 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 z 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%0AQ z_P>TU2pDUI**tWmzx|j2*IQ&j*W)KrJp-oH#H3MZyim84!oyX$Us~)JO);H7CfDs%Io!TR?T=t}L+ir(1qwYmyyO^wEx zc885X)lbBo22u0&`Ss^vRGFMG@gmloO#Vf^f2Zv!cu*aUD5m&hHn%H>{!NMeMRRK=1nPFZIxv&kT`w36 zgS5&c-d`+8dg$bMO45}q8Mk1P@A7F)BvPQsmD8#Oekex}dI+-ZOJqA)E3v2wcxoh`Qsbjw?73ZE zm9d#!JEM~_Bnt)4eJO&j@r*G<8vJ}3+a6^;d9IcMLV8Ij6AhKby^uxhYM}dcX@wWE z?`OQ<(nyW25ubIxvLj4&uiyD)q<6;rju@YW2jW!%T>;SoXr#YaRDTWd{;gU5b$HiI ziKqw-H|B7d^fTS@)!aDOc;YMMO(*+V1821gg@`^ze8PawUNW?O1I+N3FmN2J47%~3 z8`Uad5e4Wr7Ok4d{O!<|FMVe5p38ytv00R?BB&f-+(3OCM==_m1~=FNB)E zMy483&XV^p#ozJrSw%gGyqNnN=3Ve)564_l=>3mO za!UTm?O!xFZdUI0$1Z!*iSLsograBGjc&N)LwOadXqNetz8*t*KIpgK0{;)ev=259I_Lw?`P zq-GN@I4ELHX*mB&&*vk<Fn>5ok+lXZCAN23K_9C9F#$Upvse>*hT3!F_|8pc}p51ox4+ zpUH|q@B@wIJ>IVm>Ln1j0u+COC?KG?<`s?Duje%4PUR9xc$N%2BQWTHe)vPl^?q4F z9Pd{ykE%J4UoFs;-M%?MmEBW;P=CH*a1^I`!u^32JI!-eL$6I!X3?dGp*4T57fV!T zNp{ZH8p|pc7tzbaJbI!gCPQqAoLvsCw`hazz(_@_cX?VW3)ce{Gg;QNi}1~x{iICYfOvI4SIqwI_*4)P zYhn4?MQXFz@qmS5{f^R3i!3&w*{BM0Bm`0CJr=*$4@O-Uoi3d|Nay^C+k=j6N-6ay zrKpB8Z@|?BT}0m*F1Z4gdD^C*RISKRJ4sfP_ieQ1-(;0I|GQ^8c9W2*pAKTKZ8QzS zv|ZaG)uxaJ0T-{lx+>|v*SmiX7lG}L9_VKBX~Lc?XdIu$&gf>%tTIt7_rQ#NpLLiC zIK2HS3^9;c>=VZwVED;)=#NKuKOSfMd}{dS<+^T`FU13S&=WXMs}H*SLGLT5sM`nn zRoU&)`LisZf<$F;4D@A*@g?x-1pa-+!)7UaF7dmA-R#!Tsy(--I@lk3iFqUxuR$|} zuG>EZ@?ZeENJ|N!R`6W!uE>%C44FD>$l0O2?)!-sxoOXlEj}ep*E9Bs2dlOp`AU^m z{2y!g_?<`h^#MF)qsC@q+ic7>w$a#)&BkuhIE`&JY1r7doi?_f-^=s7zyE>H+Uq-K z&2^o9_RIv;B-~fBGM!ur^91HukS&Uk8mI!U0qEw72q3}9Ag&aCj<5<;!8k?OLsq=~ zt3;9(^yq;+UP4pl+BK&tp&Bxu^6*>2KU_1A@+Qy)GxN^a_w2TW?E!p#-Vk(G!rO+O zxJh@uHAm9doQ!=Pf-E#>9go)i-y^;?5`n8Q>e`4D&umv;yT1L`#b-QT9FwP{UQ2EL{z(8J>2A3TmNrP2HdeuvTFsQng%%ir#FF~PX& zsx9WPcn#l4+qi@5VC+=QCp)gFMY}eC`2o1bperh3O&2rWc)L_;8poU^{Fqb@sqseK zNO6FkdC^b1cz91=E+9UL(8HI!%yp>`yv!NI*%1;&nQ1q{}iutyI{U_ zw*vDSe6G#{bb~t~GimHv*($>Y2XZWNboW;W!w9D-VBV-~e@vKM2D@-0SrxXD-$)56 z+-`B}RUBA(t5z~@%Y9O^q`%Lo0N)p63A+0u#QolmI21VVIRPtwN6Rxy(-orL^yZ#p9 ziJ}nTegWO8L}wnmCOQ)qqMZH%w`q$P{IuIl=e((l6Su_FXa$iCMk=R9LkhzI4i0XC zS`GU`cAl|*%;14KC#IjAhUO=LYYn>pVGcH++kAaipOLUrAI1N>1#^Llr;A#|Y-6DW zr~K>~IwBdLWn6%KPGFQ}`F^O?|2^j(Ce4Q*Pd46N>1|HV$T%(uyg?LqfKh5Eh25;P14%~mXHQ+F+o1nsfC1<91~ z7}l^&x3tYvQbf8I1653|<)4z1@gSDunNOCkh`1!bOE~jSIE%jkt^?@m`8Ay?J0u+E zr6j1d{7$YX!+r1ZLs=F_+E{~k$!5E6=QmNLiBGm4((a&W)abaPm*=-JboS*2e|`;Q z=uf+rfa?gld$`0tJo&abP9mmP0k}?}`wy;OiJHDAR!Ob`ett2Rk^Q#XE7;>Di?@jE z>-L_(4=ncFnM5uAhC_01f}bPGuSak^mr`%iPYFV@1}&XDGPB zNHd;Xp2F1(U;czep9k6J3+Et75gt73lHTnK;M=Nm4)Hv0#%bSa8ZpE48R^A`u3WWIK` zQq?L^zWb;xdQ1r0*WmY6k>ZzjwO8Fb2sK%_#L{ zUZJA=c?Y1U>X8T_z1Ci5`@@+J&Jl65mMIb&O@bf#NzIQZ21YDin^oRT)r|=e=7I06 za|hi5BwTc@c`0p^`iapww4mN}K{G#2Z=bE=M;61qlh^ykGU0fyKbQJ$CfIF?9X1o3 z5RXd?m0gm{9S0|jDFtUhzF$GNBl2s+-s>hsvd*bg)Ere9O`G3vS}BVpriD)AI1{JJ zEsq)c7nf-4_HPU!)bAV{sQv}cWq8bHAr}hKN>>x41Fi??7Txy|9pbpmq(a}ly;D34 z!A?TU`{4O`;~%+NVn_`%p`9z9*bOX+9ReE$@lTzD*pBy_f-aWB?PuW&>12~W?*Z2n zboaAU71p5L*iyumQewI(+YMy`^ZvP&>iHJ+p3zF+Z}Qvq(R}|MRCE_bU40jJcm7qQ z#6SP;s-P-J!AtTv8k}440^PW;bIiyy1zGLZKHmqE!W4sa2~Q5P;8-waTQj~8&9Qgp zpwktJMzIE6f5|4cR~P3FObo;COk(3TSNI7ROtuZw>kYajow9zoLY~3#oVTcZCcWhk z_pv1ft}f;%9{(T_shW>c-C+Fmk`H;kPSL{Aton~~@?+1KI=dzy%;W_%;^ox<*9Ua} zJ>^}ccsflU`aIX>ycPGwUO`kc7y~FCk>_tTwlCU z9^2f;1m`)wiZ`VPlQ@ssH@H?hNuTG-TBLb%!1V)Nyw%ALm~pb#gdv{3rFXg)Ddya^ zoH-LL#kw5bW+vZXxHDW&2iz)iG7{X2gnG@_T2$47u4+P-ChG*DijU~Q`>#Lf{)g)< z0Cd+#Z#Yg9*M+Ux$KHA8n4TKSu#ck|jLnr2>`!s=K-R_m(Jsx4QRN;$)O>{d;3Zf> zU5RD3fzrgUTT+U*kLw5I5D2;h1$t~%NpZdr<#dZnUF_39RE zDIR$tomzyaAQ%nY%UBqs*huy7B&+bAk~2pCN`Y8uq0Mlk=z(*(MbMycWAFs$HG)BR zW9fkIZhm4^aTZ%-Y5XN;sr%aTsz7$zSg!VjsO+;(36v}QkhPNH{6{ac%PmyxkCGz3Z9=kj_AtN zpaXw7s_W$HPpkSiBM9RTC;R)}mymp6imINm266}mUDg3nslAU9yfKQ~66d_{%B&ov z^~EI7R$<;sndgaR`8HO2P%kbFB7#5K`97M@nENU}K`-0|D)3$tABvBh!vJm==-#bA z_cV?kNby#3Q0u1Sk}(OH&rMpC!fe|b_elGw|2id*{38tOF=kUH`W*_Bn2D8bb{&)_TS)u+m7n{opD#4!SOQSxHIkD> zyvFlMYj&f=2OKu=-buEbX-$w2&h`2fq7?vc1n3q!C$mtIZ849LdDMP|`(t?2Pa+2y zfr=+?o7%+vY~b;pPTzgo*+QCu4DzJFPEvQ_$JPU3|EKe~Ql%3EO${hdbLKtKA55LKT9->EpT3eF=Ts&9J$*MP`JneF zSnbs@MQs_ppM3+}qf9gp+fk~q-mw=l@#CXY1agQ1-Ojm<6`0A5lhT_XWS4)MhOFX?IV(6m z>`WJ$sJ+(G8YL?a`xs@1m&ESvZ5Hbit3GQG*S!c3BXf7N>Dq_CeFWTS(EZWWfP=w* z%845kl`}s-w&zOZW{nb<%bX`ZKzH)7{P}agQpM|{SimL)#OnZGz~qKQAa)`$&0uwcECey)yq{lc zNau?H!cCbuP432`Fg}y(H)dygGf1G`SkPr0r&}690!q4?Bz~a^aN|H1#h->ADU%SH zXlna&X_RLg^!+@YNozFmQ-%RVLtcZ zDeO*o0B$_!)_js?fTxDb7{B>9==35SxZtcEFcgoA!{7xc>NYD2JYp<$ob^}@3)NbR!3T%M3coN(PkF~=CZ%1ZNvhOGrz zUyme&dyh>H>E)&rS7hH?? z!YZbPs(!CX2eq94W<>+%`_e$y@p!nU;p6Ff_8~H=hQYk`AJPrD>4Jc4ex|NA?a--*8^9g8`67l z;dXbVwtV;-+2@6GOx(EF*RcsCF41QC{SfM(rG|}(E6Q6KDx3J~2>-Y=ejZ8g2m<-0 zgYJZ9|JVZEyv1{-L@16jbY;*H$-Nx12LqK*M&-h=0N;=AKl=Qilqqt*KlbW%C*obi zKT(Lfr~N)E!zM4Y-(m#Z4A5nK)V8CnQA&VX8l>6Ay8KF2H(T7PC*O&|^{;^8-_YrR zfOCQSnJaCzryQx1VrxMK16I#X4ZZ7U?P&{jxgqA#=h&_2Ccgfo zq~;z`cv&Ox)*Z8VbbuoWl0Ds2m#BBFDYK0=NHN47Dg4$|vRq19FEA(ftws!-SIz|8 z>ne`i$b9p$f#h#qkm}Hw0jZ|MO*TiyvPpQ{sXMw#!bbW?I>K}xJp0&rEU|gxBWoqU z%j(sZBkFOlQC^^h06AoVZdO}U#+^t5!SEd?dP|f;bh_WY+1S1iKT5&hVh?Sk^v&<~ z@f!r}?=4-G;bf*E*q`k*XLzMx+it(vz+q3RPXlf?=#tHBqLE}s(?GPrQuNp5Mtp?S z5_%_;k-XnQIo#2Lc<8{rJt6Dm-(_0r_THjty!BYs#1JXv?_^VsVELFaH2C~x4(RsK zdE`KUKNy;EW!Uz=46)$k=6qvL@__TibYAA@b`UI84N%<_k-x&Lu{Y{2O#d8^=KiPe z1?M_ORfe(O!0iK2Z!YLs)CL;xE>pGDYeX66D!P|)&t+~>;?(vUq#FDkhH@xt+s_v{ zSng#(4rTp^=9InT^h@hWIVM!nrJ2(ov84|eaPvS{`WJbR!0b}d0O`Z0;VQDc`Nje}`Du+5`i6T-!p7~n%`$aPF-W%pw&rl_(XI#ol%TY9>L+{uzMm33Q8V}n->%3$WbAZ}tu8OiDWpFN#q%ruxgZ#ucB!jj z4^y|c#9jv6BG6@sK9I>CWI!)Q3?vR&dRN_e6Tj%=B2t9&&iD8C{;xs`K5@K7)le&J zow-OPnCY;U(oZHI9|oeLv@ne(xwLlyw-|Iwv|>EBQL+|e`*X{`8m+UaZ_Q!Y2RmEk z@Ls5V<*(c+>v@rP+IlzFQK{G=XBaK%L7{3r-2Vua|&s;GjXRk<0K! z_{TGi%hg#el}qPnzF>qitl~?}Daj2B0o*KhvtjS=Z%NB0GFo~bcf6V9WG$@+0~`j2 zC+{P`IlNNPy-Hl%zDru9n?VrNQM2D@c9FBv7&vBTu1wiv{=f^x$U^_K3F-ag%QkX^ znU?;oSHL^yY?4ojn=929(egow;J&2{bT`qjk{rnLAM1lHz8H$bCNAnr8GQ?YD))-~ zYmDA%(uD?Z)!T68R8BnK$hAp|qG(>KS=jxC8Fc)q+HVEtY#zwB9CT42(hDH69nWf{ zg4n2HQjQwu8LA)F?p{MAM+nrAw+MXA3woJbu-|-(2Vf&a8tAn6u-`A4D?qh|7t@4e zI=utj3ecV7o$jdp%>0F}q#3ftpufes%tL_maT8bI(KI4hg&t*P*3>l3O(svbA( zy#GR970O?ngsNooB!tB`FQOK}tpwesI{o#iBQ1uj_9&c5Wd=7~OSJB_voYvqzs|s{|@C z7uBHqB@?c&G*qC{X!XcYxjr7jE04gfWt}Gc#==0PfsNx zbbsrZlL=kk{@xQN+@{fEFi2b<5{HA#N+g=c#3-{kdxN-jo+x0LD|VH8mgq0@GsEP& z)Pck2?z1xv!m;1_MGLs~pzE3ILRi4Y!$xx}Q`5P;ekYA@Y0xhI|JGoMYY*Ab`qvNN$pX#k{K?HHPjqu6>k97{cU6lDICu(o>ZvH^Mji6iM zm5)PgkeVBRV>&{{f-r@)`G)X7qZyq# zRQXND+%U9-woj>5laNZO2gcD?>nb zw>#Q?yx02b9lKend;H8tIN0 z&G>}+E?GjK3I{&quO20A5z?-UbeervOC(`8<92gHoU*%Z{+F}P!J(gvzwy@HtgO`{ z3eg3iTwkS*0k;)&SLkw&L&OUA*DYAoR946&CUnDzxfJ_$zt8^3ocVQ0mz3U+I}*9k z#=og1Ca05xiEhL-E4r(+zF)FGBea-H2DojYt1aIyg(6WEERcu%NBb%tqOvik6E1l7 z-b=ktED|+rHOkW}5+^u}$z_=G&1f_t`An(qU`{OJ=0-R6>or5ceQ9!s{l?Em)_8~SRlhZ(Usy>q2b*pk;uq3AMl5 zb4e06GRc#0OA5 z6Y}L-=i}ryb;dKO5VmYOyrnDyl<>%Fapr^2Fp0N?9uYQraE_@Pbm=UxH8pvo4p-Py z1CjTHpF(w}hJE-MuolLx&RlOg<9x$P+IvSnf4IRl8D%Xi+nIQ$b6EC?AsZ*;>D)h) zUkJ#d2Xz0#zI`v~V(D>i%P9`s+>(A`_4aWgHC3@O?hTC_?sw*EZ!uAmI}T`>IP$*i(=jU@%aWn6uqdw*ci zmyw(e;cs(6!4rnuz8g8FUuo8p==A}20CXR#|DMXS%!)298-%%4MKOQ4*=`h4)NjzP zJoMeA?z+&n-J!kaI$^3Wz%I&6l^oWgk+J^f2(dqjT7lDGPFV)HgPv=&@|9Np2W2JLbLgdtA0ZQR$q_gA zk4|aWNRZ~sp=W4sO&pU-OJ+CN*BAy}{TCYTe+jjx+gKx=P&vBaJ`iT4TOYCb7ymo| z8#?hEFCEqhjUwY{bJE4b@T0AGNn2oD^{vm_QCApvyTSBC>R6z_mr5 zev{l{hMfzgu!kY$F&}CG34LwJ|HjsdR9O~}dmY@8j>RTV{3$h-shp?GK^`@=Jwt$L ztqpKTK{thz{%x*3G($lbJ|+Sx`E-_~0{==3>MUxwSbm1p|;we2~AI3WP~jW zRWa{L-RcxST5s}>FDWt(di{Vq2D&F4L3}-aALG&Ma4|bv1_}t!@pg39&PK{fUAskv zyA&4AM#y#vgy&~zH`nO$u^PN;JIW@@sCdT^Axu5ZorVE-9CXW5CWe1y{6QT)4 zv#ds2jyTSgH~e8DDE$TQTP8twilGwOOR;rUE~vbgAVi8%#N+UfI!V!(&wck-+}IF; zwE*@)snC6+29!H2-AZC1bGK|fc;z;lCod$@obm^-&ou?Q{X>wSe3B@BzWiHm8Zdh2 zaL9Gy{y?QyVWP;kU7?5zw;?VYV-b-++*u*QF7yKXbLjzJJB6xFkjFLV>63Ag1 zbpJdCsO9A-8zw_tozrnSzItrAq2Y%*wf+R{-0Rfb~bS4VR|JU!E1>F;)Ii`e?2vG^*cV&dpLVXPB zf44t&Ek#P&a;wMj@*U{@HP(Z+--wVjxC})fSQJ&sCP_R#ZacsvL}nLI{{zma&VjD! zu4hQbRee@Gf?c6i>wW7yb`BwF4vYBDL&Z?}-507vO>!?~`~ESU{^{XEVVckFZqK=* zRQ$f*u9T=_e|UWY@|_3Wk#kSM9qtJH!9LpTDyJL5ww~Lcv>cs#jKS#4$AmMyU(T7m zgyXoLOiibZ<+9f3xNw7&Jn^b&gvT-Ke~SOVdGH0$J<(B4CVL6bQqOO$qY?e&MPtC> z0!`af9A2Gr-66Q)Yf@Adf4-$@9#JMz`qo%`u{|zxyKC%1(+1bH8^!nkzU#RNx(;yq zzeSOlGt9ALzL{e`Dm_>6v{A-(?)Av1Lh&K+0bjKU! zbUa_0RP^3oog2tu33QRqdk#fC@Sd=f)N@G?TF#4$mVd#B1cHay{U zx4D1lCm7UR$)iL0oy9rf*V;=^bamcF=s7hl~BqBe_$b)~|?kwyW68eXJ(HT>;%Bbxv}k z5%$=nlpxYE!lup?n)xu>J!9PD`dE8Ogt0aP+%?c0B^9sQA;=Icy3%U;kTuKh=OLI^At8Y1 z6WyT1qtTUa_FJMtlIzVg=7^To{LA{4ot=~uZ%`vD!R(P)bdP0J(A z&5Y<_!&f!ap)6LnazWd2?qY?n;5yp`-F)i;R_^b2*19hb_>hp(=ZdEEjtF zSi|}eB^cG=LE*0}a+@C69_jvk2b!Lkb)`N%$%E(Rfa*83w1$G5WCo-~Wy=1yFj^+e znFft+z}*Jj;-CATLaG}vZX8{?!K;u8eRihS9rstx*OG2gUu5(p{Own~PrMNPiBQ(C zeAJa{i2W(wR6<9@UrlzmeiUtj*KG%Msj#soD04AkCrwrDg;!SN9y4LMd%w%ix89p) zxy$_MltB0L`*Ouqty@5yXsdbuo+HZhc3EQZzOi;a-Ri;+oO9d--NbACJ^?lhUYAe4 z0v67fUpX5Um1n5cW{KQ+jq0BN{(Z_5<-O+FWiDZV(CW_{W*u?RqrZFq?d*TwvA(_J zoY4Ss*aO{pTRDH}){FMb7_v&bFy30+j&HMOtCwHOwv}SGsU{})5Jy)jgIK8IM}(Mf z^P`#NNK4_dVLu*gK5z*?5*dT@JNuwpI%3<>WI>K1+(8xX7wRym*>rCf(&?GLbUM?P z^%-uU<8c)V@h~GT4<^b*Z!u5Lzq)L~SWMVsp-!1C7!mK4Jj3-KGjO-b#*vnX zCqv6qwl1~JQM3arB9*DB?HUu;u_;i5f(g*G-#W|*z&Xcb(5=yw+5Ht5F*^{0>+NVd zZ~Z-7t2d2-A&|>|RV!=EpMObA;}>4svvYV)S|56kBGDpf@wkce2Tzhe{Yi@kbUd3qSuF{=iiVOAgRVnG{$WTUs z)i3jJB>xl8<1?fDqbCk{r6c@du!`wNEBOFJ6A5f z#m_ z5Pt5K%a#(u>MRxH6%1Af&f2JZ2z4}nJlYt*^PzLlWqhh}Fn#52U|sWY!XJBlaIJ2^ zJS>V@Fy{2dMC(L7({i}I*nQXSSH}n!agC8e;m3*f*gdkM%jlW4Clj zP`w;MYpvz{WlUp!Y_%;)m_OzV+~#3vW4-;9F7YSinFc`sQF-LSE6MAyU ztBGy6`!z?Ay3Ge(9d_P;^F+ua`=*3W5WH?zpj*KbuQr3I^A_E3Pt~l@IoIJdOc+?k(shS75(socy#ef)$f)>>T@SBML)(tDS1` z!xklClP?7BS$#5blX$J6zpi5#J92;((xHd*$M%zJxp2PrU8lV@@8 z144ExkaHLE+`#wia{S+gvI<8*@OSUXc|Y))wtupQoYOcjs6@3iIS$nY=ADBg!wqr*D1mxkKzC@Yc*kS4R4)wE zhF&vg5y_fpWRf991??F(ZAd^Ag;mV3(A7KTT{-kG#97WH-jx%9RuP@(@xDxiJ_pR1 zLhygdE9f5Rl?qYz}EI99;c7}iZ90p|}$e2s_oPZD#NV#pLEpnUtWB3C4;s^4R z!=wAg;zE^!!u%H%2a3pD6whU#-Z#)4#|c8EA!go-*^?UE4W_{_5Yf&?#ZBU?0-FOk4H-dl#-v2woJkZWb9w%)~ z5dZwKaoXINin-r6vi+iyIV2)$B{9ECKuxMZ@<)OhMNhK1j9!sKvdh%k?ruF#qJj@p z%?b-pFC^&xhkaTo(ACmhV=@=%SO4aTMMG}_AtpXcS@&TY&Jrf@%}ll7WEGG6>fh7o ziC@kzn;k)uF>)UI@wvvfh?{ubghB{I1}> z=1k*floHW>W0q$Ymk(~{=N)RvblxxOXX{bch4HphV9tX0s;)g%y~XMjXOzyDDyaYX zOULq1gZW?!aA85$hE8G3k37jwlQb4<&o81WrC%T;C1LkY zS=vH&d(3-3q}7EEexwU*LRkK^R?Cd_4{+f?w?UgIg4A@e>fwNX2I7~*PB0OFt8n0> zOwoCBJ;sh?1?A!0fds*+cR*oz=5ML$uyyP1wt9kr2dN9h+vcUjI>3boU6Fm~fcHyH za;{|s0aPiP+o5kYI(#39*I{j0+wulND&Z(#Q0c6@{KyEjeF>mycO{KS+Yn&iL*VmZ zD|g*$fqhy8&@Fygu*V8<{(EGOYo@E3Lrq|-G1nNlj$@;FAU2`JOtk^UcfFyX&011q zH;q2NZ+=tM(Jz)ErTU_L9*KEp(g@Ux2)bSq9vq%CaT-f8INe__!U=;;FCS z@Oc%i%75J>x6bTK$<=e)_GVhFN{y*4UEDit)ChyIJ>8By?tlSYB+yNTnO^g7m{*CV zkDZ22-l21$ETrVE!5h=eDO+mGu5E~`PcS7g=Z_T-laqXL_?CLr-b>LHks>kv9%rdy zz|<3PkwLf2RUlB64R6&pqVvQ1ZAb6x!wcErzvndRwIS&K7(d&XTZ-1-+kFUaz{dJE zCb#KF*sflIs9yUWMp4)@mFE?_Prd_PV>gIiLPOdh8G0F`85g8Ba#6I7xYV|wD0oMK z(2x4FN_+aKA1NKJP9e-I(9BE4?TugJ(f18p3`9?bVFD?@xos5C9hpM7hHhE>-sjvf zgtbqt$%t(}o$~3b8b#vt!+tB?w;QT0IBcDol$dWb8>Bcvl>DMsB)$PLgrgTLkQQgT z;Jh3v=#rRz3%p+*Cb*r)IbM^@Tcw^KrbdLvGZ?plB+&u@3G=&$>PX zA}&cv(|2{0Pz=(O)tpMT!u-_EhK@k1Kw;Q9%;=%AY{{=c@thmjepE_vJ; zYOyplozR5Nn(CX6S&i>A*NmJ)>h=&t_=TL8q%!|QC9of3{<>*sIeOmnsGOoqw=TbcSWioYwiSb~JVc|L4bd?wuK* z+SAkt8)BQfV@HAOh6B1}Ga|l5Y^(tVO-sF#TsIYj+nME5aS4sR$Lz1^`?qI*<+Qu2 z*{m{?h^#+HZb&>!5~7V3LlHIzrpa9FYWW%iE-vVjUqBBa;ZX3A=ye$AcWoD-V%e5# zF)g<}%O|RnO0ljFtNEVX!U(SYy9*n=;aXE&r(HWByy@;wFggo97L5R($H4>L>eyU! zI2Fz9!rLIGPJLPPj7VDR*IZf1nJ#{KJ__kh-;LKn`;}rRr?sVTc%A}qI|kksBk$U$ zzjug@IP*Z~0`=m9ZdlJ8meS{F)FdPZ9FLTKdXF%?W3hmqeXr*6rQAA1CEI__{#EfL zMWvyUPj7hC)Ak1;9#FE`X7S5)L9b}AE`Un_x&q_q{9f0QBZOEc)02N!C=+aZiKeP2 zHc4TBqN>5x$$S?66>so3!-02!_bMD|L2JEz2zS?8BsXro?>9~T1>6S^g07ISW4kCd zWO{Ge*1!GBo9oqmEge2%c|&J@X)PPvC7v-U-l>22K|O!s zxrXmdhQR(L5$KL)s(WD*vzj2);>0vJl?oV_6^rVZ+B;j5hwFR(D0()64b{#>D!hNM zyM@{MWi2`=b&1|j>ez+G3u$0h69rrk#GtDzA=8RvsdOO$$ze~lZj<}`9>#&ELYG-! z2UpMEe|60OyY;@icc*D(hqV?>D+>c(icC~#l>nx>VO6(;JR1D}Kmxko<#Vm-I*lJF zqDe>xq}$>nt3FIdG@D!?;u2y6AAdBe*wilxrdd)=gfPc7MR-FLt_*0Lu|huoH&D5D zT~ZF7>yd&kv$YZ-)`tCeCVV~FDq*v~<+wz&C>Gh4Opkt{mV#n1){UJTs?0wnW4Z;j zeBGwJ27?z>V2t`qYv5yobKVp10PBGabZ-#v2Z;>Q2*?*t`IlW@>8f|xUDBjjAPrn~ zRN?Cx7p=Xt$97ibCIbCkub%mWE?5ZKs06eftU3(&X2t52!M+AL=;D1xR?I##{yo%i zooJ~~UbBzzONue3UhRovjqEGd7js1wiS6HlX6?Q{CqLfH9k~AQTx0ta3GahN@7fg; zJUKWALIJuC2E!ig=o$hm(<96>Z0=5>)4^8tOfzH|z*!4?k$VgmXt z!xHX@S!gbYB9;v`AK*`vF9DYtbPJs}XlL%r4o{jEqASUCr<($_?SM8s#PS z$4R=_WiA@-kcH|M)fDKLw|AE12P_+mt2rWGwQQ`lEdiGXbW`PpQ&fJrL)L|_@BDc- zFy@NKx%X&CWk=S})i7vALbF`~EB=Eq4ZCjIuiftXeEjOmvy zu?Yx0POcJMLU%nenL@y&1Kj~dgpYG$Bb7T{Ul4zAYzIXr5;v9oT&bt4QToB&8El$m zku21E!iKPsB161mQwI_FH&(>D)E{fdV}U)^ys;f{=|T7JQJj)Na8Yceq)S?KgOjsz zXmW$*!MK29T}X~18Y2SHI!c~ms!{bpi;K;pcybZbmh%5zyYM-7qq(RWrurcUa2Y_? zmbovrS=K6j!WQ~`HYJ=Tcw+&rGpasWPQ;{MY?P@&ab%S8pjI<6NH*Q-Pchsx6}jWLQRDs zr04@({2@EEwHt6*KzBnw;;X+GMxA~KW=yIF)_{bw+vA`_x~<7yj?6-}G2O0eHiTwn z?D-PA!H+-iHQlhxpH#|CaI)>Yiu5@~5y1NyE9mM&sI11}%+iuf(d0dqP{t{a*qce} z95aqXb>s(>b_X$p5ujel8J34*B`8TG%AWfi^f&H0reu2w1&5iEYq$gTvVm^5Ni34u z%s0kW3+w}-Sk`ZnqCJ*cBsuhld_ni(YNODMLw}x#h;QjhKk>vh1Spt(e@K^sp$z<} zNoIs8bO-_VY1u)SI=;sV@e<H3)?$>$q>o>-BKymd16T|8k?m zUh#1JYIe1K{oNE%lg<;St{l3d=|qsB^1>-Q(ZkM`~c*@3A#hovmV*u zYB+3FaI_6@Rw=oa9^Tk(Y&yCrF>$6wT4XS9=WeL_+%VybsYyog zEJ*%+rau6e3v?v{Ei$(Mz}WlP&(ZiY>COKh6I=SS%0Y_9mLJ@o=NHdyjLr03K{QrM zcZT68IpMpjzF{pIS47t;sXe0%rT7cra)U0H9G~7|fSdRUm4w{~ckQ){zdpks#xjW} zSambu1MPDi3AdLCiwLM!Y9=5P#j5;#|hwiC8J0bXn}23cvJPmPw#0Owal1*NJ!<%npEd0?(1Vr9HKW#t?^)v z{hzzOQ<)JStt(x#K+2sxS^shZ865|-zf1K%zWkuu1vM{$v>8Dhpw0O*OXjuI`Mp^l zg(UOf)7Ny2p$S#TDR-5@iB7f)1g=j~NV1fnuyKV)l4i!W)0>HBcaSpdyRV*dz?Pym;c}R7B`hT>vo0~0@^46njzyQ* zL$Z?gP5!n9t_MNT{SU935a=4gTxjB9luSKlIw92E^CuZuxqOzUoYy7&o{FXW#>Ph! zF0?XF6NXZyI#vB?+(n;KJWst@SDVt0&b(YK*-075K^Sz=Wo((d9zS=DE|42TJvSin zKWZYDvRQ}1P`~sloogJzo}pR#mRvCJS!BZu7QwXDofrQo)al*94-4p_cgX>-n+WLs zhdGFXE<_V;*1yspKdHMjAOcTg5(kKsXL%tlR1Tjux{06gh071slZBDXj{B)O&7w8U z%g-vU!~>kVj57{7JquKNZh;)cK=(haR~&Sm7QPR^BIyK@{e1sk8N0eP3VS4$_uX-J z82MM9u>)^?i0|1=l8iA4vKOo=17c<>V!qkZ>(mEKGL~fLa9qCFK)n*6`ybZ(5p;u* zQ868;p6vdJsCfO-cFWW9*E-#|fv{mf;(PyE!&)(sP`Hf1j?Tb-(AmYi$Z2k;HlN>0 zrjXAP0TrYpJqw<9OM>n{+qW}2QF~`ca*cy83^&L^T|cDcm2V(>L_3zWokG3elFr4% zuDE@jK8Q{>onlK>%h!C)FgLn>cip-S)8`5Hxuigso)#71E3K2_0x!E$-5JHJ2Pu%R@)U!G&NR7N1~9AYW)30hSN7=U~{xjMgpTY_UpHdg^0n`-@L{r2r3>f>&@acrOMkC zz3ly;Ln3RkU=A{%dx;zl8(%~3WNbWjvckYDY0RLEV8vtptS3H|+Td7Zxo&E;(<X8f_NG;EtG*jDuotCj)Yj1Ks~{oymhP zih+ENU;Rd~q5?0?gcuIq`z7>+LQZ6}2o>HWN+m)Y3CaSF`Q6lSm5va_&auvpgS^24 zwK_|bjfjHEdcU#zfO-``_u%T3r6f#fVe<8J^qhRYmj>ByN44CvtGPl})s+FuZSP=) zb2r$2^!G626$bb(aOA`5kQ~l13U=076)5e|rGTplx=J7As#ma-G2qV!3|pw;{%Y0J zFivp}?kr|y6`0tpRummja z^HLMC7CUl0@(+~!q>L@YFN(MT^HmgiWs49yhJ{um(Da?z>d9}%50S|kva`4e=dAU) z4oRIh&b7W4rQrOIGU&43AF@(7Vw6qWNm1>d6=#Ih%bk3#6@LpBz13&ky5#+vE#E~-oN5cmK?QVE)fibDl2IgPb|Tg)mB%;Q3bSdp z8#rDqk@nNmXk{v*=%2LzWTs5}{f^Ht}H`Z*jt1G+)to8nJ;pp zbWwnnl_hmy_OOHxeR{Ni`}eM!X6gN(mOuS_4e?W4 z!(l_WjU~px_bGe^UHe_BsYkI!jA;eR0NH8kp$nYYK8^KSp}IgG z-o4AP*Bc$(KDjaT-)@l zJ_m%acw>WoPj%3Bq-_iKU#iwB6KAfIZ71PSKg$p6IA3Gk(7O8cZ9&Mlwq$=F%Xnyd zman}Ne%;*o4C=5|fW(p-q1@l-qW23pAEg1h`+KXOH2;C$tu5Zo zhE(4Pw&HQZw_~?OvadZXBrNwSWq<6v$6sOi#>gB?UE`MP2A6;!2doE8(EShh$6BEK zAMTH}LH9qbR|jhqPU)9qT zC(&=S0eh9iGZGE=bv?$qkxcFy{7mG|C$wXS;QG}AUE{1js&sD!gQT?SmMMOlX9O+5 zlx=(rd3cu@RyK@y#AN|o@28#;W~G!-^?ffdGRBB0SGu-NJOM zgfIU-4e{$Blda0DIGxT08dixnJ2yLLe6JB36`Uh>N3%Ew0Tb3`@ zppX*Cg#Y~_3qf_B#>vL(TQy-Ywz&3NJT2_$k@a07A%B(#tZj66vt3T8YNv#tX)8G* zN?MTeU+0>%Z-8qIy1!j;v*L+5eQFZ8U@RgdAVn@md}3mPtKso zHJ);sU8r^-SbahNWMyw!=HIe2j}dgACAzIsd&g)3i6W5$Ql@xIaueX1g6{LelQQGX zz|ZEP_e!>#*k|ir)dLJGI|b(ut^dc`T}4&-y#K?Olx`%YyF=-aMnJleknTphySux) z8|m(l?vRr1kb1sn|M{Ih>vP7@YrWUC=Vs5$HTUeFn=FzqJzo%rbhD9jJp7dUp2y9Q zwdoDM(X@H9x8X<$ISmqE0InhE{)f-85$OJh&#^J+{)cri0bM@IFT&#=+$`D@)+~_} z)ZPxUUBkj4gPl>Gu+!HKh>?o@{?tI;p#~FEb0`Tsti;+@`3>PKn?39Y1WSduq?ZBp zH3eO7=qReeRZb3Xcpdz=ng-%BQnB&RQHJGLk)!$G%m5vDrHv#E5keqX!C=bH5sG-R~Elg;Ic2kKw} zx+bqiLYOE7%e-3KhAxH^QAFEKrEg31)E>t@CZqNl3&QNPEV1x#o17s#5jS^xnfCBG zM2Fbz__g>b*k7{b5CGQ_beB&K_~M_Z^u!pw92;K{Tegl1{LKZGRmg05xtnHfu_V92 zQ6b*^u|tQMTa16tMktXu`TF-m{{DL&7A+h|Ca^DJ1-dRjc{6ZMeYu26PJ;22ypo4u zrU^0x<#gF1X?U+zXOU%bCO%TV6(Vb@5mbI)Mcj2jqu`_(t*eE@{AopF77hM?um;^~ zj%ImJ>7JSGyNYO?Y|3~91IcBUa9NX*}0 z^QmbEOf^{&8k@lbb+7^5k7KWy@(r=6(;L$-cv`IkO6}vWL?|cO7j@k>xphT zxYDsvG&%_ATaHtqqs4lkN9qmt-kMw;DGo!x{)H{*P915Y7GVjG2td^Op-rMz?ES8r z)N`(i@f;AsW{Z7x6JuWLEu+P__g(6)VEKE)##_f);m4+Uo-q(b}-1pN_@LZ5R=*~e6LDAhmT%@H#*{(PC3S_;rFwPYGQ!S-F*FSa? zx&Mh1Pvsxdpp$|v*=9sy@7#u|%}@bB)f7-)2hg3EgCZ;>vGcx$nS`xIgnnyQaeVho zNd(9o4~=NNxjY-DfY%QaPMX7V6xnY}tK3Dd?m=g(j=94;d;{v zbiIWG&`-HJZmG>T({pZ?XO{38voJjAn6xFC_ua5U4+fV@w&=J6WTQ2x>C5VL*1fdT zh!jT@X~_&g6@Bq*BNx3FHbg{{QH03^}lCN+0)<<{P`m$?k{?+2j(Ao z-l`Xuas-(5f?R^@A@$E~OZc>>hk>dLv#+C}7s`mSh@y8WKz&_6_YaX+%s=U{w3;T| zsT!SSvHI$bBSd)(OsJWTu58XSCfaxON56ObnQA<^8rk`c;I{lEN3Z$zpLf+Xu0kTi z!TEzL=>CUwa0A`qmaI%nGU>=~zif7V>+Je#7AmP6wJ`Y<;2>SjrGf&*PWuu+NR8H! z9M4I^lc~0MXdj|U4m$8VMNZm>nL2>|O?S}!5A%9}?j8Fs8ySSo_1aQJO5+=ckpg zN|4;0M5WO!qO#*&VUM~OIpC+}RP0#&hV;n?aJ@nIQrGJv)LGHbWESLRhZLLSY6qR0 z3pqZYALZ1s9hgm%IPGVUNpw-4`ieU>n~qvZ85j@LS%oNH?-{@8%&SU+_X_)f?$m_% zr?Z1hf9Rmv+?(dQG+(aAup3P;8C!cima6Zb?+PEL7iY&HjbRAyUn7WII!G-7nXEL{ z9D8+6>u;~!mVvy!pewp2Py8?B`pLNodj$18L!(H`#8Js{bi&wM#b;%qp}>Qsy;tsR zQ^CW~j2ZJH1q%yfWtAPjuazY#rpYlE*0WVi(F=|b$`N(O!~ec2wU*jq9YBs{-Ap*z5l-% zjQF~(AKR^XZEY@@>YFGYR&Y+?cD136VN^DAB|+<+VhrF1PIZ6ogm5viSov{2 z0pIaKIf3{o*m3{0@MDn0#fJNatj099e%)jb3eG}9LG!<%Zg77x6m(xW-YADh7qv}3 zQ^V$V%5bbwH_U!EC09nF6MErhF;urlY3u*f5H~kbF z%qK(3luG(ah;d%iN?U3)<-IroZaC<&i#k~KeyTZNq*%?UF+JCi6BV=6dZRa6M9HLE zQ=)^b{W%9!9=1R9z^A2dVvbXG$Hl_@j}3k15oYp3cU%OxzK8%_39)nKY}K~jol=&7 z5WON2l87QT$e0Kg32kF;k{5U)>xaOlpY%j7(#i1h9v;ibr07(eKJ^(oHtPqg@u=WjzDjg!0fV0H8H$uLNIL-D&Fij=vpRN z2wz2fkS7zT9QPZq6_FnX*B4Qs+b%5W(61eWWxWybgvze5&cvi|Vsz#@25&%yoonJm>-YUe5@ILYo(-D0QuoyOO1lGHHibu2bZ zc|WL1?^-Q>VjX^h$s7dg8w#l7shUMy2%va>S^UkF^^4EVs0)av&aaN|I?r)nvh64qnE#3%Z^p%RM_ z$}8zzZ$D=5sEQhXCi|~!v8kjy{8=^g%D#Xw=Gn^eyc#c+r);K=BMI7JPHfF!-gwZh zA0SOw{MCL{k_sohkgJn0N>P22u?B~1J<6HgNu_+j&B$RJL;Nk#`QiIr5i^G9)kl)x zj$`%>)-GtJB}z%~exn4?Js2_WFYwvIv}YC!CLCZ-*rxTD6H_~={u@uUait&h-fr?e zi^+f~n#lgUnpA?{`=z(0pZXArRwaLY7C+ir0@p2xpzG8dsOxetJt}GDvQrme9Go`5m2UQ(Ddaf%QX+YzVDGz3s*ixzoT1>$AuUkfB+xzR z@A$$KG~@B}Gy+v>QkUPhtzdBcCWCJLVI84#v@ZkC*I)hxhDcAc!9wBHByZOwS zxpdm+DJo~Kd&DN$xzWv$TwdW^J;Stp+Hv6XmIAt6xXNRG9?8^oVRlbY+)jmyE^GQf z482bUEr~e$4;o?jxTAe$e$HO787}^V6!;T0iaKJ^>0V(4>ErwXu`e4uca;jdqy5im zIQj$nZN$hs^V&YH_^Ep)i~b5N8|EeYN*tM!&DTBV`^VtDYY+CWg?sh1IdKjpOW?=D_Ec4!RMmxGLY3uU_^3*wIH;-X-QieRMA2 zxD+k)yyvR=c!Xz=@6s1QA`(ob9Y7M#YD5z?L<>;@8;S=(kFTA)cv%9t8K6r#{LQ=g z+s@1(iz4+~eZWOy>f!=V`RgxOlYgCdu^4aYUu#rseos-O6J{f<^?2nC(65A;)1<&K z{|dqwaGUoB+)U72!zpYo*LE13@ZDh3U zM&dY63J-8|K-ZCN;3^hnas3Cym=U4UjK#QRIO_`gLROasXiRpc9Ol0#3iGY<7Q94e}$E@zyY6ueL0>piZaelWg$(}ULJ+l7gbjJ7HxGQ zkLV8M%?DlH_cqU3?quva=?@Kq*CHm0$D&XQo+n&3<`y^(Nvx2Uj8Dy0%rL5G6_q3r z^q~p|Mf@YxKC<|j1uXIXw56heTL8MPOAHXv*|P5EXTrQ@6>jwAi;Iwg_*u!?Fvay7}e9ecOZ{2#dnzU+#!&=qzLgPbXO0{uP)mK$0 zz%2sZFYjfGmRFV*$iC9qOrQ7k`u0d!KIr2+P4f9BKG-(5W3!EO*<^|}Jwe8r`F{Yn z6m%b4?VD-#_)3Qf2F^rnK6L8IT@&yLcGy3Xg-I8w{qOt@(?Rs$^r5_D@Tu8Hm)mlY zIH3aBv|P<>qbp@$$wlzIMj7b(6WDv@lbq<+1;VG#W`&(hT-Nh-rISAQZMldE#(c+O zXot#laJov%>ErWof`!_uoqo4RM&=c|a=pMP3f%|ppOu3yf5;Wq&Zx**>q+|bU&zDD zX%dcdmf*h6qP^-)@2%x3v@~cCHuK+1o?eTm_zEUFBKnA>2i7liLKZ{?$!F&9fjU%x zu43~$XyO(tseyNd1WCKY&{B)NcPC1>?%xu#Q(NFYTUkN~>O-0J24?-0=<{5M*6~oe zqu^z-TsOm;tvEbPsIxaT~ksH9S*uQW{g5L@DrStC59Z^LCj?^V-5j@Peaf zo`g-XMi1zT&k(d8AcPvnmk=RlDooLPGz8S9900cpbYVkT1^oVuYVYv0P-qktSl}1C z$-{qTZcy9W_$?e#UTUw|coy=2D`Wn@7aW7rN)2dW!*yXbAIC&4ObA7j6FUL78g#cW z3eMLU0)`yeGRui&%QWjmcjzcfT7>1jqr!Gbl+I({%XMrmi!e`UHk=LWW?9RZXXQ)V z5w6-`lJTH6X0iir4d_N2XG;x+psfxWuKQjXl;UKyb!4fk%9<9yMabUfm_a|Ih)H^oXwVYx6Hofl+_T1?qRKGllU4YIC$62ukTyDj(~Qt6;}-8tpi=Es7z{E z$W)rMNe}q1jDHpOikvTRJa6`5owj;XI^8Oj5zJ${X}ny1;d1-b7;HL)|IiE$ae@|s z914pMFg^(Z+$ zPgeTcx7>Y-6DG$6IVd8{B*UB;`?RXIdcWni3cl|}ZpWJ9KmAho0P;41?oagQtf}2A7$4f@~U6Fu zgYKMhw*S6|XiautetO!xbWI{qzwI5&{jR9Xz3F>9&MWRpFZD^paQB;A=X9>+Psgkc zmU%F5E9efmmFoB*d#LNRR@;T;JbPS9_({<%m=zVs{nV6SO<$Q1+w8ac@QPpjGTVQL zG;~J9HIgJvMsN7PpZ3W_y`}^Ax!OSYRVHGwhd9gw$Efx2=6eF(_K)j2zY9ls7>K;Y znPp4q*pVNyX)nr)QvA^P9@?rR%CpvADnf9>TaA3)eb2;R2I}w&bi2szcxgiijmvq5 zS=lX~wi{hbEf4$zIPdBf%xxan42w#7@@;q5cT5J~&Iz68GZZvtJ6da0r2P4aUOF3Pz(KJq3at+>J(h0ga)-_ zyj`Gs?Z-T5etS|f*OpN>uKCfuLMn)l2`y%ZTR(K{!YWAkNz*Hmde}u>w&3ODOIIG1 z^eK&DgMwDdo2kDHF?EnD;C6#9=Q&nbHx7~+AD_z9mMyyqv5D1VBDKd715BPw7#(8z zW7u$UP*?f>e$@5Z@fs#^%Wo!+@OP&;W~#6mh$a}||H&TEy>J`YOUH?i{X)E`SO2jm zQKJ0ZbvWqo_2y{0TYOCB+IQRxaX||P{^MtJo9d^pO$f#(3l6s{7=6jHUrwaiX@I=F zpqmLjYbV_a!LnLOatjlCyf2A?8U}N*Z7}%vxdk@-k`NW97#4bV^NoZ_Ma^!p-sAh) z4ASWGtuun5Z9czE2RQ%j1KkY18d-G11ty3uRgB#?JTfTga)W&a8+C45i7@*2E*Izs zqzK4Z<)4fP$Y9_L+Pt)P(2vufE2|b-;sfOg48e75Kj<1?+Rhcmtr^+teIPh1r4pT5 z=FDYm|`CTi;PoZ8_!30PYazS`aPkhh`t~M1MmO_)e!xKsibz ztJ<^M=`Je+eI_{O6uO5;#qS{1;hjFDx)G>|sD|*5l7iU~o@v%fnDBOR9dL(1H){Hy zp4HP#Oi1{f__sVM5$t$Fey)Qv^c}3-w~xxBVQJ1}o!#OkBfn0dUCZe_)JbmX#Oin%2O%ItVea~-6#&*wcCFGZ;x_|BpMR( zHQEt_ol-o?-qtNt2g!zgF&pJ_xrI$d@ciT`=(51xU*KR^dJ+*%+hw;EF3r5fdfxMV zaZbz>`n=?hwit_mKC9n{S9|P8jRm8W^HdoLUA3VQ42D+M33&k_B zTZNl6#_U|J@hwLB^J0PCh@9uGFLslzuM7WBj_PpAzKg^VgxE0z=KM8S{g+!%zHI9s zI#a~{-T^$XJPx`(Z0VOpGRRwRjfoXEubt(>p6u`+lPhG@`u}7Y+?OPNoh@2tgC~Gh zoVy6t<>_U>;rG?joKWFkY?-0FX72{?)13faLd)8m-6bWGh@&xO_gr{CXBUj%ns-sx ztcypye_^9sHB!*7U;14O-{@cZT{Np2YP$YThZ05#K?_1R<7y6%0pnp3bUztyro@=t z6T=OWDLN~?<}Dyx{iDuF%4j$usZ<*f^?^3fDhSg>m(00d4&&|pXc~s+x}baf*P5tE zB8}Gmb(n7c}>8b2HmfJ-h%6W(`fzjQe-}k8K)t_GN^CTIpO@1zTva0ZStWO@2y&>mj2kDbB!vwx zqKA1O&HnGHT5i(%QF5s$*zcYN-SYq=gIM7#{FX>U75OWFGeUah`SG%zico7GY7`v$ zVdEw%$8JWp!WikkIJn};Z-%2Ui$|IB1m|dLBxhVRI6&Sx&?Oe!uUI2%nEUbU^sZrQ zUhY+e_#_84Xa39>!4Oe`r|INUcCY=WZQ!+^A|K}WUL#FR;k4Jy0`fBcu|V23cL(6k zgRYKRLhh7xx6x6gC61ZsGNk3Wt*YyFHX4-0`H%|z0R~|>_OReNVut*dc&hTIbj8tP z*-tGB?59q%GlcWm67YLy0dzYhpadE;@|E!zTOUPhql-`%QUZAP%RXr0z|y|0?j0G$ ziI?ks?U))hgD-bUQz}y&C>>r+@j0EBpj-OLu(%K8T?F07hPxIo=-t|YGvb5w<2C6g zw1mXof-tvH8x-{{9kuGV6JEOHs}(bWBMLOemG;ft>c=nWzQJfaLuxY3W@zAk^%Cg* zhjmy6-T$x-E1-)+d3G4QT{^;W${}T7cUkPwR+gf^N2Zb17=cokfsPfWZTOK5o1YAI zO27T8@2T*PJ!JGF^40{SCDV`GB|c}MzN?^{<9{7D67L^9UPY6pXV94^)+g6~n*Gd) zk#6&Lh(S90k*?SD_Zg(8zZk`H=QdeH3tdp3C2Iz1g6J@3^I(@1;I4r#w}HszVYBM2 z@Ey_ou~fFVV`6UY@%@IM92{$F3!9KHt-p<9@NY-!lK{BcukLs->FFruT&@J#Zel*4 z9R_8)x-bieV}IQnkSFo11EWbLG({enw(O&ocQ@_- zj8@_gF|5aLzERRN{c@g~hc0qfjO?vS)a;fRl2!QL!|>5yKW%?NhB z8r+}U0^RF#)zbY{93HisT`!HQsMUoEvJfKC@iqKuxX&vxgdRTr+QhR-aoF-&wo*af z*Nc4$_@}m`259}TP0r(h8cVhWe0RS_HhGYJ5iM(=(*1W zg)VJ|Rt7aM6g@0mSO_4qxKF;ZFf5fU*T>PhETLeMKZf{}SK3wdU|uxni3=%fLjtrp$xDkYL!OB`zs4h#7_=G$PoFB6oS*b&6vx8p72a!A~y(k^D? zb<~#pTHDU@Xv&f0(+_Mrzgtd4-{sHbD=n8flKn|Q6F(;CIhFesZ zfQMi{55hcd!U~W3iZvfn($T!%Z5-((P);n<_Gr0JfAvY^dovNw0Oa&~!5QW+1~b6j z2VIQcH92Pm{bVodXLeyJ!QWC9$MJrtH~d>|I6{0%6kC5!XWstVBg@)By`Kjnyq)oK zccD^h^gDT?sbv33D<6b@&Uq z|KWc15$K+nTfR8erPl2(LoU(#I~4Sl>$8(OMyR!fUoF40WRNY4I{HX=Z>Tx7R!sJF zjZ#uI_J)U1q7&J)qn@2{MhH9)a}2saZ7g@6c_}Ag+Xo5iFx@7Gg`wv3guh>-C*F6_ zD%^wxdNSkKQ|&1@gn3%Wh3z=HYi}S2nHuTX{%o#3d70=1>Tm+O`)>Zycph0^LXvCt z60Q&A#r~;nl;nl+j|i~`Q8Rs5_(gEjuoi}mv#%dnv|g&OnFg=Xu_iewA@-BAgA-08 z0rwPie?TrOrhe&8fgG9Rz3_)0gB7+rqKnsjKdTfVHs?b*^`xZ7mJGKoN!Ew4QsY12 z6#5(EZE;vBHlLtl*pDp&JYRAKx+hy0oGL{Y$!F;ahJ-A`%9op>wI$QKkw zI4}JBxN!6(ZXqos@^eUln!}J@Qc~L45-s#AR7@Fh97D zcmcXq)s_$OKfHw@gLp-B@r7gh zeyM(w9=jJBh)-kAER8~a`Q`*C45g5^Wv&lyopc{00QU-XN0?*w8Mk3x2Vo^#Xl(FL zx4wNg5NG5F=!5;BNHeTAd0nLn#r{R?yUQPbGgT91y;Jc_r{oY6(~b!3p|p~iRlvOl zT^oW8wLp)qB!V4hm~Z^Y{4{vbN5XNOqq9sjDk@*Q!~K=9WRTsaMjWN@r^xooJku8r zhK0yA9$PiP7&qRJf%UxsUD@UD@IT98wTu$7J0qw~r1*9M4|v-ob!xVVunqO#IiU&X zEjcy0GTP1G@=OZ-6cx0+`&M7pU6D!=v~`oTj)AR$`a5hv5&H?1k4HVAm8EHP2Q+;eqj{v~E16^hu zHWo|URIZnuoGIzOHYKG0P3%ba8{uhA&)R-qOX-=EpS~U7K7g)C(#pBR%f+dbf{!2NXCl>0x8WE?#%UA;XAw>5;Tt%1Xf>v>nfCZHv5(z0GCjn;+P=_bb{SW&s&!GF8RthUB=8KL=KZo=O&rCMn zwH@587c-Kx+Vu^#wr3RlIag0*HTnN-oX(5D=E}Jg7CQ;PA)j6oV%Q%@(VT(n`4`X~ z=vZd14!`XB%1~3go@{EuB(U_QG=Q9D>6y;w#VYaE{BSZw?4%w#-A2Pg3z_a)^^(bb znIQs|xk8Vq!6bS+52I&J<2kk;~uqf3(Wt&m*U zZwg}k?_1$r+<>LX*?n7t3rUTJi)W%d^vyS41cb0X@7yJ^3d?Ej41&;$c5%Rc2mAl_ z1fbvk(Nu^VFqaeX_a>N9OX4eHxp=mvA?>8G2%XoqY2#9(=#Cvg6&I6;i=B_Bz6z^Y zO?7_}om<*r%|5A7cLDpn5TIMc?f2LUhchsIdYeYvTl;ZPdX4?cdcq=?EPAKTzl*V< z0j7pzzyHsUWbJm74fP-$LFQiS_;x@L4dIj2M{4k#BP8hV&#}dAhL>K6L5t%f1zeso ztx2?ozI~!%{Q0wN!*(_(FEhyYXj=Dn+B#!+-c>2{hqCg7NWhjW?rzp=+p5+cPzNZ` z{SV($g9hFI@I5sc(A^?FqM_cvy!Kbf!75}Ro~SrH_}HN?K)-RjquK3FZWf0Gm)k8B z#(T(zE4-`#9S0euGw-+*{8PoFy%uKTX9iFQSkSG_`s{$4u&*Kc{u}2Qp*&1jwV3^&`&qlZk7DC18B3Kl zf4u9PTb=~_g>ayI^5uOp*${bFB3iK2!LOQ+Goz$Au+~mf;mB+nP31!IVWwp^@*y97 ze~wjdNo#Tt&~{bq9V{k6e+y=fp!zG559Eah-4+ae6id3=I$?ENmZ)}T`-fFlho^pl zI}{7*-TKfX3S&&CbeMYA3c8qOI5!O0E|;S}iDp}vv^|LA-lKef^)0 z0J?IDTjJK%=n9Hxx}5Dlzp7c@-YIPTA+t6q!7)muQyr~7cHOJ4Sh4K6PxfD%Rgg!d zUQliMiC0Jj|Gh&X+6P=;AcF1!v!>@mxBHs)8?$xkkJknP`r`)?Gkc3RIo51Tr!GF> zWvby1sas#^@T2}@rN%Dy0FuSdnQ6nH8iC~{N+bwC1Lx*zV6n12HWNcip%j3!r5 zWQd5!0?^J06RQU!yQLmS5C*9%6T+Jjef`9&`aWOXa`fJd@H<5@&2o8(P)lPjwI<93r zD&^~e$M>P+C;7JA<=96!Wpo0RJ3{Qs{X*(W@ID(<(4C8|y7I|av0u5Xw!r4$Vr|ZX zij{HyCV0cN#~HqIEF0_86&#O!sxuORQb%uw?Brqjrg@cQF^tqgR#54tR14%q1Kqp@ z$~RgG`ayoHZWF#XPOl&shR(D@c!4!h2)^B!Gpz_c@`_O9xp?*P_QijVN)vd_G|V%H zQ(n7;|8_)uwYC5k9dseRd@aHxU`b9#G!>a?6XZo@@=dVLrlM>Fd}SLt{qYDgNxsq2 z`%l9tJ8YFgkN#D@3iAqdm@$OZ-94yVCj(s!(8YwJ_%Uo3!WE{7_m$vt1?s}xgLDWHU((o>IchtD(>Qlg?R;wYa+oWQ;wCg?uwc*cdE z-^UbwWe-I#z$;63ee|t(Z`e6h!HKDf&pyB;k@B3$F7bom*gAD2W3Hc{!% ziz?3!#VWXN!2;dk&&=3w@{X!XEtDj`k(oY|&L?E4EhyI`r%Xwz=D}P1@f$n4y2Kt_ z$Q7s?53`3t6Dl4mhHx(_b0$*P;{QLt&wvfOqE44Z@>xv8Dp9oOY)!HpRXgbs)+#dvvY?yt){gMx$JGi%(98w|i zt+x`9YKY-wsZMAW`z8BGgF2=ECWSD|0@BaE5_^*#<}7q`p8=hAe>rgcgyywev}NNdrkVsOI0 ziS`M^of#szA4~9}3S#efIz|f6B7kv*3%b7#{Lku-bo&k#F(e}^8X%HGT6ka{braji zyj%VrJO$UwmuRqGo5pZPAMzn_lF{f9R&l<$kiwttDo~hicn$zA9_Zfkm*4$jHsEf} zT!p|K$Z4vlBo&yqp4-H1x`%;3bCN2C={7y-e7p)4$UoAKzE@WJ>e|bP@sl%(SZ}%U z>A4(m@j;hto5!ahGgst$r%*`gszGBPqoJ?8c8W3fhJvCx{~4udXQq&0p=%c6y9k>&|#{!rf9|nOtxXQFUCY~!j!G9|+Z)y+&STf)D z@Qw3ZHUgt1Qi>eN|L7uCpWLn@P`hL<%N=~q4V}YQsoVzFErg)k`OwFC?)TfGJz49+CNnfwlQaJhzj^_+0D?k#P4c+bVy z&ESbsPPg?XglOy<&SW41JcmaFx^Xc)A9{~1{+Qcpj9n`q)XJrvg$*`*y0kqsI?BLt zk!l=P`YSpDi4wbAEeMJI?)b%I|2NytXJpx$AJI{o(cpZN7t;vw^8s{yg}5NSgdl>^LUTy@Lk14M-evU*0`LfF?;f>b`6`J%B>MD#De<- zB%te7`jFm%I_oKi(S>3!R5^6sUao@_;F5vvw9kk>F4i^L`CJjtqdHda zE`{oH$^;?P<1BfWiHzCpQrBdhX7Oe0kZ$Qhz$FLW zbDF08i|!m-3TrfW-9?EZ%Zwv;#hp*gZafpV%o(+iUv#)`_s-_+OvZiMd_TcXc9yiZ z1a$=cN$ig%Y>;v7 z?|}v9+%c-Cqwd8bX&i(pfn}Qq^}$@A6EEP>fbRE@Ol@6alnx5I_4dwEvg_a(`T^C; z-80fER0M)Mw!A92oDN0qIC{?F!=j|XA2j;UtXNdPvY&+KshpeXTD}4lPxhq5Z!;U$%DTi@72Jv2yr2oiQ zy-=6zy3xO&F3Drtryn63^vE_vbA=iLE!#7!JUKKP@ zLwET3s@sOavz1#d`dO+1=`3E5NG}K=-KzTn5lpVRqEEup~4u zVV8EHi@iB;=5iy{SdtBH(B~bh#>LjAm5rWG6Z6)S7vONUp&w=%Nc^U5NUHo>9MN0; z($0k&a2Y`t8|lj97&95hA;Lonqd*ekx80pf)L(gD1YZ^l;(10oG#nc}pD!5#TjuhE zUcZKW4gdTe8+?B2EpAc$J3|#{1h`C~Yqdi0;yy|ed7zj|nW+=KLTJUZ(rfLX4>9iB z3crAX*>)UjTS=}kAm>w-&enbw?qiHv7w?sHCd{%f=32>P~mkr~L{xnBnWZ8XC zBC#lh!x1rAMuEgo*Vc?8cQeWbzeu(5T|=q%}9 z5&)M4bRBwKs{DIMS~n69KQeXVa6xu_V+yf5Yy zTeW*$i`f~YqGm5=PU*NTnhaEPZd1BZo3y3~@aE;)ZWDdc%r21jFM%q`up)c#x{9|c)BVBVIGX1C4QWn1&;5`Ki{js6v z>oxvn+Ogj2zC%W%mG|#EttnXH!;``Nk2f|xK*+v-mjrqmo6D$vRxEwk@(`^#rDFJyo zK$n6ZtsdDnGJ<)&&e)GFE;ruByTR=VF&GJUXYcKawf0A{iTA&^_;#$hEewe@E44Xq zUPo8QG@^LVFcK@lbxOeH1l^PP4HZ=h=fle%^N7ild!1a&nriC5w!R-*@V5*0qgGGL zm|p$nYfxa`JVbBZ7?6>{a7t!N{g6bJd-3gdKNhS57wGb=TR1>}F+-oAVYY%Sqx+m< z;N;^#_f3umCOcq*32vL~bbrvc!CZ%}05Vaeh%1}9yy-1VCr-))d(^A`Iu)z~H|Xj) zi&mY{tP>DKS+uo#w8-Zt8w$o|Tkglehl^crG*^dC`RDfy5oqBwW=AHPIg+B<#wa+= z=J~N*{KdACKzst~zyrF*2z!%z?;`C{9Q3VSDslD)MIz|+!i>zG&xA1w*6I^-)jzb= znX3M1Xc$Vyc6civ>F=}Vy3Tn)kl~)o+!qI*3trHLnIJwkD*CvpfWrCc?cDU04;@mM zpHnZ~=3E~N>A1`9F36eQl8^e!|8A?VBxyi&FWBKo+`*ph8HSN?iAH;N0P^yI?nAM9 zRh-`*7fmX{9g3>hj(mTCGtHpOBZ-OjkKi8l7z8i=uT9%?Wcm0H-^?ho>o=tPR4F6M z>7o;?;Vqhqz5p&i=ssn9zW&$e_G(-r`klb36)#?fvQj5E2pK<`7g(87Wk5=UHS>S$@0O%SKB3Kh|h*a=*8vcpfZXgS3CL~0~ z9%|q{etW&|G(Bp}-Ksld$6l$phSap=I4Uh6F^Fo3SWrDRs`VBbo*xGC3WBcg{L71h zGfnu?{oyxsY&zW~YWrabC~GydU9YHNi7C_Pe}im9(*OI-J#D%_%vP+fqzh^<{#rBGomr{t_b6M0pr`(NM<~*2cR@~4^NOi};^!pjm z3Da$`l{E@&J1tRK_+w{L-wvHJPqW4moTmzbu13>RksdznSncy`n^o2)>%KNkUwVSmqH`6JOX)zLH9rGGl+mL z#B%a6HoN0AMm-`-lO;xTqrp`gKiN@ox){z>1A@RdR?3BoF3q544*k+i6Ag?IsE)KnP`q-PxuF6U)EW<%{98wl}i+rn5<(K)*eXcjX@j>Dx zOKKyra&YrEUPaM0+~2^UF{FR*7oVbe#6HF8Wdg1k=nBgY*~3Q1{AhC#cuM)TEUmFW zs9Lfi*dZV_dn>_92=O^|ec+F-zay5qSSZ2BwE_Wm`%7TuBq496(ta;~ya?cmgRV-I z2_u;jXA?{VW4`m*MO|=X!D1_YKrYjXH)cvOCcMxMlIEZ(iNP<^n?gFekZscpPBXX4 zJw1XQ)@YtkGfcph09}1gs&^bh*K4y)+^7^{7nQ}F4DOk+Q0NbLWfo(#6t=$A3pqo) z%AvP@qg3=!n5eLU*sy%XW5T@Oy-LP;o`e8b5_CUK26LU@mPbGRx#wA)f!^rUNhW5A z468Mex*>QRsHmA@QMUezCirVKLi)MCNx$k^C*hQI|lA^6@zN#Q;eNgTQf&bB)d&C+0Ck0d8Ca=T%*7EKNldqNtG8) zGp}yMl7sdj5DjxP-~4sOiyIGUp`fF$0aqGyx%)+rhfr#jaEeu#^IW~XxzTuO#-z@l ztugyN5gpy-`fY4DW%BQ)wK&+yQ0uxByHPy%8-$^DktTxqGcaGl?@bxdZNfuNVnqDG z9YwAs^4?Bzo>4(IyQiGmvyh{l8uIyM2jas~fK3c-S1dkcER$0Rm;Yqe8pXeu3G{q; z(uS|SFhJgKpexj&Hx^$mm|c(j;@j!5p6qh+?ZsSM34h{OZ%&C7U7_WlJA|Ex#U02P zibVU*=Nabga@oQqh$4_{DpaOU0jYp13%W~1{QJ_lU-Nz;b*l<{Ws30cmb|}*CTbb8 z$aJyE?efc(+b*M|n%kM=jlAcD{^d*Ss_eg=eb8TlNOqn+?V9sw~ItX(Q@2 z*-+qfArHDxm|gGKWT6!mZGSEVRn|h{sR~-t8wB~G*-T*PGh6X5E)ApCv}{KrF=UJD zA8_9=*cd3H`56u+-*7Yal?s6KJ_XSI5AS1A1YNq9lDFZB4o?{o;h<&|zG=CO?F(U~ zzeC4o{;4~8hfT_4iaz@?xHJCR$s9?tlzM|XbYb6|L>NT4O1c014ATWZHzm;h5A!O6 z?tV8zlyxQEDz=r4W?*+NAB1qcA7v~IMTXax_L4KkPldMU7w~a)*vn7i$j~v&QTQ-X zNHR?UJgV=Nw#Gf-!S#>|==%H1)l5=hk=I}qPVQt6y@~}nrg^H3V2MQ*>h=*WuWae$ z{;F#FGL*{v6#LY>>TNe88HJxRq;Q;67;Jjn2cADu1zq*xS~fp}jY}qanLzY1gKMT1 zwJ$saW6>?u;>~J~5(f_OWZ!=)9Es3>u_AG?WkHyk&)w#SUJ~8SspZhf`V6i&)j&7D zg|*Kv`@u5=f0MXNRDbxJSM|gI1(rpdj{vsY9x+NSCW)oeSPoPkswbz)Ffz-9ZDCc%m54d7~m?teIc z&;s3x@j!Ro{A`kU-hU)|I4M#2i6HWJl{ux9?Ru~+Ak<2-__y#Z#ux`Q^0(8d*s) zQ#rkUkgUzAx2=xz8wma;KZsGk>kbb56W@5QOUOzd$g4HXAyqV(^W6UJsg;!g++WuL z-FS6K2wMgY$P2WtluL`fhshE&^+#*ide20}LMGwNBUFAzO*qP5KW)lZ73==jnBMbF zbVch?MV7OFI;jpg{S4&Q1>F-<3KL)3tr;y=lHY~@+epR@u_3N}iz=ozBx@4M?}Azy zNiAzyZIbzvm(nve_Z5|giB%y6d42_YPwnTf7kn1r>Va-#OkI9SNdKv3sf<|*o~;Z! z#rPJybWpQv#JvF*>wq#$cXJ$6oo;zDK?#)r#jjbE#=I)T3i20(K8y&zW?irk`2%$S z!~bXcpu62XT5h@He&Tc#N{8&Sn7vZC^zq}@ex`r-Ebam4*y@IA^hr!*8kOm4{dEhu zKS{EM_)enA4-M4`buO@Dl)?AA4M6ul%xeg`QZ%0=XJd62*R}SiTUlw^OYU2ov6%Cw zX=}=>if(o5++J{etkIH1;l4kT6GdV4GpOGQjaLmC(d1?kG$;I@``U~^_dm>Q47!+_ zt$~!VOYkWo(D1X7CY=a|T&&aW#IbbpE~LR0zsf`FNtGn1z6eG&v!5D~tkCzg`J_sc zgjXl^etAxy=t2d?nF;8!*G>Y z@3v$oBY}g9bynDFz$b{n9WGi~Ma|*oTz6gyxTc`n>v-@%q0<11YUARv;0O1~!%ba- z@=j0xtKM$2X7#e)*ROl;TqlYw0>c%ZP+dx{Dj!eP-gj{p3+p5bjCV{F0j?S7K2=i) zuGQE3jTbk53m*PB-XCqK_^{PGSVp?gxvEZi-d5(GSnW%35A7=)zEK)|{LoGgKfrM( zq7p}K8)j3W2e{^-8x|k=*FxP-_jc1pZx<3?rI88aBa4yhdVwY6{cqc?cBULm#rt^d zB5a=V1OL02-8}Db##-q!r5Ld?t@r(Y#DHr7x{#M^BUxWFsgE}3Fh+TLV!Z9OLVrQg z^1aQnJ+r*z*=PNFbMZzP&mAh_HGD@QPnl&q@fh>_F{N7~J#F!N{snL?L3d)c{d=D% z@{trRakAcCxAK!}8zbeIh*cgog9B2LO56WwLcU=E#@I#NB%VaXh#gU|GpVdB_>;%*9H^en>rzL zR$v;-cewTc(RPL@RyA ziw~b}r@T>UHD62N^(bp!mZI?)Q1nasdIn0hgMd0XgKh<1b%np>yVnJ*lLdm~E%+XW zPrNA~;vM63IB%VK;PKUT1rdt2JsnZCYEcgO3bfz8Fpvm94vAdT4?sWVb(sLJ3+Q?s zMD3#YXL`IBskv>7hiZ|dob)lv*CIDy4z5I1zL~!C)OoYE{0#an16SB=xn*TK-(w8A>A=|qG z55naSsJE`r=^o*lUc6Avh>F{1M}|CY5IbOh$PIMAL<-V9x4H@0Bz=?JX>qgGVVl~> z*}9p%o}RcPJBTH5vXQ4iOt9_jbrWiW7qP+23~X0Gj>BH#GG3=#T;ccyRKrhLq)N#;zqaip`c>kP+HWkFXpPYG6d-K;0y3_S_E@`rv0T3e5K& zgXf`9hTF`2eTwN{k1R_k3A663y1|rbh(KOX(0y95CYqW!<1B(K6@tv~y5`B9d20wq6us`Kyn0B-l(`E`?jCYidAI`j$G${A zgC)iM%d^l_g+4>UQ}5PyUlQ0On!#~eAJF}W?@eFOjl?`n=kDhm9OFQ=nkr&OzVoc) z8SO6Owr0($Yc-X@x2pN7Me`y38D_awE zmiCOBH3mMWTq*weh|Z15iWU0uSK%+(?oIPVm+;I#ZSXoJEbV<*r(Z09Is}65KfG>1 zpgTSzLoD@n^-49>Tkv8*>}ky?<0s^MWdc#SciT$%#i>+?sP?zt{j!%l6%7fWgMu$T z(iA@KtFpj%^V2r+RQdpUgF)9!Oc6Ft=`A!FArBjc)B9hNq)0sX?O73{i`(8zl3g4Q zX0o=!9a^D}Y2umM8VVE!6E9Zd5MI)PhMgudh2>j-8v?q|W|U!91{;6KZK47<30kkk z|_Y>&yK#i&(8hM2pN8I$Li9u~apB%WF=5)Hc z&!?rz3(NYEHIv;o**E`y2-MXh{_=2?O;2WRCWwoY-f(Cah2I9QONszp#`hVC@C<^f z<*U(P8Zs$TV($`xh(E`#Ah0Z zylUM(aC|ZnbOrV{w4vVnE2XnaZZsLd7VC@#xK859H~o4f;vnNcEVP!y(_>l7y$fCI;@aDA1)@$5->y=NlaAqZ08eqQxxK>mN+uI4ntk zE2zwY!Y1QNI;Pddrd2MV9+ujG5cjRxI+c->+^S3$)w ziKU6e`=Cau$6xC2QKccuw7q*}_{dks5Vx0$~(+}iA z4wgc!-cGHPKp<}{=yuGOyBasCQdP4b3lD!h+helL_>y2m(>G$T@q$hBrOYlTMwgqa z1A!JrmZ%0F20xs?F=CP-DP83$A#ajt8XRAb16`=Z|852G`X@OmN$!!e&^9AATH)U@ zd<|43vE;Y#L=r2os3+Kkm%-}=L-q!JQnAxqUOT~h`xk8z`|oN{|A6a+<3TqFf$~ew z{w*rOZn*!U;s#L){}fVxGNMgXA9?VBeo|towaxi0$Nn?Dt)6D zn{s$IKhcTl5^-aZ%PY1`MbjZv`3WPz_k1GgE+mtmWg0rq{52&ghCK{zY$s3_LiP*@ zpdfocEy0U59WmiW{ITRvAvz3+%|d@Tu_Z(&<%_1EFm*1ka;ec#1&}uhblGEL`@75E zxUrv?uFyET?;N6*k{%!;F4?7VU4Dl;nsu8A3mRmb}G~T%#wgG zHmYI$_W$Rt|IhsOWYBfYGRet@=ehPLSv_a`_1)mY!uH|7PwQ(vEk`(mX(QL%cj7gw z;?+NeURp(kk*41=YBQfojITP?N~Xrd+Ga5UHwARJR|lqz{i5h%BUiYm@M8F#>HSQW zR0U&Y1BV{sm&PHk)2S0zcTN@aP!*W_)`pr?VE;I!z`~ve2j+*>P&h~cZYt>h9QccJ zF%esMh!s3`_KorCLvE5#*#n=j@#!$1R!7Ft2;8fApi1#d#?{^B+EhxqFFYJB=LiNJ zx8iilNh+^D;HH7@UA%^OKQ{qBJ$vD?L3fv6n@pRXGJ~@AG;5y}u9b6M{b}$UXq74w zhi9R#$x-5ce|Ry0>kiUEmvG^?z6~CBCZ?<1lX&hj>HBl4k^R5s zZf`_LNU_Dl$RX!?@(6AlupJV$lvYhMr}m-Ed}uvBN3o}1(`JX^s{(m5Kv$PRFM!I} ze-HKU@%yw;<$##yr>4q*&sjZz&C4Xk68(YKg6aun8%!@ybux9kBML(9N0Cm4j12hC zEn+DUVo`vb3A$L(g$c%3U0fZ~dGDs{sz$j_C%I^P?pnf5|Lip@)|BUPeLf8#`w?Qp zlPyW|cmUHvrV+m@2n+>{{cXsYduHE3vQe-E2D8sJl+B z%g$$6M|Bw&n!;y{Gw+ibSxpCXS(nXPM&_17##h%&Rih#$SHR5!UFxg>x^Ixb&_V|$ z-*Qg%Ql!iM$%z^`=6^3to7~SY6O+0oIZ89C(M(A3uotWvS}UN3bL#L@qR~+0t8@I~ zcd(z854y($R?W_DaNi$>cF4(KTc|9Yp5*O}I#Jn%pA!~hg=r@J+!cPuUv;k#FjPu&bFIs*Jeub6R&}7HXWnYw&nJ|7MKo4D@g_K-$KxJ(}IXkox(vtWM^sC zdMku@kt5%c^j`Ku4%P5H_D4qWlPY@w<n)6CvJa8APUeh8E1d zKz)lqS2D$kb5!zt2jg{UAhe4h`@aqmZ5Dp63Cb>wB}U8}4a#p`LnEC5n_s97zN4H7 zCVD{1h%mfwW6VOQUq3=`*9Y8U&`nWT<3dPRFygb`M*onr@!``SzitnA?qwgMvQQ}= zwVQgm>#xrV!TglRA!&?Ibyw+?vsYL61cMF+w)FLqZc2b#0=kl&quuJRSp;pau8p@c zUwrlsN@7H2Rr#XDOTH&JHlJwr1aK}Jv}WYE>t>to{2r}bIZAfi?Wb}(E!WELPZ$Q= zQqV6aYoc8KM_e&aJ zB%^$5PK02D(Mf{2e~+ak3ah$A@2iFd9U8vmde5FYfajOWZP{&#;``d>ybKL~KU9FO zB~|Fj!t-2l-!CHh&7w*=C#{S+;s%x8OliHM548p^1E*wLrHjn1AzW7QWT!P#@^Pkv zH(3kqUYfruSiHGefxMqVm-n!XCxBUs81IYX&=B_H?Tm2FTcfUKS!>FVQp!2?_>{li z>G^q*8Gm8)!aF8~sn#pM{u2%79&%arxqNYC{ukhW0o`olv9X{17w8&z39*o-da}_d zk|96bo_1%$~4KdfT@U&VON`_0;ukam4b{ybmm~*Uwzvkz0f7hwXL%Y`Q{Uw@c^=srS)52sy*V-HM)3aq2D%?UIMH2{8da$T@8*yuvE@UROXbfG z)C*R>8I+JX4a_F>T$b|rffIRb6_SK_^gFPftOZ>Sw2#aa z3PIgk6+CdlZC88wal`J6QexOqvZ$&n=C@VZdtd5Txtl`1W62O3ZJeH9;vmP8F+uU} zw=2}acS(WYeRZH~n31kXJ^6%TQ8tYLPZ+HR9TEiP#t(0zQGF#)enD=|skqAf7N=xL z??=?i)&mk%$rP#h>PSM~mmh}i;vNuPz;&w!UC88z)AC()ws&29zf)Q`ZigF6P4&Jj zXlzDPyec`9C_#zt?tV1R448&K8rL|4Wd39Qr$9$sZl*e+PHuGIaTahJK-W=TinwJx zxK)`Z*E$k&cDc7S8iJwmr_zGGxo`OjpEjG;jte1Kx#pFRsH1_Dz!O4>p|*G?bSNA? z4%K@^IB>kW5p*kj9M#)z*_poD^9t!S$Wpv9B{a8C_!PV#H*)WCt?{srlwA6w9I1uK z<;@MQ^tIaW7>CLG$nnCj_RtmYgbZxiU6!}~JrW#eWfe67IU#yIP_8`lp*_M59+ znh+ihoT@Gbjn|2!0ptg9BihpPyU0_qoj8mFzFiEIRY-HXCQd7HhDA7@8XB?7XQ?K-=00_*pW^33v$ zJITGu(#FUcT7(6{7%AhgSr7{oq~Z@XV7t=^y8p1gU7#Dk+@Y!W>5?I+xc2BxE(KLG zji;nX|FiSNq5+35%>KY(dIIszTKcZ ztMyQ^r5i51q7OeT60VuJimVe2 ze!jKAc;08Y$21mj{zDJwI7-}`32G3Ofhx2y2ce}|LxQS-^YWX`w#2z9dw;%dELE+B-h~H zqG3j%(3n|ErJ)NXW}6Be*165IfjdRdjiy%t(iQtPB!`)Ph$=_dI#THsa7KJHOd8;$NI9#jUAC>j&|OE zI{oXus*U2o&o6wjkI^1+I^XyPaEC$nK;ccVkOa$It2KdA|8m1<(ugngA~#0wwwLIm zvi=1IQ{A=U4=m$E4A`iW^EtZamC`A>2ft7>_#CUu%5hQ2C@ikYg(w{x*z419)k?&O7WjQZ95-I#nH0E7S zE5yLAIP6orLDeMUgr}`41(0_PborV;8k!P5)Qgn{J|LuiZCRE4kP`4n%xU225p`~K z_!78*TgC*BtD^!{wt7qE^h&2SXh_bdCCM?n%dK)+i2=Cdpi7K)ZC_l1xQU{pc?qd} zc@Pwjzy1Dp|K*S#N)`cGX&rae29D-2q0Xye==}RP`@yIq!lqoB2sI)y$GzujH+;bT z0lGpdwUD#ICYn>rf1Yf;{3sa2+rmsXU`aHgVT|n*$rgwz;~)x9`qKMw;f7AD!U}OO91n9Q3I^87;eSECtNV`bMog>LDqNv(jF5OF3Qwo$#8#K%D zb+%s8&Nm-+;EY^m;$!<=;6RWHjc?p}YNNoQZgT~=lb|czqhtBZ0)_FZ!v~K|?CZA-Yxd2Z_*_K8W3SS)g6h)pY+!>$?3Tah@4IgJII_6M`uzR-%Vr}6oW!4l!| zK{R?bSf5^dZW=WKcLsEm%rhoemiEY0v<{MjiVPyg+G;zpOdUIQ#Mm>i)09v@6T)zA zSCtK`*xNfleerV=ol{zd ze?NtCvnw!T1#ss<_aDA57C=`ND&9RF6*JJp7UE#PbA^0oA{usmmsICoH5Bzj{wt<< z`nj2PrJpE@1cR%Ers>>4q=qM2+5p^x(FpqD*$CJ_UIbl-O?fsl7k}fB!g0j+tf{ID zBAG!jd5s=)*+|^_?2)ZX@2>y&N|cQy9Y7xWMVI0#wGd`q;@u5?wLY^8mdES?>aYa5 zPPbck*pX>!3SyFG*PkN0e1leB9{1zb8$jL_(9Li%Nm6hWIH28C`s1GYbr-!# zvD*a`?xP~psj~8{D;{@h$2~`<|M{UI*GR3W#l9OCJp53r;8`q$5Es0Cm^^-M(Ry zhfRcuKcAE>a)gqzrm<4z>k{K6Xx}|*?~bXQLZsNB-D_-axty^$-*K8O!C0~U9XrY6 zsYf;#UTOcS$`81kpd0FJAZ(Aw4JX3f^MEK6>KW{jkF-85@YvLOjA{p=^;-~oN7^@f z{E?zLYYqPSPja9x!7Rjx6*21-hhGu}y1mo8#Wzk=bRqGAMijhTLWP z$jn$u@bb-Xd$qplyVCF#Sd1*scG7X6Rxw>MluBF}(s>c~({ajK%Y*Y_wn4YRR{#^9 z7%N1K&`FsN=Y72lE zSlt!v3hc_rhj}FE$RU~xTT*TbX~d!3yj;_z7NEX+pc`G2uc^kj?S`g^!?0K>5o+nt zrZkSBtxk&wyA?Y^oI^gOji3GVf_xIYkOMQ-aimL)5xS`HkYOo5kD;g44D7e;gKj~J zz(K~Cqgj<-KLyrD>?#Ops`qG(e%QlD5!%mFPIAG-k@@*T`owgUj)Y>rjPdnjy!v_{ zCL5ts*|%`^jr@ST2cUZ+=XOzuq~?!ey)($;c7@lG|@$$DV~R2vxc}ri=*~VXNgVZ5ujB})ha=OdkTr31 z*Z0##oRh4F6&DS%pN2j;C@^}A*wUxcwN_u`2nM&E>?uU$i@z$SD!oTxRsrgJ0lHRU zzxmf}`Uw^a*_^hx;VOhMtcsbsmJPc+k4}8R#M6DFfS3I@7Xvm8{ruHFD zlDhs-(1#*C1M=R0?iHl&Gam<^owW2umSUF|^7A)tTq*cKvIXobPXyw6eo{*29% zfvH*ycJ@BgB@CzXY`0CiKC2?{J5vfS&7>5A?-u*5<1ZrPm`im89SOL1pu0T*7fLBJ zuF!?`EjK<~y9B3Px!Itkfqb%5YPcE7#3Hdk@11jkZSmr#M51e_?=#JO{SdDkr>|jC z1}}k_6P|#354tn54<_!?46PN)D{h_}ZKH|pDwwhm%i8FOn-FiKULw76RtCZ-{Dt>*=V?Wg-{$aW>xd6@hOo|Rn2!a~j)eK@Uvw(J z%Sbk)YkzcfGZt9w(3cs|e=O$!|LZ-1Zsp4yIfOvEDQDP!tKg2`%G`cR9mRm$(RRAp zM@I7a$zP0o7gKdqlSN8lEmr2^Y!o5+OCX#?=CAZBYLKpnH@FVv33Nl55>mcy7Q1{$ zWBu%nhsIfi)iv#vJiDJI6BuFZ+pr^0_#h*UhYUfT{aAz{oxf`^?)3RjNc$T0#jLd} z92VH0e+J!(wc@}O*JDGO8Px2=>~S-HBt!9)UC#Sk*IH42E!kN#-g4L(x2D!G`fV#E ziz(c11g#$^+fT!`nFzR!1LAaFIl8@JOUvMeJ1(?Y67w5u!x%B z%>6GTeRKPCvN8^375!<2JFj{FXqmAfkHL{DKWLJO*{-cszf=;^cp#g2yuKeRg zs&3{}ucbsvFiq+krkwK53d-;6dO>=v3@R^1b$O{R&8h((g6~|6Hr9P@KODP3I#Y^sgDKZ95Y2Kk; zti`hW=2}$OzsvuNplPC}o;JV$i^j949(VudTib-`!@{l{`zLsl;X@V^R>V~qT`xh-a|xXey^nbRP}x3 z6{rIY=u)R7Lp9Ld4M@TMOpT*sck8f9GNKySTbZ2U*1_nv&%b%~#DrK%%sfy%XDZ!e#|J)VJF%LiAsOj0L;{uZ z#ky3@{U%{vbsez%MFd?!WvHRQt&!}WEDanO0}qQLb2l+XdN)1}>aIufdKH~lTE4cM z?uuk9K5XepI-OQLZujEN$cwKfR_;$-Qk%sIQyd+ zfByoN{E`NqT{Al7&3T_6uITf4<71G0?8a(&$gwkSCJ~lAn>qBCh$(BZJwpcF{qf0a zGOhuyPgwk%Bs7B>=s760c-I!+#hsVdnM5Cd($;n0h=qJb#`&v)1EF%sZioNihTt8H zsTHD^>`1JT3gkrrU4|D+25p~Fg0(8!ORv2A1Lk~5IWx5wINcyFNam-X&EgJXrLPafxONd6tQddT{MfBBc3Ul zL3N@wJID#2gxMiQgu(iA=SQ4M@jNN1n-8-3k~__|R>8{GVeP72`qV@Va`%%!9neAd zALhjX-P6A<8LlF@a|PUGEmTJZd&?JPA2ZJT?F&sjp~@O<%PrGpcovWgv=aZ^%h}Os z9I>tlDCCelZ;fN=A`^KHhX8poLH8f##R6U2XYoAIgyNJW3ufAw&2Lq7u;NKBXpp~{ z$>`g{W3!v5`$Ik00v}Vh$~H#e^GL2nxXg}B7W&CQd#WjEPmO`&JJ_JhCoz6^RPe{M z89589a`=gMne?3EK_WSFB|?*&#e(xrG`qEH;*(0%mv;sfMWff#9pf6G+(luvqxFx^ z^EJG5fjZ!TF14C2`@y}Z8~;r7_pSECJxMmDm8hvyInKs04e6R#vf#pDGmQ6Xf6wWX zXSzO{Af^H~!I!xotY)^DTOH_GA{=OaRxaD1#PSbp8#7_X+ylBEqeQLJ<|DFuJyD0 zlK3Rg@Wbve*ErGF^wolX7MOqu+d6-Pfa%8A_haDyLL$&D!tO1v@j~Y?-P)n}Z={IW zxc-rkx4JSf{zUOt5A4~`U+OkEzidy2XBr`>6kjB4Zj`Y*ZVc*0gZJZhVzyj~fjSU_ z?$@}@^r{rwYVBr}cjwME>5Ibz+^S=A+>H)pLaP}s>|r#Q+kq>=GuI)MCdGjj%($Ke zqMXfynQS@sR&V-wDgc)Rbj$w?5*^~W&ZI-#zal9fhGD0m7EybvZJd#7B!|^P5!$=q ziQc{?v4>+tCocVX5Z{HNCE#i~)^Q%OkVQ7-2maqA1znqmF(>QQ(z~Csq6>$_Cyl=v z5{v9hJY)W_#qR96ur*nR-E(*0vVTzdx_;<@b)eeGI-}{^(66XNFZUZ6a_Sz)O9r|+ z5K|Sb!8|WA)vkw|o*dT(j608aHT6uea$Cx+r|m8T>2Q3(;q&2`C_bD@*W`C|!vBrh zm}YACu`K6O=tO}1V{*{_hv(H%fbKs$uZ|LQ|KWLGRG|A0&!eIS-G6u<6%FYA!*io( zLH8e?8$}1Y|L}Y#deHrc=Or{&Z)t& z+{d7|>-p2}qVLs1FI$hf3YUEC{%9vuduY{QUA7U6Z%=(ssQ(JCcVYrvwlrvN)6X7r z>_b9TPg*JYR1qawYAcN(g7i zdED0pT<6XVy8m!o`5ovoew~>73+LsL;yKzQBI9l$$3Yk02SHt$?3vt9DdsyA(&d^{S1K13c8D{PIiV{mSSIg(vg1+=$33L9{C`gSVW}384drDu`o!pmHNJu zs={+Z&J^332C>pgm+el`5953X_kp3E(c2Ml*+6$=>45%z{^t+HS#05@$>)Nlz8k0O z64`BIxw>PbuWEju-?*`j+9)Z`OZbrGM)ZnyOgiSoKK=J%*nAHI^wcF2>i zIJ6{%7;4C)0C_n;H`670of`N3=`3!Q{JtV821b$!MglbB>tB3mzRX{`M9wSq(GvLO zP}LB3nJ8-46c;8%5(9(TEULo%T)GWSJb=pyy8mz=EiTY4%`{oI=^FP*FVWc=wZV`bh>3|G>k?n%*REe*a! zAJ48H4zEz)5;#672)cz@{1mIt;&>jzk;uf1j;jPwmHE)$y$cZco48n*ZEGSSHuyiD zqCZ1028DHfu3A`|8xu&7-W%Jyg(c@05_|yaAOyM^9)7`rVaQJ}_pL)NNS_d?Olzqy#v9YY{+8Uew(iS*sJWu2d_ovFZZ8bF8KYtt zCacV!jJG|`a_1dIDD?Jo9{-}%+K%-w&#_*e?bX@-MEdfjXj+77mFf+K*z3KdX#zrP zFire|m!x)R6_8g1bWOvbC%^Uw%#pKh-C^XY$w=sHR0ifso5ZnaI~l#+*CE7X35)$i zS5k$6z>4CS@k^@^Ova7)Tk$vo5B*V_)(db&LHBcSYyb|&jx;v05I5tL0@nQ?9bGmVi^Bl{^QH`aXaxYzRZU_u0dQtTkc-bu1OiRKCL9T|-nRN*^ z`h*n$mEgJ#anOxlv5-7lks5AWJjNmG9k=%T@CA*gF`UQ=nmhRGc_c$rT*U(KwF19F ztlzReYSjvU>Fm^t;?I_jAm|6DFHzulp9JXE5jG`fpxjfOnxe^dSIqd3%1tD(@Vljq z`b#UHy|EJLKlD+@kCX|!Vo#VmqgNU;5}>s{^bQ}WO<-1O&FvEa>L3Za96yDHm+lQX zx5%?@Q(Mij3*RX0p^JLWhZ{gb-B|LyvUVd>e@(=_32n{7VwERWO^;`;^2u zvc?LgBw2que%$JJq;@o|_bw?2{_ue2U@iL&$SVW7Cx0Ru+st=cEa^g778Kzgf5_^S z80ng^=tN=urf{^CT8N&Pv%URMO|zDbe7xkn9JTr^c9i!^eVMJ<9CywiT+bj2x~}Bn z4DGqk5qjD>+cZQYJB~pU?+dx%Q-AD+JEJ9a8#;~Kj zwM%h%McLe!VFU8Yfv!h?oXCRdF&ek>E;R&8@0n?GnmS}u_A<%rkF>&X&3RmwN)AkJbX^8q1<*arzx(g- zR@?aIzHeh#o2O4#p5#i6GJIldZ~JGxR%fvn%C7DZXTATt<&Vd0#4Sp~C{u_Cap>65 zKF5DKTKu94xQd|r57*-;f$nr;xdhQdkibZ-P&xjzk}a57Zau+$eN;gA zAJ$hDbjR2&g}QDJE=}cQN9q)`L-w%*p7Up?TRrRe&9=8kgL3UuOcZ`ZqMp`v+t(id z)_I9gfNDWc=CKoOv+u>M1fMrG(0#2EMzmMXQQ^1FtWJ$rjCqbaR8`>~X+n6qPjrHW zfVsH$edW>}b65ZRvo=Im_&)k|v|K|CP0DZ01%=zdst2gAI_Unx{;>w=Vt;0)(|g?V znaSvECt{kafY{J`W{be>N_82SlX8x~lX31$`uSr9%kau*VLFhLXCWfAFHf!N6s>!; z;1N?}Xq60|Bw{ZJhvPVB=HR!FPdaJsY~a{VkeP3^OViFX)Js-XwYv(X0K7Rx@? zZyA$O$5l&g9~iC~bPx8huYWwDlgzwlLe#YA@GHTiRfNg3S4!4rkDs?g3(0diIJRP? zh|KpJ`X*NK6{v#_=tlOgWWKHTSB@pgwSS5?(T-m=EyqSrLtE`N5=8CR6I4d)h$4#e zTS2qn?Mzs#O3W4)U0Pwl?I0#{h@;3A%v^@2+0Ev-LiE&!c}k{sXpkY?f#sM$L~fy%4+1UVr##}_rpgV`TV`c zp^cU2SJzAADVAa->cS37#WZE2v#t-5gulg+mTPu#XCaKBwGit8P+tSk^$&wJ=kklA z-Pg&Z80Wr-Qo=zFfGzd-0iU-iq?s8>?+FtTuQV17^JPZ!@~%4U(d$KT{kyI=<#4`> zk~QCa4B#4qZawtMyQ>GMrHhqdOZ&pBc-u91y}$Z!3A6+(A~&NPCmoetA6jt7=gyZ(vq(qYBgcQx-=i* zh=9<{H?Et1sDl7(WPXZ z21Zs%N_H-m7;|YA@?z{YEU4QLtFeQ8%{bbX{gU`^P^T8wPMY(ewt8MR5)q2O#$t~q z9B|#tLDw-*{cY*Azd=1r^B47>)_Yg^iHhY zbC*(Qpb&9z|8VC#nwYc?%bnhRC(BQ3mNy6wCENTEF#7_2?^uFv;~Em8Kze@c>$das z?-Tu0&CjZ-j}Qd*y(Loz#ssGlX21WMUk}Z{)wc3j+VhhSaVm==h!ASExS0Dva1&DW z3e>?0bl)37S>@o$%5pu%ed!sEX~-N^wz9zymDm<+>OCs7m#eb0l0P@KQ&oD}M^!aI z;BJso4A${l;)$s6u;+W78v|Tx(5;)rz#@4`*P3;PoE15Jf$c+=5=60$6%^QurF?K8 zSSdJzbm_G&wW-344roHy47m$h{lmT2D&*-yp`ev*~>bv)M zcoI{FKXNu#rJ(2DZo)vbPc#&Vjjszitv|NJgbNwHR^kHk>6F_+`^8~|!yR>-*#~fK zK{vI+%-tZ2#|FEgM$76L)h&RL9czitJA7=LijAE!CTSSHWe0J6%@z(5ika9u)Udsb zL3fw;L(@mm7>zPopHaZI16|!828s#<>46lh-&Rd^h77qaHM30Ia0x;wB^zBqj<2Tu0D-w4_y#GBC}3jdIR;hk48c6a6$)v#(@e@Xd4~=!+!xX{DS9 z&1r0(hMEOYmNwDldVI$Dy8O>VYsXSIyo&oXz;yy$r+rCL1a>8yrod2ECcV9&a#Ury zyWg3)?x~m8R=TdY8=K!w&2}3;8En=}fW6chLP2j*b`BgsH((HufXFpdwc$V4pKkJbE{P6Km9Qi$=KM^l9p;gs=EjiInSTEmceF|TO%+iGo;Ch0tbY|4P&O1_? z>n7Rn+OI*;!V z+85S%0oMz31x;qrJ@avEyF^UBcFpGeXeeeD2ypP>e{$;bK3EsLBwWd#!t&xDJza~K zfH2n~u)R^KMROOwP7?dWWmxA1j&pf~E)_dUHukAkK8{97F|l(C~2hVxE`w;P+3C82hMwfSN;;*_(@jO3UaIB(Dgbl2PR1Qp`6;c&e z`Ucd&7j%_`BNRBIsLHeQ{?rT{X5+3j@>j0G<7QTHkmvnpI=uXWVun1;xPlFE zoHhV-V_{!D(b;>7HcQm{5BK;ydUc|T{Z-C24OmGiE#Q*qK;`gs#rMuJn=x!c@xCH; zD~9FSWqEqGpZtcOCv&El59AF5-FL>!tL9b#aG%=Ag?I@pJ6}uR*l!*7FVTka5-~+U z@R8PaV^28SNl}-qO`zaV2dr|2N5~bfzZyCHHFWj+RRXv{pj+~4VgQlpn*2(O79n^# z+)ax1YG<)m@MU3OPzIY1`}zKOT_u;i4}+VnDemjSO7_Xn-V@iiM$DMX-!Q+>VjciD z7<9WTds(q3gRm8Gzg(fo#;mf)Ei5LLa??@1?QVb;g0Cy?Xfy4o44{z}neDsq39q(Z zWZn!*Q~N$X!q>93paNqU5CO`Y+VzgQZB-u2&E*>cKyp7&M!vyC$NAsn8 z+>&8qR__*kBfY0*53dH8DnwzoWj)cf`2s18xN9hQ!VxwSNUZ$rJL*`@P;>#>5xt{~T9;>YnU1fkHC`b>fudgk zHx6_&R`pjmG6*ALzKU`vON={m1HKjQV#t3v! z!LfBz27WW1ua#YU$=6yz-WxeDF0&8ufEx$8Ilid9^uu$02w&Z!4j`Ej^dZNo8n%=)2R(=*T z#iVFE`-wWUAHT6&qA5N?45q5^E?iSeQ1(?%1i@Dn5j_dm+63Kai{|_m?U~c3@`Yd< z4YTY7uR95#>nQRy`vNHuvlv)$g^XYZV^TY5tJlGdW0$l`@X)GJ*Y6VBW z_ln4_aaMM>JP9d#@P2=Eqp+JE!<(F?8jqb6svB#VhA-I^l z4eNk-lR@`8+V!0E;%x?X3B4%1vMIR+M^TVhsli+0xA%@$)W(gCNpxSWJ-$EG(c0tf zKB_6dQsY+^@IJ5-TgjB5)#J1RZVKp9_8Xzy3s##=A}{Zgyk9HisQyJjGlDAAcDQNU znnbBJxrC+Q-Be*FipfgJmj=x^QU2@T5SLbrpUcIPzZgCWaKC}BG)e@903Oy)U+oWb zPJfW_rHe9A_rqqy^$1?+^QI7fy??HM4|9{4=7bldAcef?M=uw7vBC0y^@w&X+fUt8 z0=TK5i=!g4F!+30Re>VW5`0-Micn*ECzpc8L0y?eB^iL_KBMkrlyX`#SiW(;9X9HD zOdmq9;a)gpMPtWwI@wEj4!GYzH~ZMGQ%;;>8968V5bvuhw?W0Y#)aJBy4t7Dm$|j8 z_M;yPUEKzUBu`Ox4#`lm7V(0T6k5=WajbMltmp}s!9H&q=o)hUCG~}^E>kLT{3)d- z=B`)zn}NxHDrPAxX0QNTJi#S%F|fGCfe9gbSK)T_$0Ypq(F^CKFegP6yP)0f%r+2j zI_OFnrnkbjt)C13Xnr3jM*kP@SNE6EGnVz}ts$wA1f#Zbi0a)&u}V*`ulAkqf?h2v zS~_ODN0pbD(CT26jc*(PHv@Dj7L;gyt6V4k{3z>5^5{3B7SH&jm?0oZiG1nB!a6#n z4O24>h0L|60JX~Nzdq8*NH`Tmv%#8@beqJ~nA#gyKg$GNq88~Vn@*^glfW(-Y)J(; zOYVuEG(Tl4RRk5`r}1mn%c`Tpy&CB}E4xPE``0*?>sB~yx_2zxwR*0aV61(?_p^S0 z?*H)lAq#Z>hkdea(A|$8l6*j<6zJ6*6w`V7X+3}J|4k`UM*BjGECX4pDwuls^1bZH zbr>3xO-K#~ zi=!+4X%B5x5s4|aXGT9Je^HH;uWR_(9@yUz!irOiD9u-ILBC$f$*GnGxVfNPrEGGu zPFeJ(8mL1p#A$?un2N&jwTA?1G%+XVwpWv>iwbD!*jJ&cO{d7@<9};aacvp_zkiVjy73#bLA;2_?}WVm`<6H{6o2^C`|QlK zOK&ifCJX8Yf&ZQO{xx(rmHwRkG0&lgjgSA**{i@f zmwPxoaq2?xT3i>CoH;oE-JrASY(@fe^6f9(K%d2&?htzxg?txyJu3p;`}K)i3HN)W z6mJVUS!zU+ICf*QiEkeWA1Y#g*5C@ir)7DhKZ}v&h*unmp5G^4lMA^IG=~iz*X{Si zyZ9&uo@-eQx^b*F{rF=VcPvZ-N%2edVP;|2x`cmM&B%5N;&szUL$1pk4(cDVRBR6# z#V1&FPokD87|TUT$3`M?VlS6wgV7g<+()U}FjmGR|18 zbL;1=)7fs}*JM!4RKVsl>Q=1xicERq~)p1Q61&57lbUjDQCfbY&qzPHGYTPQM%1NcrY$-x*(UKKHc1zpoE6T*d0bP5N`$OvbMj#AdI39aHxEh zxc3MPp!((gi~N@R$YJFAETJJBP06}kW72C1H87i`)du@8ApnU2%K%N_OZkt;pJaSb z9{{%!bQf<|9jqv-6Icr!RaoW~d5M*O1~)y+*%ZtW{&%)?DwC)k42!~VH#d=*)O;J# zMm=kpzHCyAYRv4VKIt3>T(DkU1-foZSBq}CC2*}D@2^qqOJljwF1K@BOS`hlB}pK| zp{m9EbRsjWwbKhU#A(1_cnzEa7U^V=& zd_`eD@*HM8eru0=NWiTF-5c??8x3+{2&&PhyH86t zWpMgOT6jK!x*a>r-WEa|*O9+<3qC6}5*21JvHN^8btqvVL_yD@Hvy_IOYl>pp& z(4~H_GQYlHL3CgAd;YaSkaKixT`)E9a+SLEYHYs6)>ZXa@m2APFlD$<1c}%p>*sCV z!n(;PB#C14qWo*uDm1`t0Nra3nXT1PWp+$5x23gBvcqzmSTb$aMB+qcw;H~cKa=Pq zTfyo{SYDhRQe=Xbh$f*u)U#_ZLV$J3$kH0)K_vp4W=yI%N8QmNGpwu6Jmk+sjAJ6-aFym zA0sas6@E#;UK)JgzZrDPoWAY}>~PCOYvNd;ExD(qec`%eqGIH>F0fF+&!#fQSoR3C z;VI17M3omVhu$`mZI661Pj+`K?CCf7NY4n?`&vL3X_IOs8w0}kVL)_u(xSsTsekoz zaG1ftEXB9Jf_Jv3^q)%|yg!PCJV3wm+&D`)tc3L+_x;B2!d{%<9`nlQUy0h5u45dL^*E&$M%ZhkWa+1|Warep9=&H!< z=#kgD+@$xOZXIx2K{riTt}Zb(5mD6H1Rd+we<$}7AiB`-T6NL-K7S@x@8%nCbHCoI zI|$=!I#S8+UPkL9UceQLmO`W_WapuhO9JQ5+CcYER?Jbf#V2AK9pGRXW@Ik4i;mCEq%bZ=&jL{A1t7NN zVQ$e?BD5~Mzu$-vvzhdsu~yZZG|I-+M$^xR%*^eU(!f@#4N@{w@8P3BgQeJ#Or(@m zoieQWGc6ErH|VO{&a;0M!-!)b=2W$v;Iegk^+XRhqhXWEvr1CxS_|?C&}({r7}tmM z_|xvaAcMD$FHQ8Tllh#P7Psq^(|8Dzl4pU^9ymL*BcdskK@VV87*Hrv~`x|t94EBsau+Mvl z2;7&;=)sog@7|+{qBNd6QdJ8WTZ;A#Zc*B$)-T~y(fr~=v@j_oP$U~v##6?GT~~@| zZTK_@xV@k|NgVkr`m@^V)vdOM-TByG^;5cjed5lxG44n|x@f7TIacSCWW%Cjh;J%2KjcNT?oDsM+qOyA>RkKsicoZe5V>+5y}`)~cATSK7lnRt2PP~j7| zJoAgbX?c3Qr2tiImo&w~y<5StxL-=t{G@@6h~0Kwfnjq5tBf_$q*gNHH*C~4M1X4` zED-Mi=q~Gwu{PM~5S!Wj#&#pP}66qw5deO>73-KcGAEe6Op$CA&3O6H8GYN|fEnAc|r*D?_x#GUKQ4 z-K8CY(PU5{I&4osUJA1nzmC`C?QLwfx7H6zN3e%z^Cx(Yz#!<3ncq=_MJ|?+*nc0+uy%=|gf5fXn>@7bDszKeMq(DX) z87p=(o-nrJ*?cg`qyhKGqo5nZdt$SK!*1%vw$Y8Vc`|x`7$&jKiz=fGXJHyG*XDMm zpi~krYiF;gr*Tu8K8~i? zf!WcgcIXT_+DAPjjHTp|x2yKY!uOP6(61+Y^Vunx?{jT8UIq!-^w*R2_w5;%ml3c&IR(03JSid|M3yO+nn>v^ z4V5g)=LjTn9^6UApkZvxT3E_ZXGuefym!F!(nktHdAe)-{CEd1S1``@PVf2C=Z5EaYZ-2*z(Orp6yC45n)n|e7^QfVp z`di2Q$0vU?sWCoj0tRUh>=({}uKnb$m(KW_q!)M4W{b53<3>y+>S3u&yCdlVUY93h z3HEPV>W%>CseniS(EnbSi5^pi;Ai$68$OEdAiXo|GXmnB1>LF;=no6}1CdnvWOC@HO?ppFXdKNc$?sV8wxHdWgy*BSJ7zcWP1B=QLO3NdEbPRi@depa zLWtM@wH!OM(;*v3#R&!6dC+zBTN>&TPBbqa>Q4(D8$Va!meZ6w?2M$vUEX~o_JTXgVZ_gat-Qz&vs(mP%Ax+lzeIXUZRN7eSW@ zFRjCO|0esNbz}-8stPK}qXkUUgp-UVW%=aHLu8&&1g7dC&doEPtq2Ny2@CM)5 zt$!bcIR1U#ke>#=@3aKEhRLP}pC?A==N>y!vjZ-p$cRrldE@!m@tq_UXQO{npU-1s zKU7>oI#Rk@C`=b%iYYbmn)lpti6`CeiCLmI0r4(_u8vob>v>sz;|i^&r9yBeD}FG% z=BgWf;R-o!uto65$}mriy?8eTo~St6fmQSDwmcPK`|GFkTGM~lg3A&ACINQ^bV>WF zYkC4Qm)&<<!!l(sQelAswI@M(c^I+>= zZDEQJwvv6H==d17Bu8`>P#PQiBBZXEfp|AT_b*XbEeyL6#)3;r**K{vI!bq=`|^Wrnf3%$oA}v#j2&#n<5r1n*9+?IfOnZcv@~6C zhkc7@TZE}@=Sf;>CB+(}XE{giBfr5M`s9e4TbSgXT^2SIDy>lCF` zxAj)h;|q~7o2>oe0lmH^cH0p0+|)VQ1oHjUaow+g3n(_ny~1YdCIt}dN$X|jkJ}6 z414tfaQ8sBXD!M=rjEqcPbsx&pgEpfH zQb*BTsinwkMLpF}!12SE2d=dLUV-`VQu&Jdf6o)x2i*>|GMv|xa39V7q;H+jY49X6an-V7A{95fwp`;-_2WB=N+Ns{qmV@|aF$H2PW0qF7+ zig(Q%zMG}Qu}8kz<|D+oJCsKFy1vx-L+DQvbQUU6GK3_uCDU=m7&aW6&5C2lqFk%88L}1ryU9ZywQL zed|ho#lWG$i7_(7mPax#d%{x@vN*RP1t7ntpsTZ?=)vDE>o?AuIjx+^ZY(e7?IUKb z_VD$41CtSHXk*+bgH+FUXro87sX6@QHUXtAU-k9|wa4};%< zJnU>wZ4w<7ay+AzIUTKXBLknQQO*jg$TFv$!pp<*_KJA zuSlC9+M@vOIp{)D1V3<EIWHiA-UoQwAZD=N@7v$Lst2e)*sI*tVD~CsH>yxjr)q`jzJvEj1%pFQBi4ADe;wEBcgE~ z#{D-kkcTVKEzj8|+(XM^YRSTy-7wr0JQAhOVSt*FK_ZOuh{#8!m=7^|B9j$jK8-@o z%)(~3KePE=5~eFFz_d+=4$l^(54hK$n`rb~5g#|d!UaoGy%kCLF$rZDdIh;wJD8Sv zx9={bR4)OYTl%}xa3R{y%mWYV@RuPp<{zP$7Y;LHxteF@;Qits=yEJ{1}<7t&9mWt z)zlgvtK>Sx)yDt2|BO@W0D-sLi=%y{bTfy1o6V}%E zq+dY1H=rxVZQ3(C*c>as78z7Reg9LeB3L1;1fss)^f1YRK=jLY=H4f5DV$B(e(sO= zExkJFl_bLv52=vH3B&|OpOC;l&MoNHFo%M(Zh|4^3mtEQ5 z0Pa2LY6#*}mf}myY+lAh^}5B_M|HJr+XQs8V|y7+-E(2uIL3;<9apr1T!`)Pk@$1mr*G;*~K1lrJyjf2e~nug90huUL>iBi797fqnEx&^@=D^6`@IHC|-rmhvJK zq@yoI`*N*I#T2t1Ox&#}w|qQjYyWs$woq(4Lqr>iqn}3k`rmn>Zxx0A?NXRkq?Sdk>gWp&6P{>*n7zU%52`?lb8A57+Mt=>8Aa?8Aa?>ji){NMlK`h@`9 z|Ka+D1l|AP`h5?&TF=-K{@e3bk`ap1D5x+6;kXWLs9C&9^5yZHYH}g)7gnyQ-0yXL zZB%loy2%=BtN0!-#IdW{N zTh;e>s}U!kZm+B4YfWEnbR{>k5I#56ThG#3(>$ubGh2Gepb(fi1N(*0pz8#a_)JD& zj^>B=a?5*a`tvWV>hf;9Quc95&%V+l^I(zh=DY31t}CPXC0QZ;D=$yvORIm)Fn+NBn3O##3 z5&eBGjfk##NzFxkxt)fs0;Va!uM`K%B<6d^Wvz&q0as?tGxMpY_J668>@hY9AE3!_)9!wdAx z<@w+n8~@o&^SIvIM%DRclkU4cfg|7|fbJ+|I%)5!*^vXGrpBK;M2+p9C7Od()5Eg3 z4Xnsvt+@uV;e_`bCcOwnEmCUM_N6{Z!I*|KZH5*f-~R|Mny>&|M9>wA3_DD?#bElC zR-F^$Q-inDN$&pdcl83wv2s6|pvD-hYzTO?wFrvC5zQbtne zWTFGxY#RpfbNNn%Fk=G<*jd0i8)VQODrm_!-B4XY#4`KqFc>tP`!C-&*I8PVQPOMg zFzWaxs_tR;`1~0zaxTrm+A%^x2Xvf#=AaEWTh{b<#|B6tAYK&EHPgBc8GnAu^%HU{ z@r$L%3O`;X8zF~Nw8_$?ir-Ub0#jV1QfQ5AoA{_!TjtPmCzo*_w_R#;>-i{k!m8FIg zN>WpZ=5MhT>-!pM;MnHO!S#y?mvF{h2PRReapT`DW5rw<(kNCA45o=rxCF?%? zw^I?`1ikkGidFleG=korXR`RzxaG?N%6}U&Ao?cj?y=jkb}`yMvp_3Sv`7Q(G5LJ(>@bh$M- z%`qiXkDgi(Szy{~dQ^t0$BB##Kdg_|IIn_YVnE*)7I`M!f(KFFxqL z6EcY~HJ2U6L_|ay^EmGwu%^`_{34pQbezpgbiTy4i@s-|rU)I(j~2 zcXYS19*TxSgE;j#;1YnY$++xeh9z~0r`TR%WV_iT+Z-RUypJSWm40QEpV%x>j{P!z zB8zo<=6j&6=(s5u_>9D*n` z{52M%_dZCYMm%^0N<#;p;+g&0S{8DrJdXFm#JPJ3j%pER`-guf|I{Zxd%z_E-JIAV zNqlvB5$dQ~_^`XYYMmA3pqoSZzL+Jak$J_HUoFE3Jq0-4xi$YNi;i!Ok7wg$6f4jh z;C!iCQAVJM)d80nbWzPZS4=Lo1FOE&e{zWo4De3#dV{)t{`0-+gXjI~dug6F>hob= z!l??Y2Bl(Ou~X-soh+oeo@QvTd5NIt+N0o_-Kye_55sBygQ1QZt1>|Nq(OHlmqsqNkR92m|rr` zT`#?OC)6~J?2&Xb4mlFZbrV&lrWY;zv!K%K#?3sJ-z9UXcEo~uanzT^-G>Y!c!4i> zYm(r^q4!$_#`IA>*oPzsU9K%3>VzQO4$kj5_D=*ML^FMK$Bap%5u$5IWtcbRES$6S zglMlHPq&>9KfI@RWmVpL{UB~cMdQSI>XXwv83^Q;0(22uyCwH7DF^1UCIY_{)4xTg zc!dvzr8;6=Dn(IFW@GayKfAK2Qa>4g9E$s~rSv(HL*&bBfRAVQy`vy+ZbdfWQiAS} z=Hc<$ygZC#D*oiH;}1q&fmerP5vN>iO}B#?F!J}845OK@+M!?mJDt|;_I8`R&yl-*8?@^o_!mn$x|%PlnAmHS^Q!D)%o;_ zLt;H(Z|g6c!{&*eKYsQn=pO=Cx48;mkmfIw=C*esoW1g-8fv7h4!xxv+UM~@*e1> zeI)!h5Gh;m2}$dm4Vqle)uVAjX6jD-nSl#%=|FegoH~G4E~j|V9{V61oFTHxfUTDBGP{}AHIZqKFG$Lk(FpW zNlAv(2In7`LANHMe&(k0-?en?r{X&!%Wr)ety-~*p$Ax))vRa9LI{7}yq$^&@}v)l zE1GhcSH7YWk})1(gxr@|_jpARzNZA@WdU7>o6Hdhq=wy(i$1}B+%KQlJSvOAasIZX zM+S}F&r|hqE)CWOZ;)2z@-{usFd6WePsb>4B}1v`nkDpBRR@D}AgrKEq^swc#<vqhY#JI6!O0|M{}ZrM1#TuxxE`U zUWzEifq2+&#)UPMP)%fHX_Bz31EA=VG`R~$ae<80u`^r0c6NggwG)=CX1NNJncf%D)Tpj*Ufcjxmggg^LG z5qo%UTQ5+4iNoi0Ug|GTM^!8H?Qwp>+KhsdDvI+*?J3vi;5spddE$UNu4P-OfFI&~ z?W8~+I6=3>@HXLBd>;~5?rP5OZ;_>q-CE=fYHWWv22O>ptK6d0M?Ij)ci`HvC*aY- zBkY4u2WvYNkO+S@vpYg7R!`jnE*Iz~;yuIe!J5$uCc+TwT!}6}VtrrgzFW%7hrxqc zx^HEnu_QxV$Z%B04LnpxOAW#d$Tf!MiV6St8Om3E;?JEV;BtfRCAAXA=26Nu)SKW& zsXmTr%&cJ`bxHYK0i4)=tpjZ=T)JOyk?F5iY5!|BkFFZ?GK26)uRmQ=vtu)nWjsP` zfXf5A>$J{69$n^00~c+-&$#BDyU{=MqJLYR^&f;I)8n^`tG36grAn_4s)eKYg7CL_ z(>lH?ZZ{+FdMI*0E064ZDB$vfZohFTxkK%py>m0?&KGLLrUe<25J%`*&vJ*HFKkCv#S*MR#0bbla;OuY$pxCNuEc4uKD z$5Tm*%l1C{TH7IbvAFKETJmwOq}WpuY&y-{pkz13kgPvg+9`aT0`JFs zplh&S&id|KEI)5HkA4tkHnQy3peg3p^;R0VU$6Nm{11#O*1ks)(fWVB)thXZTCs5! z-ko>vgteSi%g=}|xq@@LA3>J_E}MsLhW*$3yyp_Sy_p$q@=Wa-?qK17gB*-tSpQWk zvm$Y;ZBbdt!qZspIwCvHc$H0$7&puMRqOs6sV#UQ5B#7TXtKy2<&MkWW=tjG^Y*R|9tQ+HUpA!ovZ2lQVgEd2DhRn5jPex({y3?FJvZ$^UD_KEw_gN}F& z7K%w8ijk#a0#m%exgbH%{U7$Tgg}>)?q}MU-@R;uuMCCWeUr9bEl~8=yd+$$DTM@A zSZ5VbJXq@o@0Xe!2-CVmcxIyoqr{IJBERGA*4Ng+OLejUc@PHOwDTl~s8_pl1Y7>Q ztMcYHxL-@R?>$yph5zi@uBs(M5G_=YT5!rKMc&Q!Z~gI5OTolRFQ0=vQ}uI*x?#}8 z23!%){kx9_%hr3PI4w3u{?^TGGmy^jCgqEF`?qukU#nn665yAaC9EjkGwC? z*i~g(uv?{j5+U}ONtN5H;JlnD=#I>V+l~|m3>j&zS(Lq7A%|nXyFs3clq8j>oGlaC z;HhG}bGHvQTgjbjJ0`ZjSLB)%N9-HZVR#JlKOG971Fw@}pvy>l(>qr7awO|wYj~bC zS|N-1sPSAtpxe1Y*#0fipzMiMn6hdzz}I)-Jj;5L6!xE|NHt7|{6z1Fm$1xl*;ybD z;-K5;A7t|9C!GK{+Kv-UrjRb01pR11|08taJIX%%Rr{p!&3_gga`&gMZZL3S&y_a6 zBSh!E>iI@PFZ<5OD<6ROi%*~%!b`6*x{`wX@?`I(fD@|I{92i+gE6Rc&!@$XmJRvQ zZ2;>y3lV{oL3&u#(=$!hU4Hv`*>}1JwowW7u#t8Gh*tu1`*?{OJ`_dp(Y>74Js@{o zF&}ZUs&*kO2OVN0BA`r(p;E@(HIgbzwDQos2`I5zUs{Y0pNMoQ=KfY2PVYcr^03R^ zLU^75XJhlJ=)SnL6^K^~bjRgeVp6{~9Ko(h@e)j{r(&v^p2=YCYFVk^X(rbo8z)N#(Q7(IY11GnnYkVA8Sp1R@)8bs$MxOo|N@@J_(8FHqy!Ycnzti|c zv%TNLa*FbS#{9d0A(^x2$LL(F9AZc~6C4r1l>=P{0f8R{=5vnUD#^uus>BzOdg?uv zOP?(!j&6Na%Q4DdJh8XpAf8uFm4>69gh zyOODd5cgX{^iNL)I@-I3Vc4FAD>U|;K;2P)o6lInyV%OD!Dn<4q;&h1E_*5MvJ!Oq zeI0Gm9DioP{jmb*TI`@|MfWh?xW`*cCsKtu1vn_>5|C`AVm~s!V?RNZ$7WTN^E5BO zqHi%zonQBg+om-?G=LHELdfh{6t`gk=Svhp_w;XKTod197uqOR+Fz{FKjDeJ7A*W? z(PU;ν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

LE5~esZKNJc=x6 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 zmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRan zmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRan zmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRan zmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRan zmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRan zmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRan zmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRan zmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRan zmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRan zmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRanmjRan zmjRanmjRanmjRanmjRanmjRanmjRanmw_K50~4kM`ZgaUKKxb&&f2&B&UiX= zm2q0$5Rk!KRja4v&ttBdxloK3GgsYQXvRyJt6?q-<0Z}2G#8ff(&lR6v~1y^qB$R& z=0!QKZmz!7i@Ta)ABHC8v@Xh;YijL9#^o{B-0ErlBsSN=oYv0@Tj?#$ zY5lA=*UDUU+(vV)&BefNGS|jjOxzZ8ZOv&t9y8Ytr{#?eXUui5dU0^Rm28HN=He1> zv<uU89;NB~V4BgCWyI5-Vx|>UcTWzifPV<)-CY$SJ^^)Lb zn(J*YDQ=LtKIW3)GMMX&(|(m4vY8uT^-|#WvN33X8fY#habY$j?N5Wur6Mk(jf-Kh zwU?T>sJUS{&2t(kZf=B4n-*8j+(>iU4|*~$jCw|yOHX`=dfGono729L(B^rJxs15P z=Emamx|txUx$)*Q<7TsL+K(sNv{{JfYU5{^WG*Z5d~=h{Wy38nH^p3b+(K(_s<|Av za8_@cxtzFfI~c`ubGe9pS-lzNa^w7&n`ut_eE@T_%;m)eG&kE^KHN?1*bH;b*wWIN#tAv|pZim&Yj9XxCr@1P)rRH{- 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 literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 1aa71d10..e6c60081 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "@types/react-paginate": "^7.1.2", "@types/react-router-hash-link": "^2.4.5", "@types/valid-url": "^1.0.4", + "@web3modal/wagmi": "^5.0.6", "assert": "^2.0.0", "bignumber.js": "^9.0.1", "blockies-ts": "^1.0.0", diff --git a/src/App.tsx b/src/App.tsx index bc93cdcc..522ed7e3 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -16,6 +16,8 @@ import { DAOExplorerRouter } from "modules/explorer/router" import { CreatorProvider } from "modules/creator/state" import ScrollToTop from "modules/common/ScrollToTop" import { theme } from "theme" +import { WagmiProvider } from "wagmi" +import { config as wagmiConfig } from "services/wagmi/config" import { TZKTSubscriptionsProvider } from "services/bakingBad/context/TZKTSubscriptions" import { WarningFooter } from "modules/common/WarningFooter" @@ -98,57 +100,61 @@ const App: React.FC = () => { variantInfo: classes.info }} > - - - - - - - - - - - - - - {/* + + + + + + + + + + + + + + + {/* */} - - - - - - - - - - + + + + + + + + + + - {window.location.href.indexOf(HUMANITEZ_DAO) !== -1 ? ( - <> - {/* Special case for this DAO which was created before FA1.2 fix was created for the smart contract */} - - - ) : null} - - - - - - - - - - - - + {window.location.href.indexOf(HUMANITEZ_DAO) !== -1 ? ( + <> + {/* Special case for this DAO which was created before FA1.2 fix was created for the smart contract */} + + + ) : null} + + + + + + + + + + + + + + ) diff --git a/src/services/beacon/hooks/useTezos.ts b/src/services/beacon/hooks/useTezos.ts index 762d08d0..0b0a7d4e 100644 --- a/src/services/beacon/hooks/useTezos.ts +++ b/src/services/beacon/hooks/useTezos.ts @@ -36,6 +36,14 @@ export const useTezos = (): WalletConnectReturn => { network: etherlinkNetwork } = useContext(EtherlinkContext) + const chainId = useChainId() + const { address: ethAddress, isConnected } = useWagmiAccount() + const { connect: wagmiConnect, connectors } = useWagmiConnect() + // eslint-disable-next-line react-hooks/exhaustive-deps + const openEthWallet = () => { + wagmiConnect({ connector: connectors[0], chainId }) + } + const queryClient = useQueryClient() const handleEtherlinkNetworkChange = useCallback( From 05d20f02968075eef724e3faf8cfa33d3e113aa1 Mon Sep 17 00:00:00 2001 From: Ashutosh Kumar Date: Tue, 30 Jul 2024 03:50:47 +0530 Subject: [PATCH 2/6] WIP: --- .gitignore | 2 +- src/modules/creator/deployment/steps/Config.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 3b6d22e7..eaf0cc15 100644 --- a/.gitignore +++ b/.gitignore @@ -31,4 +31,4 @@ yarn-error.log* # Ignore for yarn.lock bun.lockb -package-lock.json \ No newline at end of file +package-lock.json diff --git a/src/modules/creator/deployment/steps/Config.tsx b/src/modules/creator/deployment/steps/Config.tsx index e2fe6613..87f7a7ce 100644 --- a/src/modules/creator/deployment/steps/Config.tsx +++ b/src/modules/creator/deployment/steps/Config.tsx @@ -265,7 +265,7 @@ export const ConfigContract: React.FC = () => { - Configure Token Contract + Configure Token ContractX From 2007acfb1c56a6ec048b722ae24c6b89241a7abd Mon Sep 17 00:00:00 2001 From: Ashutosh Kumar Date: Wed, 14 Aug 2024 03:55:07 +0530 Subject: [PATCH 3/6] WIP - Offchain DAO Almost Works. --- src/services/services/dao/hooks/useLiteDAO.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/services/services/dao/hooks/useLiteDAO.ts diff --git a/src/services/services/dao/hooks/useLiteDAO.ts b/src/services/services/dao/hooks/useLiteDAO.ts new file mode 100644 index 00000000..810de2dc --- /dev/null +++ b/src/services/services/dao/hooks/useLiteDAO.ts @@ -0,0 +1,10 @@ +// import { useQuery } from "@tanstack/react-query" +// import { useTezos } from "services/beacon/hooks/useTezos" + +// export const useLiteDAO = (address: string){ +// const { network } = useTezos() +// const { data, ...rest } = useQuery({ +// queryKey: ["lite-dao", address, network], +// queryFn: () => getLiteDAO(address, network) +// }) +// } From d9f85ef92fb01e7ca87fe66d9f0ae22dab6cd424 Mon Sep 17 00:00:00 2001 From: Ashutosh Kumar Date: Tue, 1 Oct 2024 22:28:14 +0530 Subject: [PATCH 4/6] Token Deployer for Etherlink --- src/assets/abis/TODO.md | 4 + src/assets/abis/hb_evm.json | 905 ++++++++++++++++++ src/modules/creator/deployment/router.tsx | 36 - src/modules/creator/deployment/state/utils.ts | 5 - src/modules/creator/router.tsx | 8 +- src/modules/creator/token/etherlink/index.tsx | 87 ++ .../creator/token/etherlink/state/context.tsx | 114 +++ .../creator/token/etherlink/state/index.ts | 3 + .../creator/token/etherlink/state/types.ts | 100 ++ .../creator/token/etherlink/steps/Config.tsx | 221 +++++ .../token/etherlink/steps/Distribution.tsx | 300 ++++++ .../etherlink}/steps/Ownership.tsx | 89 +- .../etherlink}/steps/Success.tsx | 86 +- .../creator/token/etherlink/steps/Summary.tsx | 234 +++++ .../creator/token/etherlink/steps/index.tsx | 61 ++ src/modules/creator/token/index.tsx | 5 + src/modules/creator/token/router.tsx | 60 ++ .../{deployment => token/tezos}/index.tsx | 118 +-- .../creator/token/tezos/state/context.tsx | 114 +++ .../creator/token/tezos/state/index.ts | 3 + .../creator/token/tezos/state/types.ts | 100 ++ .../tezos}/steps/Config.tsx | 96 +- .../tezos}/steps/Distribution.tsx | 107 +-- .../creator/token/tezos/steps/Ownership.tsx | 84 ++ .../creator/token/tezos/steps/Success.tsx | 92 ++ .../tezos}/steps/Summary.tsx | 92 +- .../tezos}/steps/index.tsx | 6 +- src/modules/creator/token/ui/index.tsx | 358 +++++++ src/modules/creator/token/ui/success.tsx | 49 + .../contracts/token/hooks/useToken.ts | 133 ++- src/services/lite/utils.ts | 4 - src/services/services/analytics.ts | 9 + src/services/wagmi/ethers.ts | 46 + src/utils.ts | 5 + 34 files changed, 3119 insertions(+), 615 deletions(-) create mode 100644 src/assets/abis/TODO.md create mode 100644 src/assets/abis/hb_evm.json delete mode 100644 src/modules/creator/deployment/router.tsx delete mode 100644 src/modules/creator/deployment/state/utils.ts create mode 100644 src/modules/creator/token/etherlink/index.tsx create mode 100644 src/modules/creator/token/etherlink/state/context.tsx create mode 100644 src/modules/creator/token/etherlink/state/index.ts create mode 100644 src/modules/creator/token/etherlink/state/types.ts create mode 100644 src/modules/creator/token/etherlink/steps/Config.tsx create mode 100644 src/modules/creator/token/etherlink/steps/Distribution.tsx rename src/modules/creator/{deployment => token/etherlink}/steps/Ownership.tsx (62%) rename src/modules/creator/{deployment => token/etherlink}/steps/Success.tsx (64%) create mode 100644 src/modules/creator/token/etherlink/steps/Summary.tsx create mode 100644 src/modules/creator/token/etherlink/steps/index.tsx create mode 100644 src/modules/creator/token/index.tsx create mode 100644 src/modules/creator/token/router.tsx rename src/modules/creator/{deployment => token/tezos}/index.tsx (57%) create mode 100644 src/modules/creator/token/tezos/state/context.tsx create mode 100644 src/modules/creator/token/tezos/state/index.ts create mode 100644 src/modules/creator/token/tezos/state/types.ts rename src/modules/creator/{deployment => token/tezos}/steps/Config.tsx (79%) rename src/modules/creator/{deployment => token/tezos}/steps/Distribution.tsx (83%) create mode 100644 src/modules/creator/token/tezos/steps/Ownership.tsx create mode 100644 src/modules/creator/token/tezos/steps/Success.tsx rename src/modules/creator/{deployment => token/tezos}/steps/Summary.tsx (82%) rename src/modules/creator/{deployment => token/tezos}/steps/index.tsx (87%) create mode 100644 src/modules/creator/token/ui/index.tsx create mode 100644 src/modules/creator/token/ui/success.tsx create mode 100644 src/services/services/analytics.ts create mode 100644 src/services/wagmi/ethers.ts diff --git a/src/assets/abis/TODO.md b/src/assets/abis/TODO.md new file mode 100644 index 00000000..842619dc --- /dev/null +++ b/src/assets/abis/TODO.md @@ -0,0 +1,4 @@ + +# TODO + +We can directly fetch the ABI from https://github.com/dOrgTech/homebase-evm-contracts/ once this is ready instead of defining it here as a JSON \ No newline at end of file diff --git a/src/assets/abis/hb_evm.json b/src/assets/abis/hb_evm.json new file mode 100644 index 00000000..2b22d7b6 --- /dev/null +++ b/src/assets/abis/hb_evm.json @@ -0,0 +1,905 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "HBEVM_token", + "sourceName": "contracts/Token.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "address[]", + "name": "initialMembers", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "initialAmounts", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "CheckpointUnorderedInsertion", + "type": "error" + }, + { + "inputs": [], + "name": "ECDSAInvalidSignature", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "ECDSAInvalidSignatureLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "ECDSAInvalidSignatureS", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "increasedSupply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "cap", + "type": "uint256" + } + ], + "name": "ERC20ExceededSafeSupply", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "allowance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC20InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC20InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC20InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "ERC20InvalidSpender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "ERC2612ExpiredSignature", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "ERC2612InvalidSigner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "timepoint", + "type": "uint256" + }, + { + "internalType": "uint48", + "name": "clock", + "type": "uint48" + } + ], + "name": "ERC5805FutureLookup", + "type": "error" + }, + { + "inputs": [], + "name": "ERC6372InconsistentClock", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "currentNonce", + "type": "uint256" + } + ], + "name": "InvalidAccountNonce", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidShortString", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "bits", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "SafeCastOverflowedUintDowncast", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "str", + "type": "string" + } + ], + "name": "StringTooLong", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + } + ], + "name": "VotesExpiredSignature", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "fromDelegate", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "toDelegate", + "type": "address" + } + ], + "name": "DelegateChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "previousVotes", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newVotes", + "type": "uint256" + } + ], + "name": "DelegateVotesChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "CLOCK_MODE", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint32", + "name": "pos", + "type": "uint32" + } + ], + "name": "checkpoints", + "outputs": [ + { + "components": [ + { + "internalType": "uint48", + "name": "_key", + "type": "uint48" + }, + { + "internalType": "uint208", + "name": "_value", + "type": "uint208" + } + ], + "internalType": "struct Checkpoints.Checkpoint208", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "clock", + "outputs": [ + { + "internalType": "uint48", + "name": "", + "type": "uint48" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "delegatee", + "type": "address" + } + ], + "name": "delegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "delegatee", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "delegateBySig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "delegates", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + { + "internalType": "bytes1", + "name": "fields", + "type": "bytes1" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "version", + "type": "string" + }, + { + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + }, + { + "internalType": "uint256[]", + "name": "extensions", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "timepoint", + "type": "uint256" + } + ], + "name": "getPastTotalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "timepoint", + "type": "uint256" + } + ], + "name": "getPastVotes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getVotes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "numCheckpoints", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040523480156200001257600080fd5b506040516200583b3803806200583b8339818101604052810190620000389190620014eb565b83806040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250868681600390816200008391906200181a565b5080600490816200009591906200181a565b505050620000ae6005836200021c60201b90919060201c565b6101208181525050620000cc6006826200021c60201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a081815250506200010b6200027460201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050505050805182511462000190576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001879062001988565b60405180910390fd5b60005b82518163ffffffff1610156200021157620001fb838263ffffffff1681518110620001c357620001c2620019aa565b5b6020026020010151838363ffffffff1681518110620001e757620001e6620019aa565b5b6020026020010151620002d160201b60201c565b8080620002089062001a18565b91505062000193565b505050505062001ec1565b600060208351101562000242576200023a836200035e60201b60201c565b90506200026e565b826200025483620003cb60201b60201c565b60000190816200026591906200181a565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001620002b695949392919062001a86565b60405160208183030381529060405280519060200120905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620003465760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016200033d919062001ae3565b60405180910390fd5b6200035a60008383620003d560201b60201c565b5050565b600080829050601f81511115620003ae57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401620003a5919062001b41565b60405180910390fd5b805181620003bc9062001b97565b60001c1760001b915050919050565b6000819050919050565b620003e8838383620003ed60201b60201c565b505050565b62000400838383620004c260201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620004aa57600062000447620006f260201b60201c565b905060006200045b620006fc60201b60201c565b905080821115620004a75781816040517f1cb15d260000000000000000000000000000000000000000000000000000000081526004016200049e92919062001c07565b60405180910390fd5b50505b620004bd8383836200072060201b60201c565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620005185780600260008282546200050b919062001c34565b92505081905550620005ee565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015620005a7578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016200059e9392919062001c6f565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000639578060026000828254039250508190555062000686565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620006e5919062001cac565b60405180910390a3505050565b6000600254905090565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff8016905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620007875762000784600a6200082660201b62000d971762000778846200083e60201b60201c565b620008af60201b60201c565b50505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620007ee57620007eb600a620008ff60201b62000dad17620007df846200083e60201b60201c565b620008af60201b60201c565b50505b6200082162000803846200091760201b60201c565b62000814846200091760201b60201c565b836200098060201b60201c565b505050565b6000818362000836919062001cef565b905092915050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115620008a75760d0826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016200089e92919062001d94565b60405180910390fd5b819050919050565b600080620008f3620008c662000c3360201b60201c565b620008e2620008db8862000c4a60201b60201c565b868860201c565b8762000cbe60201b9092919060201c565b91509150935093915050565b600081836200090f919062001dc1565b905092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015620009bd5750600081115b1562000c2e57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000af85760008062000a67600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620008ff60201b62000dad1762000a5b866200083e60201b60201c565b620008af60201b60201c565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000aed92919062001c07565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000c2d5760008062000b9c600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206200082660201b62000d971762000b90866200083e60201b60201c565b620008af60201b60201c565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000c2292919062001c07565b60405180910390a250505b5b505050565b600062000c4562000ce360201b60201c565b905090565b600080826000018054905090506000811462000cb35762000c838360000160018362000c77919062001e16565b62000cfb60201b60201c565b60000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1662000cb6565b60005b915050919050565b60008062000cd785600001858562000d1060201b60201c565b91509150935093915050565b600062000cf643620010aa60201b60201c565b905090565b60008260005281602060002001905092915050565b600080600085805490509050600081111562000fba57600062000d488760018462000d3c919062001e16565b62000cfb60201b60201c565b6040518060400160405290816000820160009054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020016000820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090508565ffffffffffff16816000015165ffffffffffff16111562000e38576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8565ffffffffffff16816000015165ffffffffffff160362000ec8578462000e758860018562000e69919062001e16565b62000cfb60201b60201c565b60000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555062000fa8565b8660405180604001604052808865ffffffffffff1681526020018779ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b806020015185935093505050620010a2565b8560405180604001604052808765ffffffffffff1681526020018679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060008492509250505b935093915050565b600065ffffffffffff8016821115620010ff576030826040517f6dfcc650000000000000000000000000000000000000000000000000000000008152600401620010f692919062001e94565b60405180910390fd5b819050919050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620011708262001125565b810181811067ffffffffffffffff8211171562001192576200119162001136565b5b80604052505050565b6000620011a762001107565b9050620011b5828262001165565b919050565b600067ffffffffffffffff821115620011d857620011d762001136565b5b620011e38262001125565b9050602081019050919050565b60005b8381101562001210578082015181840152602081019050620011f3565b60008484015250505050565b6000620012336200122d84620011ba565b6200119b565b90508281526020810184848401111562001252576200125162001120565b5b6200125f848285620011f0565b509392505050565b600082601f8301126200127f576200127e6200111b565b5b8151620012918482602086016200121c565b91505092915050565b600067ffffffffffffffff821115620012b857620012b762001136565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620012fb82620012ce565b9050919050565b6200130d81620012ee565b81146200131957600080fd5b50565b6000815190506200132d8162001302565b92915050565b60006200134a62001344846200129a565b6200119b565b9050808382526020820190506020840283018581111562001370576200136f620012c9565b5b835b818110156200139d57806200138888826200131c565b84526020840193505060208101905062001372565b5050509392505050565b600082601f830112620013bf57620013be6200111b565b5b8151620013d184826020860162001333565b91505092915050565b600067ffffffffffffffff821115620013f857620013f762001136565b5b602082029050602081019050919050565b6000819050919050565b6200141e8162001409565b81146200142a57600080fd5b50565b6000815190506200143e8162001413565b92915050565b60006200145b6200145584620013da565b6200119b565b90508083825260208201905060208402830185811115620014815762001480620012c9565b5b835b81811015620014ae57806200149988826200142d565b84526020840193505060208101905062001483565b5050509392505050565b600082601f830112620014d057620014cf6200111b565b5b8151620014e284826020860162001444565b91505092915050565b6000806000806080858703121562001508576200150762001111565b5b600085015167ffffffffffffffff81111562001529576200152862001116565b5b620015378782880162001267565b945050602085015167ffffffffffffffff8111156200155b576200155a62001116565b5b620015698782880162001267565b935050604085015167ffffffffffffffff8111156200158d576200158c62001116565b5b6200159b87828801620013a7565b925050606085015167ffffffffffffffff811115620015bf57620015be62001116565b5b620015cd87828801620014b8565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200162c57607f821691505b602082108103620016425762001641620015e4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620016ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200166d565b620016b886836200166d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620016fb620016f5620016ef8462001409565b620016d0565b62001409565b9050919050565b6000819050919050565b6200171783620016da565b6200172f620017268262001702565b8484546200167a565b825550505050565b600090565b6200174662001737565b620017538184846200170c565b505050565b5b818110156200177b576200176f6000826200173c565b60018101905062001759565b5050565b601f821115620017ca57620017948162001648565b6200179f846200165d565b81016020851015620017af578190505b620017c7620017be856200165d565b83018262001758565b50505b505050565b600082821c905092915050565b6000620017ef60001984600802620017cf565b1980831691505092915050565b60006200180a8383620017dc565b9150826002028217905092915050565b6200182582620015d9565b67ffffffffffffffff81111562001841576200184062001136565b5b6200184d825462001613565b6200185a8282856200177f565b600060209050601f8311600181146200189257600084156200187d578287015190505b620018898582620017fc565b865550620018f9565b601f198416620018a28662001648565b60005b82811015620018cc57848901518255600182019150602085019450602081019050620018a5565b86831015620018ec5784890151620018e8601f891682620017dc565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f696e697469616c416d6f756e7473206d757374206265206173206d616e79206160008201527f7320696e697469616c4d656d6265727300000000000000000000000000000000602082015250565b60006200197060308362001901565b91506200197d8262001912565b604082019050919050565b60006020820190508181036000830152620019a38162001961565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600063ffffffff82169050919050565b600062001a258262001a08565b915063ffffffff820362001a3e5762001a3d620019d9565b5b600182019050919050565b6000819050919050565b62001a5e8162001a49565b82525050565b62001a6f8162001409565b82525050565b62001a8081620012ee565b82525050565b600060a08201905062001a9d600083018862001a53565b62001aac602083018762001a53565b62001abb604083018662001a53565b62001aca606083018562001a64565b62001ad9608083018462001a75565b9695505050505050565b600060208201905062001afa600083018462001a75565b92915050565b600062001b0d82620015d9565b62001b19818562001901565b935062001b2b818560208601620011f0565b62001b368162001125565b840191505092915050565b6000602082019050818103600083015262001b5d818462001b00565b905092915050565b600081519050919050565b6000819050602082019050919050565b600062001b8e825162001a49565b80915050919050565b600062001ba48262001b65565b8262001bb08462001b70565b905062001bbd8162001b80565b9250602082101562001c005762001bfb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026200166d565b831692505b5050919050565b600060408201905062001c1e600083018562001a64565b62001c2d602083018462001a64565b9392505050565b600062001c418262001409565b915062001c4e8362001409565b925082820190508082111562001c695762001c68620019d9565b5b92915050565b600060608201905062001c86600083018662001a75565b62001c95602083018562001a64565b62001ca4604083018462001a64565b949350505050565b600060208201905062001cc3600083018462001a64565b92915050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b600062001cfc8262001cc9565b915062001d098362001cc9565b9250828201905079ffffffffffffffffffffffffffffffffffffffffffffffffffff81111562001d3e5762001d3d620019d9565b5b92915050565b6000819050919050565b600060ff82169050919050565b600062001d7c62001d7662001d708462001d44565b620016d0565b62001d4e565b9050919050565b62001d8e8162001d5b565b82525050565b600060408201905062001dab600083018562001d83565b62001dba602083018462001a64565b9392505050565b600062001dce8262001cc9565b915062001ddb8362001cc9565b9250828203905079ffffffffffffffffffffffffffffffffffffffffffffffffffff81111562001e105762001e0f620019d9565b5b92915050565b600062001e238262001409565b915062001e308362001409565b925082820390508181111562001e4b5762001e4a620019d9565b5b92915050565b6000819050919050565b600062001e7c62001e7662001e708462001e51565b620016d0565b62001d4e565b9050919050565b62001e8e8162001e5b565b82525050565b600060408201905062001eab600083018562001e83565b62001eba602083018462001a64565b9392505050565b60805160a05160c05160e05161010051610120516101405161391f62001f1c60003960006113c401526000611389015260006117e5015260006117c401526000610f6901526000610fbf01526000610fe8015261391f6000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c35780639ab24eb01161007c5780639ab24eb01461040b578063a9059cbb1461043b578063c3cda5201461046b578063d505accf14610487578063dd62ed3e146104a3578063f1127ed8146104d357610158565b806370a082311461031b5780637ecebe001461034b57806384b0196e1461037b5780638e539e8c1461039f57806391ddadf4146103cf57806395d89b41146103ed57610158565b80633a46b1a8116101155780633a46b1a81461023557806340c10f19146102655780634bf5d7e914610281578063587cde1e1461029f5780635c19a95c146102cf5780636fcfff45146102eb57610158565b806306fdde031461015d578063095ea7b31461017b57806318160ddd146101ab57806323b872dd146101c9578063313ce567146101f95780633644e51514610217575b600080fd5b610165610503565b6040516101729190612bc9565b60405180910390f35b61019560048036038101906101909190612c84565b610595565b6040516101a29190612cdf565b60405180910390f35b6101b36105b8565b6040516101c09190612d09565b60405180910390f35b6101e360048036038101906101de9190612d24565b6105c2565b6040516101f09190612cdf565b60405180910390f35b6102016105f1565b60405161020e9190612d93565b60405180910390f35b61021f6105fa565b60405161022c9190612dc7565b60405180910390f35b61024f600480360381019061024a9190612c84565b610609565b60405161025c9190612d09565b60405180910390f35b61027f600480360381019061027a9190612c84565b6106e2565b005b6102896106f0565b6040516102969190612bc9565b60405180910390f35b6102b960048036038101906102b49190612de2565b610784565b6040516102c69190612e1e565b60405180910390f35b6102e960048036038101906102e49190612de2565b6107ed565b005b61030560048036038101906103009190612de2565b610807565b6040516103129190612e58565b60405180910390f35b61033560048036038101906103309190612de2565b610819565b6040516103429190612d09565b60405180910390f35b61036560048036038101906103609190612de2565b610861565b6040516103729190612d09565b60405180910390f35b610383610873565b6040516103969796959493929190612f6c565b60405180910390f35b6103b960048036038101906103b49190612ff0565b61091d565b6040516103c69190612d09565b60405180910390f35b6103d76109b8565b6040516103e4919061303e565b60405180910390f35b6103f56109c7565b6040516104029190612bc9565b60405180910390f35b61042560048036038101906104209190612de2565b610a59565b6040516104329190612d09565b60405180910390f35b61045560048036038101906104509190612c84565b610ac5565b6040516104629190612cdf565b60405180910390f35b610485600480360381019061048091906130b1565b610ae8565b005b6104a1600480360381019061049c919061313e565b610bae565b005b6104bd60048036038101906104b891906131e0565b610cf6565b6040516104ca9190612d09565b60405180910390f35b6104ed60048036038101906104e8919061324c565b610d7d565b6040516104fa91906132ff565b60405180910390f35b60606003805461051290613349565b80601f016020809104026020016040519081016040528092919081815260200182805461053e90613349565b801561058b5780601f106105605761010080835404028352916020019161058b565b820191906000526020600020905b81548152906001019060200180831161056e57829003601f168201915b5050505050905090565b6000806105a0610dc3565b90506105ad818585610dcb565b600191505092915050565b6000600254905090565b6000806105cd610dc3565b90506105da858285610ddd565b6105e5858585610e71565b60019150509392505050565b60006012905090565b6000610604610f65565b905090565b6000806106146109b8565b90508065ffffffffffff1683106106645782816040517fecd3f81e00000000000000000000000000000000000000000000000000000000815260040161065b92919061337a565b60405180910390fd5b6106bd6106708461101c565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061107690919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff1691505092915050565b6106ec8282611170565b5050565b60606106fa6111f2565b65ffffffffffff1661070a6109b8565b65ffffffffffff1614610749576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107f7610dc3565b90506108038183611202565b5050565b600061081282611316565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061086c8261136e565b9050919050565b600060608060008060006060610887611380565b61088f6113bb565b46306000801b600067ffffffffffffffff8111156108b0576108af6133a3565b5b6040519080825280602002602001820160405280156108de5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000806109286109b8565b90508065ffffffffffff1683106109785782816040517fecd3f81e00000000000000000000000000000000000000000000000000000000815260040161096f92919061337a565b60405180910390fd5b6109946109848461101c565b600a61107690919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b60006109c26111f2565b905090565b6060600480546109d690613349565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0290613349565b8015610a4f5780601f10610a2457610100808354040283529160200191610a4f565b820191906000526020600020905b815481529060010190602001808311610a3257829003601f168201915b5050505050905090565b6000610aa2600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206113f6565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b600080610ad0610dc3565b9050610add818585610e71565b600191505092915050565b83421115610b2d57836040517f4683af0e000000000000000000000000000000000000000000000000000000008152600401610b249190612d09565b60405180910390fd5b6000610b8f610b877fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610b6c94939291906133d2565b6040516020818303038152906040528051906020012061145e565b858585611478565b9050610b9b81876114a8565b610ba58188611202565b50505050505050565b83421115610bf357836040517f62791302000000000000000000000000000000000000000000000000000000008152600401610bea9190612d09565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610c228c611500565b89604051602001610c3896959493929190613417565b6040516020818303038152906040528051906020012090506000610c5b8261145e565b90506000610c6b82878787611478565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610cdf57808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401610cd6929190613478565b60405180910390fd5b610cea8a8a8a610dcb565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d85612afb565b610d8f8383611557565b905092915050565b60008183610da591906134d0565b905092915050565b60008183610dbb919061351e565b905092915050565b600033905090565b610dd883838360016115b8565b505050565b6000610de98484610cf6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e6b5781811015610e5b578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610e529392919061356c565b60405180910390fd5b610e6a848484840360006115b8565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ee35760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610eda9190612e1e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f555760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610f4c9190612e1e565b60405180910390fd5b610f6083838361178f565b505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610fe157507f000000000000000000000000000000000000000000000000000000000000000046145b1561100e577f00000000000000000000000000000000000000000000000000000000000000009050611019565b61101661179f565b90505b90565b600065ffffffffffff801682111561106e576030826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016110659291906135e8565b60405180910390fd5b819050919050565b6000808360000180549050905060008082905060058311156110fe57600061109d84611835565b846110a89190613611565b90506110b7876000018261192e565b60000160009054906101000a900465ffffffffffff1665ffffffffffff168665ffffffffffff1610156110ec578091506110fc565b6001816110f99190613645565b92505b505b600061110f87600001878585611943565b905060008114611161576111328760000160018361112d9190613611565b61192e565b60000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611164565b60005b94505050505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111e25760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016111d99190612e1e565b60405180910390fd5b6111ee6000838361178f565b5050565b60006111fd4361101c565b905090565b600061120d83610784565b905081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611311818361130c866119bc565b6119ce565b505050565b6000611367611362600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611c47565b611c58565b9050919050565b600061137982611cb0565b9050919050565b60606113b660057f0000000000000000000000000000000000000000000000000000000000000000611cf990919063ffffffff16565b905090565b60606113f160067f0000000000000000000000000000000000000000000000000000000000000000611cf990919063ffffffff16565b905090565b6000808260000180549050905060008114611453576114248360000160018361141f9190613611565b61192e565b60000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611456565b60005b915050919050565b600061147161146b610f65565b83611da9565b9050919050565b60008060008061148a88888888611dea565b92509250925061149a8282611ede565b829350505050949350505050565b60006114b383611500565b90508082146114fb5782816040517f752d88c00000000000000000000000000000000000000000000000000000000081526004016114f2929190613679565b60405180910390fd5b505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050559050919050565b61155f612afb565b6115b082600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061204290919063ffffffff16565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361162a5760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016116219190612e1e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169c5760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016116939190612e1e565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015611789578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516117809190612d09565b60405180910390a35b50505050565b61179a838383612117565b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000463060405160200161181a9594939291906136a2565b60405160208183030381529060405280519060200120905090565b60008082036118475760009050611929565b60006001611854846121c8565b901c6001901b9050600181848161186e5761186d6136f5565b5b048201901c90506001818481611887576118866136f5565b5b048201901c905060018184816118a05761189f6136f5565b5b048201901c905060018184816118b9576118b86136f5565b5b048201901c905060018184816118d2576118d16136f5565b5b048201901c905060018184816118eb576118ea6136f5565b5b048201901c90506001818481611904576119036136f5565b5b048201901c90506119258182858161191f5761191e6136f5565b5b046122a9565b9150505b919050565b60008260005281602060002001905092915050565b60005b818310156119b157600061195a84846122c2565b90508465ffffffffffff1661196f878361192e565b60000160009054906101000a900465ffffffffffff1665ffffffffffff16111561199b578092506119ab565b6001816119a89190613645565b93505b50611946565b819050949350505050565b60006119c782610819565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a0a5750600081115b15611c4257600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611b2857600080611a99600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020610dad611a94866122e8565b612356565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b1d929190613724565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611c4157600080611bb2600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020610d97611bad866122e8565b612356565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611c36929190613724565b60405180910390a250505b5b505050565b600081600001805490509050919050565b600063ffffffff8016821115611ca8576020826040517f6dfcc650000000000000000000000000000000000000000000000000000000008152600401611c9f929190613788565b60405180910390fd5b819050919050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060ff60001b8314611d1657611d0f83612396565b9050611da3565b818054611d2290613349565b80601f0160208091040260200160405190810160405280929190818152602001828054611d4e90613349565b8015611d9b5780601f10611d7057610100808354040283529160200191611d9b565b820191906000526020600020905b815481529060010190602001808311611d7e57829003601f168201915b505050505090505b92915050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115611e2a576000600385925092509250611ed4565b600060018888888860405160008152602001604052604051611e4f94939291906137b1565b6020604051602081039080840390855afa158015611e71573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ec557600060016000801b93509350935050611ed4565b8060008060001b935093509350505b9450945094915050565b60006003811115611ef257611ef16137f6565b5b826003811115611f0557611f046137f6565b5b031561203e5760016003811115611f1f57611f1e6137f6565b5b826003811115611f3257611f316137f6565b5b03611f69576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60026003811115611f7d57611f7c6137f6565b5b826003811115611f9057611f8f6137f6565b5b03611fd5578060001c6040517ffce698f7000000000000000000000000000000000000000000000000000000008152600401611fcc9190612d09565b60405180910390fd5b600380811115611fe857611fe76137f6565b5b826003811115611ffb57611ffa6137f6565b5b0361203d57806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016120349190612dc7565b60405180910390fd5b5b5050565b61204a612afb565b826000018263ffffffff168154811061206657612065613825565b5b906000526020600020016040518060400160405290816000820160009054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020016000820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b61212283838361240a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036121b85760006121606105b8565b9050600061216c61262f565b9050808211156121b55781816040517f1cb15d260000000000000000000000000000000000000000000000000000000081526004016121ac929190613724565b60405180910390fd5b50505b6121c3838383612653565b505050565b600080600090506000608084901c11156121ea57608083901c92506080810190505b6000604084901c111561220557604083901c92506040810190505b6000602084901c111561222057602083901c92506020810190505b6000601084901c111561223b57601083901c92506010810190505b6000600884901c111561225657600883901c92506008810190505b6000600484901c111561227157600483901c92506004810190505b6000600284901c111561228c57600283901c92506002810190505b6000600184901c11156122a0576001810190505b80915050919050565b60008183106122b857816122ba565b825b905092915050565b600060028284186122d39190613854565b8284166122e09190613645565b905092915050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff801682111561234e5760d0826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016123459291906138c0565b60405180910390fd5b819050919050565b60008061238a6123646109b8565b61237a612370886113f6565b868863ffffffff16565b8761270d9092919063ffffffff16565b91509150935093915050565b606060006123a38361272a565b90506000602067ffffffffffffffff8111156123c2576123c16133a3565b5b6040519080825280601f01601f1916602001820160405280156123f45781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361245c5780600260008282546124509190613645565b9250508190555061252f565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156124e8578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016124df9392919061356c565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361257857806002600082825403925050819055506125c5565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126229190612d09565b60405180910390a3505050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff8016905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036126a05761269d600a610d97612698846122e8565b612356565b50505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126ed576126ea600a610dad6126e5846122e8565b612356565b50505b6127086126f984610784565b61270284610784565b836119ce565b505050565b60008061271e85600001858561277a565b91509150935093915050565b60008060ff8360001c169050601f811115612771576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6000806000858054905090506000811115612a0b5760006127a7876001846127a29190613611565b61192e565b6040518060400160405290816000820160009054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020016000820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090508565ffffffffffff16816000015165ffffffffffff161115612896576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8565ffffffffffff16816000015165ffffffffffff160361291a57846128c8886001856128c39190613611565b61192e565b60000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506129fa565b8660405180604001604052808865ffffffffffff1681526020018779ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b806020015185935093505050612af3565b8560405180604001604052808765ffffffffffff1681526020018679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060008492509250505b935093915050565b6040518060400160405280600065ffffffffffff168152602001600079ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b73578082015181840152602081019050612b58565b60008484015250505050565b6000601f19601f8301169050919050565b6000612b9b82612b39565b612ba58185612b44565b9350612bb5818560208601612b55565b612bbe81612b7f565b840191505092915050565b60006020820190508181036000830152612be38184612b90565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c1b82612bf0565b9050919050565b612c2b81612c10565b8114612c3657600080fd5b50565b600081359050612c4881612c22565b92915050565b6000819050919050565b612c6181612c4e565b8114612c6c57600080fd5b50565b600081359050612c7e81612c58565b92915050565b60008060408385031215612c9b57612c9a612beb565b5b6000612ca985828601612c39565b9250506020612cba85828601612c6f565b9150509250929050565b60008115159050919050565b612cd981612cc4565b82525050565b6000602082019050612cf46000830184612cd0565b92915050565b612d0381612c4e565b82525050565b6000602082019050612d1e6000830184612cfa565b92915050565b600080600060608486031215612d3d57612d3c612beb565b5b6000612d4b86828701612c39565b9350506020612d5c86828701612c39565b9250506040612d6d86828701612c6f565b9150509250925092565b600060ff82169050919050565b612d8d81612d77565b82525050565b6000602082019050612da86000830184612d84565b92915050565b6000819050919050565b612dc181612dae565b82525050565b6000602082019050612ddc6000830184612db8565b92915050565b600060208284031215612df857612df7612beb565b5b6000612e0684828501612c39565b91505092915050565b612e1881612c10565b82525050565b6000602082019050612e336000830184612e0f565b92915050565b600063ffffffff82169050919050565b612e5281612e39565b82525050565b6000602082019050612e6d6000830184612e49565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b612ea881612e73565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ee381612c4e565b82525050565b6000612ef58383612eda565b60208301905092915050565b6000602082019050919050565b6000612f1982612eae565b612f238185612eb9565b9350612f2e83612eca565b8060005b83811015612f5f578151612f468882612ee9565b9750612f5183612f01565b925050600181019050612f32565b5085935050505092915050565b600060e082019050612f81600083018a612e9f565b8181036020830152612f938189612b90565b90508181036040830152612fa78188612b90565b9050612fb66060830187612cfa565b612fc36080830186612e0f565b612fd060a0830185612db8565b81810360c0830152612fe28184612f0e565b905098975050505050505050565b60006020828403121561300657613005612beb565b5b600061301484828501612c6f565b91505092915050565b600065ffffffffffff82169050919050565b6130388161301d565b82525050565b6000602082019050613053600083018461302f565b92915050565b61306281612d77565b811461306d57600080fd5b50565b60008135905061307f81613059565b92915050565b61308e81612dae565b811461309957600080fd5b50565b6000813590506130ab81613085565b92915050565b60008060008060008060c087890312156130ce576130cd612beb565b5b60006130dc89828a01612c39565b96505060206130ed89828a01612c6f565b95505060406130fe89828a01612c6f565b945050606061310f89828a01613070565b935050608061312089828a0161309c565b92505060a061313189828a0161309c565b9150509295509295509295565b600080600080600080600060e0888a03121561315d5761315c612beb565b5b600061316b8a828b01612c39565b975050602061317c8a828b01612c39565b965050604061318d8a828b01612c6f565b955050606061319e8a828b01612c6f565b94505060806131af8a828b01613070565b93505060a06131c08a828b0161309c565b92505060c06131d18a828b0161309c565b91505092959891949750929550565b600080604083850312156131f7576131f6612beb565b5b600061320585828601612c39565b925050602061321685828601612c39565b9150509250929050565b61322981612e39565b811461323457600080fd5b50565b60008135905061324681613220565b92915050565b6000806040838503121561326357613262612beb565b5b600061327185828601612c39565b925050602061328285828601613237565b9150509250929050565b6132958161301d565b82525050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6132ca8161329b565b82525050565b6040820160008201516132e6600085018261328c565b5060208201516132f960208501826132c1565b50505050565b600060408201905061331460008301846132d0565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061336157607f821691505b6020821081036133745761337361331a565b5b50919050565b600060408201905061338f6000830185612cfa565b61339c602083018461302f565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006080820190506133e76000830187612db8565b6133f46020830186612e0f565b6134016040830185612cfa565b61340e6060830184612cfa565b95945050505050565b600060c08201905061342c6000830189612db8565b6134396020830188612e0f565b6134466040830187612e0f565b6134536060830186612cfa565b6134606080830185612cfa565b61346d60a0830184612cfa565b979650505050505050565b600060408201905061348d6000830185612e0f565b61349a6020830184612e0f565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134db8261329b565b91506134e68361329b565b9250828201905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613518576135176134a1565b5b92915050565b60006135298261329b565b91506135348361329b565b9250828203905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613566576135656134a1565b5b92915050565b60006060820190506135816000830186612e0f565b61358e6020830185612cfa565b61359b6040830184612cfa565b949350505050565b6000819050919050565b6000819050919050565b60006135d26135cd6135c8846135a3565b6135ad565b612d77565b9050919050565b6135e2816135b7565b82525050565b60006040820190506135fd60008301856135d9565b61360a6020830184612cfa565b9392505050565b600061361c82612c4e565b915061362783612c4e565b925082820390508181111561363f5761363e6134a1565b5b92915050565b600061365082612c4e565b915061365b83612c4e565b9250828201905080821115613673576136726134a1565b5b92915050565b600060408201905061368e6000830185612e0f565b61369b6020830184612cfa565b9392505050565b600060a0820190506136b76000830188612db8565b6136c46020830187612db8565b6136d16040830186612db8565b6136de6060830185612cfa565b6136eb6080830184612e0f565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006040820190506137396000830185612cfa565b6137466020830184612cfa565b9392505050565b6000819050919050565b600061377261376d6137688461374d565b6135ad565b612d77565b9050919050565b61378281613757565b82525050565b600060408201905061379d6000830185613779565b6137aa6020830184612cfa565b9392505050565b60006080820190506137c66000830187612db8565b6137d36020830186612d84565b6137e06040830185612db8565b6137ed6060830184612db8565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061385f82612c4e565b915061386a83612c4e565b92508261387a576138796136f5565b5b828204905092915050565b6000819050919050565b60006138aa6138a56138a084613885565b6135ad565b612d77565b9050919050565b6138ba8161388f565b82525050565b60006040820190506138d560008301856138b1565b6138e26020830184612cfa565b939250505056fea26469706673582212207a8acb8aebf0ca70a2a2ca038f649d366444e8ce4565803973e3ab0a015303d364736f6c63430008180033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c35780639ab24eb01161007c5780639ab24eb01461040b578063a9059cbb1461043b578063c3cda5201461046b578063d505accf14610487578063dd62ed3e146104a3578063f1127ed8146104d357610158565b806370a082311461031b5780637ecebe001461034b57806384b0196e1461037b5780638e539e8c1461039f57806391ddadf4146103cf57806395d89b41146103ed57610158565b80633a46b1a8116101155780633a46b1a81461023557806340c10f19146102655780634bf5d7e914610281578063587cde1e1461029f5780635c19a95c146102cf5780636fcfff45146102eb57610158565b806306fdde031461015d578063095ea7b31461017b57806318160ddd146101ab57806323b872dd146101c9578063313ce567146101f95780633644e51514610217575b600080fd5b610165610503565b6040516101729190612bc9565b60405180910390f35b61019560048036038101906101909190612c84565b610595565b6040516101a29190612cdf565b60405180910390f35b6101b36105b8565b6040516101c09190612d09565b60405180910390f35b6101e360048036038101906101de9190612d24565b6105c2565b6040516101f09190612cdf565b60405180910390f35b6102016105f1565b60405161020e9190612d93565b60405180910390f35b61021f6105fa565b60405161022c9190612dc7565b60405180910390f35b61024f600480360381019061024a9190612c84565b610609565b60405161025c9190612d09565b60405180910390f35b61027f600480360381019061027a9190612c84565b6106e2565b005b6102896106f0565b6040516102969190612bc9565b60405180910390f35b6102b960048036038101906102b49190612de2565b610784565b6040516102c69190612e1e565b60405180910390f35b6102e960048036038101906102e49190612de2565b6107ed565b005b61030560048036038101906103009190612de2565b610807565b6040516103129190612e58565b60405180910390f35b61033560048036038101906103309190612de2565b610819565b6040516103429190612d09565b60405180910390f35b61036560048036038101906103609190612de2565b610861565b6040516103729190612d09565b60405180910390f35b610383610873565b6040516103969796959493929190612f6c565b60405180910390f35b6103b960048036038101906103b49190612ff0565b61091d565b6040516103c69190612d09565b60405180910390f35b6103d76109b8565b6040516103e4919061303e565b60405180910390f35b6103f56109c7565b6040516104029190612bc9565b60405180910390f35b61042560048036038101906104209190612de2565b610a59565b6040516104329190612d09565b60405180910390f35b61045560048036038101906104509190612c84565b610ac5565b6040516104629190612cdf565b60405180910390f35b610485600480360381019061048091906130b1565b610ae8565b005b6104a1600480360381019061049c919061313e565b610bae565b005b6104bd60048036038101906104b891906131e0565b610cf6565b6040516104ca9190612d09565b60405180910390f35b6104ed60048036038101906104e8919061324c565b610d7d565b6040516104fa91906132ff565b60405180910390f35b60606003805461051290613349565b80601f016020809104026020016040519081016040528092919081815260200182805461053e90613349565b801561058b5780601f106105605761010080835404028352916020019161058b565b820191906000526020600020905b81548152906001019060200180831161056e57829003601f168201915b5050505050905090565b6000806105a0610dc3565b90506105ad818585610dcb565b600191505092915050565b6000600254905090565b6000806105cd610dc3565b90506105da858285610ddd565b6105e5858585610e71565b60019150509392505050565b60006012905090565b6000610604610f65565b905090565b6000806106146109b8565b90508065ffffffffffff1683106106645782816040517fecd3f81e00000000000000000000000000000000000000000000000000000000815260040161065b92919061337a565b60405180910390fd5b6106bd6106708461101c565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061107690919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff1691505092915050565b6106ec8282611170565b5050565b60606106fa6111f2565b65ffffffffffff1661070a6109b8565b65ffffffffffff1614610749576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107f7610dc3565b90506108038183611202565b5050565b600061081282611316565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061086c8261136e565b9050919050565b600060608060008060006060610887611380565b61088f6113bb565b46306000801b600067ffffffffffffffff8111156108b0576108af6133a3565b5b6040519080825280602002602001820160405280156108de5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000806109286109b8565b90508065ffffffffffff1683106109785782816040517fecd3f81e00000000000000000000000000000000000000000000000000000000815260040161096f92919061337a565b60405180910390fd5b6109946109848461101c565b600a61107690919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b60006109c26111f2565b905090565b6060600480546109d690613349565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0290613349565b8015610a4f5780601f10610a2457610100808354040283529160200191610a4f565b820191906000526020600020905b815481529060010190602001808311610a3257829003601f168201915b5050505050905090565b6000610aa2600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206113f6565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b600080610ad0610dc3565b9050610add818585610e71565b600191505092915050565b83421115610b2d57836040517f4683af0e000000000000000000000000000000000000000000000000000000008152600401610b249190612d09565b60405180910390fd5b6000610b8f610b877fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610b6c94939291906133d2565b6040516020818303038152906040528051906020012061145e565b858585611478565b9050610b9b81876114a8565b610ba58188611202565b50505050505050565b83421115610bf357836040517f62791302000000000000000000000000000000000000000000000000000000008152600401610bea9190612d09565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610c228c611500565b89604051602001610c3896959493929190613417565b6040516020818303038152906040528051906020012090506000610c5b8261145e565b90506000610c6b82878787611478565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610cdf57808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401610cd6929190613478565b60405180910390fd5b610cea8a8a8a610dcb565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d85612afb565b610d8f8383611557565b905092915050565b60008183610da591906134d0565b905092915050565b60008183610dbb919061351e565b905092915050565b600033905090565b610dd883838360016115b8565b505050565b6000610de98484610cf6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e6b5781811015610e5b578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610e529392919061356c565b60405180910390fd5b610e6a848484840360006115b8565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ee35760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610eda9190612e1e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f555760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610f4c9190612e1e565b60405180910390fd5b610f6083838361178f565b505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610fe157507f000000000000000000000000000000000000000000000000000000000000000046145b1561100e577f00000000000000000000000000000000000000000000000000000000000000009050611019565b61101661179f565b90505b90565b600065ffffffffffff801682111561106e576030826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016110659291906135e8565b60405180910390fd5b819050919050565b6000808360000180549050905060008082905060058311156110fe57600061109d84611835565b846110a89190613611565b90506110b7876000018261192e565b60000160009054906101000a900465ffffffffffff1665ffffffffffff168665ffffffffffff1610156110ec578091506110fc565b6001816110f99190613645565b92505b505b600061110f87600001878585611943565b905060008114611161576111328760000160018361112d9190613611565b61192e565b60000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611164565b60005b94505050505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111e25760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016111d99190612e1e565b60405180910390fd5b6111ee6000838361178f565b5050565b60006111fd4361101c565b905090565b600061120d83610784565b905081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611311818361130c866119bc565b6119ce565b505050565b6000611367611362600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611c47565b611c58565b9050919050565b600061137982611cb0565b9050919050565b60606113b660057f0000000000000000000000000000000000000000000000000000000000000000611cf990919063ffffffff16565b905090565b60606113f160067f0000000000000000000000000000000000000000000000000000000000000000611cf990919063ffffffff16565b905090565b6000808260000180549050905060008114611453576114248360000160018361141f9190613611565b61192e565b60000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611456565b60005b915050919050565b600061147161146b610f65565b83611da9565b9050919050565b60008060008061148a88888888611dea565b92509250925061149a8282611ede565b829350505050949350505050565b60006114b383611500565b90508082146114fb5782816040517f752d88c00000000000000000000000000000000000000000000000000000000081526004016114f2929190613679565b60405180910390fd5b505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050559050919050565b61155f612afb565b6115b082600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061204290919063ffffffff16565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361162a5760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016116219190612e1e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169c5760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016116939190612e1e565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015611789578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516117809190612d09565b60405180910390a35b50505050565b61179a838383612117565b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000463060405160200161181a9594939291906136a2565b60405160208183030381529060405280519060200120905090565b60008082036118475760009050611929565b60006001611854846121c8565b901c6001901b9050600181848161186e5761186d6136f5565b5b048201901c90506001818481611887576118866136f5565b5b048201901c905060018184816118a05761189f6136f5565b5b048201901c905060018184816118b9576118b86136f5565b5b048201901c905060018184816118d2576118d16136f5565b5b048201901c905060018184816118eb576118ea6136f5565b5b048201901c90506001818481611904576119036136f5565b5b048201901c90506119258182858161191f5761191e6136f5565b5b046122a9565b9150505b919050565b60008260005281602060002001905092915050565b60005b818310156119b157600061195a84846122c2565b90508465ffffffffffff1661196f878361192e565b60000160009054906101000a900465ffffffffffff1665ffffffffffff16111561199b578092506119ab565b6001816119a89190613645565b93505b50611946565b819050949350505050565b60006119c782610819565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a0a5750600081115b15611c4257600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611b2857600080611a99600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020610dad611a94866122e8565b612356565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b1d929190613724565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611c4157600080611bb2600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020610d97611bad866122e8565b612356565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611c36929190613724565b60405180910390a250505b5b505050565b600081600001805490509050919050565b600063ffffffff8016821115611ca8576020826040517f6dfcc650000000000000000000000000000000000000000000000000000000008152600401611c9f929190613788565b60405180910390fd5b819050919050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060ff60001b8314611d1657611d0f83612396565b9050611da3565b818054611d2290613349565b80601f0160208091040260200160405190810160405280929190818152602001828054611d4e90613349565b8015611d9b5780601f10611d7057610100808354040283529160200191611d9b565b820191906000526020600020905b815481529060010190602001808311611d7e57829003601f168201915b505050505090505b92915050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115611e2a576000600385925092509250611ed4565b600060018888888860405160008152602001604052604051611e4f94939291906137b1565b6020604051602081039080840390855afa158015611e71573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ec557600060016000801b93509350935050611ed4565b8060008060001b935093509350505b9450945094915050565b60006003811115611ef257611ef16137f6565b5b826003811115611f0557611f046137f6565b5b031561203e5760016003811115611f1f57611f1e6137f6565b5b826003811115611f3257611f316137f6565b5b03611f69576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60026003811115611f7d57611f7c6137f6565b5b826003811115611f9057611f8f6137f6565b5b03611fd5578060001c6040517ffce698f7000000000000000000000000000000000000000000000000000000008152600401611fcc9190612d09565b60405180910390fd5b600380811115611fe857611fe76137f6565b5b826003811115611ffb57611ffa6137f6565b5b0361203d57806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016120349190612dc7565b60405180910390fd5b5b5050565b61204a612afb565b826000018263ffffffff168154811061206657612065613825565b5b906000526020600020016040518060400160405290816000820160009054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020016000820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b61212283838361240a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036121b85760006121606105b8565b9050600061216c61262f565b9050808211156121b55781816040517f1cb15d260000000000000000000000000000000000000000000000000000000081526004016121ac929190613724565b60405180910390fd5b50505b6121c3838383612653565b505050565b600080600090506000608084901c11156121ea57608083901c92506080810190505b6000604084901c111561220557604083901c92506040810190505b6000602084901c111561222057602083901c92506020810190505b6000601084901c111561223b57601083901c92506010810190505b6000600884901c111561225657600883901c92506008810190505b6000600484901c111561227157600483901c92506004810190505b6000600284901c111561228c57600283901c92506002810190505b6000600184901c11156122a0576001810190505b80915050919050565b60008183106122b857816122ba565b825b905092915050565b600060028284186122d39190613854565b8284166122e09190613645565b905092915050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff801682111561234e5760d0826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016123459291906138c0565b60405180910390fd5b819050919050565b60008061238a6123646109b8565b61237a612370886113f6565b868863ffffffff16565b8761270d9092919063ffffffff16565b91509150935093915050565b606060006123a38361272a565b90506000602067ffffffffffffffff8111156123c2576123c16133a3565b5b6040519080825280601f01601f1916602001820160405280156123f45781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361245c5780600260008282546124509190613645565b9250508190555061252f565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156124e8578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016124df9392919061356c565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361257857806002600082825403925050819055506125c5565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126229190612d09565b60405180910390a3505050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff8016905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036126a05761269d600a610d97612698846122e8565b612356565b50505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126ed576126ea600a610dad6126e5846122e8565b612356565b50505b6127086126f984610784565b61270284610784565b836119ce565b505050565b60008061271e85600001858561277a565b91509150935093915050565b60008060ff8360001c169050601f811115612771576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6000806000858054905090506000811115612a0b5760006127a7876001846127a29190613611565b61192e565b6040518060400160405290816000820160009054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020016000820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090508565ffffffffffff16816000015165ffffffffffff161115612896576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8565ffffffffffff16816000015165ffffffffffff160361291a57846128c8886001856128c39190613611565b61192e565b60000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506129fa565b8660405180604001604052808865ffffffffffff1681526020018779ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b806020015185935093505050612af3565b8560405180604001604052808765ffffffffffff1681526020018679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060008492509250505b935093915050565b6040518060400160405280600065ffffffffffff168152602001600079ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b73578082015181840152602081019050612b58565b60008484015250505050565b6000601f19601f8301169050919050565b6000612b9b82612b39565b612ba58185612b44565b9350612bb5818560208601612b55565b612bbe81612b7f565b840191505092915050565b60006020820190508181036000830152612be38184612b90565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c1b82612bf0565b9050919050565b612c2b81612c10565b8114612c3657600080fd5b50565b600081359050612c4881612c22565b92915050565b6000819050919050565b612c6181612c4e565b8114612c6c57600080fd5b50565b600081359050612c7e81612c58565b92915050565b60008060408385031215612c9b57612c9a612beb565b5b6000612ca985828601612c39565b9250506020612cba85828601612c6f565b9150509250929050565b60008115159050919050565b612cd981612cc4565b82525050565b6000602082019050612cf46000830184612cd0565b92915050565b612d0381612c4e565b82525050565b6000602082019050612d1e6000830184612cfa565b92915050565b600080600060608486031215612d3d57612d3c612beb565b5b6000612d4b86828701612c39565b9350506020612d5c86828701612c39565b9250506040612d6d86828701612c6f565b9150509250925092565b600060ff82169050919050565b612d8d81612d77565b82525050565b6000602082019050612da86000830184612d84565b92915050565b6000819050919050565b612dc181612dae565b82525050565b6000602082019050612ddc6000830184612db8565b92915050565b600060208284031215612df857612df7612beb565b5b6000612e0684828501612c39565b91505092915050565b612e1881612c10565b82525050565b6000602082019050612e336000830184612e0f565b92915050565b600063ffffffff82169050919050565b612e5281612e39565b82525050565b6000602082019050612e6d6000830184612e49565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b612ea881612e73565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ee381612c4e565b82525050565b6000612ef58383612eda565b60208301905092915050565b6000602082019050919050565b6000612f1982612eae565b612f238185612eb9565b9350612f2e83612eca565b8060005b83811015612f5f578151612f468882612ee9565b9750612f5183612f01565b925050600181019050612f32565b5085935050505092915050565b600060e082019050612f81600083018a612e9f565b8181036020830152612f938189612b90565b90508181036040830152612fa78188612b90565b9050612fb66060830187612cfa565b612fc36080830186612e0f565b612fd060a0830185612db8565b81810360c0830152612fe28184612f0e565b905098975050505050505050565b60006020828403121561300657613005612beb565b5b600061301484828501612c6f565b91505092915050565b600065ffffffffffff82169050919050565b6130388161301d565b82525050565b6000602082019050613053600083018461302f565b92915050565b61306281612d77565b811461306d57600080fd5b50565b60008135905061307f81613059565b92915050565b61308e81612dae565b811461309957600080fd5b50565b6000813590506130ab81613085565b92915050565b60008060008060008060c087890312156130ce576130cd612beb565b5b60006130dc89828a01612c39565b96505060206130ed89828a01612c6f565b95505060406130fe89828a01612c6f565b945050606061310f89828a01613070565b935050608061312089828a0161309c565b92505060a061313189828a0161309c565b9150509295509295509295565b600080600080600080600060e0888a03121561315d5761315c612beb565b5b600061316b8a828b01612c39565b975050602061317c8a828b01612c39565b965050604061318d8a828b01612c6f565b955050606061319e8a828b01612c6f565b94505060806131af8a828b01613070565b93505060a06131c08a828b0161309c565b92505060c06131d18a828b0161309c565b91505092959891949750929550565b600080604083850312156131f7576131f6612beb565b5b600061320585828601612c39565b925050602061321685828601612c39565b9150509250929050565b61322981612e39565b811461323457600080fd5b50565b60008135905061324681613220565b92915050565b6000806040838503121561326357613262612beb565b5b600061327185828601612c39565b925050602061328285828601613237565b9150509250929050565b6132958161301d565b82525050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6132ca8161329b565b82525050565b6040820160008201516132e6600085018261328c565b5060208201516132f960208501826132c1565b50505050565b600060408201905061331460008301846132d0565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061336157607f821691505b6020821081036133745761337361331a565b5b50919050565b600060408201905061338f6000830185612cfa565b61339c602083018461302f565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006080820190506133e76000830187612db8565b6133f46020830186612e0f565b6134016040830185612cfa565b61340e6060830184612cfa565b95945050505050565b600060c08201905061342c6000830189612db8565b6134396020830188612e0f565b6134466040830187612e0f565b6134536060830186612cfa565b6134606080830185612cfa565b61346d60a0830184612cfa565b979650505050505050565b600060408201905061348d6000830185612e0f565b61349a6020830184612e0f565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134db8261329b565b91506134e68361329b565b9250828201905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613518576135176134a1565b5b92915050565b60006135298261329b565b91506135348361329b565b9250828203905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613566576135656134a1565b5b92915050565b60006060820190506135816000830186612e0f565b61358e6020830185612cfa565b61359b6040830184612cfa565b949350505050565b6000819050919050565b6000819050919050565b60006135d26135cd6135c8846135a3565b6135ad565b612d77565b9050919050565b6135e2816135b7565b82525050565b60006040820190506135fd60008301856135d9565b61360a6020830184612cfa565b9392505050565b600061361c82612c4e565b915061362783612c4e565b925082820390508181111561363f5761363e6134a1565b5b92915050565b600061365082612c4e565b915061365b83612c4e565b9250828201905080821115613673576136726134a1565b5b92915050565b600060408201905061368e6000830185612e0f565b61369b6020830184612cfa565b9392505050565b600060a0820190506136b76000830188612db8565b6136c46020830187612db8565b6136d16040830186612db8565b6136de6060830185612cfa565b6136eb6080830184612e0f565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006040820190506137396000830185612cfa565b6137466020830184612cfa565b9392505050565b6000819050919050565b600061377261376d6137688461374d565b6135ad565b612d77565b9050919050565b61378281613757565b82525050565b600060408201905061379d6000830185613779565b6137aa6020830184612cfa565b9392505050565b60006080820190506137c66000830187612db8565b6137d36020830186612d84565b6137e06040830185612db8565b6137ed6060830184612db8565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061385f82612c4e565b915061386a83612c4e565b92508261387a576138796136f5565b5b828204905092915050565b6000819050919050565b60006138aa6138a56138a084613885565b6135ad565b612d77565b9050919050565b6138ba8161388f565b82525050565b60006040820190506138d560008301856138b1565b6138e26020830184612cfa565b939250505056fea26469706673582212207a8acb8aebf0ca70a2a2ca038f649d366444e8ce4565803973e3ab0a015303d364736f6c63430008180033", + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/src/modules/creator/deployment/router.tsx b/src/modules/creator/deployment/router.tsx deleted file mode 100644 index 554596bf..00000000 --- a/src/modules/creator/deployment/router.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import React from "react" -import { Redirect, Route, Switch, useRouteMatch } from "react-router-dom" -import { Deployment } from "." -import { ConfigContract } from "./steps/Config" -import { ContractDistribution } from "./steps/Distribution" -import { ContractSummary } from "./steps/Summary" -import { Ownership } from "./steps/Ownership" -import { Success } from "./steps/Success" - -export const TokenDeploymentRouter = (): JSX.Element => { - const match = useRouteMatch() - - return ( - - - - - - - - - - - - - - - - - - - - - - ) -} diff --git a/src/modules/creator/deployment/state/utils.ts b/src/modules/creator/deployment/state/utils.ts deleted file mode 100644 index d75414f6..00000000 --- a/src/modules/creator/deployment/state/utils.ts +++ /dev/null @@ -1,5 +0,0 @@ -import BigNumber from "bignumber.js" - -export const numberWithCommas = (x: number | BigNumber) => { - return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") -} diff --git a/src/modules/creator/router.tsx b/src/modules/creator/router.tsx index bf427bf5..9555c579 100644 --- a/src/modules/creator/router.tsx +++ b/src/modules/creator/router.tsx @@ -3,9 +3,7 @@ import { Redirect, Route, Switch, useRouteMatch } from "react-router-dom" import { DAOList } from "modules/explorer/pages/DAOList" import { DAORouter } from "modules/explorer/pages/DAO/router" import { DAOCreate } from "." -import { Deployment } from "./deployment" -import { TokenDeploymentRouter } from "./deployment/router" -import { DeploymentProvider } from "./deployment/state/context" +import { TokenDeploymentRouter } from "./token/router" export const DAOCreatorRouter = (): JSX.Element => { const match = useRouteMatch() @@ -16,9 +14,7 @@ export const DAOCreatorRouter = (): JSX.Element => { - - - + diff --git a/src/modules/creator/token/etherlink/index.tsx b/src/modules/creator/token/etherlink/index.tsx new file mode 100644 index 00000000..ecba71d0 --- /dev/null +++ b/src/modules/creator/token/etherlink/index.tsx @@ -0,0 +1,87 @@ +import React, { useContext, useMemo } from "react" +import { Box, Grid, Step, StepLabel, useMediaQuery, useTheme } from "@material-ui/core" +import { Navbar } from "modules/common/Toolbar" +import ProgressBar from "react-customizable-progressbar" +import { DeploymentStepRouter, STEPS, useDeploymentStepNumber } from "./steps" +import { StepInfo } from "./state" +import { useHistory } from "react-router-dom" +import { NavigationBar } from "../../components/NavigationBar" +import { DeploymentContext } from "./state/context" +import { + PageContainer, + PageContent, + ProgressContainer, + IndicatorValue, + FAQClickText, + FAQClickToAction, + StyledStepper, + StepContentContainer +} from "../ui" + +export const EtherlinkTokenDeployment: React.FC = () => { + const creator = useContext(DeploymentContext) + const { back, next } = creator.state + + const theme = useTheme() + const isMobile = useMediaQuery(theme.breakpoints.down("sm")) + + const history = useHistory() + const step = useDeploymentStepNumber() + const progress = useMemo(() => step * 45, [step]) + + const goToFAQ = (): void => { + history.push("/faq") + } + + return ( + + + + {!isMobile && ( + + + + + {progress === 0.5 ? 0 : step * 45}% + + + + + New to DAOs? + Read our FAQ + + + + {STEPS.map(({ title, path }: StepInfo, index: number) => ( + + (index < step ? history.push(path) : null)} icon={index + 1}> + {title} + + + ))} + + + + )} + + + + + + + + + + {step < 3 && } + + + + ) +} diff --git a/src/modules/creator/token/etherlink/state/context.tsx b/src/modules/creator/token/etherlink/state/context.tsx new file mode 100644 index 00000000..75f1cff1 --- /dev/null +++ b/src/modules/creator/token/etherlink/state/context.tsx @@ -0,0 +1,114 @@ +import React, { createContext, useReducer, Dispatch, useMemo } from "react" +import useLocalStorage from "modules/common/hooks/useLocalStorage" +import { DeploymentAction, DeploymentState, TokenContractParams, ActionTypes } from "./types" +import BigNumber from "bignumber.js" + +const deploymentStatus = { + deploying: false, + successful: false +} + +const LOCAL_STORAGE_KEY = "deploymentParams" + +export const INITIAL_TOKEN_STATE: TokenContractParams = { + tokenSettings: { + name: "", + description: "", + totalSupply: null, + decimals: null, + symbol: "", + icon: "" + }, + tokenDistribution: { + holders: [ + { + walletAddress: "", + amount: null + } + ], + totalAmount: new BigNumber(0) + } +} + +export const INITIAL_STATE: DeploymentState = { + data: INITIAL_TOKEN_STATE, + deploymentStatus +} + +const DeploymentContext = createContext<{ + state: DeploymentState + dispatch: Dispatch + updateCache: (value: TokenContractParams) => void +}>({ + state: INITIAL_STATE, + dispatch: () => null, + updateCache: () => null +}) + +export const reducer = (state: DeploymentState, action: DeploymentAction): DeploymentState => { + switch (action.type) { + case ActionTypes.UPDATE_DEPLOYMENT_STATUS: + const { contract, deploying } = action.status + state = { + ...state, + deploymentStatus: { + contract, + deploying, + successful: false + } + } + return state + case ActionTypes.UPDATE_NAVIGATION_BAR: + state = { + ...state, + next: action.next, + back: action.back + } + return state + case ActionTypes.UPDATE_TOKEN_SETTINGS: + state = { + ...state, + data: { + ...state.data, + tokenSettings: action.contractInfo + } + } + return state + case ActionTypes.UPDATE_TOKEN_DISTRIBUTION: + state = { + ...state, + data: { + ...state.data, + tokenDistribution: action.distribution + } + } + return state + case ActionTypes.CLEAR_CACHE: + window.localStorage.removeItem(LOCAL_STORAGE_KEY) + state = { + ...INITIAL_STATE, + deploymentStatus: { + ...INITIAL_STATE.deploymentStatus, + successful: true + } + } + return state + } +} + +const DeploymentProvider: React.FC = ({ children }) => { + const [data, updateCache] = useLocalStorage(LOCAL_STORAGE_KEY, INITIAL_STATE.data) + + const stateWithCache = { + ...INITIAL_STATE, + data + } + + const [state, dispatch] = useReducer(reducer, stateWithCache) + const contextValue = useMemo(() => { + return { state, dispatch } + }, [state, dispatch]) + return {children} +} + +export { DeploymentProvider, DeploymentContext } diff --git a/src/modules/creator/token/etherlink/state/index.ts b/src/modules/creator/token/etherlink/state/index.ts new file mode 100644 index 00000000..8234ebd8 --- /dev/null +++ b/src/modules/creator/token/etherlink/state/index.ts @@ -0,0 +1,3 @@ +export * from "modules/creator/state/context" +export * from "modules/creator/state/types" +export * from "modules/creator/state/utils" diff --git a/src/modules/creator/token/etherlink/state/types.ts b/src/modules/creator/token/etherlink/state/types.ts new file mode 100644 index 00000000..74e690a5 --- /dev/null +++ b/src/modules/creator/token/etherlink/state/types.ts @@ -0,0 +1,100 @@ +import BigNumber from "bignumber.js" +import { NavigationBarProps } from "modules/creator/state/types" + +export type TokenContractSettings = { + name: string + description: string + totalSupply: number | null + decimals: number | null + symbol: string + icon: string +} + +export type TokenDistributionSettings = { + holders: Holder[] + totalAmount: BigNumber +} + +export type Holder = { + walletAddress: string + amount: number | null +} + +export interface TokenContractParams { + tokenSettings: TokenContractSettings + tokenDistribution: TokenDistributionSettings +} + +export type ErrorValues = Partial> + +type DeploymentStatus = { + deploying: boolean + successful: boolean + contract?: string +} + +export type DeploymentState = { + data: TokenContractParams + deploymentStatus: DeploymentStatus +} & NavigationBarProps + +export interface StepInfo { + title: string + index: number + path: string +} + +function updateTokenSettings(contractInfo: TokenContractSettings) { + return { + type: ActionTypes.UPDATE_TOKEN_SETTINGS, + contractInfo + } +} + +function updateTokenDistribution(distribution: TokenDistributionSettings) { + return { + type: ActionTypes.UPDATE_TOKEN_DISTRIBUTION, + distribution + } +} + +function updateDeploymentStatus({ deploying, contract }: DeploymentStatus) { + return { + type: ActionTypes.UPDATE_DEPLOYMENT_STATUS, + status: { deploying, contract } + } +} + +function updateNavigationBar(props: NavigationBarProps) { + return { + type: ActionTypes.UPDATE_NAVIGATION_BAR, + ...props + } +} + +function clearCache() { + return { + type: ActionTypes.CLEAR_CACHE + } +} + +export type DeploymentAction = ReturnType< + | typeof updateTokenSettings + | typeof updateDeploymentStatus + | typeof clearCache + | typeof updateTokenDistribution + | typeof updateNavigationBar +> + +export enum ActionTypes { + UPDATE_NAVIGATION_BAR = "UPDATE_NAVIGATION_BAR", + UPDATE_TOKEN_SETTINGS = "UPDATE_TOKEN_SETTINGS", + UPDATE_TOKEN_DISTRIBUTION = "UPDATE_TOKEN_DISTRIBUTION", + UPDATE_DEPLOYMENT_STATUS = "UPDATE_DEPLOYMENT_STATUS", + CLEAR_CACHE = "CLEAR_CACHE" +} +export interface TokenHolder { + address: string + balance: number + name?: string +} diff --git a/src/modules/creator/token/etherlink/steps/Config.tsx b/src/modules/creator/token/etherlink/steps/Config.tsx new file mode 100644 index 00000000..ac73d233 --- /dev/null +++ b/src/modules/creator/token/etherlink/steps/Config.tsx @@ -0,0 +1,221 @@ +import { Grid, Typography, useMediaQuery, useTheme } from "@material-ui/core" +import { Field, Form, Formik, FormikErrors, getIn } from "formik" +import React, { useContext, useEffect } from "react" +import { useHistory, useRouteMatch } from "react-router-dom" +import { DeploymentContext } from "../state/context" +import { ActionTypes, TokenContractSettings } from "../state/types" +import { FieldChange, handleChange, handleNegativeInput } from "modules/creator/utils" +import { + Title, + CustomTextarea, + CustomFormikTextField, + CustomInputContainer, + ErrorText, + TextareaContainer +} from "../../ui" + +const validateForm = (values: TokenContractSettings) => { + const errors: FormikErrors = {} + + if (!values.name) { + errors.name = "Required" + } + + // if (!values.description) { + // errors.description = "Required" + // } + + if (!values.totalSupply || values.totalSupply === null) { + errors.totalSupply = "Required" + } + + if (!values.decimals || values.decimals === null) { + errors.decimals = "Required" + } + + if (!values.symbol) { + errors.symbol = "Required" + } + + return errors +} + +const TokenSettingsForm = ({ submitForm, values, errors, touched, setFieldValue }: any) => { + const { dispatch } = useContext(DeploymentContext) + const match = useRouteMatch() + const history = useHistory() + const theme = useTheme() + const isMobileSmall = useMediaQuery(theme.breakpoints.down("sm")) + + useEffect(() => { + if (values) { + dispatch({ + type: ActionTypes.UPDATE_NAVIGATION_BAR, + next: { + handler: () => { + submitForm(values) + }, + text: "Continue" + }, + back: { + text: "Back", + handler: () => history.push("/creator/ownership") + } + }) + } + }, [dispatch, errors, history, match.path, match.url, submitForm, values]) + + return ( + <> + + + + {" "} + Contract Name{" "} + + + + + {errors.name && touched.name ? {errors.name} : null} + + + + + {" "} + Description{" "} + + + {/* + + {() => ( + { + setFieldValue("description", newValue.target.value) + }} + /> + )} + + + {errors.description && touched.description ? {errors.description} : null} */} + + + + + {" "} + Supply{" "} + + + handleNegativeInput(e)} + /> + + {errors.totalSupply && touched.totalSupply ? {errors.totalSupply} : null} + + + + {" "} + Decimals{" "} + + + handleChange(e)} + /> + + {errors.decimals && touched.decimals ? {errors.decimals} : null} + + + + + {/* + + {" "} + Icon{" "} + + + + + */} + + + {" "} + Symbol{" "} + + + + + {errors.symbol && touched.symbol ? {errors.symbol} : null} + + + + + ) +} + +export const ConfigContract: React.FC = () => { + const { state, dispatch, updateCache } = useContext(DeploymentContext) + const { tokenSettings } = state.data + const history = useHistory() + + const saveStepInfo = (values: TokenContractSettings, { setSubmitting }: { setSubmitting: (b: boolean) => void }) => { + const newValues: TokenContractSettings = { ...values } + const newState = { + ...state.data, + tokenSettings: newValues + } + updateCache(newState) + setSubmitting(true) + dispatch({ type: ActionTypes.UPDATE_TOKEN_SETTINGS, contractInfo: newValues }) + history.push(`distribution`) + } + + return ( + <> + + + + Configure Etherlink Token Contract + + + + + {({ submitForm, isSubmitting, setFieldValue, values, errors, touched, setFieldTouched }) => { + return ( +

+ + + ) + }} + + + + ) +} diff --git a/src/modules/creator/token/etherlink/steps/Distribution.tsx b/src/modules/creator/token/etherlink/steps/Distribution.tsx new file mode 100644 index 00000000..f6c0d2b8 --- /dev/null +++ b/src/modules/creator/token/etherlink/steps/Distribution.tsx @@ -0,0 +1,300 @@ +/* eslint-disable @typescript-eslint/no-non-null-assertion */ +import { Grid, IconButton, Typography, useMediaQuery, useTheme } from "@material-ui/core" +import { Field, FieldArray, Form, Formik, FormikErrors } from "formik" +import React, { useContext, useEffect } from "react" +import { useHistory, useRouteMatch } from "react-router-dom" +import { DeploymentContext } from "../state/context" +import { ActionTypes, Holder, TokenDistributionSettings } from "../state/types" +import BigNumber from "bignumber.js" +import { numberWithCommas } from "utils" +import { useTezos } from "services/beacon/hooks/useTezos" +import { FieldChange, handleNegativeInput } from "modules/creator/utils" +import AddCircleIcon from "@mui/icons-material/AddCircle" +import { validateContractAddress, validateAddress } from "@taquito/utils" +import { isAddress as isEtherAddress } from "ethers" +import { + CustomFormikTextField, + AddButtonContainer, + CustomAmountContainer, + CustomInputContainer, + RemoveButton, + AmountText, + ErrorText +} from "../../ui" + +const hasDuplicates = (options: Holder[]) => { + const trimOptions = options.map(option => option.walletAddress.trim()) + return new Set(trimOptions).size !== trimOptions.length +} + +const validateForm = (values: TokenDistributionSettings) => { + const errors: FormikErrors = {} + + values.holders.forEach((holder: Holder, index: number) => { + if (values.holders[index].walletAddress && !values.holders[index].amount) { + errors.holders = "Required" + } + if (!values.holders[index].walletAddress && values.holders[index].amount) { + errors.holders = "Required" + } + if (values.holders.length > 0 && hasDuplicates(values.holders)) { + errors.holders = "Duplicate wallets are not allowed" + } + if (values.totalAmount && values.totalAmount.minus(new BigNumber(getTotal(values.holders))) < new BigNumber(0)) { + errors.totalAmount = "Available balance has to be greater that the total supply" + } + if (values.totalAmount && values.totalAmount.gt(new BigNumber(getTotal(values.holders)))) { + errors.totalAmount = "Total Supply not fully allocated" + } + if (!isEtherAddress(values.holders[index].walletAddress)) { + errors.holders = "Invalid address" + } + }) + + return errors +} + +const TokenSettingsForm = ({ submitForm, values, errors, touched }: any) => { + const theme = useTheme() + const isMobile = useMediaQuery(theme.breakpoints.down("sm")) + + const newValue: Holder = { walletAddress: "", amount: null } + + const { dispatch } = useContext(DeploymentContext) + const match = useRouteMatch() + const history = useHistory() + + useEffect(() => { + if (values) { + dispatch({ + type: ActionTypes.UPDATE_NAVIGATION_BAR, + next: { + text: "Continue", + handler: () => { + submitForm(values) + } + }, + back: { + text: "Back", + handler: () => history.push(`config`) + } + }) + } + }, [dispatch, errors, history, match.path, match.url, submitForm, values]) + + return ( + <> + + ( +
+ {values.holders && values.holders.length > 0 + ? values.holders.map((holder: any, index: number) => ( +
+ {isMobile ? Wallet address : null} + + + + + + {isMobile ? ( + + Amount + + ) : null} + + + handleNegativeInput(e)} + InputProps={{ + endAdornment: + index !== 0 ? ( + { + if (index !== 0) { + arrayHelpers.remove(index) + } + }} + /> + ) : ( + + ) + }} + /> + + + {index === values.holders.length - 1 ? ( + + arrayHelpers.insert(values.holders.length, newValue)} + > + + + arrayHelpers.insert(values.holders.length, newValue)} + color={"secondary"} + > + Add + + + ) : null} + +
+ )) + : null} + {errors.holders && touched.holders ? {errors.holders} : null} +
+ )} + /> +
+ + ) +} + +const getTotal = (holders: Holder[]) => { + let total = 0 + holders.forEach(holder => (total += Number(holder.amount))) + return total +} + +export const ContractDistribution: React.FC = () => { + const { state, dispatch, updateCache } = useContext(DeploymentContext) + const { tokenDistribution, tokenSettings } = state.data + const history = useHistory() + const { account } = useTezos() + + const theme = useTheme() + const isMobile = useMediaQuery(theme.breakpoints.down("sm")) + + tokenDistribution.totalAmount = new BigNumber(Number(tokenSettings.totalSupply)) + + const saveStepInfo = ( + values: TokenDistributionSettings, + { setSubmitting }: { setSubmitting: (b: boolean) => void } + ) => { + const newValues: TokenDistributionSettings = { ...values } + + if (newValues.holders.length === 1 && newValues.holders[0].walletAddress === "") { + newValues.holders[0].walletAddress = account + newValues.holders[0].amount = newValues.totalAmount.toNumber() + } + + const newState = { + ...state.data, + tokenDistribution: newValues + } + updateCache(newState) + setSubmitting(true) + dispatch({ type: ActionTypes.UPDATE_TOKEN_DISTRIBUTION, distribution: newValues }) + history.push(`summary`) + } + + return ( + + + + Initial Token Distribution + + + + {({ submitForm, isSubmitting, setFieldValue, values, errors, touched, setFieldTouched }) => { + return ( +
+ + + + + Total supply:{" "} + + + {" "} + {numberWithCommas(values.totalAmount)}{" "} + + + + + Available: + + + {" "} + {numberWithCommas( + values.totalAmount && values.totalAmount.minus(new BigNumber(getTotal(values.holders))) + )} + + + + {errors.totalAmount && touched.totalAmount ? ( + {errors.totalAmount} + ) : null} + + + + + Wallet Address + + + + + Amount + + + + + +
+ ) + }} +
+
+ ) +} diff --git a/src/modules/creator/deployment/steps/Ownership.tsx b/src/modules/creator/token/etherlink/steps/Ownership.tsx similarity index 62% rename from src/modules/creator/deployment/steps/Ownership.tsx rename to src/modules/creator/token/etherlink/steps/Ownership.tsx index 92999427..eb09f319 100644 --- a/src/modules/creator/deployment/steps/Ownership.tsx +++ b/src/modules/creator/token/etherlink/steps/Ownership.tsx @@ -1,83 +1,20 @@ import React from "react" -import { Grid, Link, styled, Typography, useMediaQuery, useTheme } from "@material-ui/core" +import { Grid, useMediaQuery, useTheme } from "@material-ui/core" import { MainButton } from "modules/common/MainButton" import { Navbar } from "modules/common/Toolbar" import { useHistory } from "react-router-dom" import { useTezos } from "services/beacon/hooks/useTezos" - -const PageContainer = styled(Grid)(({ theme }) => ({ - background: theme.palette.primary.main -})) - -const PageContent = styled(Grid)(({ theme }) => ({ - width: "1000px", - height: "100%", - margin: "auto", - padding: "28px 0", - flexDirection: "row", - paddingTop: 0, - ["@media (max-width:1167px)"]: { - width: "86vw" - }, - [theme.breakpoints.down("sm")]: { - marginTop: 10 - } -})) - -const Title = styled(Typography)(({ theme }) => ({ - fontSize: 32, - fontWeight: 600, - textAlign: "center", - [theme.breakpoints.down("sm")]: { - fontSize: 26 - } -})) - -const CardContainer = styled(Grid)(({ theme }) => ({ - background: theme.palette.primary.dark, - gap: 32, - borderRadius: 8, - padding: "40px 48px", - [theme.breakpoints.down("sm")]: { - padding: "30px 38px" - } -})) - -const DescriptionContainer = styled(Grid)(({ theme }) => ({ - [theme.breakpoints.down("sm")]: { - paddingLeft: "4%", - paddingRight: "4%" - } -})) - -const OptionsContainer = styled(Grid)(({ theme }) => ({ - [theme.breakpoints.down("sm")]: { - paddingLeft: "4%", - paddingRight: "4%" - } -})) - -const ChoicesContainer = styled(Grid)(({ theme }) => ({ - [theme.breakpoints.down("sm")]: { - gap: 32 - } -})) - -const DescriptionText = styled(Typography)(({ theme }) => ({ - fontWeight: 300, - fontSize: 18, - color: theme.palette.text.secondary, - [theme.breakpoints.down("sm")]: { - fontSize: 14 - } -})) - -const OptionButton = styled(Link)(({ theme }) => ({ - [theme.breakpoints.down("sm")]: { - display: "flex", - textAlign: "center" - } -})) +import { + CenterTitle, + PageContainer, + PageContent, + DescriptionText, + CardContainer, + DescriptionContainer, + OptionsContainer, + ChoicesContainer, + OptionButton +} from "../../ui" export const Ownership: React.FC = () => { const theme = useTheme() @@ -92,7 +29,7 @@ export const Ownership: React.FC = () => { - Do you already have a governance token? + Do you already have a governance token? diff --git a/src/modules/creator/deployment/steps/Success.tsx b/src/modules/creator/token/etherlink/steps/Success.tsx similarity index 64% rename from src/modules/creator/deployment/steps/Success.tsx rename to src/modules/creator/token/etherlink/steps/Success.tsx index fe8080de..df73b36c 100644 --- a/src/modules/creator/deployment/steps/Success.tsx +++ b/src/modules/creator/token/etherlink/steps/Success.tsx @@ -1,82 +1,19 @@ import React, { useEffect, useState } from "react" -import { Grid, Link, styled, Typography, useMediaQuery, useTheme } from "@material-ui/core" +import { Grid, Typography, useMediaQuery, useTheme } from "@material-ui/core" import { MainButton } from "modules/common/MainButton" import { Navbar } from "modules/common/Toolbar" import { useHistory, useLocation } from "react-router-dom" import { Blockie } from "modules/common/Blockie" import { CopyAddress } from "modules/common/CopyAddress" - -const PageContainer = styled(Grid)(({ theme }) => ({ - background: theme.palette.primary.main -})) - -const PageContent = styled(Grid)(({ theme }) => ({ - width: "1000px", - height: "100%", - margin: "auto", - padding: "28px 0", - flexDirection: "row", - paddingTop: 0, - ["@media (max-width:1167px)"]: { - width: "86vw" - }, - [theme.breakpoints.down("sm")]: { - marginTop: 10 - } -})) - -const Title = styled(Typography)({ - fontSize: 24, - textAlign: "center" -}) - -const CardContainer = styled(Grid)(({ theme }) => ({ - background: theme.palette.primary.dark, - borderRadius: 8, - padding: "36px 47px" -})) - -const DescriptionContainer = styled(Grid)(({ theme }) => ({ - display: "inline-flex", - [theme.breakpoints.down("sm")]: { - paddingLeft: "4%", - paddingRight: "4%" - } -})) - -const OptionsContainer = styled(Grid)(({ theme }) => ({ - marginTop: 40, - [theme.breakpoints.down("sm")]: { - marginTop: 40 - } -})) - -const ChoicesContainer = styled(Grid)(({ theme }) => ({ - marginTop: 32, - gap: 48, - [theme.breakpoints.down("sm")]: { - gap: 16 - } -})) - -const DescriptionText = styled(Typography)(({ theme }) => ({ - fontWeight: 200, - color: theme.palette.text.secondary, - [theme.breakpoints.down("sm")]: { - fontSize: 14 - } -})) - -const OptionButton = styled(Link)(({ theme }) => ({ - [theme.breakpoints.down("sm")]: { - width: "95%", - display: "flex", - textAlign: "center" - }, - [theme.breakpoints.down("sm")]: { - justifyContent: "center" - } -})) +import { PageContainer, PageContent, TitleMediumCenter } from "../../ui" +import { + CardContainer, + DescriptionContainer, + DescriptionText, + OptionsContainer, + ChoicesContainer, + OptionButton +} from "../../ui/success" export const Success: React.FC = () => { const location = useLocation<{ address: string }>() @@ -86,6 +23,7 @@ export const Success: React.FC = () => { const isMobile = useMediaQuery(theme.breakpoints.down("sm")) useEffect(() => { + console.log({ location }) if (location && location.state && location.state.address) { setAddress(location.state.address) } else { @@ -99,7 +37,7 @@ export const Success: React.FC = () => { - Governance token successfully deployed! + Governance token successfully deployed! diff --git a/src/modules/creator/token/etherlink/steps/Summary.tsx b/src/modules/creator/token/etherlink/steps/Summary.tsx new file mode 100644 index 00000000..1de8ef31 --- /dev/null +++ b/src/modules/creator/token/etherlink/steps/Summary.tsx @@ -0,0 +1,234 @@ +import React, { useContext, useEffect, useState } from "react" +import { Grid, styled, Typography, useMediaQuery, useTheme } from "@material-ui/core" +import { useHistory, useRouteMatch } from "react-router-dom" +import { toShortAddress } from "services/contracts/utils" +import { DeploymentContext } from "../state/context" +import BigNumber from "bignumber.js" +import { Blockie } from "modules/common/Blockie" +import { ActionTypes } from "../state/types" +import { useTokenOriginate } from "services/contracts/token/hooks/useToken" +import { CopyButton } from "modules/explorer/components/CopyButton" +import { numberWithCommas } from "utils" +import { + TitleSpacing, + ContainerEdit, + AdminAddress, + AdminAddressIcon, + KeyText, + AddressText, + ThirdContainer, + ThirdContainerFirstRow, + ThirdContainerRow, + ThirdContainerLastRow +} from "../../ui" +export const ContractSummary: React.FC = () => { + const theme = useTheme() + const isMobile = useMediaQuery(theme.breakpoints.down("sm")) + const history = useHistory() + const match = useRouteMatch() + + const { state, dispatch } = useContext(DeploymentContext) + const { tokenDistribution, tokenSettings } = state.data + + const [isLoading, setIsLoading] = useState(false) + + const goToSettings = () => { + history.push(`config`) + } + + const goToDistribution = () => { + history.push(`distribution`) + } + + const { + mutation: { mutate, data } + } = useTokenOriginate(state.data) + + useEffect(() => { + if (data && data.address) { + dispatch({ + type: ActionTypes.CLEAR_CACHE + }) + history.push("/creator/success", { address: data.address }) + } else if (data && !data.address) { + setIsLoading(false) + } + }, [data, dispatch, history]) + + useEffect(() => { + dispatch({ + type: ActionTypes.UPDATE_NAVIGATION_BAR, + back: { + handler: () => history.push(`distribution`), + text: "Back" + }, + next: { + handler: () => { + mutate({ + ...state.data + }) + setIsLoading(true) + }, + text: isLoading ? "Deploying..." : "Launch" + } + }) + }, [dispatch, history, match.path, match.url, mutate, state.data, isLoading]) + + return ( + <> + + + + Review Information + + + {" "} + Make sure you’ve set up your token right.{" "} + + + + + + + + Token Contract Settings + + Edit + + + + + + + + Name + + + + + {tokenSettings.name} + + + + + + + + + + Description + + + + + {tokenSettings.description} + + + + + + + + + + Symbol + + + + + {tokenSettings.symbol} + + + + + + + + + + Supply + + + + + {numberWithCommas(new BigNumber(Number(tokenSettings.totalSupply)))} + + + + + + {/* + + + + Icon + + + + + icon + {tokenSettings.icon} + + + + */} + + + + + + + Initial Distribution + + Edit + + + + {tokenDistribution.holders && tokenDistribution.holders.length > 0 + ? tokenDistribution.holders.map((holder, index) => { + return ( + + + + + + {toShortAddress(holder.walletAddress)} + + + + + + {numberWithCommas(new BigNumber(Number(holder.amount)))} + + + + + ) + }) + : null} + + + + ) +} diff --git a/src/modules/creator/token/etherlink/steps/index.tsx b/src/modules/creator/token/etherlink/steps/index.tsx new file mode 100644 index 00000000..f63a7bcb --- /dev/null +++ b/src/modules/creator/token/etherlink/steps/index.tsx @@ -0,0 +1,61 @@ +import React, { useMemo } from "react" +import { Route, Switch, useLocation } from "react-router" +import { Redirect, useRouteMatch } from "react-router-dom" + +import { StepInfo } from "modules/creator/state" + +import { ProtectedRoute } from "modules/creator/components/ProtectedRoute" +import { ConfigContract } from "./Config" +import { ContractDistribution } from "./Distribution" +import { ContractSummary } from "./Summary" + +export const STEPS: StepInfo[] = [ + { title: "Configure Etherlink Token Contract", index: 0, path: "config" }, + { title: "Initial Etherlink Token Distribution", index: 1, path: "distribution" }, + { title: "Review Etherlink Token Information", index: 2, path: "summary" } +] + +const urlToStepMap: Record = { + config: 0, + distribution: 1, + summary: 2 +} + +export const DeploymentStepRouter: React.FC = () => { + const match = useRouteMatch() + + return ( + + + + + + + + + + + + + + + ) +} + +type CreatorRouteNames = keyof typeof urlToStepMap + +export const useDeploymentStepNumber = (): number => { + const { pathname } = useLocation() + + return useMemo(() => { + const extracted: CreatorRouteNames = pathname.endsWith("/") + ? pathname.split("/").slice(-1)[0] + : pathname.split("/").slice(-1)[0] + + return urlToStepMap[extracted] + }, [pathname]) +} + +export { ConfigContract } from "./Config" +export { ContractDistribution } from "./Distribution" +export { ContractSummary } from "./Summary" diff --git a/src/modules/creator/token/index.tsx b/src/modules/creator/token/index.tsx new file mode 100644 index 00000000..d336f463 --- /dev/null +++ b/src/modules/creator/token/index.tsx @@ -0,0 +1,5 @@ +import React from "react" + +export const TokenDeployment: React.FC = () => { + return
Token Deployment
+} diff --git a/src/modules/creator/token/router.tsx b/src/modules/creator/token/router.tsx new file mode 100644 index 00000000..dd0e299d --- /dev/null +++ b/src/modules/creator/token/router.tsx @@ -0,0 +1,60 @@ +import React from "react" +import { Redirect, Route, Switch, useRouteMatch } from "react-router-dom" +import { TezosTokenDeployment } from "./tezos" +import { ConfigContract as TezosConfigContract } from "./tezos/steps/Config" +import { ContractDistribution as TezosContractDistribution } from "./tezos/steps/Distribution" +import { ContractSummary as TezosContractSummary } from "./tezos/steps/Summary" +import { Ownership as TezosOwnership } from "./tezos/steps/Ownership" +import { Success as TezosSuccess } from "./tezos/steps/Success" +import { Success as EtherlinkSuccess } from "./etherlink/steps/Success" +import { EtherlinkTokenDeployment } from "./etherlink" +import { useTezos } from "services/beacon/hooks/useTezos" +import { DeploymentProvider as EtherlinkDeploymentProvider } from "./etherlink/state/context" +import { DeploymentProvider as TezosDeploymentProvider } from "./tezos/state/context" + +export const TokenDeploymentRouter = (): JSX.Element => { + const { network } = useTezos() + const match = useRouteMatch() + + console.log("Network from token router", network) + if (network.startsWith("etherlink")) { + return ( + + + + + + + + + + + ) + } + + return ( + + + + + + + + + + + + + + + + + + + + + + + + ) +} diff --git a/src/modules/creator/deployment/index.tsx b/src/modules/creator/token/tezos/index.tsx similarity index 57% rename from src/modules/creator/deployment/index.tsx rename to src/modules/creator/token/tezos/index.tsx index 48b59fc4..3afe8d41 100644 --- a/src/modules/creator/deployment/index.tsx +++ b/src/modules/creator/token/tezos/index.tsx @@ -1,114 +1,24 @@ import React, { useContext, useMemo } from "react" -import { - Box, - Grid, - Link, - Paper, - Step, - StepLabel, - Stepper, - styled, - Typography, - useMediaQuery, - useTheme -} from "@material-ui/core" +import { Box, Grid, Step, StepLabel, useMediaQuery, useTheme } from "@material-ui/core" import { Navbar } from "modules/common/Toolbar" import ProgressBar from "react-customizable-progressbar" import { DeploymentStepRouter, STEPS, useDeploymentStepNumber } from "./steps" import { StepInfo } from "./state" import { useHistory } from "react-router-dom" -import { NavigationBar } from "../components/NavigationBar" +import { NavigationBar } from "../../components/NavigationBar" import { DeploymentContext } from "./state/context" - -const PageContainer = styled(Grid)(({ theme }) => ({ - background: theme.palette.primary.main -})) - -const PageContent = styled(Grid)(({ theme }) => ({ - marginTop: 0, - width: "1000px", - height: "100%", - margin: "auto", - padding: "28px 0", - flexDirection: "row", - paddingTop: 0, - ["@media (max-width:1167px)"]: { - width: "86vw" - }, - [theme.breakpoints.down("sm")]: { - marginTop: 10 - } -})) - -const IndicatorValue = styled(Paper)(({ theme }) => ({ - display: "flex", - alignItems: "center", - justifyContent: "center", - textAlign: "center", - position: "absolute", - top: 0, - width: "100%", - height: "100%", - margin: "0 auto", - fontSize: 25, - fontWeight: 300, - color: theme.palette.text.secondary, - userSelect: "none", - boxShadow: "none", - background: "inherit", - fontFamily: "Roboto Flex" -})) - -const StepContentContainer = styled(Grid)({ - alignItems: "baseline", - height: "100%", - paddingTop: 0, - boxSizing: "border-box", - overflowY: "auto", - marginLeft: 47, - zIndex: 10, - width: "fit-content", - ["@media (max-width:1167px)"]: { - marginLeft: 0 - } -}) - -const ProgressContainer = styled(Grid)(({ theme }) => ({ - background: "#2F3438", - display: "grid", - borderRadius: 8, - maxHeight: 480, - paddingTop: 20, - position: "sticky", - top: 125 -})) - -const StyledStepper = styled(Stepper)({ - "background": "inherit", - "paddingTop": 48, - "& .MuiStepLabel-label": { - fontSize: 14, - lineHeight: 14 - }, - "cursor": "pointer" -}) - -const FAQClickToAction = styled(Typography)(({ theme }) => ({ - color: theme.palette.secondary.main, - fontSize: "14px", - cursor: "pointer", - textAlign: "center", - textDecoration: "underline" -})) - -const FAQClickText = styled(Typography)(({ theme }) => ({ - color: theme.palette.text.secondary, - fontSize: "14px", - cursor: "pointer", - textAlign: "center" -})) - -export const Deployment: React.FC = () => { +import { + PageContainer, + PageContent, + ProgressContainer, + IndicatorValue, + FAQClickText, + FAQClickToAction, + StyledStepper, + StepContentContainer +} from "../ui" + +export const TezosTokenDeployment: React.FC = () => { const creator = useContext(DeploymentContext) const { back, next } = creator.state diff --git a/src/modules/creator/token/tezos/state/context.tsx b/src/modules/creator/token/tezos/state/context.tsx new file mode 100644 index 00000000..75f1cff1 --- /dev/null +++ b/src/modules/creator/token/tezos/state/context.tsx @@ -0,0 +1,114 @@ +import React, { createContext, useReducer, Dispatch, useMemo } from "react" +import useLocalStorage from "modules/common/hooks/useLocalStorage" +import { DeploymentAction, DeploymentState, TokenContractParams, ActionTypes } from "./types" +import BigNumber from "bignumber.js" + +const deploymentStatus = { + deploying: false, + successful: false +} + +const LOCAL_STORAGE_KEY = "deploymentParams" + +export const INITIAL_TOKEN_STATE: TokenContractParams = { + tokenSettings: { + name: "", + description: "", + totalSupply: null, + decimals: null, + symbol: "", + icon: "" + }, + tokenDistribution: { + holders: [ + { + walletAddress: "", + amount: null + } + ], + totalAmount: new BigNumber(0) + } +} + +export const INITIAL_STATE: DeploymentState = { + data: INITIAL_TOKEN_STATE, + deploymentStatus +} + +const DeploymentContext = createContext<{ + state: DeploymentState + dispatch: Dispatch + updateCache: (value: TokenContractParams) => void +}>({ + state: INITIAL_STATE, + dispatch: () => null, + updateCache: () => null +}) + +export const reducer = (state: DeploymentState, action: DeploymentAction): DeploymentState => { + switch (action.type) { + case ActionTypes.UPDATE_DEPLOYMENT_STATUS: + const { contract, deploying } = action.status + state = { + ...state, + deploymentStatus: { + contract, + deploying, + successful: false + } + } + return state + case ActionTypes.UPDATE_NAVIGATION_BAR: + state = { + ...state, + next: action.next, + back: action.back + } + return state + case ActionTypes.UPDATE_TOKEN_SETTINGS: + state = { + ...state, + data: { + ...state.data, + tokenSettings: action.contractInfo + } + } + return state + case ActionTypes.UPDATE_TOKEN_DISTRIBUTION: + state = { + ...state, + data: { + ...state.data, + tokenDistribution: action.distribution + } + } + return state + case ActionTypes.CLEAR_CACHE: + window.localStorage.removeItem(LOCAL_STORAGE_KEY) + state = { + ...INITIAL_STATE, + deploymentStatus: { + ...INITIAL_STATE.deploymentStatus, + successful: true + } + } + return state + } +} + +const DeploymentProvider: React.FC = ({ children }) => { + const [data, updateCache] = useLocalStorage(LOCAL_STORAGE_KEY, INITIAL_STATE.data) + + const stateWithCache = { + ...INITIAL_STATE, + data + } + + const [state, dispatch] = useReducer(reducer, stateWithCache) + const contextValue = useMemo(() => { + return { state, dispatch } + }, [state, dispatch]) + return {children} +} + +export { DeploymentProvider, DeploymentContext } diff --git a/src/modules/creator/token/tezos/state/index.ts b/src/modules/creator/token/tezos/state/index.ts new file mode 100644 index 00000000..8234ebd8 --- /dev/null +++ b/src/modules/creator/token/tezos/state/index.ts @@ -0,0 +1,3 @@ +export * from "modules/creator/state/context" +export * from "modules/creator/state/types" +export * from "modules/creator/state/utils" diff --git a/src/modules/creator/token/tezos/state/types.ts b/src/modules/creator/token/tezos/state/types.ts new file mode 100644 index 00000000..74e690a5 --- /dev/null +++ b/src/modules/creator/token/tezos/state/types.ts @@ -0,0 +1,100 @@ +import BigNumber from "bignumber.js" +import { NavigationBarProps } from "modules/creator/state/types" + +export type TokenContractSettings = { + name: string + description: string + totalSupply: number | null + decimals: number | null + symbol: string + icon: string +} + +export type TokenDistributionSettings = { + holders: Holder[] + totalAmount: BigNumber +} + +export type Holder = { + walletAddress: string + amount: number | null +} + +export interface TokenContractParams { + tokenSettings: TokenContractSettings + tokenDistribution: TokenDistributionSettings +} + +export type ErrorValues = Partial> + +type DeploymentStatus = { + deploying: boolean + successful: boolean + contract?: string +} + +export type DeploymentState = { + data: TokenContractParams + deploymentStatus: DeploymentStatus +} & NavigationBarProps + +export interface StepInfo { + title: string + index: number + path: string +} + +function updateTokenSettings(contractInfo: TokenContractSettings) { + return { + type: ActionTypes.UPDATE_TOKEN_SETTINGS, + contractInfo + } +} + +function updateTokenDistribution(distribution: TokenDistributionSettings) { + return { + type: ActionTypes.UPDATE_TOKEN_DISTRIBUTION, + distribution + } +} + +function updateDeploymentStatus({ deploying, contract }: DeploymentStatus) { + return { + type: ActionTypes.UPDATE_DEPLOYMENT_STATUS, + status: { deploying, contract } + } +} + +function updateNavigationBar(props: NavigationBarProps) { + return { + type: ActionTypes.UPDATE_NAVIGATION_BAR, + ...props + } +} + +function clearCache() { + return { + type: ActionTypes.CLEAR_CACHE + } +} + +export type DeploymentAction = ReturnType< + | typeof updateTokenSettings + | typeof updateDeploymentStatus + | typeof clearCache + | typeof updateTokenDistribution + | typeof updateNavigationBar +> + +export enum ActionTypes { + UPDATE_NAVIGATION_BAR = "UPDATE_NAVIGATION_BAR", + UPDATE_TOKEN_SETTINGS = "UPDATE_TOKEN_SETTINGS", + UPDATE_TOKEN_DISTRIBUTION = "UPDATE_TOKEN_DISTRIBUTION", + UPDATE_DEPLOYMENT_STATUS = "UPDATE_DEPLOYMENT_STATUS", + CLEAR_CACHE = "CLEAR_CACHE" +} +export interface TokenHolder { + address: string + balance: number + name?: string +} diff --git a/src/modules/creator/deployment/steps/Config.tsx b/src/modules/creator/token/tezos/steps/Config.tsx similarity index 79% rename from src/modules/creator/deployment/steps/Config.tsx rename to src/modules/creator/token/tezos/steps/Config.tsx index 87f7a7ce..8db27e91 100644 --- a/src/modules/creator/deployment/steps/Config.tsx +++ b/src/modules/creator/token/tezos/steps/Config.tsx @@ -1,96 +1,18 @@ -import { - Grid, - styled, - TextareaAutosize, - Typography, - useMediaQuery, - useTheme, - withStyles, - withTheme -} from "@material-ui/core" +import { Grid, Typography, useMediaQuery, useTheme } from "@material-ui/core" import { Field, Form, Formik, FormikErrors, getIn } from "formik" import React, { useContext, useEffect } from "react" import { useHistory, useRouteMatch } from "react-router-dom" import { DeploymentContext } from "../state/context" import { ActionTypes, TokenContractSettings } from "../state/types" -import { TextField as FormikTextField } from "formik-material-ui" import { FieldChange, handleChange, handleNegativeInput } from "modules/creator/utils" - -const Title = styled(Typography)(({ theme }) => ({ - fontSize: 32, - fontWeight: 600, - [theme.breakpoints.down("sm")]: { - fontSize: 26 - } -})) - -const CustomTextarea = styled(withTheme(TextareaAutosize))(props => ({ - "minHeight": 152, - "boxSizing": "border-box", - "width": "100%", - "marginTop": 14, - "fontWeight": 300, - "padding": "21px 20px", - "fontFamily": "Roboto Flex", - "border": "none", - "fontSize": 16, - "color": props.theme.palette.text.secondary, - "background": "#2F3438", - "borderRadius": 8, - "paddingRight": 40, - "wordBreak": "break-word", - "&:focus-visible": { - outline: "none" - }, - "resize": "none" -})) - -const CustomFormikTextField = withStyles({ - root: { - "& .MuiInput-root": { - fontWeight: 300, - textAlign: "initial" - }, - "& .MuiInputBase-input": { - textAlign: "initial" - }, - "& .MuiInput-underline:before": { - borderBottom: "none !important" - }, - "& .MuiInput-underline:hover:before": { - borderBottom: "none !important" - }, - "& .MuiInput-underline:after": { - borderBottom: "none !important" - } - } -})(FormikTextField) - -const CustomInputContainer = styled(Grid)(({ theme }) => ({ - "height": 54, - "boxSizing": "border-box", - "marginTop": 14, - "background": "#2F3438", - "borderRadius": 8, - "alignItems": "center", - "display": "flex", - "padding": "13px 23px", - "fontWeight": 300, - "& input::placeholder": { - fontWeight: 300 - } -})) - -const ErrorText = styled(Typography)({ - fontSize: 14, - color: "red", - marginTop: 4 -}) - -const TextareaContainer = styled(Grid)({ - display: "flex", - position: "relative" -}) +import { + Title, + CustomTextarea, + CustomFormikTextField, + CustomInputContainer, + ErrorText, + TextareaContainer +} from "../../ui" const validateForm = (values: TokenContractSettings) => { const errors: FormikErrors = {} diff --git a/src/modules/creator/deployment/steps/Distribution.tsx b/src/modules/creator/token/tezos/steps/Distribution.tsx similarity index 83% rename from src/modules/creator/deployment/steps/Distribution.tsx rename to src/modules/creator/token/tezos/steps/Distribution.tsx index 181f12e2..3909cb56 100644 --- a/src/modules/creator/deployment/steps/Distribution.tsx +++ b/src/modules/creator/token/tezos/steps/Distribution.tsx @@ -1,107 +1,26 @@ /* eslint-disable @typescript-eslint/no-non-null-assertion */ -import { Grid, IconButton, styled, Typography, useMediaQuery, useTheme, withStyles } from "@material-ui/core" +import { Grid, IconButton, Typography, useMediaQuery, useTheme } from "@material-ui/core" import { Field, FieldArray, Form, Formik, FormikErrors } from "formik" import React, { useContext, useEffect } from "react" import { useHistory, useRouteMatch } from "react-router-dom" import { DeploymentContext } from "../state/context" -import { ActionTypes, Holder, TokenContractSettings, TokenDistributionSettings } from "../state/types" -import { TextField as FormikTextField } from "formik-material-ui" -import { RemoveCircleOutline } from "@material-ui/icons" +import { ActionTypes, Holder, TokenDistributionSettings } from "../state/types" import BigNumber from "bignumber.js" -import { numberWithCommas } from "../state/utils" + import { useTezos } from "services/beacon/hooks/useTezos" import { FieldChange, handleNegativeInput } from "modules/creator/utils" import AddCircleIcon from "@mui/icons-material/AddCircle" import { validateContractAddress, validateAddress } from "@taquito/utils" - -const RemoveButton = styled(RemoveCircleOutline)({ - marginTop: 0, - fontSize: 18 -}) - -const AmountText = styled(Typography)({ - fontWeight: 400 -}) - -const CustomFormikTextField = withStyles({ - root: { - "& .MuiInput-root": { - fontWeight: 300, - textAlign: "initial" - }, - "& .MuiInputBase-input": { - textAlign: "initial" - }, - "& .MuiInput-underline:before": { - borderBottom: "none !important" - }, - "& .MuiInput-underline:hover:before": { - borderBottom: "none !important" - }, - "& .MuiInput-underline:after": { - borderBottom: "none !important" - } - } -})(FormikTextField) - -const CustomInputContainer = styled(Grid)(({ theme }) => ({ - "height": 54, - "boxSizing": "border-box", - "marginTop": 14, - "background": "#2F3438", - "borderRadius": 8, - "alignItems": "center", - "display": "flex", - "padding": "13px 23px", - "width": "85%", - "fontWeight": 300, - "& input::placeholder": { - fontWeight: 300 - }, - [theme.breakpoints.down("sm")]: { - width: "100%" - } -})) - -const CustomAmountContainer = styled(Grid)(({ theme }) => ({ - "height": 54, - "boxSizing": "border-box", - "marginTop": 14, - "background": "#2F3438", - "borderRadius": 8, - "alignItems": "center", - "display": "flex", - "padding": "13px 23px", - "width": "45%", - "& input::placeholder": { - fontWeight: 300 - }, - [theme.breakpoints.down("sm")]: { - width: "100%" - } -})) - -const AddButtonContainer = styled(Grid)(({ theme }) => ({ - "height": 54, - "boxSizing": "border-box", - "marginTop": 14, - "alignItems": "center", - "display": "flex", - "padding": "0px 0px", - "width": "15%", - "& input::placeholder": { - fontWeight: 300 - }, - [theme.breakpoints.down("sm")]: { - width: "100%" - } -})) - -const ErrorText = styled(Typography)({ - fontSize: 14, - color: "red", - marginTop: 4 -}) +import { numberWithCommas } from "utils" +import { + CustomFormikTextField, + AddButtonContainer, + CustomAmountContainer, + CustomInputContainer, + RemoveButton, + AmountText, + ErrorText +} from "../../ui" const isInvalidKtOrTzAddress = (address: string) => validateContractAddress(address) !== 3 && validateAddress(address) !== 3 diff --git a/src/modules/creator/token/tezos/steps/Ownership.tsx b/src/modules/creator/token/tezos/steps/Ownership.tsx new file mode 100644 index 00000000..e7b691ce --- /dev/null +++ b/src/modules/creator/token/tezos/steps/Ownership.tsx @@ -0,0 +1,84 @@ +import React from "react" +import { Grid, useMediaQuery, useTheme } from "@material-ui/core" +import { MainButton } from "modules/common/MainButton" +import { Navbar } from "modules/common/Toolbar" +import { useHistory } from "react-router-dom" +import { useTezos } from "services/beacon/hooks/useTezos" +import { + CenterTitle, + PageContainer, + PageContent, + DescriptionText, + CardContainer, + DescriptionContainer, + OptionsContainer, + ChoicesContainer, + OptionButton +} from "../../ui" + +export const Ownership: React.FC = () => { + const theme = useTheme() + const { account, etherlink } = useTezos() + const history = useHistory() + const isMobileSmall = useMediaQuery(theme.breakpoints.down("sm")) + + return ( + <> + + + + + + Do you already have a governance token? + + + + + + This would be an FA2-compatible token contract that will serve to assign voting weight based on + ownership. + + + + + + + If you already have this asset deployed, click YES. If not, click NO and we will configure and deploy + one now. + + + + + + + + + Yes, I have one + + + + + { + const href = `/creator/deployment` + history.push(href) + }} + > + + No, I need one + + + + + + + + + ) +} diff --git a/src/modules/creator/token/tezos/steps/Success.tsx b/src/modules/creator/token/tezos/steps/Success.tsx new file mode 100644 index 00000000..5b0b9c04 --- /dev/null +++ b/src/modules/creator/token/tezos/steps/Success.tsx @@ -0,0 +1,92 @@ +import React, { useEffect, useState } from "react" +import { Grid, Typography, useMediaQuery, useTheme } from "@material-ui/core" +import { MainButton } from "modules/common/MainButton" +import { Navbar } from "modules/common/Toolbar" +import { useHistory, useLocation } from "react-router-dom" +import { Blockie } from "modules/common/Blockie" +import { CopyAddress } from "modules/common/CopyAddress" +import { PageContainer, PageContent, TitleMediumCenter } from "../../ui" +import { + CardContainer, + DescriptionContainer, + DescriptionText, + OptionsContainer, + ChoicesContainer, + OptionButton +} from "../../ui/success" + +export const Success: React.FC = () => { + const location = useLocation<{ address: string }>() + const [address, setAddress] = useState("") + const history = useHistory() + const theme = useTheme() + const isMobile = useMediaQuery(theme.breakpoints.down("sm")) + + useEffect(() => { + if (location && location.state && location.state.address) { + setAddress(location.state.address) + } else { + history.push("/explorer") + } + }, [location, history]) + return ( + <> + + + + + + Governance token successfully deployed! + + + + + Your Token Address: + + + + + {address && ( + + )} + + + + + Would you like to continue and create a DAO? + + + + + + + + Create DAO + + + + + + + {"I'm done"} + + + + + + + + + ) +} diff --git a/src/modules/creator/deployment/steps/Summary.tsx b/src/modules/creator/token/tezos/steps/Summary.tsx similarity index 82% rename from src/modules/creator/deployment/steps/Summary.tsx rename to src/modules/creator/token/tezos/steps/Summary.tsx index aa23b4bf..94513a08 100644 --- a/src/modules/creator/deployment/steps/Summary.tsx +++ b/src/modules/creator/token/tezos/steps/Summary.tsx @@ -3,90 +3,24 @@ import { Grid, styled, Typography, useMediaQuery, useTheme } from "@material-ui/ import { useHistory, useRouteMatch } from "react-router-dom" import { toShortAddress } from "services/contracts/utils" import { DeploymentContext } from "../state/context" -import { numberWithCommas } from "../state/utils" +import { numberWithCommas } from "utils" import BigNumber from "bignumber.js" import { Blockie } from "modules/common/Blockie" import { ActionTypes } from "../state/types" import { useTokenOriginate } from "services/contracts/token/hooks/useToken" import { CopyButton } from "modules/explorer/components/CopyButton" - -const ThirdContainer = styled(Grid)({ - background: "#2F3438", - borderRadius: 8, - boxSizing: "border-box" -}) - -const ThirdContainerFirstRow = styled(Grid)(({ theme }) => ({ - padding: "19px 48px", - borderBottom: "0.3px solid #575757", - backgroundColor: theme.palette.primary.dark, - borderRadius: "8px 8px 0px 0px", - alignItems: "center", - display: "flex", - minHeight: 70, - ["@media (max-width:1167px)"]: { - padding: "12px 15px", - maxHeight: "inherit" - } -})) - -const ThirdContainerLastRow = styled(Grid)({ - padding: "19px 48px", - alignItems: "center", - display: "flex", - backgroundColor: "#24282D", - borderRadius: "0px 0px 8px 8px", - minHeight: 70, - ["@media (max-width:1167px)"]: { - padding: "12px 15px", - maxHeight: "inherit" - } -}) - -const ThirdContainerRow = styled(Grid)({ - "borderBottom": "0.3px solid #575757", - "backgroundColor": "#24282D", - "padding": "24px 48px", - "minHeight": 70, - ["@media (max-width:1167px)"]: { - padding: "12px 15px", - maxHeight: "inherit" - }, - "&:last-child": { - borderBottom: "none" - } -}) - -const TitleSpacing = styled(Typography)({ - marginTop: 8, - fontWeight: 400, - fontSize: 18 -}) - -const ContainerEdit = styled(Typography)(({ theme }) => ({ - cursor: "pointer", - color: theme.palette.secondary.light -})) - -const AdminAddress = styled(Typography)({ - wordBreak: "break-all" -}) - -const AdminAddressIcon = styled(Typography)({ - wordBreak: "break-all", - display: "flex", - alignItems: "center" -}) - -const KeyText = styled(Typography)({ - fontWeight: 400 -}) - -const AddressText = styled(Typography)({ - marginLeft: 12, - fontWeight: 300, - marginRight: 8 -}) +import { + TitleSpacing, + ContainerEdit, + AdminAddress, + AdminAddressIcon, + KeyText, + AddressText, + ThirdContainer, + ThirdContainerFirstRow, + ThirdContainerRow, + ThirdContainerLastRow +} from "../../ui" export const ContractSummary: React.FC = () => { const theme = useTheme() diff --git a/src/modules/creator/deployment/steps/index.tsx b/src/modules/creator/token/tezos/steps/index.tsx similarity index 87% rename from src/modules/creator/deployment/steps/index.tsx rename to src/modules/creator/token/tezos/steps/index.tsx index 972af10f..72e47b87 100644 --- a/src/modules/creator/deployment/steps/index.tsx +++ b/src/modules/creator/token/tezos/steps/index.tsx @@ -56,6 +56,6 @@ export const useDeploymentStepNumber = (): number => { }, [pathname]) } -export { ConfigContract } from "modules/creator/deployment/steps/Config" -export { ContractDistribution } from "modules/creator/deployment/steps/Distribution" -export { ContractSummary } from "modules/creator/deployment/steps/Summary" +export { ConfigContract } from "./Config" +export { ContractDistribution } from "./Distribution" +export { ContractSummary } from "./Summary" diff --git a/src/modules/creator/token/ui/index.tsx b/src/modules/creator/token/ui/index.tsx new file mode 100644 index 00000000..aa4840f1 --- /dev/null +++ b/src/modules/creator/token/ui/index.tsx @@ -0,0 +1,358 @@ +import { Grid, Link, styled, Typography, withTheme, withStyles } from "@material-ui/core" +import { TextareaAutosize, Paper, Stepper } from "@material-ui/core" +import { TextField as FormikTextField } from "formik-material-ui" +import { RemoveCircleOutline } from "@material-ui/icons" + +export const Title = styled(Typography)(({ theme }) => ({ + fontSize: 32, + fontWeight: 600, + [theme.breakpoints.down("sm")]: { + fontSize: 26 + } +})) + +export const CenterTitle = styled(Typography)(({ theme }) => ({ + fontSize: 32, + fontWeight: 600, + textAlign: "center", + [theme.breakpoints.down("sm")]: { + fontSize: 26 + } +})) + +export const TitleMediumCenter = styled(Typography)({ + fontSize: 24, + textAlign: "center" +}) + +export const CustomTextarea = styled(withTheme(TextareaAutosize))(props => ({ + "minHeight": 152, + "boxSizing": "border-box", + "width": "100%", + "marginTop": 14, + "fontWeight": 300, + "padding": "21px 20px", + "fontFamily": "Roboto Flex", + "border": "none", + "fontSize": 16, + "color": props.theme.palette.text.secondary, + "background": "#2F3438", + "borderRadius": 8, + "paddingRight": 40, + "wordBreak": "break-word", + "&:focus-visible": { + outline: "none" + }, + "resize": "none" +})) + +export const CustomFormikTextField = withStyles({ + root: { + "& .MuiInput-root": { + fontWeight: 300, + textAlign: "initial" + }, + "& .MuiInputBase-input": { + textAlign: "initial" + }, + "& .MuiInput-underline:before": { + borderBottom: "none !important" + }, + "& .MuiInput-underline:hover:before": { + borderBottom: "none !important" + }, + "& .MuiInput-underline:after": { + borderBottom: "none !important" + } + } +})(FormikTextField) + +export const CustomInputContainer = styled(Grid)(({ theme }) => ({ + "height": 54, + "boxSizing": "border-box", + "marginTop": 14, + "background": "#2F3438", + "borderRadius": 8, + "alignItems": "center", + "display": "flex", + "padding": "13px 23px", + "fontWeight": 300, + "& input::placeholder": { + fontWeight: 300 + }, + [theme.breakpoints.down("sm")]: { + width: "100%" + } +})) + +export const ErrorText = styled(Typography)({ + fontSize: 14, + color: "red", + marginTop: 4 +}) + +export const TextareaContainer = styled(Grid)({ + display: "flex", + position: "relative" +}) + +// Starting for Distribution.tsx + +export const CustomAmountContainer = styled(Grid)(({ theme }) => ({ + "height": 54, + "boxSizing": "border-box", + "marginTop": 14, + "background": "#2F3438", + "borderRadius": 8, + "alignItems": "center", + "display": "flex", + "padding": "13px 23px", + "width": "45%", + "& input::placeholder": { + fontWeight: 300 + }, + [theme.breakpoints.down("sm")]: { + width: "100%" + } +})) + +export const AddButtonContainer = styled(Grid)(({ theme }) => ({ + "height": 54, + "boxSizing": "border-box", + "marginTop": 14, + "alignItems": "center", + "display": "flex", + "padding": "0px 0px", + "width": "15%", + "& input::placeholder": { + fontWeight: 300 + }, + [theme.breakpoints.down("sm")]: { + width: "100%" + } +})) + +export const RemoveButton = styled(RemoveCircleOutline)({ + marginTop: 0, + fontSize: 18 +}) + +export const AmountText = styled(Typography)({ + fontWeight: 400 +}) + +// Starting for Ownership.tsx + +export const PageContainer = styled(Grid)(({ theme }) => ({ + background: theme.palette.primary.main +})) + +export const PageContent = styled(Grid)(({ theme }) => ({ + width: "1000px", + height: "100%", + margin: "auto", + padding: "28px 0", + flexDirection: "row", + paddingTop: 0, + ["@media (max-width:1167px)"]: { + width: "86vw" + }, + [theme.breakpoints.down("sm")]: { + marginTop: 10 + } +})) + +export const CardContainer = styled(Grid)(({ theme }) => ({ + background: theme.palette.primary.dark, + gap: 32, + borderRadius: 8, + padding: "40px 48px", + [theme.breakpoints.down("sm")]: { + padding: "30px 38px" + } +})) + +export const DescriptionContainer = styled(Grid)(({ theme }) => ({ + [theme.breakpoints.down("sm")]: { + paddingLeft: "4%", + paddingRight: "4%" + } +})) + +export const OptionsContainer = styled(Grid)(({ theme }) => ({ + [theme.breakpoints.down("sm")]: { + paddingLeft: "4%", + paddingRight: "4%" + } +})) + +export const ChoicesContainer = styled(Grid)(({ theme }) => ({ + [theme.breakpoints.down("sm")]: { + gap: 32 + } +})) + +export const DescriptionText = styled(Typography)(({ theme }) => ({ + fontWeight: 300, + fontSize: 18, + color: theme.palette.text.secondary, + [theme.breakpoints.down("sm")]: { + fontSize: 14 + } +})) + +export const OptionButton = styled(Link)(({ theme }) => ({ + [theme.breakpoints.down("sm")]: { + display: "flex", + textAlign: "center" + } +})) + +// Starting for /index.tsx +export const IndicatorValue = styled(Paper)(({ theme }) => ({ + display: "flex", + alignItems: "center", + justifyContent: "center", + textAlign: "center", + position: "absolute", + top: 0, + width: "100%", + height: "100%", + margin: "0 auto", + fontSize: 25, + fontWeight: 300, + color: theme.palette.text.secondary, + userSelect: "none", + boxShadow: "none", + background: "inherit", + fontFamily: "Roboto Flex" +})) + +export const StepContentContainer = styled(Grid)({ + alignItems: "baseline", + height: "100%", + paddingTop: 0, + boxSizing: "border-box", + overflowY: "auto", + marginLeft: 47, + zIndex: 10, + width: "fit-content", + ["@media (max-width:1167px)"]: { + marginLeft: 0 + } +}) + +export const ProgressContainer = styled(Grid)(({ theme }) => ({ + background: "#2F3438", + display: "grid", + borderRadius: 8, + maxHeight: 480, + paddingTop: 20, + position: "sticky", + top: 125 +})) + +export const StyledStepper = styled(Stepper)({ + "background": "inherit", + "paddingTop": 48, + "& .MuiStepLabel-label": { + fontSize: 14, + lineHeight: 14 + }, + "cursor": "pointer" +}) + +export const FAQClickToAction = styled(Typography)(({ theme }) => ({ + color: theme.palette.secondary.main, + fontSize: "14px", + cursor: "pointer", + textAlign: "center", + textDecoration: "underline" +})) + +export const FAQClickText = styled(Typography)(({ theme }) => ({ + color: theme.palette.text.secondary, + fontSize: "14px", + cursor: "pointer", + textAlign: "center" +})) + +// Starting for Summary.tsx + +export const TitleSpacing = styled(Typography)({ + marginTop: 8, + fontWeight: 400, + fontSize: 18 +}) + +export const ContainerEdit = styled(Typography)(({ theme }) => ({ + cursor: "pointer", + color: theme.palette.secondary.light +})) + +export const AdminAddress = styled(Typography)({ + wordBreak: "break-all" +}) + +export const AdminAddressIcon = styled(Typography)({ + wordBreak: "break-all", + display: "flex", + alignItems: "center" +}) + +export const KeyText = styled(Typography)({ + fontWeight: 400 +}) + +export const AddressText = styled(Typography)({ + marginLeft: 12, + fontWeight: 300, + marginRight: 8 +}) + +export const ThirdContainer = styled(Grid)({ + background: "#2F3438", + borderRadius: 8, + boxSizing: "border-box" +}) + +export const ThirdContainerFirstRow = styled(Grid)(({ theme }) => ({ + padding: "19px 48px", + borderBottom: "0.3px solid #575757", + backgroundColor: theme.palette.primary.dark, + borderRadius: "8px 8px 0px 0px", + alignItems: "center", + display: "flex", + minHeight: 70, + ["@media (max-width:1167px)"]: { + padding: "12px 15px", + maxHeight: "inherit" + } +})) + +export const ThirdContainerLastRow = styled(Grid)({ + padding: "19px 48px", + alignItems: "center", + display: "flex", + backgroundColor: "#24282D", + borderRadius: "0px 0px 8px 8px", + minHeight: 70, + ["@media (max-width:1167px)"]: { + padding: "12px 15px", + maxHeight: "inherit" + } +}) + +export const ThirdContainerRow = styled(Grid)({ + "borderBottom": "0.3px solid #575757", + "backgroundColor": "#24282D", + "padding": "24px 48px", + "minHeight": 70, + ["@media (max-width:1167px)"]: { + padding: "12px 15px", + maxHeight: "inherit" + }, + "&:last-child": { + borderBottom: "none" + } +}) diff --git a/src/modules/creator/token/ui/success.tsx b/src/modules/creator/token/ui/success.tsx new file mode 100644 index 00000000..34704a61 --- /dev/null +++ b/src/modules/creator/token/ui/success.tsx @@ -0,0 +1,49 @@ +import { Grid, Link, styled, Typography, withTheme, withStyles } from "@material-ui/core" + +export const CardContainer = styled(Grid)(({ theme }) => ({ + background: theme.palette.primary.dark, + borderRadius: 8, + padding: "36px 47px" +})) + +export const DescriptionContainer = styled(Grid)(({ theme }) => ({ + display: "inline-flex", + [theme.breakpoints.down("sm")]: { + paddingLeft: "4%", + paddingRight: "4%" + } +})) + +export const OptionsContainer = styled(Grid)(({ theme }) => ({ + marginTop: 40, + [theme.breakpoints.down("sm")]: { + marginTop: 40 + } +})) + +export const ChoicesContainer = styled(Grid)(({ theme }) => ({ + marginTop: 32, + gap: 48, + [theme.breakpoints.down("sm")]: { + gap: 16 + } +})) + +export const DescriptionText = styled(Typography)(({ theme }) => ({ + fontWeight: 200, + color: theme.palette.text.secondary, + [theme.breakpoints.down("sm")]: { + fontSize: 14 + } +})) + +export const OptionButton = styled(Link)(({ theme }) => ({ + [theme.breakpoints.down("sm")]: { + width: "95%", + display: "flex", + textAlign: "center" + }, + [theme.breakpoints.down("sm")]: { + justifyContent: "center" + } +})) diff --git a/src/services/contracts/token/hooks/useToken.ts b/src/services/contracts/token/hooks/useToken.ts index af6f6c43..9f13d031 100644 --- a/src/services/contracts/token/hooks/useToken.ts +++ b/src/services/contracts/token/hooks/useToken.ts @@ -1,73 +1,112 @@ -import { DAOTemplate } from "../../../../modules/creator/state/types" -import { useState } from "react" -import { ContractAbstraction, ContractProvider, Wallet } from "@taquito/taquito" +import { ethers } from "ethers" +import { ContractAbstraction, ContractProvider, TezosToolkit, Wallet } from "@taquito/taquito" import { useMutation, useQueryClient } from "react-query" -import { deployMetadataCarrier } from "services/contracts/metadataCarrier/deploy" import { useTezos } from "services/beacon/hooks/useTezos" -import mixpanel from "mixpanel-browser" import { TokenContractParams } from "modules/creator/deployment/state/types" import { getCurrentBlock } from "services/utils/utils" import { deployTokenContract } from "services/contracts/token" import { useNotification } from "modules/common/hooks/useNotification" +import HbTokenAbi from "assets/abis/hb_evm.json" + +import AnalyticsService from "services/services/analytics" + +const ERC20_ABI = HbTokenAbi.abi +const ERC20_BYTECODE = HbTokenAbi.bytecode export const useTokenOriginate = (tokenData: TokenContractParams) => { const queryClient = useQueryClient() - const { tezos, connect, network, account } = useTezos() + const { tezos, connect, network, account, etherlink } = useTezos() + const provider = etherlink.provider + const signer = etherlink.signer + const openNotification = useNotification() const result = useMutation, Error, TokenContractParams>( async ({ tokenDistribution, tokenSettings }) => { - try { - let tezosToolkit = tezos + console.log({ tokenDistribution, tokenSettings, network }) + console.log({ provider }) + if (network.startsWith("etherlink")) { + try { + console.log("Deployer", signer?.getAddress()) + const factory = new ethers.ContractFactory(ERC20_ABI, ERC20_BYTECODE, signer) + const initialMembers = tokenDistribution.holders.map(holder => holder.walletAddress) + const initialAmounts = tokenDistribution.holders.map(holder => + ethers.parseUnits(holder.amount?.toString() ?? "0", tokenSettings.decimals ?? 18) + ) + const contract = await factory.deploy( + tokenSettings.name, + tokenSettings.symbol ?? "MTK", + initialMembers, + initialAmounts + ) + await contract.waitForDeployment() + const contractAddress = await contract.getAddress() + return { address: contractAddress } + } catch (error: any) { + // Use 'unknown' instead of 'any' for better type safety + const errorMessage = error instanceof Error ? error.message : String(error) + console.log("Error", errorMessage) + console.log({ error }) + openNotification({ + message: error?.shortMessage, + variant: "error", + autoHideDuration: 2000 + }) + return error + } + } else { + try { + let tezosToolkit = tezos - if (!account) { - const connectedToolkit = await connect() - if (typeof connectedToolkit === "string") { - throw new Error("Failed to connect to Tezos toolkit") + if (!account) { + const connectedToolkit = await connect() + if (typeof connectedToolkit === "string") { + throw new Error("Failed to connect to Tezos toolkit") + } + tezosToolkit = connectedToolkit as TezosToolkit } - tezosToolkit = connectedToolkit - } - mixpanel.track("Started Token origination", { - contract: "FA2Token", - tokenName: tokenSettings.name, - tokenSymbol: tokenSettings.symbol - }) + AnalyticsService.track("Started Token origination", { + contract: "FA2Token", + tokenName: tokenSettings.name, + tokenSymbol: tokenSettings.symbol + }) - const mutateTokenData: TokenContractParams = { - tokenDistribution, - tokenSettings - } + const mutateTokenData: TokenContractParams = { + tokenDistribution, + tokenSettings + } - const currentBlock = await getCurrentBlock(network) + const currentBlock = await getCurrentBlock(network) - const contract = await deployTokenContract({ - ...mutateTokenData, - tezos: tezosToolkit, - account, - currentBlock - }) + const contract = await deployTokenContract({ + ...mutateTokenData, + tezos: tezosToolkit, + account, + currentBlock + }) - if (!contract) { - throw new Error(`Error deploying ${tokenData.tokenSettings.name} Token`) - } + if (!contract) { + throw new Error(`Error deploying ${tokenData.tokenSettings.name} Token`) + } - mixpanel.track("Completed Token Deployment", { - contract: "FA2Token", - tokenName: tokenSettings.name, - tokenSymbol: tokenSettings.symbol - }) - - return contract - } catch (error) { - openNotification({ - message: (error as Error).message, - variant: "error", - autoHideDuration: 2000 - }) - return error + AnalyticsService.track("Completed Token Deployment", { + contract: "FA2Token", + tokenName: tokenSettings.name, + tokenSymbol: tokenSettings.symbol + }) + + return contract + } catch (error) { + openNotification({ + message: (error as Error).message, + variant: "error", + autoHideDuration: 2000 + }) + return error + } } }, { diff --git a/src/services/lite/utils.ts b/src/services/lite/utils.ts index 1b6a4640..1d62d268 100644 --- a/src/services/lite/utils.ts +++ b/src/services/lite/utils.ts @@ -161,10 +161,6 @@ export const getTreasuryPercentage = (proposalTotal: BigNumber, totalSupply: num return value } -export const numberWithCommas = (x: number) => { - return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") -} - const SI_SYMBOL = ["", "k", "M", "G", "T", "P", "E"] export const nFormatter = (num: any, digits: number) => { diff --git a/src/services/services/analytics.ts b/src/services/services/analytics.ts new file mode 100644 index 00000000..4d3d84ef --- /dev/null +++ b/src/services/services/analytics.ts @@ -0,0 +1,9 @@ +import mixpanel from "mixpanel-browser" + +const AnalyticsService = { + track: (event: string, properties: Record) => { + mixpanel.track(event, properties) + } +} + +export default AnalyticsService diff --git a/src/services/wagmi/ethers.ts b/src/services/wagmi/ethers.ts new file mode 100644 index 00000000..6d5cf905 --- /dev/null +++ b/src/services/wagmi/ethers.ts @@ -0,0 +1,46 @@ +import * as React from "react" +import { usePublicClient, useWalletClient } from "wagmi" +import { FallbackProvider, JsonRpcProvider } from "ethers" +import { BrowserProvider, JsonRpcSigner } from "ethers" +import { type HttpTransport } from "viem" + +export function publicClientToProvider(publicClient: any) { + const { chain, transport } = publicClient + const network = { + chainId: chain.id, + name: chain.name, + ensAddress: chain.contracts?.ensRegistry?.address + } + if (transport.type === "fallback") { + const providers = (transport.transports as ReturnType[]).map( + ({ value }) => new JsonRpcProvider(value?.url, network) + ) + if (providers.length === 1) return providers[0] + return new FallbackProvider(providers) + } + return new JsonRpcProvider(transport.url, network) +} + +/** Hook to convert a viem Public Client to an ethers.js Provider. */ +export function useEthersProvider({ chainId }: { chainId?: number } = {}) { + const publicClient = usePublicClient({ chainId }) + return React.useMemo(() => publicClientToProvider(publicClient), [publicClient]) +} + +export function walletClientToSigner(walletClient: any) { + const { account, chain, transport } = walletClient + const network = { + chainId: chain.id, + name: chain.name, + ensAddress: chain.contracts?.ensRegistry?.address + } + const provider = new BrowserProvider(transport, network) + const signer = new JsonRpcSigner(provider, account.address) + return signer +} + +/** Hook to convert a viem Wallet Client to an ethers.js Signer. */ +export function useEthersSigner({ chainId }: { chainId?: number } = {}) { + const { data: walletClient } = useWalletClient({ chainId }) + return React.useMemo(() => (walletClient ? walletClientToSigner(walletClient) : undefined), [walletClient]) +} diff --git a/src/utils.ts b/src/utils.ts index efad8cd4..c4ef0f13 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,4 +1,5 @@ import { LambdaCode } from "services/bakingBad/lambdas" +import BigNumber from "bignumber.js" export const roundNumber = ({ number, decimals }: { number: number; decimals: number }) => Math.round(number * 10 ** decimals) / 10 ** decimals @@ -19,3 +20,7 @@ export const parseLambdaCode = (lambdaCode: LambdaCode | undefined) => { return code } + +export const numberWithCommas = (x: number | BigNumber) => { + return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") +} From d2dce05d453f78d5c727fc282c72f1301a8e68fa Mon Sep 17 00:00:00 2001 From: Ashutosh Kumar Date: Sun, 13 Oct 2024 17:28:52 +0530 Subject: [PATCH 5/6] Updated changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c0b790fe..479e9dd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +- Etherlink ERC20 Token Deployer - Migration tool for V2 contracts - Sending XTZ directly to DAO address - Delegating DAO's XTZ to baker From 85bb7297a2de2e05e54542d74726d210ca250a66 Mon Sep 17 00:00:00 2001 From: Ashutosh Kumar Date: Tue, 5 Nov 2024 00:07:48 +0530 Subject: [PATCH 6/6] Fixes after Rebase --- src/App.tsx | 96 +++++----- src/services/beacon/hooks/useTezos.ts | 28 +-- yarn.lock | 242 ++++++++++++++++++++++++-- 3 files changed, 291 insertions(+), 75 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 522ed7e3..8cad6798 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -101,59 +101,59 @@ const App: React.FC = () => { }} > - - - - - - - - - - - - - - - {/* */} + + + + + + + + + + + + + + {/* */} - - - - - - - - - - + + + + + + + + + + - {window.location.href.indexOf(HUMANITEZ_DAO) !== -1 ? ( - <> - {/* Special case for this DAO which was created before FA1.2 fix was created for the smart contract */} - - - ) : null} - - - - - - - - - - - - - + {window.location.href.indexOf(HUMANITEZ_DAO) !== -1 ? ( + <> + {/* Special case for this DAO which was created before FA1.2 fix was created for the smart contract */} + + + ) : null} + + + + + + + + + + + + + {/* */} diff --git a/src/services/beacon/hooks/useTezos.ts b/src/services/beacon/hooks/useTezos.ts index 0b0a7d4e..dbe2c113 100644 --- a/src/services/beacon/hooks/useTezos.ts +++ b/src/services/beacon/hooks/useTezos.ts @@ -7,6 +7,7 @@ import mixpanel from "mixpanel-browser" import { BeaconWallet } from "@taquito/beacon-wallet" import { EtherlinkContext } from "services/wagmi/context" import { useNetwork } from "services/useNetwork" +import { useChainId } from "wagmi" type WalletConnectReturn = { tezos: TezosToolkit @@ -36,14 +37,6 @@ export const useTezos = (): WalletConnectReturn => { network: etherlinkNetwork } = useContext(EtherlinkContext) - const chainId = useChainId() - const { address: ethAddress, isConnected } = useWagmiAccount() - const { connect: wagmiConnect, connectors } = useWagmiConnect() - // eslint-disable-next-line react-hooks/exhaustive-deps - const openEthWallet = () => { - wagmiConnect({ connector: connectors[0], chainId }) - } - const queryClient = useQueryClient() const handleEtherlinkNetworkChange = useCallback( @@ -59,7 +52,7 @@ export const useTezos = (): WalletConnectReturn => { } }) }, - [ethAccount?.address, dispatch, tezos, etherlinkNetwork, connectWithWagmi] + [dispatch, tezos] ) const handleTezosNetworkChange = useCallback( @@ -136,7 +129,7 @@ export const useTezos = (): WalletConnectReturn => { return newTezos }, - [connectWithWagmi, network, dispatch] + [network, dispatch] ) useEffect(() => { @@ -163,11 +156,20 @@ export const useTezos = (): WalletConnectReturn => { type: TezosActionType.RESET_TEZOS }) } - }, [network, etherlinkNetwork, handleChangeNetwork, isEtherlinkConnected]) + }, [ + network, + etherlinkNetwork, + handleChangeNetwork, + isEtherlinkConnected, + wallet, + switchToNetwork, + dispatch, + disconnectEtherWallet + ]) useEffect(() => { setNetwork(network) - }, [network]) + }, [network, setNetwork]) return { tezos, @@ -198,7 +200,7 @@ export const useTezos = (): WalletConnectReturn => { dispatch({ type: TezosActionType.RESET_TEZOS }) - }, [dispatch, network, wallet, isEtherlinkConnected]), + }, [network, wallet, isEtherlinkConnected, dispatch, disconnectEtherWallet]), changeNetwork: handleChangeNetwork, account, diff --git a/yarn.lock b/yarn.lock index ff06d93c..2cf1987f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2553,7 +2553,7 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== -"@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0": +"@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0", "@lit-labs/ssr-dom-shim@^1.2.0": version "1.2.1" resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.1.tgz#2f3a8f1d688935c704dbc89132394a41029acbb8" integrity sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ== @@ -2565,6 +2565,13 @@ dependencies: "@lit-labs/ssr-dom-shim" "^1.0.0" +"@lit/reactive-element@^2.0.0", "@lit/reactive-element@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-2.0.4.tgz#8f2ed950a848016383894a26180ff06c56ae001b" + integrity sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.2.0" + "@material-ui/core@^4.11.3": version "4.12.4" resolved "https://registry.yarnpkg.com/@material-ui/core/-/core-4.12.4.tgz#4ac17488e8fcaf55eb6a7f5efb2a131e10138a73" @@ -4598,7 +4605,7 @@ mipd "0.0.7" zustand "4.4.1" -"@walletconnect/core@2.11.2", "@walletconnect/core@2.14.0", "@walletconnect/core@2.15.0": +"@walletconnect/core@2.11.2", "@walletconnect/core@2.14.0", "@walletconnect/core@2.15.0", "@walletconnect/core@2.16.1": version "2.14.0" resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.14.0.tgz#e8afb01455968b02aaf26c74f3bfcc9b82678a39" integrity sha512-E/dgBM9q3judXnTfZQ5ILvDpeSdDpabBLsXtYXa3Nyc26cfNplfLJ2nXm9FgtTdhM1nZ7yx4+zDPiXawBRZl2g== @@ -4644,6 +4651,22 @@ "@walletconnect/utils" "2.15.0" events "3.3.0" +"@walletconnect/ethereum-provider@2.16.1": + version "2.16.1" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.16.1.tgz#4fb8a1df39104ad3fbd02579233e796f432f6d35" + integrity sha512-oD7DNCssUX3plS5gGUZ9JQ63muQB/vxO68X6RzD2wd8gBsYtSPw4BqYFc7KTO6dUizD6gfPirw32yW2pTvy92w== + dependencies: + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/modal" "2.6.2" + "@walletconnect/sign-client" "2.16.1" + "@walletconnect/types" "2.16.1" + "@walletconnect/universal-provider" "2.16.1" + "@walletconnect/utils" "2.16.1" + events "3.3.0" + "@walletconnect/events@1.0.1", "@walletconnect/events@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c" @@ -4830,6 +4853,21 @@ "@walletconnect/utils" "2.15.0" events "3.3.0" +"@walletconnect/sign-client@2.16.1": + version "2.16.1" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.16.1.tgz#94a2f630ba741bd180f540c53576c5ceaace4857" + integrity sha512-s2Tx2n2duxt+sHtuWXrN9yZVaHaYqcEcjwlTD+55/vs5NUPlISf+fFmZLwSeX1kUlrSBrAuxPUcqQuRTKcjLOA== + dependencies: + "@walletconnect/core" "2.16.1" + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.16.1" + "@walletconnect/utils" "2.16.1" + events "3.3.0" + "@walletconnect/time@1.0.2", "@walletconnect/time@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" @@ -4837,7 +4875,7 @@ dependencies: tslib "1.14.1" -"@walletconnect/types@2.11.2", "@walletconnect/types@2.14.0", "@walletconnect/types@2.15.0": +"@walletconnect/types@2.11.2", "@walletconnect/types@2.14.0", "@walletconnect/types@2.15.0", "@walletconnect/types@2.16.1": version "2.14.0" resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.14.0.tgz#af3d4799b8ac5d166251af12bc024276f82f9b91" integrity sha512-vevMi4jZLJ55vLuFOicQFmBBbLyb+S0sZS4IsaBdZkQflfGIq34HkN13c/KPl4Ye0aoR4/cUcUSitmGIzEQM5g== @@ -4864,7 +4902,22 @@ "@walletconnect/utils" "2.15.0" events "3.3.0" -"@walletconnect/utils@2.11.2", "@walletconnect/utils@2.14.0", "@walletconnect/utils@2.15.0": +"@walletconnect/universal-provider@2.16.1": + version "2.16.1" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.16.1.tgz#6d52c41c7388e01f89007956a1117748ab9a11e4" + integrity sha512-q/tyWUVNenizuClEiaekx9FZj/STU1F3wpDK4PUIh3xh+OmUI5fw2dY3MaNDjyb5AyrS0M8BuQDeuoSuOR/Q7w== + dependencies: + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/sign-client" "2.16.1" + "@walletconnect/types" "2.16.1" + "@walletconnect/utils" "2.16.1" + events "3.3.0" + +"@walletconnect/utils@2.11.2", "@walletconnect/utils@2.14.0", "@walletconnect/utils@2.15.0", "@walletconnect/utils@2.16.1": version "2.14.0" resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.14.0.tgz#48493ffe1e902815fda3cbd5cc5409288a066d35" integrity sha512-vRVomYQEtEAyCK2c5bzzEvtgxaGGITF8mWuIL+WYSAMyEJLY97mirP2urDucNwcUczwxUgI+no9RiNFbUHreQQ== @@ -4899,6 +4952,118 @@ "@walletconnect/window-getters" "^1.0.1" tslib "1.14.1" +"@web3modal/base@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@web3modal/base/-/base-5.1.11.tgz#11beaca17fd0193d249174fb20da7bbb605abb2c" + integrity sha512-wJCsqQ1FG0Isiv0Exaz2Sv+FpijVmNPNay+sGdV5HP2SpBAR/1xxHca2/vLBdACX7rYAFAj723DYQE0fmUpIaw== + dependencies: + "@walletconnect/utils" "2.16.1" + "@web3modal/common" "5.1.11" + "@web3modal/core" "5.1.11" + "@web3modal/polyfills" "5.1.11" + "@web3modal/scaffold-ui" "5.1.11" + "@web3modal/scaffold-utils" "5.1.11" + "@web3modal/siwe" "5.1.11" + "@web3modal/ui" "5.1.11" + "@web3modal/wallet" "5.1.11" + optionalDependencies: + borsh "0.7.0" + bs58 "5.0.0" + +"@web3modal/common@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@web3modal/common/-/common-5.1.11.tgz#29f6a0df6d6e1df7c3adb619efab08a6f20d4eab" + integrity sha512-YfSklKjjiM1RGxFTQm3ycYZ2Ktb6vswt9eg8lGXRknxN+SC7bCtuvgtyyCO0Z9/f9dPMOGIAmoJ/y6WHXWQqcg== + dependencies: + bignumber.js "9.1.2" + dayjs "1.11.10" + +"@web3modal/core@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@web3modal/core/-/core-5.1.11.tgz#96406333c00ca949dbd1e8469e05b65d9c15551e" + integrity sha512-ugUVFVml1vVW+V7yxkn/AYYdrUJzn4ulFbDlxDMpmukKY6sDYLMMGAJ84O8ZC/OPyC7009NYd3mKZurxEyWkHw== + dependencies: + "@web3modal/common" "5.1.11" + "@web3modal/wallet" "5.1.11" + valtio "1.11.2" + +"@web3modal/polyfills@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@web3modal/polyfills/-/polyfills-5.1.11.tgz#15f946e22c8d97dd43edc6fa8b7ff724c80e613d" + integrity sha512-BDIDYA2LGTCquahbZ+wyWQy4IBOPeKVSgt4ZpFir1fnVJUPkEluSwZStcKLtCzQvxJgER1sLicUrjJQHF36TOg== + dependencies: + buffer "6.0.3" + +"@web3modal/scaffold-ui@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@web3modal/scaffold-ui/-/scaffold-ui-5.1.11.tgz#8e0e30c5da898b23b63dc4da5b9682d6ce99ca67" + integrity sha512-fBqzd7DStUaEjtdbEU86rzY4XIgt8c8JN8oxS/xnUEopmjFYvBLCCVEfbTkZyJrRvAAphz7+oS4TVzXw9k6t5A== + dependencies: + "@web3modal/common" "5.1.11" + "@web3modal/core" "5.1.11" + "@web3modal/scaffold-utils" "5.1.11" + "@web3modal/siwe" "5.1.11" + "@web3modal/ui" "5.1.11" + "@web3modal/wallet" "5.1.11" + lit "3.1.0" + +"@web3modal/scaffold-utils@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@web3modal/scaffold-utils/-/scaffold-utils-5.1.11.tgz#85d880ca2ddea253ffb2f9fbccb9c9c3922ad107" + integrity sha512-4bcYpQ3oxak5mDZMW5/7ayrhpaJHy6dCfUio15AGPHnQlFjkqcfSuuG0Io8Oj8VUXcK2UBLch9YiEDz4Xgce9Q== + dependencies: + "@web3modal/common" "5.1.11" + "@web3modal/core" "5.1.11" + "@web3modal/polyfills" "5.1.11" + "@web3modal/wallet" "5.1.11" + valtio "1.11.2" + +"@web3modal/siwe@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@web3modal/siwe/-/siwe-5.1.11.tgz#f68a43e7d5c5417ebfb85f82ce3478db4c5bc780" + integrity sha512-1aKEtMosACyY0SRjHjdcA/g3bRtMojTxlK7S/T6zBk57X/P3xcEZq9J8UM73plmGewjZdLaqGMgv6B/k/WleZQ== + dependencies: + "@walletconnect/utils" "2.16.1" + "@web3modal/common" "5.1.11" + "@web3modal/core" "5.1.11" + "@web3modal/scaffold-utils" "5.1.11" + "@web3modal/ui" "5.1.11" + "@web3modal/wallet" "5.1.11" + lit "3.1.0" + valtio "1.11.2" + +"@web3modal/ui@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@web3modal/ui/-/ui-5.1.11.tgz#1bb5bdf3a54bbdf7d0068fdb65a46bc921da160c" + integrity sha512-L0L+2YOK+ONx+W7GPtkSdKZuAQ8cjcS5N8kp+WZzKOMUTeDLuXKtSnES4p/ShOVmkpV6qB8r0pPA9xgFh1D3ow== + dependencies: + lit "3.1.0" + qrcode "1.5.3" + +"@web3modal/wagmi@^5.0.6": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@web3modal/wagmi/-/wagmi-5.1.11.tgz#19835c4905458d879b797da556acbf9a9ab721ee" + integrity sha512-etV1qfBVvh41EMuBHXUpcO/W818jZVNh5/l9Z5kqRPZxlQmBaJbt5mTzw6nw/Lujoe1yYKugGQFhgjfEQK+eyA== + dependencies: + "@walletconnect/ethereum-provider" "2.16.1" + "@walletconnect/utils" "2.16.1" + "@web3modal/base" "5.1.11" + "@web3modal/common" "5.1.11" + "@web3modal/polyfills" "5.1.11" + "@web3modal/scaffold-utils" "5.1.11" + "@web3modal/siwe" "5.1.11" + "@web3modal/wallet" "5.1.11" + +"@web3modal/wallet@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@web3modal/wallet/-/wallet-5.1.11.tgz#3118bb1fa370436c252d7d97c731eac585cdb8a7" + integrity sha512-/ooQZXK1h7LGBUemebldYPAV2oJAgxkgSiCMoHWynhuS0LO3BzhOhGL+jV19w4iU81bS1GSNFTxYT9LL6Scesw== + dependencies: + "@walletconnect/logger" "2.1.2" + "@web3modal/common" "5.1.11" + "@web3modal/polyfills" "5.1.11" + zod "3.22.4" + "@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": version "1.12.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" @@ -5799,7 +5964,7 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -"bignumber.js@^8 || ^9", bignumber.js@^9.0.1, bignumber.js@^9.1.2: +bignumber.js@9.1.2, "bignumber.js@^8 || ^9", bignumber.js@^9.0.1, bignumber.js@^9.1.2: version "9.1.2" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== @@ -5836,7 +6001,7 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.2.1: +bn.js@^5.2.0, bn.js@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== @@ -5877,6 +6042,15 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== +borsh@0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" + integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== + dependencies: + bn.js "^5.2.0" + bs58 "^4.0.0" + text-encoding-utf-8 "^1.0.2" + bowser@^2.9.0: version "2.11.0" resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" @@ -6024,6 +6198,13 @@ bs-logger@0.x: dependencies: fast-json-stable-stringify "2.x" +bs58@5.0.0, bs58@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279" + integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ== + dependencies: + base-x "^4.0.0" + bs58@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" @@ -6031,13 +6212,6 @@ bs58@^4.0.0: dependencies: base-x "^3.0.2" -bs58@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279" - integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ== - dependencies: - base-x "^4.0.0" - bs58check@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" @@ -6077,7 +6251,7 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== -buffer@^6.0.3: +buffer@6.0.3, buffer@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== @@ -7041,6 +7215,11 @@ date-fns@^2.29.3: dependencies: "@babel/runtime" "^7.21.0" +dayjs@1.11.10: + version "1.11.10" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + dayjs@^1.11.11: version "1.11.11" resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.11.tgz#dfe0e9d54c5f8b68ccf8ca5f72ac603e7e5ed59e" @@ -11412,6 +11591,15 @@ lit-element@^3.3.0: "@lit/reactive-element" "^1.3.0" lit-html "^2.8.0" +lit-element@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-4.1.1.tgz#07905992815076e388cf6f1faffc7d6866c82007" + integrity sha512-HO9Tkkh34QkTeUmEdNYhMT8hzLid7YlMlATSi1q4q17HE5d9mrrEHJ/o8O2D0cMi182zK1F3v7x0PWFjrhXFew== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.2.0" + "@lit/reactive-element" "^2.0.4" + lit-html "^3.2.0" + lit-html@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.8.0.tgz#96456a4bb4ee717b9a7d2f94562a16509d39bffa" @@ -11419,6 +11607,13 @@ lit-html@^2.8.0: dependencies: "@types/trusted-types" "^2.0.2" +lit-html@^3.1.0, lit-html@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-3.2.1.tgz#8fc49e3531ee5947e4d93e8a5aa642ab1649833b" + integrity sha512-qI/3lziaPMSKsrwlxH/xMgikhQ0EGOX2ICU73Bi/YHFvz2j/yMCIrw4+puF2IpQ4+upd3EWbvnHM9+PnJn48YA== + dependencies: + "@types/trusted-types" "^2.0.2" + lit@2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/lit/-/lit-2.8.0.tgz#4d838ae03059bf9cafa06e5c61d8acc0081e974e" @@ -11428,6 +11623,15 @@ lit@2.8.0: lit-element "^3.3.0" lit-html "^2.8.0" +lit@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lit/-/lit-3.1.0.tgz#76429b85dc1f5169fed499a0f7e89e2e619010c9" + integrity sha512-rzo/hmUqX8zmOdamDAeydfjsGXbbdtAFqMhmocnh2j9aDYqbu0fjXygjCa0T99Od9VQ/2itwaGrjZz/ZELVl7w== + dependencies: + "@lit/reactive-element" "^2.0.0" + lit-element "^4.0.0" + lit-html "^3.1.0" + loader-runner@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" @@ -15797,6 +16001,11 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" +text-encoding-utf-8@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" + integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -17312,6 +17521,11 @@ yup@^0.32.9: property-expr "^2.0.4" toposort "^2.0.2" +zod@3.22.4: + version "3.22.4" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.4.tgz#f31c3a9386f61b1f228af56faa9255e845cf3fff" + integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg== + zustand@4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.1.tgz#0cd3a3e4756f21811bd956418fdc686877e8b3b0"