From e2c85ca6743825f179f774f62f610da230788acf Mon Sep 17 00:00:00 2001 From: Naman Jain <31595908+naman653@users.noreply.github.com> Date: Mon, 25 Feb 2019 22:53:03 +0530 Subject: [PATCH 01/74] chore: updated settings activity image in docs (#1972) --- docs/_static/settings.png | Bin 128093 -> 85099 bytes 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 docs/_static/settings.png diff --git a/docs/_static/settings.png b/docs/_static/settings.png old mode 100644 new mode 100755 index 16d9ce22063b417e88de5e483d22eefca0358556..08238f04872dc53781e152bbe413bd379e157b43 GIT binary patch literal 85099 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 literal 128093 zcmeFZWl)uE6gG;Yhzf#|f}{%4NJ@)Jr*vb`-5m-F3Ia+uNJxV;vS9<#-E10ZH!0n4 z)_%Y5n>lml{5o^KA7|z~^UjON=85}R>sr^k)^+&X}FZsDD zHT#d>W%?8PHstk2PVP;bED@2oy8)MQ1pXZCNO3tX37Arw2E^?M_5K*IvQLLQ!NQWA z;~XOS?@y{%{`(sAT=^1wpZer~-?uB@3*idN^qQKe&qRy?fq^H7hgH?pf`Wo8d&i-n zp)D;f+uPeLnuShIPI%5#m%bQb?&Tk^jg5`ta!<(T&-PAEk+!Z*PP_jw2QC4DlA63T)X>n-(i$Ba;u+#qxiZ`mLK#?n3k&Nh6P$&N z!(eS~%}VZdfyT*Vj3Fs0=`ELnH5N`zyZ$r@odTEEP^#zpG1NK3D=*U}?}os$v|OTQ z=HgQ6O7y5jW@NlL|4Od*L5Mc*LqNcfjEoN-KHxb^SgEM1M}7PDQd?VKh~(}Y|A90v zk6klg-;2pfJr?6<&!6AFe_twuVsT+1V-T&QtJ~Sxsc`P*K|)Eny0KwXD{pRY?(JQh zkf5ulmlzVrOA#_QHYOsnva&)!Lu0!|S8Gr-Y_SU8uB=#%71!2^h>6X}D*SG2Y?h-9 z@95}=kEgIKzxM7M{LOs^hL)L`nX$27d3kv`IXORn_RW#4(NcA{=*uIgS(uq^rfbYq z7+6_ZX=$HU=b=_P43Sox({R( zBqW|ce{O1;6&xH~RAj5ArRC&QcDS>!wpQb?*s;628%)MAeLlYLpPv5K!C`wBJ(%g6 zemO^t+11sRpP%28O4;Hrw>f>p&eqoLD-8zP62}j2)+T8PJbCg$LgM4ckH3EXf<@oh z*x29SkB^W4{rg#xqG?RW6G6eA6fxg{3>iOKv-0uN)6;>0f$HjN-AWtuo(Dp>x!#<{GA|}XI$ zX%F#5VSb-Q`QF}Ma&j_6bNSX!9RG$6!$>$$QJ{sjb$4&CnCpg~re;hO6{5O2C^&f0 zSUw{o*qpJ(=`gQFRqt7uhF|wJm3JTVimXxIH%ml*!p1ykZM;Vny1{uUaQ!~*B zZz8>)RlB5VVnVmZ@?o}o9GCHUnK?Bz^%8-zlapSJ+hcBS$9GYXWWNrkJ^lUsc0IgZ zT=tK4mdkb4vBCt%odosY{&&DfBqdwQ%m;rcB=DIJWb~&?ZBExBN=r+Xq!I)iO(42= zNpb!91_m6~$ID?gV_TCqy_SVE?&Q!Of8>8X6U* zz0|8H`@Gy-(euOkC>BjPjYg&ln?X%gNl8gjmTKk9&%@VL;gR$uavCx+GT&0@br=5p z`RRln*qU!WP^%vvb{@&s78Ml@yhXL*sxV}+=Y23mMovCDFi>LJn|yri5pkK4&+6|% z!+Pf{&QDXpH*VbM=rlzKzY#?j_zNV(8D(=K<}4|&++=~Z1JlGzn&h&BhBb1TLEn4>%;E? z2q7yAw2J3GGbU?Q+0Dj2e(RyYG#68Tnvykap{t{_pc$2zl%%SvYVGa+Lc&+`91<6yCNno! z^{SMo(EwNIf3uCGasaux!xrL%ka|HuK~}=Z+O7nCrF$_ds;Z@)2R6Dr+`ArU)3u(> zEjiq-~YE6ikahV+@j`g3iHM1bsdnkIE?%~T z@$V1UA3uIv5tG7Y98{B~0eRCN!HAFJ9}|NLB4Nqc+^VmC3MU>P*IAX?+1ZJ(;pgQ| zdSd_k&Ew*;+QPz(`7p5xhce^NXqj#;Zwu=>ucMNo^Z7r2{;aQ4k&!X-zVYz%WMpK_ z%FNs=^OTnU6c`vNJTBW3N@eNEi}k80R@lA72?6J+e~%p!62i{TE*H)E4M`5^s+1yX z&E@;8Hq@l`27rA>U=hIU^T1nsJb6V<=-mALe3WmD_php|Ph(xLIK8%-$w(2I+D1GS zb%%4ow%)6{w{G2FH@{^n!xpy}e4Z74RH8 zOWlsn&Q$z1ll6%8>n``w(@?7b-uVa3;g!@wLqqq(eDrFjCMQpaH4Q}$|M(B2H#9VC zr`{nVnqOK1vcYhHy}!L3Zc|xNp;LF5fm$s%tqr-$Eh)=HMMV|EVOZhthzOS7-Q9hg zO|wu>yUwR}Xq?+-@(GK0bASJ1QPK0Yu~LQ!z}5vBJgf~u%-QpP8G7$U9d<)4cR&0$ zD@Eh2ChYw(Z@9R)SX*1$MJ%3*h49WDF3)`{bYZ`lu*;g3(mWpAW5&@Zzy{Xnt?g}C z>OqTgC=dHoSMJf!aP$o7=;=+O92X(O($dlZN}>8TwYKWsU2so;;u{$m$)x(@(JxQG zsn+fZxr>qxsNxDOBRUU!RUzfh&rX0qG$G)b$k_Fu3PLR1u6!aS1Yomw+-k%A@Sz0Z z2VhsTPpUN2`}1|mS2lewJQWlaTwGiLh-GCv_SYv0Hc9T>q0ejraD{05tk3|6cjMMA zYF>*-T3qHRW*#238_e66o?X3qRmA(~Q^v3Pj6AkEGZFLX<%IcfbgsgbFw=$;Waw$i8-84R2peTUoIv&|t|lh3r6oSI^VAZT>X=ii7_#ZRD;9AyicBt8V!XgW;xo~5zcI8XFu9WrB6wh zuc_z!%6zHbj&8H8Z)AjlrfUlLrm8BpNf-H6VSC0WsNc2Bf0mXijN0!Uz48a18F5qB z0p8eL*fUE@OLOy_Q##0YpaVaDa-u7r7NJnX!;6cHW0r+%_E+lq93@LOj`vpQTSAD! z(i2llY^DTtMISuxY;BcV+su0E-OX%ZU;tn~XMH4-W2Hrn9az6hjGeh%2)?jT99s{*9{HBLTMMcGp3kr7j(3HE7Gj993%F3^bdh)Q3C!V-&On$pB zWknzlJXNKKJMQynfB(z#K<2Bw@P2ZV^wawvJb0jm$Bb>>e-jt?D>8M@qgEfetANv| zo7j_W{ zWf!l?%E@`Iq_KwktjV)4G&eP|>Xb?QyrIMO1HSp{ze7!J2wv|s(cnBMNiBW-sj#Wc zS{$y5hKuZLK^7;(juMUB8-#gM;JIBk9xM#J!%&-3eL!X3!($`=a*R-<=B|kJFkx98!$s z6z|}~@fVl9KlhUvjm>t!9$l0=x4Me(IrD(U43SJ9L<1cL9@(2BX4~m{FqEU3IUf@p zJ#NgT9P#peX;?XL7;Z6Umj< z{xy~NPz$9|30Ly4|4IPeR*?(k!Oy0}1wIIMGcqd@Sb(XiDcY1pSlDa!_ebnFQke&5 zR(tbbl#wV}1&6okP<&mJYnux@4g{r`j~5`JxjA~FJ)#@6&-oH4gsv_NjxYg1nETGs z=Xus2N-6C4kIZarqAN+IV}3(3xQRU3fVkbdDRs}!VSi2gsQCcy_6v=e573+M-@mIE z13-S1fcbPuY$Wen9$Z@Ibc996w zm=6CSuZp;u8sVjvm+Y2*Qj0BcUmkN{s-}^mbh|1ULh&$VPx{_dTkl79zIjq?GZ*S3kjO zd>If89T(5Nyv)o+_~kd6^~pEnD$8{WYBijB=nNL9))sMX{Q*zJ37Y~U4af+Hugo59 z&F5(p+^K8*p_qheA$cekYb7)3=IGJbIsIk}F`Ah2`{qr{m%EPt{)p#ruRz=FvN=;u7$AVC-(G0 zLK8qa7Y0XGQ>s%^W(G3lDy=6>GP^K=YC8{EB zg%z=^yc7!B+HvIOUf$lB_N-8fRW!?h{+E<+eXP8RjkR#+&Ygu)YES|81j90&d|o+R z(wa^)P*ZyldVS;X-@}!>qJ=EtIj-B-1qXH&9(xunswK=#%53v)lwC9PMd1WQ;HT?T?`Fe9=P0^&CKs9^CE>1TPo1~4OWmqG# zZhdS2bGblcbz$MbRUhCk5cA&0=&S*jvA({az(d6eg@uJ7p_?wzLYLs|=*X=kj?KSo zS`Ta@qS8E3)O*~^Az**sWoLF99)Kc5at%vEP0i`-cn?y{&~WC%hbuX{cEFrITqp9d z5Q#K-ORWFPA(Lh=h1U|Afl?0-wIWoCfMd(t^PZj_Kp&L}IS3|lwU#g%4sWxj3IT-t z3w*395qV_U+3BfCcRci~ImsQKZf;s@2M@i@c-Y}3ad0Trn4m^RDvUcxJvBUHRefY{ z2RPkr73YPjWnMV@`}c2y<+ncvR-z&!jqJUD!RptYE^?e@C;0pOdoQ=Dit_VULgfv9 zn~;>01dI)0A_Ex@FnIUwUBJfk^K*!1G#c&f>i zr%!}RSsVs6W(N%UbhntHgl+S_0h(f!!nOd^)Q|S?e1pEja*5pCdf^czNUUBb0S?n3F2qJw1yI>yU+oidGju9jga>>QkT2Ro{KH|95Sz zY|*d!)R9HO($Wka2Nttwt-+bip$jHo;uoAmYKtLu{d+qAg zDd^QEDy)f6vIDDo+b>Dd3JVKMO?y2&JQU-3WG3&Bl8y`-yI#8%2=q5sEf-e!%a<=z zRaGDX0K~)JL#YM5!=5hY{A}XmcYJ18#5rPA8b~`F$iuXvYdHl4yyhyb7aG?20Hc`op&k)?|NcG5B!6LjoQ*%zWoYDqzLnW!zq22nn8+G3(9_WY zS`Mk_QbHL^5T&zVl44ebQX{WhfjmAwKCCM=Y>j6GFB0kW@6pVxUSkp!HIQWjrU$^@pERTg^ z0(wI?lwT{IzbSM=*r8!zG4xfmxDb&i2b-0sX1XKFF;!nABpliqg?2ilK2`E>`A;n zv$CFEjqMEb8jTkxsA!XS$jM`YNBF2aKrI^hDH-8on09t@pagdaq>KSI1>gsjnUILc zarbXO(28UWu5Hk@Kt60UT~kY?yT{M5sVFvDQ(L>p(%+pdqKo{U^CDBlds%4a_LbSm zUyfOdN#U+bC^MdI5{g^*p3t84Ltp+(lrXOd*e@h70QuXZt0DnGRfpkEJbs~~(2GT* zpn_%CawjQ*1jMLtAZ*eVYtZYtNQAW?$p~oCL{PuCiV6-2O7_~8iIO$uBzJIdu$iik z`ug?H#s)Rq>(RFHPNstu50ALW#ZQH-XNp^=I_@s;n{+1WGP zIRGDeP#b83g4Q2we_o&m5+V?@=iv>D`l>PU5*BB;S-B3nqJ56ekG3u5YeY=hd_RuC zdx&vZD@wcoP}vH!OC>w_Ks{n%XXisVvhAH%SXr&*+&*6!&I1+!krNUW1iixk!9h$Y z6tbn>6hk#N9%)rZroL+D)r`X|t>;f{kj2IQ(Z9a0{cdi~q`8of=sg-Oew&#JE#10v zclFPoc1vAxK*?cEDUfnGYM|7`#0UupeD;6pktC+$GhjBLB!BMxkR*Y}JbdU|R#laj zPy6%uCE346Y4R2pxm9)@AlU#mHb;!k&CL}dk7WrzKmvg_fa^y{O)Z+}C;Q?>Q}{!< z434qr=;$eg>w)v!J|L+1-XLh31Y)Pk=huo+W&r=X*0Xb_*~ z(DcDEk#mjrxo7={*1Zui$LXUKb0RGGJnft;0;sMI7w znkGZa>f3;f{`t$7wV9x8kZcC%z4uFAH{uj%BqS%Z8`zWzEoKqFmi9$7N1RVYs2{t2 zt1K&1L)v(IdDR?oetw@vQV1RRP>aI9u9K;TZwTh*IK{mq@#yA-((F%o(?&u#W=n=0BDf zxeih$((BjmwMnRAuA9>a2!fWTCX8lru>!I#)kU)r8!-q_zV_WH&f8b$pj=eztE(Fu zKWMkM+gnlJnSFeA(tZhx2ujuJNWo2fe3ClO=g*#XaY#?(ebJAMijs*@O9Fz@Q|w3k zDdhTqe(`EW(`ihauhgpRRo0HSwyzg0ppVOGj$IM|x4$24@VwYRFcG*8(Z%-Y+c24K zA(&A}g;7Txq@Z0V5L2o_ZDV6`B=rHx&!0E0-z6Cw8HtXIb04`AvGHk6(%u6EeU8n= zzd-Vx&?-AN(bxo@a}Hz}1*uSh;J#pzO>eRY1iO!q&s>damQu=wGl#psHPk{Cm2k=Q zels4`AM)P_x}q;D+1nSF*>}al8Z*sxQj=j0MiHZF@1E{%g~XkT++5i;2?m9ikGxf7 zX4o1{IK7`ft?!6pS)BO{{S2r#F~1Y_G&G_|$xAGTnIF6Tb*irQJP1nJ2225tVt(45 zCJ_vPm7ABRucrs)oYk;w`ZP#UODnd@ASc_m^v=XfIl17`2$k`Hu`%=W;Hy|?U*qE~ zxab0P3KSI-q6ow*H18tJpv%n8{u&)2DEOzq`Mm{P=Bv6CW%MgBVfCpWI&TbS_+q(=sw1h>00i3!@hnoKX6%pO+^G z+BA2d-sR`BqGK><1LF)(@ydP74)!=lb>__|jTf&j7=NCqVAM5$?*+xw?+)d+;Ht}bZo z|3mwR))-PSS3M89Ep=$Q7cZ@XVjOx;paj$xwCsD?%<5SH+UZ-_9%krSJr6eYYut*PGygsmOxggMmI0ru0tS!gr#roy&{@~l*9TI2JYvBd za-#XC-TX6aGvBU7!79Kkr>WOhL7{s&#nxB{Z=Rcb zFk`Etv=ruHNtoFW6wXtJr!e;eW+o{a(EOO#kCumzFTRZCM^;we@XF|@R?ekm$YVpF zqs5=-<6#1*9v~&nv3`KgoT0G*=02b_!qf#Onu{~WAUJ}~B?i4W^r`Z2I1KWQsuy zKRw!E7(CRu$o#w7e_R_(QfV^Cn%gZ?AdMN>prfd*oeH)5i~kj<2Q0grhzK8_hSi<+_I4R1rOnmM_bn}w_G!x)kz_NwwzjsU zWI)!I>hW*r8$+l?#{2tWa9j&jxXAH3jOihCOpT0SdYwJI5)crOtnsTn$pUmoY~dzr z;D2z~ERwxU@BaXUSp*^&-?X-e8z0N{6T}Me%8rC>xCKxPm@dwKYQ{ByZMiCGabIi@X;h})HrLUhfMP`AAkDmlxDXp_sIRZK! zsI+^Y8Z)<_quH3#pg~`Kp6Vo+s|JbA0`0qu2ar2;6ISftajfq@$jgYsm45} z9e|NR%q_yb|MhITpVBE{wtOW4al*&XubcS5iFROc5Tqqrq+S=+=Ru+aTf?Ije20NY zA1V25u3WnoT$!nq>XlAB3l%l9R3#_F>up`5ff7E`0Et}$8yX6i1WU;qpP_jNzrYOSrQ38)5p7FI=dsh_OUIwSZ;K!-|~45>a-_X~mE3E;{7 zXnPSRL!dzdYgVc6?1aYB2CO8V(QI?F-&ZG#kqU@1&-dD*)^_^ii`9%e!M39Dq zRt6mj=o01NWb!J4DX!1{m?_{eW#kGo#9J*f35hcx7YxwBjs};;tN<{_=lUG*oVp>S zsn2BZBEgjLHh2Qq$;t6*5sbFt#TM4r&;B(M6ls?(nTnl^!DzGlX3b8I5aEjZs6oH~6N)99)F^oNnxi8Cs^4pX8x5ZlUDD6P+ z07HSbLbC|*@hCP*SQhtAnq}&CSisEL-1#MHA>V41mE70Vjh4JOreq zeB??HnQLY*u9B#9;DUk99N7PmfuOJms%wN4 z^!^NriB)F(Y1gRTQnPMzK#hxREr9>W#t67>B(`IP#~65+Z!ffCk7*(oJ!ejm-4|1! zeS+|avpU^{f`4)97!d*)a#&*A*)#zxS;%!m*!SG)?c4O4FL`;EaJNA4yG+SfheIg& z&-W|qs6hP9&Th-N#70m52FTjX=@S3^+}suMM{I0oTVcLdB`5v_qE$dq4N@@k5+Rqh zDwqp^#mt~6Ml3@m2k-!7muNO!lg{s0SoQ1t4t|gdMn4Y~!4@`MWq%)Lzb*b+R>#UY zYPB0xmZ(Cp^Q|yrV`C8#@E;0;M-dWr8q(V|*?kF8i<<*p(9G%$PEb7H*k%Kb40}>j z(dq|hQO!|501-y_E-400mhc0J(wYYDi!hQR)%?2l_iq~z!=9e=iJ9~L4wfRAMmKwu zKlDAFrx82+gS~U_Au~W48`~6gknm84jWp*!GcuZLJTS(yb7FW)b?19U-Ho|TW;}4` zK;I~#Z%W{|JqK3R+XU(Ls2le>#NzGrEG8$I%Iv3H9HsD4FBG>@d#)9?9`DwGZ~@`p z3!>tyw?{AnNjY6$g!77B9QB^;zG%cutvx)BgE^39k0)Y5Q#$Q&MeaZnW&QY}!;v#= zVdysdk)!Uk1oakX{O5}tzD$oEX;nMr6hxiJfLqKKkd`!Ii8Z&d@VuGB2eWwasFi%7 z{*YId4btTDO0sulVBELy=hf`nBUIfvFAIz1*W|MA-)F&g^iw4B(-+D4nTzv-l=Iyz zf3-Zi$b^Iw=vyYjRbIfo!=)WyG`06e>~xmET80S#^9%os*WmuPA8id>zo_oKdYwta zVWI6C=5>t}=z34x#=^o2e@&w%&2(QL45eWEIs#d4KP%b80>lCrUrBI=c5(OW!BhAm zHUX1>5AGKXd=-MW0}?331#Fe>2UD&E#G??k;Bh&;b-lkFb#%A zx^BCJqFZhzhzo^Qu2O~7>4=Xfw>W4wIzf4Hl@*Cub&U7XYb zonsRvrl5$Ajm5N-1sb}ls*YQ862UM(=C?Hfft6>{_x$u|J3k8SqFP#JC30Xof|k`w z4x}Bd1F8q$@d06n02kNJ-rn5ItgW{fbdyT0?Y{5NIcom-HBYO8t&7Hc_ob53?Ck7q z8k)`JPKC97xZTG|4_$|uE*>o$s4rc=yOdI)a zrzc^-J2~oDr@haQmKVd2y907dukV9>#1gMcks)Hxj0Xb=m9qqUESlG5S5}S}B9weiCT5~J7RQE$%AhK{&Um9vnewIOl+$o8O4s;8wtc%tzp~)F0Kyv^XZ7LZSCHOF2l|hCs$Wn5Y2%azq^BnDm2tkxgq(^ z@N7jB+{qd@h>3}7;B(N(=s}N(F~jVXx>MGk?N2Zep>Fs=qjkQNU>l!7EKUecx)k5@ zqfMU!#8Rt()8DTedFzH$k?oC*^S%YG|Q{0IfV+p zGy&=ypY8OiKh5dWWbitGNO>N1aTw-0?VgntN5Wb%T4V*I{Ow5k1Ncb&ob(ySe97Ml zJbS`c3kQJz6B#x2d5_SheBzUSk7B3|Ftfnm9^}v_kdAn_^rSPhXiSyCX_QxOrpMb-jZd(E4sc>fqgcU6i3 z!+<^>jb?(;bTvE&s6i7eETFMEX{E{zTXjyT8E3NYC&@}Wm?u@u~ z6UriwtuohZE=5Uj^I9PL=U9kHN%xzGl(c+{EnHn@QT85b8gnzn_E7-?r3k%L2;3yW_Xlt0&LA~e`DA{p4jNpXR~!W1%U&( zi{A$vc7XAzQMHm^hyXGFoY$_ZZgjHt}dR`Q#SD||Bd$VI<*-_$kl9GIja)~-TJcMBXivBDWo(b$wzj_zM zBX|uWAXzDKFLVqK4GEussYrOI>i~HmvLl75bjW@bil3dmC;AwEJvQIg3?@sCjwd|l zo?4}&Bd@tWN7Ld$Z18fBVjQ5WRtT`I_If?z6DPbyEgTE3YLI>6BYpvPDFvm zkw0jBl8q~38U=I<3fGr>u5FA-859{mT1;O6rcu+L#A4CJr{G`OYM}%K#1t6?>XNE2 z9+sA?ephc=<$P{lwzjdUFrEy-^MU7wtcP||DdNDzf{3B3!e8VK$mL-)WUB6{y-}LP5{p2s&?Y1gxTp zz$&eq-Vc(`Q6XYO2P}f^r)|)FUk_L%C;64!lJ`mbqhsrB`2vj@$6gWL3M&D-KlKqx zqGN;TBE_tU8u!xnmcl}I1S*S$NGZgP)R2gbET+MY9XbmLt5+~nufQ9G;U}Q4?|L~3 z2+)3>;aRQ{kuJpg#H$BaNZ#i=w1Vl?YxX1AKKKzqItaeX4n!0zB1fdbES`8@+l5~d zUTN?WQ4lAzx_;*@T_exXeK88c&lmg(e1#1Iqoapgtu!;hju0;E6d5{D7JSI*#3g9+ zo)W?w!NB)y4~jL67Su>C2uvH@D+VlZ(%O^|3&)+X*4f(xVgxM1*5* zy{oGW`V^2lVH%SVvj!Kbap%UU8V|_@^y?n%UZOM#6~BA^V2|JkSzwuqxk+bD)pSb89ytgV5d?+g`+oicx+B1h`1A4V#s2yB;sZkB;`N782MAovOGjK^hnxSbB>i*PU z5)$nMNp-wiYsMG?r0#6pwmWcdb?+D?Nud#ZkcoQR@R%=a8@t7WrhC)^-I({u{vP^C zW@hFRC4@g5nFw%>!8~=T*=23CA9Dq0zep*ox=xnxo1j=F8!Z9#7&(Xs`T{)VXdigY zc(Dz%Rlbr||J^snIn1WWbP_0b`n|k-xWzv*IvSq1#S7tXSOiZVOUA;)$dm@0%l?*=o$N>=RyVh$4pvjEo7ku>!N;?(={Z{}@D$3HH}Z%pI14%8mx*bKIGsqu*kLl5-B;3*%FbrmXv_ebB7 z271&1K-Icnf!++2W*oD_!287KpFa(FPm^VJ5>rq{Mi;Nv^6o(j^Na2AQ-stVHgn{k z>RMP>82B6+Q!;WTgZcZY1>COM?uIWOK76=DX`R>)5RaF8n;H{uc014u!3a9e7X01Y z@w}GPUOU||%ShfA0V4|#4lDb2@BRH7$IC4h_`vWDaDTS+(OGZ``rk5e%q1&2!bSif zx0Q~|id!2%NmG1|(aAUx;KYu%#ca=k9SI)CfuqKTix}GksQO)%F;P(>uvY<$9(=xk zVOvR<@b;&5|8dw*VX&jDsiIP1KQDQNcZ1>lbXm+0;nHoCE}0(3YZ)EVdlTfvUg?D7 zQTioTYDtrx#G}LcFkL;@qT=GM^~xEai?ajpXOI&S5fKwFpwT&~RiMpsa&j<~0O!s0 z;A@zmm~Ew11L@6XBL<5ZsVxyXci))~v;d@1e3k=j)H1dDWBZFXm9l)64rIIxm zXH^IKR3&n+01#a%Nst$88+pSTnwl6Q%E;KdKvKaDJHYlnUtU}+&`0b; zgBMX5kqB+6t?x-fvp6gKKEbV96=yk@ulfa91N4Kn=R&oZ8Ds8VVXEtU{1rpEZ~13{L^lb8`#*`FoT3V z2l3m}LKede;40U&hyXLm?$@oxG`Rl5g_I@po=fBp$d}OV;vvai^Wl&nh6GV%P<39_e0nDc` zH5JJuj*{I2tVF%x-~|$KG9@l9@mC;Ec)RU>WgXW~OvyX#w)Nqzf87med=4@ftIKh? zZn?!Utn5T`k9`4Hg-2`LccxrttTVfS(NFnY`wrKB1e^flG-Y!!S(Sk;gFk0lbOX1Ly^y$W^6 zXBQ;7vrXTy&!3AkPrL;|wQp zNlGY+8hngQvjbHJmh(5rAGNTx2TFwjw3<0N?XvDrt6?Ow*cpS#a1aK(JqkfkgOoaf zdW^|w2wxaBdorVEXTJd*T(|WVdib!p#lJ|ml3h^n7-Hdx?|DtbD^8AAnH8YAm|w=m zo^fAJ(nq*>15t!NZJ0CbS0r9;IYq@cs>qjKJ1C9*d!D zaI(YFk8=6Er9EL*_VGCf*#)Q@Knc~od!Q-$`TLWxYH`9QikvPmh{F(2!DVf5?<3R! z*t-HVt&x!t;HsFxKQx$!hp;z*PC#I6?n)nqRBcSAUVb_Y?h)v#O+|CIF!Dn34`9Do z_gkp=C9l@oZ9zK3XA#2^_?#Zn9VvoW0rfVn_xjSt1`?Dg*exqw1UE@;;X1e5gk@6- zh06$J&4DTC*x-(Ui*hnCnFEH>(a`|_!Eh0DVvwsr782=ZIt5eRSJ2F>p7*6)e$^*( zwmS$s3|qJj?0wU|7v2oSI9PvfHIS2F`ELMdCGnUKJPjqhd-oR%!BjxCcfAFVC%z2Q z>G{bfhjs~g)b`#Uz+0+;5-Gob6|0`=W1%6IO^S%;K1O{3eUdL4BEf6nn-tj0+QkcC zAFwhlW{uVX*nvBDb##D0#!Zg5bQS!fZ{EIza&!*TYtC@j5ddt`r_{@@+Q3yX4^0(t z4v^Ns^Z|GPDFh8RP#Nl#T+IAR@_%l6#`}R8CjIZ+{QSRfTlN1Z&b$H}r)mvsVHY2c zzd;d@ojL3IIy`55%)s!=(_CMBJIn#nDZHmSYiRDvVQYt$G^;fyd4`A#6MPCrljP6u z88zk4{r#Km0{d&uqf9a?h_~vV>sw=fd_QqCjlMijddQ+&rwG-VpbuAyHNgDj)z3In zl0i}uOejLj(kq;o4cd3+r{7o}m>*ZB)C9&H8kW1k21#It^#6V8JAE&+1>DBtOkDXL z0Aj3He?R3cq_8p1T?ACiVt(zP(uLK_+mtG1ikN5MEX$B2;qCtKMk53M?**`TxKDKQGw-lht@h;C%J?M_Iw5hn%Xn zY2ZsjNkmoX-fqzLF2#!MSw#4%3*`bo|LN>X^NQ|z@w8|!;{$gA0Rrccf4nu~@c!Li zLWP2VmcZjcLZV&js%GzqhGtnMMcuh_6=J!p|I$owLJgxhT=>0b-#aqi~U>kSTYcn^l#7k-I04MOv>(_tCLf@ zwl33mHhcaN$kv&j^=Vvp`0w(gFFk@ghFgxwxWY2kqYl(kYii4DYMoupXVdyViFIic zZ)}*Wr2dlgoYz1&@%J?spct(;N7`M{1FP3^Z2V}4TwU5y^28^`Ecb}bbYCK!?y%zi z9vffb=C^%t?Fzx`DB4y^nCApgNnDFcS2qsxa;}edbWNxA($=niwOLURydgtDTW)RtA$*9kmd>Z5+>z{YXR3I3eB65r@9sD= zzU6S`xEKdp%R%6m})N1NvOrJ`a{cXeLYZ`)q|dw-8N>9%pw?LD{3 zg-W4&#j0;h?IVq19($qXN81FYP5`m1HmW*b#%a`*_0fGGI(V=AKGG(J!lH9RClisb zuU8;H=ailHLe#`W@~QGug3=U{a=uM=HdbrPoXs_W%%-caH-bOiD&;Yb%P5xf%&k_b zUQN^BSaFv$>CcJJ*?_32^fKJ}0OC^3#iN=bOGipkzAs^l4QajJSE zcr1u`aC~)=?Dl$&eaRN?i1B2;Y~4%kfsx69;Y=61e+~}RVjZ47c5Z%~W)lPhS+YOW zqh?k{uKOvEjv2u(*m#hwQWhj z?AKD?#hVZJm_9qWyW=J0>)fbcz4|wmBGTfzUutZ%@zA8(hEu$g>z6>&^J+%c zXkkN5$BWtCOay!A%A|8x9GQ@g`o8RbT-P||(vJAq!rIm^@$Vc;3h10c9Us+3Y^i-| zSO2NW;1S=ftoV!Bm5<$;C353BT{PP+4(Cf%hcQ__CDfYiyhG>0Ec2ZmDpM#^R>CW@ zzwo-T-?m=34y+}I$FfzBE?&$mI>u0}bkV3>|DFHtD;Wc00UnLz8SPp2f+}MjYx!Ck87eCoL~7TwPjDP=#ga>V=1f2rrv> z!}^P!_>?<+^LD4Xy4GTX5y-6k?A29Ys=5x*+DANdnlg?9c`W?N0{fe$DW!+STSVPq zZ)5l&8Szwa;4_QcY-}S0LiUzdEq)vbS8n<$#Ge~R{2=hDy(0eD+4GU${$hRvoBoCH zXI4u~5p`8#d*-ZOxuVX^o?Cd=9h~`@cILZwD+>+&ns?|VHGI`j_bI8i7#v!lQP{Y6 zvZkSrI!^a2$QK?Q$~e@h6X&|kes;LF6}n*)99H4FD#~2tkdbS3 zGN&#=)lj{xm~|#_prYh>Kyj6B-eefgl9KRbJx0dSL$K|Yro&J584E*)SDr3s3c+C} z!!tDp!M&AiHKyXyRY&P$lolxJX?^#+?o&GZ+>PKpezMU%hX47{hBv6vOSru9Yo@+; zre5r8UhC;F>7#gdBPSsyV(0WvQ4+&>`a*ScIGUe%(RK4Kk+I63UxVhh2JIWpuS3}V z&zF~#YQw#&H>1w7u7zpIF@@Ls2(YD|(wv^QIPbHJ={-ZCi#%>%g$M1ATtiN(8l&~b zs#B7LjI3KBF_HsEatPNc3TC0oa`Q;M@`%NF6{9wtlIgt7? zabNfO{o3l^HS*S`tset?Q|vv=5~+hiBghUX_9n%a4Z>~hH7!;A8`FeqcO~b`ms%ot zqjb*1g#M9Vo%Ll;Nl5d#L!B+mtLS<)Fl29cfMPdhWmRz|Kb$(x%=WB(jEKhDn~!f5 z62#`0hd9zW*RZ~EelA_go$~5@T*5Go0YYVJYxA~jk-n&}Z&TG1TSHHE2XD3fsv#L~ z(^htEq1d9*&iFR+Ete0=*`iTvG{uOR@dmmvu}2<}u9XeSljHP7zi4q$y78jOTqjp z-W#8pWW6Av$f&bYn9pY}f$1jitqYsM6Zesvi(hUUxn0vGX^zgkG9{wUl-z@h7txd_*6B#xufZYZC^W+SZjl0J;ahrKYtlp|6sc>UoCTTAD1t-GA* z;WZiE{b&*q_tURK6Uu}iifke~{X0G$kFS@sS6vm4{mXsqKV-c9a#Jd|<9xm;h9o+^ z^MQ-|eW+V@S$&0uezfv?H%F`gCcokz>?fYWdEU~Un_`+2U$evEx<0jkytq?fNVDd- zJftxH=jS7yXVrQ96t3Q9JTD19Kp}!$3;7g1t@(HM+f1jEUK!qlkl8cu(A$7=Os%fg_^^>-$>)UK(lt{k7 z3G3{I_1WdM634Atm~G;9Ck7FX z$l=vU_WolF9EtoA(2y(Q()c&zfT86+etC=eCbzLOC7!8;t(BlF{YEJPU$Vf+;a=w4 z=GW>o-~A14_8`km>_b-8pFerfRIH!U2wAg7c{SEXc^TrfAAe?QF=LhKQiybW8-!+X z=eeE!QWdND@*R9qV)08%LG%*nM+&6y?@}!{>nYuu&~k|}=B(QcB;)RkEEO{C>GEBQ zbf5AZEcGRsiqNM0zLwI$J<`IkQ=`Mi!JXa7U3+}2#gr|^-PPbOxf;zDIB_@o#Z>Qi zQxcc0CeE(BGn|3ayXpk(yS4=p)h}dJX8wwO5~U`SyRjJaQt}5j|3`5XY1d6nFYLCN zg%R86-LKMTv5UibF`4D3%lE1D(POzIcXfYQ%%mlYa*1=Wv^8WFby(<()8GQtal33+ zxkA>dU}nFIzWey9d&&=egqBYBPZ!URRkN#Ikz(5$A8XMgs^No8uasq97W1D23NllMY$6Zt~FZazveX6heI779^xzmZS zbD%{6#r^G)825`JjV`pGut&RqLG9nM;D;ZbEN>7v%8`g%x`J>e+YWgVelZmr%|B$S zCaPSz{O)jozFJb5K#qmvxsidJ@a{FX#n%GnL5-YWGK=lalRka1dek_s_4LiVmguG3 zj%&=4r>WhW(Ga=-;_7p z$3HyCuzpQIb0?b2g%?Lx}~)YwzRaMT!TGHJF?<1@?s-IoY2%R$r2QpRLjT zG&6rM^q#_m2=Uw3s}(5TkdWPfA9F?EUu5&73wTX#Qj&mjtUc+Ur{cD$szd!>d~w-ThXipA3VWPBu}~TD zBQd-Z5`m6T>)`y(be&85cSKUf;~pC)M?bmD3(J3YS=HMN>ZO)`d2588T=;l@bza|y ztF*y7OZ{%pO*~R&^ES1buKXFvo9@kd%kjaK2G{!xR{v;N)gpiAN^Xs%dD77jCx^q#`kv0$ndTy|G`hp-#;)?@KUIx@lJec>z2*sX z(@FAVsL!Jed$UJlPNjF_P)yt7_okkiTzZb}%pE50f34c@YdnQ+W#Rw9-h2OJ-T!aE zS{jtLP0A>RI>}xkBdbEPQ})cxPNHbYDkCeKki9|?5h5ddl)cN$%6*)DzMt>o{uA!| z@%Wyy1ZZY&Xkbpku+o7z9dEUmy6R2iqZs;?RBl34EB@?vl35IRnJ%D znCn<3HAaUR9=}@g{aL6@y3tRHc8_C{Hw(+v@-H50nEEE&d-+e^Ed5RT@;-}|r>~pa z2%^GsO4@QC^XFS4)s7KtWNo6xyDF4*!m=NeYsZgC**?pcOF!bpW8C6vv>UZ4Ni?}O zxoW?1`NqYI{IM0!bSmE_rm0hpO-t|IvDkT{AY(2${gdU&(T!LK!^3L_6bemSL$?(i z@ZeqMW1wKMiA%WJ))u0wd*%35e$n{IcWP(1hi|Jklr&{u}_R5BiX0Mk2`@rE!H^i?=1U~S{GpMznx#DCrV%4Aa>|We>paNUke9KwJ zmfQmmJZU_qcr68aeD+-?oMqgwXY=;hmLvWxe)Gq3PWx{EDXG1N)n5u213e4dv)J>l z@_+S}h<~j;@%!Z56NbLDw5tWb)T!%Yl321m^_>V^6uY|x!c^ok%#NO&Qk1`=$iWd1 zK~txvGF52S_f+x5%I}Kvcdk8t#kaX?I7!(md9v8zaar)0t(f?R0_JbGg#ITO6YgHP z8c3}=8&~w>!w~Ha!yHWtLq&Bn&+aboa{5<<2B+{d?7X4tDQj*v+cxD6UexxsYE6=C zTAY+Gc^*n=$ZV6E=dw<>ijV3YRzE~Fzr$i?LV3CGhM-hQ!=8X0Gjwgrkv@UhTt`;UQnG1~*D1G%ElXM;aj0nxI z+>m%(SzWM`JkI#+r!Cbx#IK=nt9Gu{#lBuI$C_QMNY2@nVTJd&dA8GgBBf`x(OsQ0PuBKCm_IlQrW!w!}{Pljiv(jxXc+7RhT7BL?(|qHl zt5#b=?EWfGl_L|ZQj6C4DKd;Mb)A(PeG?tWX4B&|a)x{BOp~{snu0Z`L(6a z3t#O%8wur(W4`*|*Z03EJ;&Ki`vohb;PtTru*e^M#U#V$NhT5+WP;i=Lj zvmafjOVkt$ZQFl1Pg5p=--4C&HLJaeK~qX)e`64bALWGdTEVQBrn+B9y8a*8E}_#)uiCsr-8aU| zSteP6jJHG`9$ry4jQ_Ja^?NGoQ|kCP3AX=43zGM1F3)d--?#$G>BTIoNzd1$k4-2~?@CfGy=Pze?&t4&K5x3iDuoHJky}ZH`@j8eHT)^5!_qP` z7=6Xe;4niKeu}`$!!u0H+^E~#&(b3-&ZXm@xcjE|#8C1(OP9!=y^3;w&ae76Xj(~- z8FR-KX#}ZjskElV+7-`9E8Of~k9q#y!S)26!PxYn+gW;Vxx8zBJHHp_b=~*O zK@oNnk)8aOD6eKu?9$P0n52F2AHXq}?k<$8%f0<+97Y;OPkVHHRZi=Z8HB22T}2-Xx8=ujz4c zb$O1(lb>sh1w=~2Q-+zUFKz!+-PEXrCHM#auuYv=v(n?qV zaQW!Y@C}+d*Uc3d*0GK3UwRZ;5qq!P$#XUGjt-0M+g#Us9=ze91oED}4;98VXEd)< zAkdUuy?#1)uUZV{y#0T_wn;nJcjKy>zrsfT5ml$CXsI$6f0MoSSg|UNxV%hG&tW-0F3T~o?rKTh>y z{O7=px9Pzri8mEDjcb&hFEE^_ng*%OzIr~*!+8fpQ@Q99x`r4me-9oAT-I@dU zo%_lv>J^?fR7C2ibe-dKDTw-D|2lU)qFi~ull?clZu{FdS>-*MdaMqe+b!q~B3RGn zzH!>xn;9(>bi{zY{T&K+mA=vn?pr3VbL%5`BCMVpXDPP?Wxjk>+m=5>OGTdVhn`q5j+YemNMF`fk*}`~s?=&fcI>C` z=*#10j~vlD(i*p{)KBwlQb$$YwLIb7+w#nkYv;}n_k@N0>FG45Q^IYInv#&yzu{2r z?d#&JkF$xo$D6MEKu`D7HI<>RH|sucWRCqL-4-)v!S2@G9^Y7akbvyZDstMr`RZ0m z>bKt7+SXoMgje~g-z>om#3~As(yld}f101|7ob)cnDP1HH_4MKXTNZT9KFHQ zM)vHfw$E_{fzz&@Z~g|k*kz9Y&6xCmw14Sk4XfylKH1&&n_HcpuhO)rF4(;EFQ2e? z_;-ZOA!Oc1BD{?l**w<$^89{YXn0oKlq%+N8kb>19)BL-%XjxLDSi$(EU(h7d+grx}rt?J9byAd%hA z+^JSUB5s@%{Wo|~5f?1L(UEp&c$AgLn2NPDX;MMoLqg+1-_L>W&f)IY#`f)RiT5Fz z*#y78gvre8jjOG>$;(eihpUecpV8{?{O~JR|IVRA{LFocl(k*>86Lvgou3WaUuP%J zSy)=kUvB1isKJnzgIM5`W`#(rQ{xJ(_vM!{mBOb{4V0_z8$XM zzt`A_e^ciFdn3C4yGH*Wi2r+z{{M7DemFU97yL{Vn}LEC*ahxq+|^FM2_P4BK`fBb zPus&q5>5;r%NO1L{DSJxv9~<-i3F<`TRUhxpwd(M!pawB9TU^T2n*MB2v_Us>z}|g zy1qXB?c1YIswLu@VQ2KuS|SjnSi#>#mE zfzASyFYuY*LIDqb7zPx)rW19$2d-aRmjtL)?(QN&90&KbX+Lq;`nw6E@1U;x_enMr z!u7#In|&;G(y<$YzK#y{O@keoE+ik$=$yG4D9cPFrh||R)ey-38`~K@H?kumdtfed zyiK;JshBU^fEeqEHS<>j*HH03{8? ztMtw`*hNIXd|9L9>gviU;+ZyLn_%%pZ){WJzbwI z3^?2Qy(dV-9|^+ZR#vta%EP#y&tvq%a3|&}wnX{)!^o;N*^;{8qNX0{LKsZjO`_d; zu|H)4@-%#18%as;hYTVL0E)4R z$!T|%Bl~2LbGO z^;A><0m29xb`<$roXzbbc)TwcB&&j}c4 zP?189929iek=jpceyKwbp2}atxySUvjBs5!3V%KPs766jyS6J9_t3%S4d=>vaG&Hnp`$zEO1FEH{MxI8@HQ)n*poZd zMMwr|G7GOcgBA=mVcj$+o*o;&WmZr7fHIg5#`4+)t;?6IA=``p-48-J*unhf-_M0~ zkbKan*qE0$H9Zp^1!(}}#37-YZlYU6#w$p`wQL|1f{s1=OSPcJhbP`FSeW>bsqoXM z-~ff$_g9{8c&A?_y78-ux1+nn0Sgh%hKo2(Q}xNSl6*Kaipy@$U0Hb>G6KuY`ARab zous5eT@dtyzIx>(`!i(x6VDKe8*%lI6XGMVhGcHt?llO0^9^H;xU29(mmp~A=_&J} zT)0=+Tj3d_K-4xtKQ#H4cu@#_ot^h4+s^bQD-J(*wJcV}fNG9LD-rT-Mgx;gk&9e+eVd1?$ENH|?rxYHF&hj~zV_S4Y&CUU}6v~d;V4K1@!?6S|TM!YV@?&8cLBuSA1RF9- zKfgNgP}S%ZpE+ezf@KbmmQK?atsPUilpq;S=ivw7YOZR*1~w-2FsDw%8^VNYR1@Ed@BDcaQ&W9o(9!c1q)Y8@N3`!%1@#b{Fx|1?Rv1%a=|KhJY2sHFL&90|SGNm5MDz1%;4RSe%Qn zvrn$iRSZDKGX5>Tr&r0yX!Mnyhx6~B)uW?E;hu02`how?C}2B`fCeS8vQIkxgBfar zC|oqyp)cZKJ!cTPGAmEz%XF%F!m)!Lt}kb3fBb;3%Agx7Of+I`p)JM{089Lm$DUXu zEM(EDx;j%R3m^=$wC+}IcJ^(PV}<@@6_IXhZHkL9EWp9ZIs2K>6Q}VHGAQf`5-m>I zi#kI!>U)4bB0L=GQl%O0yJ~9f@ZW+Z`>@?L`28W!|Hf$q_g#>Q$?NC=m_Vh;CqJ(b ze<*$;B|ZI=-lfKT>@NYcxy~PVo`y|)M^xA-#Pjf1;U*uNo#osbfWwPBNb&oWSK+k{ zHh*r{Ev$E;neP7j)e2d3c)h>Wi3?8SOY9KsvV}K(_;3p>(|we!a!jp$>LMbq|K~n} z`N|qzP*|uw#_G+Bv^f8(2ZsIUjyv^s>fX-&115ZYx^{i=l|<-qbfDFPkPE^6ZP#<6 zr=B$YvA}sSJKMd0HGPT7H&UrYrfMEp2fJ$@9kUlB2QIy zfl?Dr?6}-+pB^7dQ)!2&3XfWS0Dscm^QL{XnuQ>OCnG!a@$#nKgo&g91j-QL;8YaA z^v5=UK9I>FNDj3Iw3{M=JL-dFnIZZ@23*6PW>t)6Gpd9#ji?Q@?2)$8y(mvx+6jln zxxUh53ooP>;*Ay&DTAS%CF|3~nAfJp#xg+J_v=K4g*~McAh5IhN0qs)+D4|sP#|yuA7u5 zG9Shg5NsYYe;1GM2~AXDZ0vov93(ZQ5tX5k-1&tCu-SENcMu&Uv3>xV$HYXI>pMig zU{u3w)v%|l!gC9L^b=>F1qKFUZ$e>VVSN0l%~Qfi>o6SpqWkn9q$le9oH=f>Zx(dw z2Md#?^`IY{pYlM>L%d(^JM^(k1usZCM@Ly(Cz?T(hXn0%TDWP_DMEr0p$=LzqIOpB z%8!Lrkd}#M0+iVf4v9x@Xla!~eG1i3;i^02JN@{$hZ9X+dokj;zzm>P>WnZ$69P9P zADrpk?t#^f;8PHOK558~^@2(B34#t5V!+im`{vuOq(xtEQ@Ee6z{z6b^yL!=?>Rd! zO|*Wls*)V-4eSr6q;t-YMwUiwG1@KJl?8lrDr^<{k0=V`yv5t4C#{x#{# z=Z?3sm_jTjbm2l8OgSEvw{&)Ol|gd_-8P%M5ZL+CeWiRT8r4x@`+Z_&EfAEFiM39K%}rUK`ZcWUfv?q3}j?vu8ZS`O2uI;hSe-b z9lzSm_6oSj?nGY2EyPs`lu3ZZ7D0ws4r+14<>bs0rH&Pz75)zc$!{4M@fy?~gfB6S zK_Eh{6>gY)tW%HuKPOsYo!cb3elC1-zMd;KT3cE~VYgtprZe-HJk^~Q3cT(DOWI<}3p_k9)g8szm@qzw+W<}DNrw`t zli!FE9_Y|h{+1`OMDkLH>4zzcZH8pdoI1GYI5Y|Hx@)=Ro3U(%>p%>`NmuqwFc}|) z1KeYOf5>WX8>6s_aUKmvX-2wpr^&mEn}eDWD%Y`zWrB@>H37x2uYl!Ckbgc%?>OB; z_TvWyl00F111kJcQVRB`uvTeod?sw`@8^ds_cX@`@(DSHgJEG|wS@(fxS^uT|8qkV zi;BWBP0TGV`~3W_F|n~d;=BL>1q>hF;Y60~UPA^zVjhZe>SqeLclqSCQqIHZ0bJnS zIZ<*KVZSx@yVpL5IK*5Q$8j}k)wh2hN^_>Sk>+ zqp<(YSzFk1c|fPX*t3N^3a9WljSm&W&i{aa299PQ0k6(S>i4R${Bf_ER&0f>BgK_sXx;4d`g#y!*iF@7VZw z5tMh3z7BjC^z2YfRi!z8Jn3UOs#N(T++DSEa-Vm2lkN{nrSJHkF!$jQ-F{UD;d|mu zElZsIBM^G9QusZ4`qXi@H}&nyZa8g@KfeeCb;{^Cr-jeWQAw=J^40VD7n(*v@cDf)v26$G=_!Z% zO=HmOMK@eYY=P1uO*T}irRIDCG}7ZtEdy=~iY>umPhpDwt?B@K{MPGY7!bmIZtaMl z)L~lMb!g?4!U-ct2Ndpm_#dd4CY?PBrPvwsW2lX^*N#D`>Q8#{yHQiLq8SeilTMR0 zNS!>Svwp3-?uI&-L6P?T9V9Y$d9DVUs&?3LDCAvJSEr<>c4|>r5tgQ)J{NGnz4~@GsSfkXR7b#UD14zcf82)FkM)%VG?U@l zi#v}JUUPidc3+5}CZ*QtUF{__nf7W9C0BwZU|X_C>+B$?Nc637_kjb#3c{*wLV=>9r9c|9RC*p?)2`|GR>W9Hps2vK+;k6B(6vl zI^2+666o|32+kNjLPz)Z*XDH;^?(o{Z-hLw7|VRtSgy1El#Q6kRn~ACev97zk%|E! zEMnY5Mq@w^VmH2Uh6}eJD)24pl)d<2yX^o;@5gWAiSn{?D9CUh*lDB=qdW54ys&mD zO9JK|heT#`l9R{qZPWkOnv|ThQ)WHvH?H9_F6Sj4yQVKtbsho~Xv++Efies|boiOs zV-G7}0+5vM_oUq9cl7ly8N=@Q>GEt|Ja@vrG;TT9Kwc8^s#=P)W?jpqXPFCkZr%Fu z{9W9$uZ`g-lK-Hr4WJXiK7u!IDZ7EZOyd|qYf6_o)#QUoM_;4@{AyE8@>!1VTffRf zTVsaSE+Jb5F0XDZeAzb@C{N9I<)l**v^oFX%kHUHmDz+MRw1ECg>->TV*l0N`v=A( zE|6stuykM%O?`Uii&#biSLryL0YsUT+PNq+>NF82X_6C;IQ6j-v_-1ULk?xOO!}?R zT5tYoF1)zkzwhnu*WHYAH1V~dyg2Z z5&wdf8PUSd^KhaSysco5c!G2u)Uh4fEEuu9p?vJ;$D}uaJ^^d62wJE!$SF~042nJ{ zWhWTE^pEQmJmh{T@oc(D7Now=iYLvbpixM=9XqQeMe)Q2R~1_80&@q;=N4?UC5ra_ zSGQ_j&EE0X4}*)7W1pnGwr^Vo)TGifGLR@MHvVN6q?xD))2BKn!j}>tB+%N>a1J)S z%*;~fj(>(ZSWOM2mVO?|Z7nVHQ&|;ATW}VtDCtgpDR{P#D8$UZUA?tAuod`#kBe&# z-*4;3BSu*0BH)q&PlI7KEMj$LY!Hx{uLfpqI-qPJD6SlqwqKI)6-wSqa+g{r-J_02 zY0xN8N>9k4$7&e$7+ho**$@umdlYRS`Nw@}k5iL??trKQT$S6 zgf-;_qMsb#o!V(x_E4;~jD}bkr9&{QqGpNx1n!G{i>eW7NVH7T_SdcjDu`9XSbKVB zz~@M)x;G|?2XD}HI|<#VZ{pSM?V$`eBO*6loAbwxJ-?DE2^T8jsoU(1Iwec_Cn9dQ z*Q`XT)sZOPr3GJTS96}FNXAfK-vI}kv9nq4PjaW_;ZI?#4)3xPKD}iVyWLw;g9o0~ z3$)hMjG}FN^7Ltlsm?n@hOhmr6WonRyaK2tVR8Ud2F@)#gk-p4Km&^1Y^K5o_UfbL zyZvbo!F6rXlmK5DN$K}9U@ul)I$!F-R5jANlcdNyUajJfTluqR`~8&LCQit2jf+0W zcjHfZ0c;CplTx&B-PapxYL;C&BQPY`w_Y=G&R)2#-v-YYY@RcVrg*!jfNf)&RxfNYog#(L)z$eQ958x>c=pu`J&g{8rb2W z2YU;M+9O}TZtx&lF5_wg>U8=vYu_?@)!MWmJKGt!6%o8bEZf5QhAb0uSi+%eHa5R; z%3i@cnuaE=u^eEiT)>${+G8bTw_G}pYZ4QpX9Nie<=yd@>b`&z_Nv0*?bB_WQc{Y& z`}ea%wJxk~;2cc4oj+a@BNOhWm&bN+4-xr7QdUz{ec{r8fDCYs&UE$58_%75> zbHQAr{j0+$j0t?3_Th5Umg+~`rxYGN=)TI7t|Bsoc11JExR9(C#Zq7?w{(l8siIL^ZDu_proQs*bnw);w-zoqGsS2atfp}tSy z7Cy-#AW%GgK{N)gt9N#F0$CWl? zrgaMatPB$Wu8Wt@G6IZRe%{niRXn{PSTj>l1d0vUo-{{<#}@pnT)QJfK=RjG`!%V6L%M2e zml=08j&mCWp+i5cD*C-&{E0^gQ>)kR){-9%$S$R6gDqtB_7v@Lrn4rf-4Qg;ghNZ* zeydZe8wj9WJAc8lx`G1v>Kv5AAsLNaO?rzyy(K{1k(yT169*CnOmj%H~FSZ6i-P% zJ;BF#J(cI=$v2H^==Ls;-CcY3CSvg=Q_qvxM{WONdXl$eLO5WVl0&;hzN8r~hI6mF ziS|vG>RkJdn>4<{Fu%iwoQCJIf;{xfF~|FgY`hulwOP5HOd>8W5N-GFSrDr-O5Jid zfz5-@{wC4VLpS1~t2pf=Dv8Hh?iJ}RG` zoqhc8P53z@g=VgQx}YE~PO^D#0_W^%nHz9Q7Z<^B%Z{ScMDI#o3#xG96DU(7LM7tD z)92#}PhUZb8l~6#ahnUdN?rL8jSrBOC!V`tkA|$y0mJgmWv%({kIl_EO{+7Ck)qrN zrOi$bNG)kXS@1F~a$k4cohTIto&Gm2HRAiM3D^K*!WC6J7d!Tv8bxao4jbxY%8Tkx zA3u&|9IsWsKqKZMyt(!hWt2*8@*hl10vSlnu%yIAKGz81crr$F?z^`3_6e>$akM_> zz8)dizo2_~m7JO&b(#4)WO_>P9ZAF~D<{N>#@TQNz~eS0jRf z)tJagS`k+`7a7VUOjva1`IR3@ER~$$UmWZLQo*jv=~w;JvZo-w%TWU>mf%EZ&rekR zr!7pL5)xVmYRQ}{%%Ci~17@#8oxDK-;sVMcORLpKa7ab*P-}rGLhPdodCZM!UoaV9 zwa9twwX3egl+eCo`;6r%lQj$u5^U$t%GZtoo4!_d86DC}gFj2KZ*!$Qxp|GmcL9|w;eg9iw^i(4APEz+xuM;-i9LapBa1rW}mnRgmi z`ag`YCIs6#iF1f~L7&e`S{s++EM6NehY{;!Bw`XYa3BGK73J(S> zmNFF0%g^6`;J}Ul_my`lWix^wHVOel9L8a$DWc1vUb(PA?F$4{Aq*D7!;y91EQ=iq zx)mN#wmRVf63={xY2L@Fy6{7)9VycC;B^MCH;Ov0;1rb=lwMtfsdPAmX zZEfAic^ESXz3kh&oRe-|yOs^m0LNrvxYPtj73X+(7SU?4l?`Yk_AoOK!w>iX#)x)y zL%;8>%ne}q1hK!pcI}Xc&4>Hj7QGudv&}JE!9MMl%chtFz;N`|trIa#STlID(2724 z01wn=^%KhA6<1)*sNEy6R2{eorp&;d@V-FiQEM}oL^mJ=^P~uUZL#xJ4Gs-$2Qnz@ zqu?i%19%ib8pa-7-QAdGp?laur?Zb%Eq!1vjTax9XyR4a@A5?CAmZ}5bJM7jffw1M zSZ{1-!1@|%SWf+@+;vgQdP=~!{O{TnQfq>kIA8(nAU<|%WNfUX!qXGBSqMjdQrMjC zfWL}5YixA1CB3Jo$GR)$@{gC8Y!J~s3p zg@n)F2Y=r~b2^V2Z}GL!{+n7_MCVQTh;579hA+)))k_7JTded$GIn*vQtdTN+cClb zrqQxA01y8+!Cn~{%$`0%f(Gw;6o=DtE%8ofen*SpaAoN>scjU=@wv2zkI_vw-0?q$& z0fJ_*k^n<+J4_!VEEUy}HQ`rX>@ansk78`G0M3T(PU zB(d^?F5qvX&e)pU`m4OjCJsX}F^rveJ1nzUW3C10CUoL~N*v zvut%Va*|xRZft>QO^tqF%B%ws)4pKk*Dor-ArVuKOaFNkKe+1*KHGQp#EC(o*CU3| z2+e@4ft&*^?gC1OGhbiWH*NCdI0p^f2Z=L8tb<);<#7`oXlj~+S)FO_*KFe2Wg_;9 zPCr}hfz-)WSYV^fSh`!9stNm8jAwDrUg7w||84b-0ql<9F^I<~&2#_gU?$8qJYmH; z(^Ck8YOH^1-n!m7-_y~tLc9i8;!8nM;V|{mts9O^GEb?p9cMJrEpxO=k8?|=fhjWu z=UC(xzsHYXCZI&^1n-I#oB8Cgk3-Aa?;P&5$#Q5IwRXFkX1w?4yK(F71WepK!D$`U_PN zR|bfn3UV51K~^@lR`;DpaOV(9U`W@G@pJJDqy4amg5%IN%(d*$?W?JUZfwU2Q51z* zsC?j-ctvA(R_>M6zu46PN`JHhA77=)V9QE8{W?{0nEJ|AriJchVkTCk^WOD-@d$QG8S zu-(L#d0gJOt0uHY70c z8p>Pz4wy>m>;D)U;zkO5p2?P)n5kQ9|1*CF34aPSRU{-)CYZ4fAF{=JVh}0FCjt_k zazf@e>0KoEPr*!e+@Eu@FbjWp-;v1F{BWL}=ro<)+O+}{s1}yc`mT|%Gb6blQKE3i zh2;M8g_x}kHdfYAgbH+<)u*#TY_ex_1rY#fnTy;BXyGajbYmf8g$}?-obtNI_YfzD zLkUCOP&mlqFS21cd9G$`0oj&IEQud)KfV)WjX#B$5NW};s^LBdjJSX#A{V0ChSQmV zfPj5gsxSlQ3l8l4WyBBkl1LFfkE?*_K-|S7NJdLdodMr5xG2qxtAc*I5y=Gd=%1K( z@801PVEU|FO+cn~hZ8482I*N+#GjET{*1{8>=41`z^*K?h_EXwM=hwtIcR0RvuwJiDX` z?hi(N(|O6sY+v?de%!XbnftZ9Cedd%D{HPRH(C6|_;lV~2`uPBHt@g(q_rw!epqgP zy>i%T(0)g=g8DvHqOBPoeZYI5e5~1di4S6X`PdkrMd!P(S7>oZT)!Mpjp`+@w7b(GU5FQNqN8si7fiPXlA)4!^xS?sI04 z?IdnX1$u}nJ|Sk|o^Yz_70-EuQankh1$OV;Iex*b*%#ms4rfj)lJNy@?y25IlT?3DQpZ;0;GUgWhJ@!7c7i~!QsFO)jj3qcQCESNSalxc7JM{3^^wWR#>uR7e~Fka zkwN5w(Pva7)r>=2R(yJbV_X(_?29$$n^7#7zM!76Ls|r^kITQGhDWwAb;cGk2D7mb zN|BL~@e{%+dx@VUc}FOC6yS0Mo~~|e|fQ&3MsgF1EambG=jz)li-pVpxiIx&ye z?#h+tpT@@z0k)HuIl}|O6mjl)+!ZJY;&{6X`!u85YHQ$2&g?R%gW);8~ zvD^{`3JyY5RTW5|)tVNJhST;am1~7g^0MGT1L48K`U(s9oVR*kxLB>fy$Q8*^=o?j3jtD6lA8y~vjrH?RP95!BStE`x>;=CKk2ehE?+Hg^ zitp|1je`Avs}0B5v!!@;(0WNq?g;pNWY12(f#Auqmr$j_7_h0yI2lL)G8?ro3d)As z+S8{`-wI|wx(~eoYN&zCPbM*~c>@xF&9r>m+S{pVXh4R;Z^lmPWznUM`2>|q-jb}! zn~YaBh2LJXYO1R{^rU(^uc5zKyLM{$;6a0m1h0Kn=g~AF^)u(9VjdQ1sd$P&1ZrT_ zdE9fLqzFgXQ}a+VqC|W#5NI^wC(8^z9D|T0Xm^8yAI>Xa)3eZ5FIncGD~Y(UNHy5K zF(02Ta_`p(&}N8xax;;`YvB$~UBf67jTAq4VPy4<~5p4?c&kIw- zD2MQFxY|U_kj&W75IgQ)+|ZT+z=+e1m)dknb~c99yeuq<1qC<$R>0s8 z+$f|3m7-ZB71U54lrW{>M<0pK1T&b3#DwBv0sIZnwu~&oF}y)@s}R9c2ZwF|YVY5_ z)~5oA0(3Ert|V+B0W^T-?M&;(ZXAM!#zqX?yE3<>0fJ%>bvwPait|>t2%?#4h)p-$ z314|V8Sju@&^fWZZyJ5}5F>97H85b-$|R8IqPrBN88%|d3YI)^ik>@0YoMeFEg_N$d%JPoAsEG zIstS8NeBqUiPeI*xJ#q9S&GirwY3!-`RvD=VaiGLk;MvQ=EHU8oG~22IziiZP7V&D zQ9AbDHYgFnP}p%}B)>S>E@_6H%Kq>8pMcj^Cp$E;K}&6Z>KQ;L5so^u&Ii!xdwGVa?jDfg#`u6 z2st>Q0PWPq9A#Yp=Qiht5N*jZUPj<;7@FomzZUMma##)!aB<1v+&~OjnJpe+A|qVm zB@)$t<{G$(H+~}$S}hjYN2Uy$01D|No=W+ zlk?l)Qf~csFJW~FoMQE$56fY{uQ6i4^GdPSu|2>vUwA^bxsGY*t6U!^-I-wrhwtMD zg~SsY&My<%YwT}EKd$}>M}Bl3XE&@-_2POU5CYo@jfeoztElc5I3W|$Jf~k^uo@a#t%RpAWnlGAmTuX0#(2g9$j(?j zo70NahZJO#HHEy33K8RG#A$qw;oDn-A9tXX`0;}&cN5nY=`*mSmz0zg9-X+QXev=S znwy!Oq$q>;B{;MwKMV@QlQE+-HZn4MdDvI~0KK3TWhqh`LKNOxBJLexRCe|?_RyTU zn_U?g%&@yjxZ&iZ8H{?pg$4k90X{DAjZICNMwW2?fXO6`y7q&<2_t4O3Gl)cI@+_S zqy(Ir>=@7un&4Ud*ZA8giOukoN%&z&Nl6$g&xfRA#|&_omX@IYdq^hI(xgI`;3T0Z z;bs4RE>&>#3wUu96clWs-?3N^jBQX(=;-L4K6?h1U02qrKv@7ci6vJe2`JVOLzqfY zN8r=pg@6wR-6CgBZf;jhgf4=m;F&XiQ8+3YDJi$8YCwNQ+`{tQP0mHTsRs|XBlQ?M znC3N^c3b~IlLv6w;Ku2rE_g)m-Rtb`p1&tNKU@Tcv3pg+*w(_`E05Ts_GvN@EIm#y zExaQw-h}h@@OL8f_>0F)&ZF~!0z3BsfLd5}!{zW27bip(7Z)S8j@&_h1kdx;mLaa2 zlseU&uAZJ?S-JK31Qc{ct}G`PmvIbIsT-biyq3*d#sIMes+Lziax8)QR zFz{K?=_HMfjcoxC9Jc%m4yE){DyH07*xq(V()#M7tH#b^Kt2<@ln_RNur0r?Lz-!9 zBtk?vA?W{1UkAY?77xLbhUK{d&+a_aVLwwly9IRcs8G_UvkzWFqe@LJ=YI>%&x3=v z*6Pe9Bq|YUySD!XXbA#T!tK0$IQ%TFXb+D$mu_MaPM*g4jmRCJqO#%*uXMgx#}y^7 zLh?gdh7QMnqwww9r)~RzSE2-E)ql!c@t#+&7{1h?c?|~*Ve>1v{AVPRqG&k)6O%h}^ka49?9YQ$TpSX@V=%cdCd z=|-CoMmIxf*^#2BvDx-D(0(`VWOt=j4>A-$C$H@b_)Kj5FVi@g`s~XLVB(=1LZzv`sj-U(DptkB_t&=2-rT1n#C?MG+{m3 zuS9gw^#XpfIEAU40>jwUdtrUPivUH47EMdZ+Xa5I9m$4JSk-rf6sJ3Qz%6fR)kvw#y~{rTG;;~!r;zKOCB z-%a@>*zk4fB#uMFht$CoZnOB*9tVbS?aI>fGFTBl4W~%4+ZgO9ulG?0{iKK+;5sl^#C*J)M3rjrFA?-(}KE~SFUtZILJ&rTRP z@1q=ASj9hw%U4k|S#(gEv7b4^v~*HfSoo-DC3X;FQM-O};`K8VL-M*f03q}sM^mmn zf9R3c*z)&}S;elk4m*2$)tCE0y}!(Ei_Dmp$K&(F)U72oX_J^iGs2a)h8@ zWtH`CKEBIUWNVgS!N{h&8gpHLe>sqmX?uX<2%2pJWPR5cKn3`6oR(l9`|A$7%Y_`Q zs{dW!h$Uddmyn_J8(LLn0FjY$JY`;XcI(u|UuKM5CtO`-U z)<@J<7Ti}0CJ&ghptIF$cS>=Q6k9gWUATaDfWTl5sA0|3#>oldm0L}z7+@espRwTj z2F3HS{Z(y%YNr7wVglA8H*nL$(=C5sd-&+@dugAo<`);4#X^i$VrgFacQX=ZU$@a; zqVRby+7#i)H0M7ukt`hdZMVdaCkHA!JHsp&FVi?qz3$JnVL#yYbtUn_rZMSY1n0q& z(^HPYWTil(AX3pqql8ug?O&;z4D(H+NVKoh55X=GwCo6BDtwP}1U0PvM`mwM!LHFb z?Gp>RcgLp2&toMdE1r9lCKjfqkSL;@z9oiHmU^FErf8t%!AWxV$(b2T1A|YxqjI^| zh(J7^fOpCfiPtBP1)+-~_70dGIiBY0vvqW2_3~G^Nb&DZp4f5d=FOY$PN}osL6uy! z<~74UkSAu)E08Lrx%=3>i>SH1gxJVlMQ?xFwPNmxPv&$oN+QJXMuP`;QC|93Rh<3t zKv{dh5`eyaPQ9Jj=KKX{W}FQzL!hjbuI`iSpXlULicjti*i)656~7Sj&RS`_W|6$= zZbA#?zn+qLgy4SqtN|o}rlxiM#`qgGHPTB9zcA(imMAwe1adN76@S<2ySpPY6n|h4 zX0-dT*_*k)6JrtGjCxTPUc${RGk=TaBL4-wE&J=Wxr@%03XWq<#t<`9R8xXs_~9%Pz-M_rPB|7#c8CuZJ$i;k`j=9G#_-hl_efbrZ=Vh<}+ z8CuoG?+@)`TZ~H6mx)2snNbj;IwiUai4zCk8Q;P3A;2*@GMC)}Ke&m;WZa5<)AJ?s zfsmfe*ckzb$)l!MO>W<=WLN`P77?41dGprA2~CNY_=mrv7K~ClkJlbO6=KW( zJCX20J!$AG&5VPUbEV;$Fg?HRBojADRhNxw*mo|q@k2XQp{-?#-}&pFa1>?!;`y6V zJsjsuM~SUUR8+=qM_JDq3cmaX6Y++^Wjn&8$sHgDN7qY;0E?u;_O?0=uCL95uqM7|9sbZx~<@_4Xb=_50@ z>o}U-x6(~|vtwV0t?}---I6CnQt&5&;bCDZY7zYRamm%s0I~wB0`>8mUpVVyv&Ou|j2y9(H@vIzy_2XR5Hwy-Gj7m{gIrfY<+({^ zJ%~o|_!nvsmptvS7{+suhj2cut*-}t-@4;$PZZN+sfe)0>i~!cy9eXCcss$89T|r*A=yB2zZd z;&raGSh_a3Vf@i*K>cOcuzde$49)txsuej#B~MvwGdn>dCv{2HFlNhU*^Tq!hMm`! zRKAowOlU?<@Ld1^`tF4q@Kof<(}fA-2M&OM8q_#-sxbecgxmT|p{1@sSBXP9VNr{l zyKEQoFZdNLIp0h$iB^dWl~YnG*pQUPww&J8WX#S$G?>}1^8z>u^mm}3WN73jrN{3& z{itKQrFoA|Vsu}&oFajnd*qd}fN>1yGnlI;7^ZFuvnBtWc_W`&@Z9Ht0Z;T6Eje`t zU>#(^^$^-#Bh=jUk4^&oQqqnBsK>&=!^^ArCpl%~nxYkNGsx=I5T*23>zrBtLeO%r z>seO0!??UEI`L$BLF{XEQ(}-O=T&aC-Jw{B3`ngu9S7zfNb0B%LMrG%a7Gt54EcIf zV`He5jiciYRytb$fPh!6o|sR9Ud5$T!o0bFP=X*u+~kVIZlT`eOTG7niR$l_3s_r< zzpc)@1ppdbn}?v26jZo^(Rz@leCvcgQje(fd_qn)Cb$6RwV?^J=Y0+7vcC5{?k|CS z2N*@q<)1~G$opZ!OIVtI9(wTt?SwgIu3s3JFzE$-`4opb#<(mj8Y*g$)ALwRIP6J| zzz@=j*L<7Ip1_wc3&4pgepG_h!T?xHRG%Ro*KZMZvW3`YocodlKaGVzsT=W{kH$uT zhOS|uQpk)Mw&eoNgL;bFnfE?gQS|nO9&eZCc&6l$;6h~Rg)vEheC@{d>n8_b>97uS z1SqITfH4=e zxUaUH-j6j)m<19k6MY;Omk}!r6&>gLIXq_|qH2s5>3K^76_gv8T_cA+Tvt)i ziqY+ytaVDFLt_qJon_~{OKZjQ$*uSoeGL7sTW6-Fv5yR@0@)+39JVb<_&N@R?Dp-S z7;`5yX<~Q`C>Osv zt$S3m5VOnGLr=pfn9I4x!)&_dzyOsvBT?@sk^G&#Y!tgMG$bNXr z9lzXCS9fu7Q9H+=4)Sl;Oai`=wT_Ms27qqh4#v;NJbd)%GgfAS7sR6Ti6>kEAfL$5 z*PwsiIZp+|g=s4?kaRhauh}dgp`ix>YQz>q@O;e~tehMc4S`;N{*NhGT!ko&?Bf@j zAYnkobcPb;erJ3YeVVaTiB2#G^7V}ZKo!B?=~>ej;OD=GVhSvi!xB7vd|+M*Vd0y_ z)7@J1t4c4A(9>^XX%HS6IjenHST{!zO?&X*T`*l7tgn`1#BdRRrLR<7bXOLhqx5v{ zo(8ZnKnbzb-5ZDjWGx11Ym6EyDy?g0ajpyjXMl}inzi%ag~!6Yoxyc^nAA;p4`A?C zvicAML!=KVy?gtgFP@HkZ}6Ql<*VoM=?!L?EAv9FCZ}(slC&Fj!lMei9krGz#?P}i*w0xk-0F<|8l9N$6!;a zaqTcJ#$kH;GS98QkVNF>DnFAZl1ji1__BYOtB;~C;Vgyf*g)0tR(VbXtKNLUT3cs0 zeYx^l3d1I&ansoKb}`D7V9BW%HC3$GHW!S_EGg+WAOP!ic5xxD2&Ot$G$z}40W-=x zO~6ss0Ajg3B!FjO2R3GraB4v#fKQm%@Dd3V5!W;lxdt2Fa;o0I2jYpp|DsD-ok5FP zJ|=L8ExcX%XzlQDfI31ONk(`qD!RGm+yJ{E02cJo zD^7A~qcI;+N)GP!EGaGqQF1?naHm8lM!_SOG%?|YNSNAGBe@mc0$>FaQKOz7A$ImO z+6=w7p6(gvJ{l0vtwG^2zT^T_8iP<2xI#`>vft8jX+*vixEke2vGQdlbQkYxP+`0L zEl-h6_ZFwF1+gbr{>IE36=f`z#XjKtf7pA=sH)euU6f^FAgEv9lF|(dBEl4rZV+M8ozmx;uK&Bw*?a6U&N%zq8RKQFFD@qVi|4tY zJFY;g5U9N!G%1pEv-8;2`RK(5yMH>*FjM|I6hEq5b~9Kn-MU+?N#58vzBnbUY!_LS zoqP4x{M!9$D@kZ(k?^qEc|Xd_GG4scyX^HYD{BtIE92^-WcSqnyxmFmKu$jgL=<2v z@Ps$vCu#XZ-W>n|RC3iGnXvMEw@FU6vb%KPp9>S~Lq8c%B$~p?QIMT|1kf@pH}D)= zO!$$B!ch#_&}$*g5h6sLt$3QL$$lE)QphgGrH4p(d14ErQxF^3h{*~D+MQjznB!IY z&?M2W?IgQ-RDYK2!nKhKbQzD(&^Q8-Qd}&yJX-eldNRF$nVNw?G=jr=@=mgkJMc*> z`@Kr;oQY_8pm~ZBFJNJxZ-TmyjwpbZXf$st%lHSXuMHseUm;)}fLuA=y+RiLB}nXE z=RuO;E7`r#Go$b%BqMA7k4F^!zm`Y;FaInsx)YzCn0W5)bW}DS71bF;ww_eV@6%g= z68iK&TQISysRiJlBFSO~y!^G{Vm5=t+Y`=RNVR%!}LejV!wI&k6{r zlkcadp6_SeY-?=H$}@-h?$7?=m@SD~i1=DsA=xR7Be7qg7idH1_t|Y>jTtDCn}%7$ zd30Fa^3HpN09S`tg%coq^!M+Eq6J*aN6NIsPm7r4G?ul3s@2&%(g}beDsb+~00bH& zB8yHhar5K%IXUii;AC~fDZ%1b-Q1j$H-3MYv# zwWJ4B|Hei>9IU*&DurlJ<&~D|k@rnb;()g*NJJHY^Z>xOrq)*T94&ksfJwwyr+8X9 zgi`4kWi7#A`Pm7~sF2n)%wh&4LZ{Ula`@ZhB2{H&+w~Pk({`xwK;z|*AjV2O+}weI zfX0Ie(b<&}A3uoE10oiTyZ`pL#c}lE+UXhm5DFiDKF;Nw&(q?iV&S+K4=kmA=YtxI ztZ`c0#W)aR16f6A50kW#;7<7?+o$^bcOZJx-51$AF^;8o?#ciFaL+3N+Ly>&t|};` ze)wSO0eHp~(p*q=+XqPqfMqx^Um-Ym*;ZlLPZFj9j$yJnHY3Bfx6}j3_P5bbNs=YF zJmkytf);JS#5#(EQyJivHW&0aoAs1M!maRGoE>U|yP3YA(}Rp9K|Z)4PWA{o)fioL ztSlmId?S!-XCKY!n(H0EHP#L6)+Ttiad|p86L~ymu+4z*-Gu0vUm(mLe~KgyI}`$& z0;L{JhT^M%{{H*`?c@G2UCq_lK%O3ZSdDy!WNJDgwQo#KeZ(-v5*9_jTaBuB*4r|E$HjWJB< z*h!L20Gwo25R*>~I2tl3^rIr$=mC8nDfgvcuO0|Fep*1q;#h8| zm`-dDz&i8*X4}sE1WsRU$LVPsyf@(Jg{=Wl$-=wzv-AZ00f{V{n)ssF@z8w)ZLoh3 zGa4pPl`JhRSbE$@ak=km;_OZ3T5?`gRGXU*0L~*|*Qh))ph+H%>oq^Xe8l$hPxd`%n>OP|GUSaH$Gd&8W_%&iOG!)7gR` zq(2~gV@sv3rHTj$I3iJMkiBv7;%8v5a5A+SD>s-1Vn?EH95D0-OB9CLfybIrjvFJh zGJe$!mXD@pa5mk619;b&z`3vsLHTqEn=G!e7P&jp5P&B0@>Eerbf;BgYy$SgsdQgJ z%8{?x4ZXyXjVTI5d!i}`wAiUA+GYiU@#wjs#L>QM03%kcOaC9KB{t2mqDbJ{Wqp+EsMF4}s+6S?KCKG-<4bS;{8PTvEo;dmJ z-l4ZN4{X25p;KSco(0;)<&}S3r+uNv4Oc7Y;*t_b$HW?iE3#HTYZ*x9#<2i6cTEux z)bOJE@ImBTDx&TNZ{V+0tJFJ(aew150j}Y772CP1-0@QoG0XW;tNtna{C@g@vJr zV@V(bEuYM5=c&cR@!IIY zy>@b56t3|j25NMtJ#)W>g#$+So~<2PR(|%2Wb7G0)NBU9hs_fmn`CZoUOO`oLtL|ImaAui2VAMJwC?lU)%2KmOpvA%HM_pY| zkoMB52JM-f_lmn*zuk1pw7KEx>WsTazZ;E!%B9q@?}Kq~(t|P04qeFA&|5nyVCGL` zB{i2Kq{x+l?5rN$rR}b=@>?5`v}>Olt=hmKKcXc{q(iyD`I@E|TouX|zL%ncr;ON# zja+X63zgToQ`5>Vt+B<$I$B7GTILM{ckV#4X=!1h77-hw{B^78UNV6*qNknO!ts=Z zCGn~hkE$V`9`M~rt=i@nI_hZLQTy)Q5e#fUDfuc)-+&L@tl9DKR&$bixcg1FgWu-4SH~6q zg<3cWTDPolf_LT02foldfubb13r9*#cHFv;>}+u{P~{1Xr)gh?y9A_e#&#L}{nMPv zhS!u8wOS|q?2gGPC;(n}$4zyl{UY*6F^80{vBG1gU-%dYy9=gpICX|Y(h}ehawZ26 zUGNyif}VFxCZh(dF;TPm8G1z;qO-2ULyE9f!I>jq^XUtFh8Q~M;d;n+|S z#486dL%{9nt5>f8N6NlPx>HWTO@H=L2OmHplh^ilLCH1!$$|!6^7Z6^z_^iYHv*RY zK<-&kTlDg6ZdnUR`B7r1{j%#rR5B#oh>@fCtfgvJk6~T+o1IOCw*8Nrx^*JlPKk*X zFKiP9bai%n-j8`vp(A@|zn?5m(JcF#*lF)H=)%ZpOv`;Q!9;~HLA**8?i z=dLvQ?G|TE^*1ghmHNhkf5L%P?g;xC<2N8IJMZe@rkc9Mg!c$m&NtS1gi=l(o}k`9 zu((a;0Ayflc<}k=uuaRG@89JMXs+LJP56c&@}HGLxMtYM!}JB&@<973^eb-Odf*Rj zH&BzcwSeQ8M@QDW!i=qmR{KbiZ2Ql$C*F@ALyYVS;pow$6XA5uCP*nrwP7HDKO%I3 z8pQEjQ3O167E~@HshXXhe$Db7k!+&&&4ELQSR$7a;^HWd@_vzAu6cHn_+usf);cTk zklR&MPTG&<(i5>Du1}_t^0)Wv>i}vHi9jxN=F-+MR2+)$LpJ@&GBPg*rz3h(e=lOT z>u@T)glCteFkVL>K^R8tk7W70sj$)AmL?}$jUKI0i`SknI{Ak6QqzdTtot;k3wHgS ze3$_S@s!6VBxvV%y}{|IZ-<^WX%aDHZnVx?8S(dIoI@x<{sV!7SR!^kc-?sg?dY4M zcO7T6r_9nhv@1=TdYPbaiG;lRsJ+yY9gc{XMQ?>hn>93v!~22t#A(eHak_ zE~Vc9G9;DZd^+@y?xK2Zy#cyS&Gcyn&8X8YzDkzRFE-{E*4d)0?Jw&J=XqXN=ELX`+$dnuV>0ni^z`pZ|LBiJ42+*_7esz zPIgW4+`A|#BLyuxkn_bg1G5GB#x7K~wY8}zTN!rC$JF1LgnqvvHC4KnICgi z%JJL2qLWa**3c6l`}qH8ix&n)H;$kl{0KFI4`r(8nAjz9Q&PTywn=M6MND!IGCc$0 zS#;aP><3?D>*(u8hJ{%K4&(V0UM#`tIQxJ1TGu`xJ8`Ty0N5F(SKhm$0-d0N7pEwGpR$f>Hp5fT z1G|<${8Ckg=gp;^`|Z;2mey9xWkW47`OXEpm~fb)<5cZywtrjEmwFfHC%-|dbaZG) zLr;%8)hYhNEuir)QHq1=$x@*G23;|6e;dHfK&fn<@Eu24o+9?RMo-ph>^(XxR+dTo zI3%B9LIvGA)Ugtv++rr;5+ogSRP63FvTV2cA#D^a3DB$q#vkIT#s>}1&Y++daX{vV z=!KTV><3a8gmOC#(-%m@p%?==*a1BRBR@VY1dv-${yNS2gBY;*=&;^7;L!md)N-zE zHOoO^>)h?A5%jnw;D71%I$1By{}`_CR;J~>{SD8_n+oTtUF$vqWRBK=$p)=v8f}Qw zxl6b^WXgBGzq>`G7RL=1dh8XTtp!Bd1scK#2biS*?sy{$&XQyYc4pbrHuDC{qo~Fa z{ck6ws)|)aq+>8#<+NYOU~6-;X^s|%URYy2A)CtN%4%wA*REaD)t$h4@9#f&>=-A7 zM8N-f&(-C4N<^c5kzol0qR?6%S$P{2L;^JK*hgp5neefiHSSmym{T94qYZFg9NICv z1BAcg^9R*_%A)II*O(4sIHKy3l?U$Up4GLfM12#5^wzvd!J8~l64PTq3yQLp9N!$? zzb)W=40uA6G`i9#8{dw-R5?zGkd)f-U{%$FEhrG$3(c!h7W{@AG9?$8OV$Q2?R36=gu*zl=$u(`Sa|58M6)x1ZHCfZ2s;{WxA$_UHCq!1ff|PHYbjl`J)h5R7TZYwsN1!1(N9v+QcV-Tam{O# zf`f;J@$6Oh#uW;8CzJB7fBG1}w0SBQb4%lM^AewmpJU~$po@TdnSyX(Uz*fn8n@Lk zJbck1E;pfd3t3&ulvlm!2fi-+op4xPO~bBx!msR7@70W`;(ua_Vk7J z{-aCNpTk4b^xjzaMnu}reqGo#fAqpD*=b5GaYrlbRz&h&*W(*@F*@rIOjWX1mz-=} z?8{#)3VM3gj8h3YyX1T*SWfODh-;A;^JL;s8&~r&TY!$>`G5XN>sSt^w?G7CCevuQSL3LV0gIyH|^MjXvt>O zn~nS7Jh4}+MsL>VXsJG=I-xx?x`%1+%Xs=_;fBn}WG9s?CPR7tfrOWj`zs~ngFZOg zg*4lljN2O(nhP|~j^_XJ{H*27bUChmT78nZhZqMI(;b z(I7GXbAgff@z?r`dU|fc>)|i5W=9Wa9ip&Vf-|I{Oxodh6wULie7!vq=N7G<6|<;( zP7T#Kc>S6DQd(a8IIv{-5tW2!pL_4GHi_=DvLZqgBa%IYD;})t;OAWnEGT@5~RU}f;n(U>g{L{7&l9JAx?74cfpX|HW@ z7A8N-bZ$Oq#`*LS{x&;>5cgDlOrpWYT zV(y?ug0Dqg-PznV>SDXafs}vx(!0(sU$O0bp0ICodfe}h1cPX?qp+Y06Q13;blkzj$cdq-9Nv+a**OC`0gtjcfk zL!N$m9wS}ps=h73@|HcxLIUpY%pP9K8yZ=MS^wm@*;#uqHB)>g?tFXt`x(_+{KY|U zT%*{$CgxoZnVs-X6cYH+nXHltzSpB}TJeP;@lFeS7XSmO^B{#vj*@Weh_hXm4LeB@E(-_^c3S?WIOc?g*EwqVWU=9)AuCeL97;EPw z!E-0*==#omi?e6>1tK_0TxO-;xa;39UCCpwI&USc5}dkwd9K~>Nm||&cEo&^C*C`X z3dR)T{e;pIf;NAav%;3SQuPVf-uBZu>~>BLVN_ib4TRRVrgysPZ=yM`M|2qb2YCj# zEth`In4mEj)Cr#KexXL>irM;r(U*aiIMI1JM5&t%8?YpQ@=3%M>j(*ZrMvS~`d-9K zDZ#M4}GY9=ZGe7 zb(Iw8*e=BUxUJ>P+&?#dwSUVh^S&2%kMrib9TfGQrPLBN)C;SlOfb+Nx+7sfe~cIq z=#`L=yYKIL!oTrT>1MwEua)3E{*7DG>PqLwGd%3{A1D+Ad7ZUO(R4dCwuk+vMw#En zrSxM=U-~mDdL!-zW%X0GR*}L&Swh^mp^vi5!U@)aUG<)w1-Cr^VN_I5bGqDaConc* z*vq!6HqQBd%Kh5%fSj~PKV{Ix_{C!%oi{vYM~m-243ha;+m)eweo%no>#OwGO~)=Z zBc>L*WC`E!Q{DLqzmj-8x0!VJ1Um%HYKoK@)TmNW?oqj+ zomD_I{oO$r(cmBu)fw*u)fxW~3N2pyoXE69;rmA87!=jM7vG$dJfDA8v4DUxd`c-I zRi0h)sl)zun~g)tj<6N98Lr@x?$E+(o-X}U3IJIQ8*NU`%fmZ>ojM~ zlaM(2>N@Ecx{)5TX=7)l#ssu!-a2r}6m$$yDM>z!+{c(DzWIc!kyEa-OP<`;`EFBG z?heX#9oC;VOB@vSa=P-WUbJ7Zw0vA`^w2Qm3nkCk@w!8fAFDG|9y0H*ukR^MwT?W% z`%7FZ=5$ttc}upnlv>xBvU@F$5-!JQ;fF-nF-#%HV!^m&C__GurHtXoKNm6>(?y`1zMfc6@6Sn zw02sGqqEo4I*WRl{_CXx&loIv#$fW(Q)=BAnIIl_)z__q=dQGxFGz@FvSvk(dsWGg z_hh{bPbP8>j$h?!4xk++s#_lpdaJeWyLL!J@OCM;)^c%sThrb5Yw`Ra(-n3L>#4+A z?57@?Fuc_g6w|A;UN5f573wD-7+QDB;Pd)JLy5XVwyK)wj*x<)Qrg2!)~=iP8&@gJ z?Ai2~L+LmJ_(Y3q%xT$$(m3^r$5TT!2^l}KW*^}o9p>^lnRw;v_60x1R;Pg>i&{d5 z_G{;u((45m4ejU5O{*_zmZdu~b7S0wSp4K=Z7r*{j)Y79in%F!DR-LTmP-eAN{by4_%dGp;0sGt z(v-?$ex}QbMR)R^Xa46(MknO0KbL>})~q^Ye17^%8Osm;V=_6KPc>APg15g@932{b zZxIu-m&54sWaR2~k6zACERWQ3#tm;4oOGOW^_m?&+&?vKlKhxPy5fHHnm#Mz(Sniw zNCt_YD+`&`8KXrU+KU=9Ho2qfxr6_?b>74)*|Z4>Prk77xO}rX9;0$;J>>iRB7@O= z%|;d(sa6U@0zSddp5?i9ONWV^ z)_J5qL#I_*(=v4}@9!4viT)a|zw-F8R^@j}ZeQQ?6VBV5og8!oj21^inQJ_!tK@cj zaeZ}MaM?32P;*d{$n&$5OKA!bVM)r#N%~FxluT2OEYo>zuEJ+QEv=53-aWkEd2TlQ zw^JxMTNbzyZEQau)vd1d;mxA6E4jWo{9ae)aQf3VPXoG8y5v$qYfj~{(yJ9mvJ>2R z&2g37!{;)~3~;BTIQU*Jqph1cls8o5E|F zc`GPu+bnQF+^JtpuMpa~Bx(!WdcIOjEDdFB{O8&1CBWF_~V_o`Q!XhbxpmG!D& z<)fnAb^&=WuHD|tSF|TBf~Tl`WwEtEWtN)4g3kNKeu2vcpMAa^N=9w8;nG(m7#Uq! zpFR8Q$D<;lDXx4oryzyhXU9@!j3$jdE*$SWI)L1*USuNH(xT2V=pJO^9gaHPD$UC|Ma?X=VIW* z)1KNZ9uqp5vw^l3*O4l6TD$OCd2716F3)GcqrEL9=vzy1imbkMnou{8(NTWU8Cn^=xPa{d# zT&k`(^mtnq4BJR&4`94{5L^B2Nd@ldGc zED(J{WkGKWC*{7L(cdIX)efkCt*xuBwtDGR2uF-K9^L9*?depcRel2~{#ReAmA&lc}YZ^djq|DESkU1iSNYOrj`qq}RxGiEdMT-CEY zbRwZpC7V_!`Koru=c_Sa8M(N{9M(f-r3q7;E&n6y4)v7XID6|W`XwU5aSxxz49eJ^ z%=@lqaH|0WkFbCG0{7?~+HZKvq9x(Cw5OP%opUT=G|_IuhmtJ zH}764)|`6K!YoF0G|#r>1ZRTaRK%-z=JWeS%iqV;B7APveN>*Hw?}a9^`*6LNl6wD z?`=3Q*p*|GR7rT~cS*8;{o!eg;}-LOI|RW=q;lZ?xBU54hRvl|%`C}^?_ZAxE;ujU ze}mVRjv#VIdka<8G5?WULA8?#tzzb8yn6V+ioipMNK{1 zNUS5{2;({SQ`yPtHEcZM9$5p%9=eVX>l@pJyBgil(J>(iADy^%#qr_Hh58&x569s5 zdSe4ky|sod_df1Rmu&MZec$(M!5m#S8tI2r<*k(hKdP+d2*S5SDryV^uE&dN>D;)k zKh!ra_Nl`By2%ZjYjlj%qI>WyrJG!^9X=jA38%I2N=4 z&*Sy)(Yl-ywGOdgda?0PBr7BR`4|G6`x&zhRkhY2Gs^?;0)Txv0{nYc0JjAN0}nEvem*1WEr_&0 z$$*6l{zG$13y4Fo)5P2w%6_I`L6qo<;-h4_^+FHiz*Yg-6F7PQ@bK;)L2!hhALfDk zauvYq6PiM#&k45fTuG!mXLA#B_?s)OWv64QnMew0I~m;}7W@DR^^R04(g$51bfhP` z1I6aGKBlk0qRN^F?!x9mx>tB)L4I>WVI!eHP0Df87FRO2p{3;=L709jIah0Zu zD=jiaC=%g}qj=u&uV5-HO_Gw5KsEqPBsMx;Dbllw-r3;;TQvyA zpmYKV0C0cL&!4|WMvm^^f7Y}iHsVOdaXvnK5DI|p1}g{`-EcV)2wxEXAmz#z7AA7{ zm^E;fDJk+=kio;1=018!Qeri%+UG*D!U0O#_z~0}IT`Js!2|H0X?t_?!ZX&0Ydz+3 zc{)>*z)IZnI0ydHf)jm*AiNYHOlRtXHB!^3%H@XTO56!%>CBMCX2ERFPKLX`unZbz zpYxRd8Sqm|g9`>gV#Y&enLx6Xg6RQ5UbxFB^eO-zTm=mYD!QTMu%k`fd|B*h7MOSX^EsaY4`^X}MJ? z(hr#_>ym{Qz^Oxky6%bstxsa5{uP7kFw>q#U}s*5@V*1zVF-{HK6(jrfmz6@eM`n- z=mEIDc6Y`n{O<8@ZEIYuMMYbY12B%BS2P9M;$JL)nS+2;DxL^$tmCOn%ATr>nroc|QVAFR^wl{m?mS}^7jRWzalmOdpMPVqF% zBclO~;)9_|mBdDUc|A-+0JbKPkHH|dF1Y>{tTGt}moMej=2!*xb>azhlewM11I~Rr z`6^7zC9?z*UN&y-4TAp0?3aT|z}#zXz7Vg?wZ_W7r~S_LVGW))k%%P*i-PK#XWACo zOaJ_S4$clCSu0iW+`0UPPX<_IWq&GpPH(Q^)iQ1pdAvy632UGpL9BcJ>=`g{wl+4e ztwfaZ}%$d#2a0p@rP&@yR%1DJk#JcjB7Y>{A( zUE)sjqq3420Gs2-FT~Wd3BmsN4=x&3D<%c}1d>e#jJPUH_-pduxVU5IPT0fkg-A(q zGlvk!{R6MO)(i`{RF!PZK9m%}s)~!+pdv3Uz#@|rTg7EcJk+oX@8fAfINFqC#zHBv zHa+FJRAl8qYx-*bSh1g9BX|e+&_6C;K9cAu5Y{Id7u>N0i-@F1?^as}))u;XmB6rp zq6i`sXaG+gu1ZUPg+>8v!B6TQ1)aeQmSH574+bt+I;ewd6sWOv>()p_9{AJgpXd5f zT}_hl2jY=MH}7n)JjsL?+?+>)x9t{>h&T+Nd?ohw-8+)2nl~F{KwygtuLBKTT`o%! zYaUE52ji4nL5TX3mZje+E#%F)Kw*Kiw_RNrxNh(kC2=E2&{`{CTGt{s<`W{0`MHuH zrgi{i#=JVukq&#JP8GMLeeI)Mcf>=-v7ay0DNoS^AULJ!6sWimfJtL;8F)kbVPlP5 zDSZt6vZggZ!$?Mo1wNvzPag%<6a$O-HdI}piQn1MMiTc5DDi-OLX%TTzp=Q2UR zre2c#EC7ZuAQ}6-lhNNA+|}z&wz)3KxbB+y19Wt2xFs<>uNuZFh)3$X5Ccg1wxtZw ztz)A0(PfC3P`w5rMokVwgx9ZM4@J050yTS`0dz%Q#~W&)xMz}e_p-lka`OfllYbf` zH)81|K2=o>WmGYcj7<@K2ae$d&A~9pX-anD>q;Jy^G_2OND#)E(B3s;oTW9|@+^&@ z^gxO=7}7-RGq1ehES)Go6crI61u5{IEqg>^h!D9pz&dLNb_b%0mi1!23?mdOuM$9U zEnDrLf-y;(@qN;Bs3Jt_ zRTk<4Fe&O8yr6xMMgH2xfk@!LN<2^EtwH~zuz01*zOFWyFQJxebzy7?2PoKE-|`?@ z7k{kIL`cwufD#e(1=1)03#!K2bM6=pm#ogY*;(K_r$N#KZ>%3qaB8`>qs2G~PU{u7 zmG6L^Y&I`tn22N2Lhuq`umeQVsp3Y-`zou}HCkwQr7KYH1Dn>QGCGN={-b%bhM=0^`T zHUHTa6`**>+Tt1h>!O<&aM3DzB7xVHkS&x+wxh}JRDtTi9~8*bHt+9@_=6rTk_zbN=q3LLBr~x$8mJ< zPMkamPmx+2T?V8@;&fgPEF_Z2IY~{Ru;Q@*C}4?n^kbm#)VKx2Yz0;ot4EU?>gTty zD`w50pQ=O+FS2fUu1`8ch4Z}4uM4o{wOe$p2CdO+Az42h zx;b7OLtYlMu>h+>2-7a_B{}o5SAE+GK{c!KDqx0Wq-mAaNWOamV%i)4b+EpGVRwWn|euCPCp8w;lDG<52N zxprHiW2Weyzvo})WyXCRyk1_L@OJhD1I0M}EC~m0HUGv$L0C9XtXeiSS(jPK#H2Gi zb{8G9hn2A{(RSFK*xl9D!5PbwIUR^3AYWm=Bwl}F7diP|tVLL<)syOgJP=<=7GMZg z8JV|JZ93bdRtc*s2kFDKK za?jHo>iPTTpJ}sV9fAcwicBOam{Mk8;r5lN=s?t5=b+r=nJ*8h`hX}5HF_gAUFE+ft6w?+X0 z*~wh05r=n1?&X|F8c*Xl-z?=B=PSZfqptnorKs8)|3ugNB{oCgB45n&!wWZV0hnwq z67;cu$RE#}EMM9ra*_r5nP4fu%Nm zk`P=-FJpVE`9Wqc=q)6T>DiOqK?F~!rDHme9u(GUqv%3LSUAVt(({VyZ9o7~!26zS z(zOZaY2~@3e?V3L$dA46UWqTZ{o&L@mZ#_C_=`m;;(NTP8Z|TMu7pSc}7A)fBl7KcV%%5I0c&p z&8;Ng^Z>4XM|n@NvdWZ{!`ipW-UEU?&Iv5HK{2P-*kf=VC#AYZlKW!&oee%ysJ3%+ z8$TZ{3@;Ueiw=&_%u3P*EEL&fB>A1TUAXh$cw#4o$|xdvm;{MKu6syD+}{1wHqV;< zT>oC%unGS)%|eF{h1*+6D)OanbHsm>>qFWD=O$rmJD;@yEh8M~G!mR^BT8N>t##kS zgtPiZMmv9l+>CTIXd_e+l01FwcOrFjEi{2%9?lHmyR+{qApWq;N?2rM-C!)MxBR;^@B72o5f^V1B8lyvG=StJB$r0HuO>32 z-J@y<|LUlAO;LEl;_o9RUG`Dv1Cqq14uM61l5!*x6{Kebqctw&jSK@Q?RV0l@aYKU ztc|i^WEvY4j2k~kw7u5)8DTW?=@1m!A(C5fn*-cACB2A0*CcYWvW>B_rttU8$V8g4 zM_VSG^x@)*lIa{`^wZ43snXRZnv=*QR}lKU&K`VHF@qBwQ8J>07hIH2orLWsproLC zVDMZYrcOxt8%Mh5V9OOj;!}qk2!@g_z*%PkXa98#S~0lvg*$m@!n+K5ay{YPB1p-_ zHY3ZzC!4g++>f*i>G->Bsp@|x>Noi*o!3-Xubk|>tPIR}FP;`k4ARAbj4UN1^E?^` z6*^j4uBbsWGkF)PP=rQ$EVgr(Nd*$2Co~1pP$4o#XoClXKi1Xd4s9QpF@D(j_Jp_C z+H?gNqxAMqU%YVddvut=efpwcQyY{K!Jvm5-gl&pBr`m^Ds|Ap{rxR^OG`)s;Adb$ z0f{Z98o7i<@wxAOP{liENzUr?n^f^3<%0mUCEfu}svsVHys~M?k~QDI1|N$Ap%ss* z*0PNSoVmwnX@`G5rZ|RB8>($x0^uMb*e&1-qWP#dL9cin%{H!zO?abfABXpARR6?* z0Xk8q7u?W+=f>7W)e6QJi{A%0rxX^tqT(+#DECddK8C1D@(BHn&VZ$0CxuW~RO1Mi z7j5ygy$Aj)(YyOb<|EzquavWNdynP z@}wtcqhNhk{*@2H$PKXCnqc(<53Luun8ggG*Pl!2LmAL1`i3|CA??K6!~T4fg#*aC zW^>AM{6b)1v$M~}Az0ncF0)XB^iIxttjzl+i(?%@#q45&@OWpQlE*no+nR;`K|~+2 zd5V{U>js`Hjgcfzz|pk6jTtd7^d3^60^i71Nx&KAwU`yT9Jw6YpO2D$*(|xD%Z|W> zQ_mPL$yttc9Fi1+O06~?ylck0igcS4cI-9BT>IS&q`;hBsH`YMXbUP|%`r5q1{pUt zdN)_SJfo>4zahi(LiOP4_;r{K_MR|d9#)*e4ei&@%K7sw`JrQt>1}&lWK?TYs-!>X z0B0L#c$(MCpH_`L#>i5khD>rIhcY5I=zw`wEV^xoMkFh>(ft*L*+^PQtq0r}m`DZ` zX>7jzSVOr6l|D#99axhQ6Vp)q;dMg52Kp$IH(uR3a|ArKB~)$@VkoG~EX2M@PzYVb zyYc`ri=NdB4J8t<6B!YdnTs->d02u3jXZA#xhJI2Nj*T{RVHC!lHmjv`(5;Of(md( z^T5gvH~0tdUsO@z?VC4eQMEB{Og|9`_Z?d1<`hQ*ag$Vy;8o##o6&0D4EOk`DE#to zNSl8u0+;nc4xe({Fpb;Mo|T;4tdAz{Xj!j7wjoC5U)6}to}RSUv07t$sK-M%q)<39 zt&rZgkjalg>;S_ToOV@Jzt1x2#x#J@n}qpQLvz`eYU{Tl8h zJe-w6(l3D?7mDekZY#l1NcWIl`-1$m)^(gz*1e_BYXjNHubLVXN8#b?B~u>hhczMo zLVf5E_Fc!sBIF{_7Jx7^O3sC}n-FqALThDV!GB~gWamf+7G=7;q*u+t3~4o9;Bn9r zYB*cJ|GBIP%eQ8R3~&9Y1IP89Uy?CBP(@__6+)!B|1I-7hx83cpLClz!`qTFBeBAX zGUKN-Ouro1@$bxotlU>*%X`y~J&)o>k~2>?dOg$V=a%Yoi8$%KK{!F@+kehC#&(~A zALqoE6(iu3|F!G7aK=UbZKB)P#tTyM>w`2>zs^1Uj8Gs#!AC8%U#fn>>8ek;Jzd?L zSd}eZ)m$-N!al`%j7ZgR>yTQqzqgx0x5eWKJMBPBJio|x^@M2^gm-q4j#$-*qe#cpqYbx!oNbq)fTkrQ zqhdQ0_i^Q*AiWQv|JfN@iX9arD}@h2YF=@Ni8t9)b6xF~X35^?Z6nrq&ez6U^=UNQ zWtK18uH(@OUq{$-1=7+v_@>MM{E3x%n3)i7v{y;qsi=E`J4iWwC@p(uOfTU;A4Bqg z-GzUl=@M8Pb$9v1TnQQxOzWJQcIlAq|k4R~W#}`P09kO2?&8E+J zWCNvSd1Ws1XSZ$Wxc}+4XHDvyxUB3T#>0M@2~3Jb(RMN2DsviNn=Mu9A{~0dF7q*a z?r7Y8>B{e>rjuRS=fL4jF4k-N;M+8XMq0rIWgL0J2PJQ72A+~trdEEtEh6al zazOu+4fo%P+JSd{PwF;D&Tpx+^^v5GKC-=g)0b|pET*b)s(IIzDy+AUvP_z+tJ4qu zeHc+y#e-MgEBnY$zua-@VabHdYN?in$9<}Dd!3(`s09Kybw?g<%$AtW46+4vrnZil zq(n39K0R(gvkk6*_!5svyK?LP?w2ZN7PXWU%La8st@}2a(QK!@m3LR}_Z>R-jLq+W zN>2noUoGt=Lz+X0iOJU`b>AJA{C8QkMhm`5_}pxDSlmk1iSYL7fjBD-4|nbG6NK3S zZ#G$xi-0$6cGr6hO{8vN>aOEr!wce&QS;JDcHJO$=Z}Sa$%6pc3q_@$y z^4*D3nu}&zrOP?4ll%+u)#~k}oboYG$DwWOcNt~smREX#r!)g;%Gtwa6He}26wn)8 zEu4q0l|->c{^X|77Hd|UI4 zk!+x&NS|L8tEvBqCGFRe&>;lngi`;FSEZ)xd!y#L-)vtQvdyT2rL z#OwZA3eGw@AsK1cQ_mJwDPwH5|NB049*JeT*R&k@^6O%^=p(8VvYC46JViQX3kKU0 zszbdLnKn7ZUDgb8>TgmpL)@i#hkQTDju8zx_2Jw0mtK#ld~3W>AUK=|FjSzRunO9d ztjebKL8ae;x~W-bMDrx4k7R;My>W2!e_di+dC!5j?#&7b)RiM9JjH4;>+J`HCC{g_ zIi8~%oi&$`V>q$+JnC@nXJigvl&}=0^$G_dRr#AkuU4ZQ-*A#ME5^Z1cHC=T6N;S8$U*u#@sSoMhg&KM}T*lyv7lhH@sv#(HO;A)|Ts0ae(Yz zgbKA3)9xx;22B=kn_DUZ7Y+9ZowB7%cs*^hBt_b27bF^H{lv(~Wu%$BYaf-ClxaLY zExW~oS)SW~pS#{Z?3Ann(`kc%X_J*^bG$e>8pT8DP;-f7KZ&Ute9;QKCm|~a*~R@Q zrEjFROb(1V6(OI6Y(jfW%b-&c#g0p`n1$m!3=^6ge?N=90WoT2<%^L#A+>`r8v_Ho zFk$)6t*mx9q(gQzOfjMQw$Ib2kTm>>%ID$RWze)?(xk1gKjk1I?8_HSQqYH-py!SW z+jDdnyYh$o`y=~RBDXE-Ms|ypx$nut{&QLFVZp(q{_#@cnfunJzl7B^G#ck>`fSJ_ z+!PGu?N*@rU1eZYQOM$s69k zGr!^&XP(`P--Nc-S_-U(2OT^`leHlH1y_#E@9iro51|IwXM;)NTdvIT-VdLa-c=gN zDk-sg<07V zK{Prq?RnOb zh3w=^w^80*Pjl( z2+PNWJ9f~Sg11{$07jIT0`*GWg^M_Mx41M^RZf;(@RhRRG1r6M&PS_mkr3bK&)qN# z_DE&-`JJSmJiNc}+$0846TH{jKi;}jC5a%62bpDI3n4kQ3#R_G-<-&RaNNePof0>S zoGg`<_ph2m3Q~Nxn$17+2M!&+kneQF`={XHXw{~xnHJOzeaf5{$(b%+rV~JUg@%R# z%HRoH0mQf+m&r^~Rzm=Ocs><6*l0W=Ui}Cas`Fy;#HazU<_G6)0}KXGN8915vCW)@ zswxQZvc$-H%C11fLnF{gtDhfTGmNqRR99K$ZI0=0ig<0fCrou%p89LQ7i8M!v(-$(9QBPoz5+{a_HPsY{n5f zr&7pCkvw$2v`gNUt8=q;w}J<n?uHWE7rOU$gJ>Baf_JGSzc);@+H>Wc$^CA9gNTh^M^p;#?-Xq7*J#(MWiPC=I}IWX7m< z+%8ih0CVKw-S#1{-E?m0ip6{zT9abTlY(sB>+e2qtG}RejpT>c-n;&sCfVD>wFPBq z+1xoZ4ppbS^>7b$1$$X&MNU8I_m=jSNlihWm|C9a=I207q=CbHgC|<^ zEJ5Fi1pbTJ%{l}MD5|>yef=ulc6<|f+Rog`FT$R}`SvQJ6fp*!4i}fmAwxi*zgx8L zUKL`%1ZcFzc*2qiXD0Y3XYH|`N6P?YpBJlt{9)6D(_v&#gP7Kvb$jpXI|66L3il%4 z-?+MxW7=NE&w}HtEj7Ettp4q`o#dp`n+k&c8G-j z;Ec$a>0O%>YRS5ZcBGD=IOQL);nW-U$A&7|gQ{Qgfos66qAK+DFHV$gulj^j!p7qX zv&L7#_*B@Oo@+v{QwQ!-sgJihKW>m1MD76h-j2vmzpZT7?HTAKZ7DY5n#wa>mUm63 zrB6zT&-3&gbfiAWe$b)#=>5-}ABJWSNX27}`9p_{X6$|PX_;ePa4L^@2AYKwf!8AT z=i?ULWEad$r{mH3bSxW5MH}B%Oeg)c7a*PjsVkB zew9v&4~te#O5@oY*-Cp zuRG1^W7-eK1NeL~i19 zF@l{)tPYmj`42Hl;|5bIfu$z;Y#WAzI}TpJX*J(!YhC&t?)X0M;2wl`!M5ZCBEk!F z4^~>ULtN54LDT0hOIvcgxpZK$y;^01qaO&0DgB~25d~z~-C@b)Vg9OHWh@;&WI(J9 z&;ub1Z@^Qjs`_*Cs~ZFF16>jKifvRWik7mM&rc5`$3FbkR7p_Qea6p?>m>g%-VSyy z1^TU=>h5w;85mvEYg3MBx@y2qS_ak`IvJ;npTBtV+2t*bjDGo6RU1{Rtx{Alo^lq? zV8RT~3(Lb_K~bS6$9@{KdC3slaIcytC#`}YXYF@(*!Ns~Q?^!ev148rSOBzs9`V&* zzvjDkrzR&G&PIS#H$ft`oWi9j+Z*@2(&u{fah4qv=*;j)C_Wg-6P&Ap8ut&%{&l0^jeqQ`nR_c+YqB9b!%Q)V?hYcr`UIG&a4N7eQqIr<(vD z3|+T27uv0*>t9&Bv2akKflM%$B9=?y*^PCg+2DBg&KrBLoT$DOn~}b4y1{Xy?A&hg zlhf;G<#Od)w#o+&#gQwPl=(01C~vjkT^qJpAO6!coO`%i$he;M1-z6d)^=dbuSUoE zeeRLZ+nFleW)2@b_^70D(jcTXvB5%%_6|0+Ol%qLZYD|B_KWZO$ z>1safPtwY%`+@EJtn8Omfsov@iKk2!Q~-+}q`h}u;I!$N1^ zIs&#K&&9&IvwhkO_b5y~12DW`{U$R#`F6c=cE@PBTMV6d!R1V1D&a#V0aP0F-jP#PXy({rQWe~+}=DJRo}EW5d%|CaCznIW6~149Z0 zbzkdxfGhVqXt78M*V60}IdN>j^m6ixyK^Ga2GT}H-pIbHS>M0=!Qd(87!}mQ@NBa` zqO$W;LH8O)%V6See$(w_xAUv+8OzF#$Lvmr9Y*#7a$80ii-GlB`$`@AZo|xWjV5qP zh#wGq*f}^nTe@+{`3YM-EXAx%U7qy%m?OX`k|w33nWLVJx-RKsQgj}R8>gL+ ztGq7roYd`XuYQhVm!_SjMI%wqb@fy-8w>P+RfdKh0kfm>!vNRsdgE4k zSg7c2iCF&p1j^G4=PkaG)u>{Ut;9BrTJtsvW8bQA-ZqDeXXAQ=nf*pn3Ica)UA=Tk zdPn9l@E=^yuq6+*j1d>({$(501FD$8#XT*#2X}|KX}3<9H64v;9kvPP>@oJ~?rkwW zNG+Fj^C5}T+T5IGlJ~e2MYMmBi;SDH$`zLqLu%2L;87!A)zSdfHy^()v4w7+T zUC?*smz&=(3w*0fJFffvu^_BJBk%q6x&FMewY3JdDk@3}FM^YdEDu{0gt9kgGKb_l zU{zY#ubFmTDz(JzloD%iH|4*W+!-_TcKn)NhE}rauTpc`VDa4F!YTIF40GaogFf-@ z{ppx3y$ZUc@d*vt%#pAS1NCnGa#BPv>x78!l=5iih$BS*X_@-Blo2oJ{=gvRP@E`*5crIb30%R(P-(KcB)^i@feV9D8@EE)^JyQz;pa^Ns8; zkQTc6;FTk374vS6^6gKOHuD8T%;s!1(jpU2aiLJKa87zOFFUr4Nr9yjNza zMgRWgLB>i;S>1c=hAP)=1S(N)DaC~Ts zO|XR1uBpo-M4GuJ`G{1vB20nHI_z0-!-2@$lSPca(a*JIFE{l#rFV{_mW#R_*kAbJ zFs@C3!qn;!>=-3Z7C^943>Ke2cv#r-BbJq@gx+Qoq&)`qY~Zd=OZeQwQ1zupBRSts zIgQXBU9DYrhQH|fhxA^sXPB%|h4WGY7|8)nN)-rqD=-Pw=eos39jN!-yGS#vtG5L@;K5 z#4eU$oxB4tM{yN$V$rhk@jVVdfU$71O)ATP0=eO-JTmC#W)4ow7!}sbg2Nw8UENw{ zt^Av7T5=2Be{C8VlH9(ve|WW+b!bL3TsO68*gz(a z=Zr`t)lus=uCXK$IIH5%RrG|MILC1=wP`>3_SNSRGsa7{+4}ps+=IaEw|7i^8X4&d z>g$K0k|#bfoFExrRu4OlBm|{}=@f_vld7ty0pT@D^=j^(7`Q;8`2~Jj08a@G1Hs;h zq3H11aT1hGaXaOMSGJ0b$b}_M$;zSXCJNRBo=vrp5+z^_e`uR(H`~Y;085&B)te2^ z^kdYCh(#ZXV%Wua-Xm=kDHw-tN9z-_fMVTFl>atnhJ%naD3T>4`>rhdds)EhLU@miLc|aBS!|o zr^@1;&)aXmXA*2e=nmSzz$pEProWnqz$V0zS|b^xv_amY4^Kp*0OBBFDx|Tht8jOS^(qr1pYgHSSbi z<(8##hvOhfBSorkZFtZIw}y4i9sT>?u4YAi=18^4Oi zTPOeAxr5`9K9Ek5WIbkPiPM>H^y-lEgU)fgyldmnn%-6Y^=@;Ie9d>J-+a)Jecp_C zfc$m4Po7&bs(;(&eLiq7VEZH8)LY}lWht_U#Wp`j1@dl`Yb8v~!OCLC0H&ucpysG# zFu`c9LNI&WSTUe0q`Ja0sC9G}Op&D*$d}}U@9#d1g7Ri&dq-y{*mI*g1$HvBvLiO4 z1>GqwS@BK7Mm4XR{d}^(*qO{9O#u{H-|GpK6MoRZgn2kPWD}Z17%9SPJ|FYA7ZG{N zL`^7`M*2LeT|9we%YNDXW?(q@Aq;9YxCN$x27Ndy92h2I9UmzrJ=_)x_$^T_8L(G| z1~+gvA)&-&YUnP&zq0MP&%Tk_Wo2anMYsvbYUZ}Ny!;oOL4f%#ay&gG4;TB9F9MYi zfr0#GJ~6_IH`25Y5hMfyT!p!rB0SnDM zdC%$V;o$*H*~iz{3S^G)@v+=#vB?ryO9&aq^2*`6POukYRgMbR>`6I&w68XkJmaUY&hi3t(~y`m5R=?^@k}k z)ulHjWOBlR2l*=lPROi^-qf%<_a=#Rk7E(Cg=;=n%ifxh?PY$bP*Q+z+S%C&N^m<@ z@S%5|4?=4Oz~wUSDGY6i@QcyV(i#~Z1i1AB03fa)gPY5@(b80|NY@pZ)7(-hW>^G% zG0@61+HF$v(?-<9#H2{g&)fT@(A|iob_08WA@Zuv@C?)SSeK|uO-|tt0Tb9Pu?Bsq zs`B>ni57CjZfDYt+E4C@#^lnl)PV(JXU!MSi>uPK+wAp?u`!h@on8U64e@Z)!QaN+yQq?@0c^D_hhi>e2}j)8(hwtjn|Iz)*G@@4a#Y-SKEbz+qx&x~`a_;`Eg zj(_OHh}sg!XGTWu%vxWQqQd_LSoncNE_pwYMbH%&o7MI9(b3tD&D`b>1q)9Qd2!F~ zp9D?r+qZAnVbC-RPLxHx?PsX zF}Cner2IzE5$d+NtftmNkTcg-98$GurKpJN9p@R`*_V5RR1Uy7d#|!sIwW7%C4u(T zcm^o5A_UD|tt$}ZG|l7|qLqY6Oo?lyH`0F%41k%M+~mS~$BmU+`vW(K+*w&yoa>!y z?lLVnH1bu<9ptQx;fq767a!laJq7Ovdu``yB#Psx0*eSNi}l=)v&8r(&T4*Vl4MTb z>hZu6GAqZdKfTZQo#$)4C+u-qSlUf5TiU6tim_p@xr1~^#;=Et;Yw_u-nNEa zXsd~mwq#=2_Ruve+}z2j0KG{cAKXw4){;P!`Zz(rPxp;My8yXz<>$}a)3e-zQ01aS z*pcZQ>BX)<94o(#4bYikJfoV&-kplP9OqP>LG{1P_EP zD?8hg@m9J9T-H1MeB!qBHj-FV$xNY!LEyJ5&`D^*?E>+B_lGY~31i?$+`i4|2mpB3 z>7jH;Z#M<*Cm5!v`V90xpp?2|UyyR~a&e(iARBw)=+WCl_0ePBb~ZRrkKCA-?yHQU z^p078^zn(>jjntB0jtZ#*G?mUl;rziwP`CU`;xa*@F5gS;FX!@VA5~iH6+Eq?W&1} z|5~-}UETL$;~9IUw@T9-7G_c(^5@AitFwq*YZR{rLl_=%KrSR=4^tf$Jq|J|pQQ=B@XOY|B7xgq-uHxD zo=ihj>wy`^*oO15G_eg;?=P2`r15P~6hE>E`bq-jjiDhSIpsL7?9|+({+&m}A<)`M z%;?e7lZWk1vHgOlTAUjiRgU<%bGlocQ@tl0=I&h0<*0v?v1#2PhAQwf=@Vhz(AJu) zPj!J8YJCIjMZ;qbg_3U%SGsjYbv~N1lG9^@ab@{*VP(IiaCoTdi*+BLu+GL6#S2Y=FFb?i1S#bV7$i8!*xWA{o7GqBQDOs; zz=O)8czyiNIpy3@_89Z@PlK8_c4*!Jvraf1AM3hpJOuZ6=+n_G-nezUi%}ab{=t#a zQJAC;lWxTXC8yqHUDps&5=m=gZ)sBf=}Y(~4EbriV`6nq=Nf+4PgrJ$%DW^F zOg1G;sMftXmvS*nx|do8(6M~5Sj<~aU)_Z2?{bvspShccUukRc=7)zIt}}ex$#%h9 zlXhpro*R9O=XKB5AE4gq{JxatW;&RW^1(5j!Q9r2bov5hZjvTSL4ciusa*~#g&oHr|}s8pXrgwg1}xccF$R5w~Za)J@I@HlYG_>seh zAr{31t+|ai-z?a=g;n8cyV07IGQW%Som7c;fG-MIe#@392^*Ew1J)dI_-9WU8rw- zAuspyLon@kID_FAp!4JWmU>1_Bb>e|#Zf?Q>b-jORj#aF@6K`X8u4I4$M(rY>ukE+ z!6npE;Ss;>sx8^LpY)>_iTny|FXc9voUFOVRZ^Yi4KF_d&2;DV&C1#7J~JyDw={CXs3+)b8!f4lVqo72fuPf;F(fS1hUAN!Iu zOM|s^sUXu+H;cA{OHEbi_g}ILDJ`D5O#irlB%~s#LvGuSnO<8^GPzP^Z(_8Rl%@6H zKk8*M3ahTPhI#_c~d; z&OJ!mJkJoCix^IZfX{2ZaMHog%uz6~+^M9{ni-nBwDBuRy(Z%(zK#FPeQ`TS_BR?G zydi$^(4f3?sUEfgfuq3&gGm$=$P}TTAn;za9>(qD&YeTt#q7MYJK1)xO3HsglASP& zV7#z!Pa5lt_vq1g@85&_##o6I5g7)dx>XkG?C8Kba9dPV)DiuV;+CX$?+~p7!e6|Q z-KB=)(XL?FFNQPYd3AO5tfROh=D=LHF(STQZoCDu;8h*ZS^{1{%_gv#sJE)XpQH^Q z(?4H;?#prS-;aReAN7A_yA)yYojM1{)7zNL0rlI&OV|H`t|M+G@H<4+L8ur+C#Vve zMUfR9Fwc!{vWgIM_`AWJ0kf&gzSp_VenN8}IQzPoL#2Mu33&b4`^-+PnDBGM+*fWJB5OnU4dv|^ z*HdsR>S4hep$v^`VBm{G1o^Gzjx=dI2AnqE2?t@(qB=4-n0n71sV3aGq-bUR5vm!a8bM~PE>rmnBl~j|BwMr5dM)lUl52*0% z{|>EaPsup#?=_#>#QZltjEbG~N`A$#O-5GaRO!ZVSUK@0yTX1%P?Zh1Zk!npsHCDA zd4N_M41?h|s|}e-9M)0+|Hk*ZR)p8rnCIx_T0D#w39SD1?Mg}YfZL&7Gq&v;Z&>6h z=|LrJDhNhbSgJjSakih=!^+S-bqtxZ8*9A{+)xh5hZ{Avw6y$wHa8RxdM6GtHb^0Z zz+}Xlq)YXQdDB}HwdRIbZ1jrGx3gR zg?4Scjm4}~)Zb)u6N;c0BUn4Bx!n_}F`WOD?qGiGRSf3^VJzXm$eP+(qhTlsF@UK8 zsillpc{+N_gai+RK*ux4G0-gz)-1-?56V*;nG;w3z$74L^lA!pZbyAD{gZ3Lx5Tf4 zy&AY^;P%mD z$6|(YF8t?^qLg4g(UpgeF=a=~23g&h`OXzmwnH#Y0N5Un0}Q=d?AB&g-_q;3Xm`l^ z(>DxPCaaC&dW>Io*a6Yo&CIdaO3G*J5BYL zN}BXvbw%jVu&7d*$K6=TnM7xR6M*VA{j?ll5||04;ABk~&hw(ni#tltK?qJF-B~Jk zkWx^BI6QwSvteyS(n^|AR8&+_T`vKKh+4`u`6l?^JU+9;so2`uij@+boE*?E>{r2W zGo)hM`h>UL^aBV^VKwob3gA25x%0l&;&ZnuM6d)yQ8YmICMb}gbe%S{+E`N-*=6IY zIoR&_(RJ;*lN|`hh>!f3(1xEKF9|mw63GSW|H4T<<9~}kO5`8u8d>N62GRfIC?qxi zDFR4dS&vgFn+k?mTU*~2#Z+O}UH>-Moz@BW#~ZgSO4E4hUod|4=wFZ~5%^C!L}EN=c&N8dQ0mo!X)Rpx~{$- zUPy6;Yq8-qGH0g|Q-v%-ds75XE6ttw6VoK0~CL1?`ucQS?P>mfO zOR(AjDLXnV>wBvx`Yr&siq_Yb!Jl5rFx^A#nfX{D+XLUU+Rcc{`7VErvQ&DnVq=bYyD7faz_LUP%v^f)8XW=t!UxfeeJ37GUiKXXjO5#E7JbT*IO< zoNKF-uF6VEy6ApO>|;!^LKZvPntIDG)2N1Q^z?F~DWUr98;RgX_OVe{t_ziw zmG;w@Pa1vebI^TZn6H88mR*LNTf;8{y`Xxfa{&wE;%{7-E{jSHbFr_z{cpG zp@A`e`wM`JBA3-A5PhNWa1vwotDxSy*Sg!bm4HFT!=LkeYmT?2$HGblXdJM&eX!H^C}bB16e zx1IbYOztpH(I%f)3DyH^x#{Uo;xjWc%=3QJN^q&Gse#k^gs1k^DXxZq(19;I2*6|sGs-TJc zv*^|6!n+QiDi}K_iJXX$<^t|^%a;( zE#%k2?*^Yv7&!p#F6Jj%m~blE_u<}9J)5mwHa6xmS|0+=a1bcO7jPl7#w!}91TktI z;5??x4w?Ku5^?Va9+QAL90Ks1kLPL++Fr{S3;b2!#Vs!G42*)QwH+>PDA^|lt3XNb zi}qqBg!rqj>hs%v^IdU%qKP%2?7Gy10gHw3v2(V5f<0H$Xif}@-1_2-)i3YV<*`75 zMCE+nL;cy$3ZqQ%+3%O}7m@e7`8T-e1qNS&al367iwH9x%x5GcBNN@tLkghtK6E>f zE5O^rzSrQlRUR{5(7Q4qT{!Xd*Z-JDksOxYcJRoTLXIkJKO+{H* z85ZH)&JW4#qktq{=5EQQM>Xs8G}a#>jd zwoqoQVi>AMrcpqo*&%mWPpH%)Y>69Uby1-FV0ETdL!b(f|N6 zebOTJZkypKV&vyWn3K%0yf=gUClmQMh)zsAN>+aJVYTy`%qoz=-w($rSdX93cQ2xt zLVwF;%1>`$F@J)zLC+Z7Sw5GkU20s+jef`~jbGa>zl9@+IPvK3iP>19G6bv42~>5* zhTEU$mfV#Snz}73ncyly=_H_i<;o105b*lR983j(LTuaAfm?`bSCkj=cnE_)EH-eC zo74$APDldG;1$$!2Q2I&wB+z5&Ch3Qesop=d9cKaW__I)9@1NO*Uk z=8c;bL|BHs6x1+NO|SjCY5igN2k$7PElvgohuGeLFbf3A0UxKOtvyTzEQs)zvj2Q% z^m`!F>7IN2yX{)znuck)HPSG&x8-D|Q6?Po)^TIb$Tpz#ddLaMAJ9GmymoQhC zu+h@KKc3wx+EZ$l=X7{7K}$|7{*5?+V>;ra?sr#Vq(!=|udkbRV{@n{ zYgLpzM!DZ>*J)NPXbm?rZgJG2sh+Pu^l`><-4^qYHbo1J=mS9!#=$oTV~_ToSS^u? zfFHr;D=uy*sbBSgZlvklzX0Lfk*vBOp(gn7h3}~}baZ@r#VdqATj8CZoAuK*bkQq^ z@1}hB1DH1r+QUB(PCM^iI5jjh76`AxZ>8orB{;^oqd@v|UGD6SfCVnC7L_ytV=!O`|sXbrqtFd`P$uGve777zN3qKT=8z>Om&S}lYrT)0m0i#hjcE#dd_j3 zl#2C1`-y_7vOE3VZSl+)T zb7(~7mzOY5S-yIEr6u7N3%g8(%ImNs;X@Z2R#%@hghubH(m>7EH?ddzfcr_CC@#Vv zSc=VJ%RcvdaBZ(>Xq=ZQpI(9XF5>>*FF3l_>(*E5KvIA6t1e@VaDtWbqs_ZdIPJoJ zQNV%I_oup^^Y6lTqW2FB{#85(}l2L-+bXovM}ag=-VrF#LR+s;K4zSqVd);WXyBk_;@^8GlKv zZX3Ek*WsBFzkzgTAo&yMfWfS4Fzq4Bd`eoHO0-Il7w?h3(!FLv^x}?L*1dva zgZyy9`W1bC=4x@p4a6OVp*|fZ3j8H5l6rMF0g=&EH$qZQnaCl7o2RHRe%qBRci%%FAYmnTO=# z)KYcFMH0cL%deA#)~|pE8M|2O?X!9Yv6H$I4#U{fGc{WI*_Gia>HH}Sx8xN(n>owN zS%}bnz&u*6B$oy-ePgkVAqf66*#*;A?qT`xh#W)^w8KjKIRoZU`0|s+-5jV)Y;_Yq zJ$4ES3X-(vv0ls(WC%ckagcKO%NEk5g?X_Z<(P~vc$ra2<1YFCE{W@Vwqi+e9z57j zc&>rQjFWpTZVS9pr3ta#c~9`yt+z7@04F8WNV_ykUjH5#SVQn~ z{QX?r4k#`RlEA%dOl-Xg&ZWfaurjKnRh;Kbzt2J+21NHuS^)g`ydED!=jza1mswQq zRRu#wRaRd@N4`(qDep>Lf$Cmr2MwK4rVI{IX-))PF|n>N`vAzSy5h~iWi>IGPJ5yE zVETU5wp33~&%b}I9+lQNHJzml_>=a=e}14gd^x0KWm^KDZlQ6y#xsS(4$rS?Lxjwa zk3V&47XNnGyw_sli0lm)Pkne3Od4*w-%|iGbm4UE={LtZ!BQ^=`?}^Dj1 zA`a?`%JDBToTw?hP&;X588_e@9{zl(gf#2qcd!5MNWA2>%Zbe>sqq7GDD>4RafuF= z^JPUUcT_77oURQBl}uG1;W%_CC{fnYVXr$?QIIs88UY?GKR>C-^|3^=Vd_Bl^dZiA zkNK|7h!^4EiW2AtlJ`h%a}fLGR*TdFS)1+B%?&igR5>6ndY?Mklwg%{jx!-0Vm`5!APDh^qDNdJhAY=(1oKatE(G)Hmz zLNtQ(ktlNjHRa;|5mu|K3{`{VwJHd5k2t)y>|^KW|BIZbJHybg{JK9{1d}eq#TWT% z6=_8*7t>0H4BxE2+}FLYXYhH27ul-#J-vmXAS(ONtp_Q+uBEjBIe6?cbI`Hln!5`8 zvmG6mAmp5g0`;Ke{!jel`B%D~PyAJs6%`L(5aQL!@+O~*_eyIjZ@KmD<&TNXl>&Rv zklq~G5j(gRQyH%O^7upDOJCa0Qi^ARWQnd1KU|9!uSN_a2bf0T%6%;bhUnsFkPFD5|#M`K{Rv_;}4xMp&ObdUQCaWHq@i zl3!ADTQ}*Br2}&=865|N%p8%d9sA|gzdK*T@UJ-yg6w!Li)d@X0#q~hZ715<@%)x>F{%`bRCU-TO>{|GUXh63~s+I2b zMAuJ!8M+-a7tcYp<<-o#+1KkV?;q^>Ch^n=sB)ydFCEXX*_tE6DDFrj;qU7kbL+4y zDabO__-N^`okCCeUqc6{kyKY#)3k)G)b#U@{DAuF})!eKyIGXuIQ`ct;c z=2kN9`zNp3bPLZNIet0+!v)w_h7alAeyXTI!`!x~5sl*1oF*MZ$Rj?L;j^C=7l~W_ zI=^&vsUrryI?>UkgOq=7s?GT8r% z&`{(en`B)y%|dv;IExi$pZy>(7lUUs<;Q!tNr(8b9*a|=k@OpmA z#)YSKlAhdP6Z;E8c+>R#J-FR`awtLvFp^jutT7Q>=y7p!MzQ>?-A5lm+dfFi5S4^J znh@9ZGXPwknmd4l>AYqfDW_yqL1G`7Cfdqxyfy{BGuoN2?%X%;f$$ampqI%p z#w_lV$V(n+h=bX$%IWBIqh^<99ke3Zd7FHAe7qZG1e)4Jw` z&ejUyp$0~9P$yc@yzBg$=%Ky0w&d6&AkXwJfhKZfniPSqxtuHw<`=^+&fFcv%4^`U znqg$tW$-=;o*{|FQOPaOvrSqX#dBdFp|dnn6ApSohUh72Z~d1@F&*00AbTawd2!P} zoxN)>%p)!7{rwsw^0AF^^1L5RxeW7cVg?JOH=>TEw@YqigN6_cbsx+cD8+se2XWAW zX%K#5!bxRz$SpKysLbk&#KL6G= z(-GRuA;v1^Jb02=b$_0| zkNzs|5B9DQ;CCpu>+4k_24@|ek=Vf|2S@r)4hDOyV5HCJ^yRHmAbgj@y%xkA0mqpk zAh@92qiXIhuy1Pm&gzbHd#Bgc$P?LG#Bd6+xwe}IYp+p$?4zZv#j^#A3Pk~VxqyJc z6*V;!yEz~!{|bP{iDJur-;4+{_#c>I%3#eFno13p*zMKic45$!KzTDa)tt>wK zta@S+Qh1yc2Tc}XehP<~iIjqgSHhMt3UO$7q2&VSlC=5NS7&tt0Zn zk8vM&U!jr)UIK9XJF4l6=2dVDMmBI}Ssz_4!oJofPwXTQJA2vnks!A z|03u8-kpg43E`H{m0BpB|H{VJ)~u(n{Va<=+97L`>uZw_jEHs+=7KDOMfZ_TKZY|x z*s?78hld~>m9S%a&#Et!J_`>13rT=Dz|l88W5|ktqGAC(svh6(safK(3YPy5-g5K= ze|Sl(u;nS7WC*}!jt%4UhW6^ra@Rq3quST<=5f2+(g2+|!k!IsG<(Cz)U&*jc9r3P z>DPe&&MXA@`jR;^(nL2H|LpIF%y8+WSf$ zYhtAmI8t<_Zox@taezBTI(ynZdKVRiQ~6BPptP-ALeuI@f`l_{yTwdTqHzEmsyXj+ z&?9u-h_bYY<}TcLCYI)%=zaVCyAOzb_>|N->*J^r2_oX@J+?MBfb8ez`x%jL2TgpD z9h{^t+Ei)jth7}u$|(n+uV|9O#fvr~dZC$sJBLB&PaizHt6z8m&ubMUTZR-rFfYvG z$av66)jh!7!`>wwVVSpT#$HcgYPjn{W*sxIjONuy`&fPone+^_2@)99VBh0#1oc(* zH_XV%fguclH4*#Wx9E+~TnDz4>axDv>(nI0E+OHHMk;}3LU(=5JXM8r0%a^glZ1Ir z{-E}Emv19@G+ih_kk1}qVVPVxR%wZo0U;%^Pd8Y4aq&0dS1w&~|Z zB@}ri?M(J?A(B87FCoJ5>+gplFJCTTNE1X$4qu-gC9Z9?5h(j;d8NpG!oE!@lY3PE zhMp--UxRPxk_QT9SAHC4sUxsQWN1%>_tc!4!UhW$98|Wos zz4>07t$mDfu|FwDlqK0t%4qe`2{Z6Y z@SamaCmB{md(llkQ-SsmkDfM70)jPMEy>IQb)2 zJ`09H!Ic~P2-+GeD-r|*!hV7B2GvFP@yci8DT!!0|at)fU z2`SIA&TU|3ztG1#pG(m}Ukp4`Qn*^RUtJXEDdLC?7n&}-n#QFO>f0~C&wJ)v_?wnM z(%rj2LAN_yHw{S;l?=Fm+i&Y`q+^xv(cY&9_LA z`_X$!k>5B6c@H%e|6jp_cTEJtj*&Cz3AJ!)w7+@Vwxcog){%IBf1gaP^)~kq5E>l6LBHazLqm0HlI{_`=ScZsR)c+Ga-AtmMGe8!F?kZ=%hCQ% zZvNb>$nlibH$(gBgLG~`ZFQAD_9PpuEYAnk&qXm%5xj$B#HQUY5SNfFd^3E^SHSwm zu7Kmvo1*GJb`_znYT0(rDpj-{V8dR@&bfaPNSZBK@Z-`uNiC)62W!^uFsZ z>Z(mVZO?lWE&8;boBhyDO~;ny2Oo!gF~_7Du)od8dGuMfxj>`1&AE##Bctl^C= z=JK||7(sRsJx&m|DR1Wy-@(mX2^U`2U3=VLE3V_R_NvzKRAa3mpo@&n(kscghn!bf z5B+tk;wP^@t{5L7^i^rh`0Zlk%2Deker~nIfI*Q^h+CtzA1eHjJvtUsXEGr1d&5?@}jL?r2nTP)3i zI<9@bb~o#$4=?8kHnY2HcuqNaOCMb94S%*)VqfdiXw0LQ_`2UBNm_XutxY=Fe+*QT z8OrV;>CO8X;{*=OJZ9;3nvwM*KjFsdYfKVL<1d8^wmYQc7r5S;<=~_LLs*UNAz618 zf4#@l!T*@6AIINT8kywGFgS!Y^J;7>sHp8MGGEGVe+~DmXChTSpo?2@=@kTVZ8z>%~-C#d@ODWMKKoy1$4|Ne~J(;(MO_cis@(S2k+=5nMW zGn;l<{Lkm=54jb0*O?t1Du}(j^>lTHQ`m@TlA5Rf=J7^79L@S#--;ry=me#6-_6;f z{><%vsIKM8wjn)}{g>+P!!AD~lexJZuxi#?AH^*(xn+;fd75<{J?FexE$>Ui^>3*c z{`Zd*`0ADo1Nj(=b1Qj{#IW{xT&cDFkfY7BsqMAf583BNnZuGM)5%XxVTIp2`urpJ z$=(0aqmL(jKTxp!kY4`iGtO6vMLSZ3cC3x~kW1^es6+6Yzw(eJj`e?*yhWo~rh;B` z!zO3V$Ail^_Q%Jy-h0!<3bk7jXo4EsjDY`UbY>w^9cuupt# zRhs5Iw(#de^WQW78p-`iN&o0u^xK8rM1@t0k&(syEtGmp@40iuZl~uSs$+Q#OJbFp zrh<+?`CjZElHK*TUzaG8~Njvn=WMbMkh77=NQTT7Y|fd0yFn`GaL)Jo!GHp{p?{u8Fi3KaL<|xM zD+>C-kU~lkfKJfX`%*!Ej2f#5n8vL=n{wm28&9XPu=?6b1*MN=N2Doj& zL7eQLqIkn*U$tLhecGO+2BOfLmlv-xzT7MXmwoaJAZ84WjeQyhKp~f`Mrr0yNb{y* z`$s+qW6wKcN(-D8M($Er<-PX*DMNachOA^C?*pl#6Ni%KHZgMW_GtOJKmQ^M|J3WZ zRQhy(H_`729a}l|R22ns4!Ldg5-sCH1x&($d?DljieO4(eG-yOuzQ9l*X{(AIo>?4v2FRm0H1G+ zH@zy2q8;-I@<;S+eMi=)pK#(RmKHDEy@OL~Ph8aXomWtr4gxs;9!ESh^V6`-J<=+0 z;=~DsxW=6O=;pa%e({vpq%{S}z499@FWE?9?q!BN@ZduMR`PDVeCF*{HF zb2N;r#Z=r22)QIAeB1tptCJj$GbNcU>n$v%d-8v<_uk=H{{8>BCY7R+k=-B?(y+;_ zY_dy6Mr7|5C971Fkc^^)tn5uC35ASg6S6XrJ-?5$y1(D!`}^;6{C2v@z1($bsh%3yHo zf=*{*!aAj8|DHV$Lqd2FR|dj@&2)}#8ra6>SFa9_jAZJjZTFK*X+fwMEby&yNx;9CQr8W$+anqA3Xt4=2)(z4pm2#md#k zB`0rV)?y1i4@uw2CvXBnKQWj8bd#7^aZwTYecr+KVzV;;wJ_8!8wFeX4Z zVB{gIbyg?_qQ-6B)^2WvZw)AAjnT$187YfH8tjs+Y;!j;VjWUVZKu%5pS03~E75D2&+g4+xo_Y%Ws=g_) zHHpO+0jcN_KT6qWx%Ojmp$^)T$XIr{d_|k0)_v2$nYT3xS4r5`jA*6x+JbyoC>~P! zy)@7XI5o0qWuk(YLLDQ~UkLZwk;tz21SA<(aL6z%dGOZiJ(7~y6rbccj;K)-!axAi zFNjCyW@ZG+_cJjOf!CdIXSp1n24`lF=5g`8rt$y4+n=J#CA^P6RmEUfg5Lw3{jFiy z5AZk5bKB`on4Z(Q{5ms}$ni#(xhp_eGSH+AqEFxihuPSK${(x+eF9Gh4L4d^%sU)g zH~JE7ASjm@kbB^hXLM*sJUB%Iva+&Zh*iYS58MY2=_F z9q9fs0UTHAvVgVJY22;2Tt&sau*GKaEL}0<0*?&|$)g7mhfx_vy0RetMR2|LO&kie=xNR|b}^pZa*brg|krj8%jQ$+Y6)OeSTzp3ZCg)+oEvebJ0u0V(Y1e&yuhamO(hZ)^ zLUvlZu$D-d>QO%8;}+0848_>C_`r~)z5z6RRK6s^%7KPVNeu{51N#J7!xx8oHu;9M zS;A(=*27~NWAdNVLXoMG&S?!DHm`g5YK)a==aET1lD(bnA;P!?SvI_C#?eu*~YRVq|nwtTj24r z>gq`%5m_taveV+Lw+7!z+#KZPYq70~7$3NIq3U=qAbuib5ItuX<33;JYvMM}(L;-XAn*=_pW*(NrS87;k03EtR+J>IFAhB`JRJmvz6B!iyU4wZh);w%14%^k`?`}K~rEV)nEh|E?$ z-YnWepCLC9spH!heo#4H+`C$mLRcMT5`c*?m5=J2MUiaL%|5}3b3o|k@Hego7SZL4WapV5(3(U zDI`{u0i$`av5?vbjQp3OGHh`nRFt>BrIM`920@~~zb;oeatpFRdc543Wg?GPmh-`h z916e#ktyo0Ajt;$FF^^(HNx0`r9+L4TQ^3D-{?J=iw-U~bx+?F9q1i^|1?|YyEr>P z)Y#y zlB*CZbGZY#FN*hVeZkBwrDj==hu!LQRqVE1;V~+*dQ^(?O0mY)qm)1OLKB z@?rVeS=i*Dx_WWhExR9c^%u{nioQWbA}T8C!$Lfd4w=h`evO4)-n*2^?R570ZDtyp zfP*JfTI62wrD@VLF)8K2=4kbp#?u!o+IuUqx=AkIQS)zhq+f|W7I|<7tFQE1ZnE8c zg|Z)X#!tWBy!0fP{Fbz@W3-57`hZ((TzCS-l=k51?dmh`qLN2ML{>0+h^O}iBM?xY zbo(Eho=fwXdBm((WBJ3>2MlLPX0CZ+$W_S_RO$TYPeU9u^BvbK%$-L3KA})V$bj|9{ktWxJ!5Iq$+L{Cwb|sNG&R031IXP9!h!*# z!@|NINJqDPFw)At?R$O%S_wit|W%Ag5SpHK*_njJSRAF$L>c@dqzE@ zxW}BOjErBg5r~J=17BVHUH-!bsK%;1qhneB!n?Hbnxy#Ggo!!T@3+g{XDy-yfY<*a zfS`J(5Saqktx;diEA{r@^n`)Nct+)Bt-4 zBnzLPoZ5A&A3BqBQukQMR+j={UZytW9}tkCll{R^z(7~G9W0yQ&Z6W z7#bo_{Fw|gN!T<@VphuL@&W)f@@9#G>gGi9DQJzLP7&hDN8;-`1o-91|R4ei+abN|hy}Ev(>J&x6h!s@e=k3LF{^<0jjnz&35rWw0vfgX|7&++W`a zQB$p@x97!AV9pm18^9MyM1g`86gVVYyh(N0t@{@?e2U5+0@fHL_AGbLf9&bv-&1~h zv^Yb{3D=h~&r ztbIcyF*jFK#A45R0^%PU-p7hMAzKI({X$|>pCfpy^E74P0lw%u zaq3iy3C~MBvnXZ0=N!3Xyo=flli3M5c*39S;e2jGex-3<-F+9D5L}H9BXA*bQ9O)s z`U~&EN+S*)9+$$%`l>`TJW9qQH$YcwZ3^x$c=t|nkII+g(*rLU*f#{3w4r=?kbI8; z&jAu#&X`(k-?q)Jb+Hqm&j4mr5l?MZ)_%K>3%#(w}|K zMsJiWN!hbp-Je+6x`TH7@*WaWrP^)nV?gU~Lie7mMD%Qe>|5UY43;}&aoghhMC!Bi zb^Su5yz_22(mSonDJji0RB`a}JzOCd==@Dc(@h_-iXIOdvfhRtCR005?=2l2Pp;)o zOiaL!>Oi^1bs>*AuEMtn!Ey~KUfx_~2bMbOJ~GzWArK*l2S2L2OPjm6IKjY;2b@zl;-?cRPm@TunCnIWXwZGE8@rbjR@zHhoY&_#p_bE++G4*cl zue{@|LXqDXsA9?m-Ye_~%Ig@HD`e;ztvKE6H`-xEmEE)E`hw2?SIK>8UETeQ@t(zGQ;Q2PCI#jMrNwx7DD*Q}d_QU@lMF55@#7jx zK6MdK8~-)(cU(!`tzNM%(cF0yM=!XY|8p}i3>P`lK3!<^PE~FAO8-n>?Uc~^R!+zM zP4M!nU{SrR$;tPKRpa!DJ@0SCECd09j}*z}7L-1Q{4`!J@|W`&2$BIFFjE*=Jh6GT z#q6jy{N13;JbMi^O@FJ*MWF`)HYC( z+@5s56JLPk8_^5U4F-ci!kt}?QB?@@o`6Y-Kd1cZ5%d22qi%JZK%Y#%@|a@D>BSdD zbCHa}0Lq%Wy71aTSCZp&nfn(+7}zD`aKs9#0HIg=FR#pUh!Jc4 zyPN6qHUWE?&kIla>z8g|@U^{khb`yra9(92KSnfMK^+GvE0QFeFXZ%T30>T{X!KO# z+?lK9jy}527t7m7v`@d0qT&+R7=}8^W@Fe*)06uV(cn1JcsOEgX;BqT^mz~Os*hJs zK0MXMMO_QsVecS)_5Pyn0t|X~ZrwCe)d>%_=H?u*7N(|bJ1>i4CG=J-Ij6tc)N^Y_ zbXIBOchoRyr<<>5ov%E>Z)uemtULuVrRPU8>H9OxNC4C=0+*l&|b2 zO`JPeOo=O0u}8UkN=uZZl#QXFXy&xwufzLIXSdpNT%fTYuwtZk=!tRY-TCM%H zE{nYOKrt_;^xn7#Cq7Su^q21r$Qr1mDv0UOyk&Wx#l_?t=<{M;%XTy8&1X3|j#$^Z zwM^!O`I>f&DpP&Qh}&^;$YiGo*^V8c=B%QhLkN?i*QAW<``=CQ2Ab?FJb`^5WuKbR zgDW%hm;s#YxiBKwa8~loT9S*C(}SD{ze7=dVbojW<33GxGXDAE%=0^{OY)7QbEs}z zSVr3(QYf{eW*M=fp)8lNjWnIRR8h(Ew!cp4hE6(0Ca1jBBJV^_Q#x5<=@N|mWR!PE zR$6Idw6mq@?dE}J?*0;ihT*c6X0lbfZeoWJ)0#x?^rd9u%{y9HHF8aAsizOVYO!c) zYCaG$#mizSj#c$kMe9w^mQe9e%0T~3;!mVD`NxUh1xfF1S$?5|7Dk5S9RH3)s? zONGcR@F~0of8JPQ8h)n#=VtYiXZfl?##-(7f|O}9AMsu7&)M51e@kghu*8#GpZ&ypMJ#LLFCiL z?>Ayu*}1tVz#X2|a_hX_N%$Kg@`}y1?Zy-LLs<^5_CBgM-tMk zxxJ&i>+R-mduGXRZT8iaVZVF#PG;Nq{#;#W`PaS}V$O`i8vjN983~D-%x7harDV+y z`j$*SPi?UfykDUwCi2N;#Kj`_$tT11#zrET1V%)C5x6r&4d3~S1=tr!QH;H)y7}i$ zJQ5}sCgb4%s|0xvwZ1M zI8)2g>cz^+D)3`uVuI<}gFTzHh}&~jBchv)y-d0ywVNciPkRs}fT#T$+L|A#e~KK9 zZ~*6C>8iT9jq+Zbozb%UI-?(^HHuJ18D;89sdMg$$DO&v`nX0&eb^*VgeRhpXGY}l z>gZ7gY9uIH$xYcJ0q9~%kblX;_Hm;kalf&mmm6pp;xrGx__6oq+ubxY zXSX*D6`9U#e7=h`mf5UlPMD(VJPS?7rV&zhx+7dejsuG^9N_ zb8H_uCN8R3S!VrB2c@Lw{E6&{0u~GTx6fn}Y-W1pDNZE0miv|r9dnD#NKR&@SZ-ke zecpa`$thaQZTdyMBHhIHxjNy=-iggZF%w8mx6dC$gImqD*3IKF`R3|L^b6lHY~QsE z&|vl9CLM=o@$v5}HgXVpN60;uXsD9u*VBZTFCWSimZH$H*HnB!BQrxk5-}Vu zT2%W!`P%m336fc*$?@NSlm$>s!?H;-B*!r_UbDM4z0nd#@aqh^U?r@i+ z-YBj{!G5CHlzqu9qMDY*?|fdzXv_SXWPISz+Cw{l)co^L&YqP%_IhrD*EtJ~;7Q+c zPI4n{|ICBG`jXyrWNtfMthaa1frwhWAUVptiv03-hGB|pr%Jkk%9~8Y? zi{x&mqC931*AT}jrE}+O3;GWe=n5~ahU_hY=eZB>K&qe4L;Ty+l!O;_%2dOPYc@M-n(vfF8J>3M>#|M*1rR9xmSisGR+`bnSNYpQ7H*v{Sr%KP+m)Pl!_ zxOMiv`r-N1Af&Q&nU9WrNT4vfUqFJ2Mz(U0qj}>k|2dv|zK?a!blL;Ys_||19biaQ zIWmwh+bGqV(dR!Sdxnfr(Ehzi3~ZtuF^QONaJZ6r}6Y6i*&J zkf3(K+yX4%eWIOyninqo#=1A&Q@##`WWf9;!|FYja4nSzk?MJRP?R!yWOfOP?!uqj zoq&PC6K%S|ZT9LP;PL%?>1n^->voHC5D`2Tu-ljj^!jOv^s*Mjw}N+EW7jeG(Nn5# zZ)(amZ(_6W1Z5BOz9#x4bcXpYoV6vS-J5>XYs#_>=|K@(j62#WM|4Ci-K6{1@skiUe zhgAE;jgfpf@S%>^jq|g7vLFL)P*qN<&SM3~4hKqJZ6nl?aoo4Afmvf?ZvJ*8Fpx}w zQnwVLMUkxuDJelK(4Ri#(tc)OG5Q%y}gy^rAigXPqKTwsr_n|AuZ0UwjL z*w|P+fCP~+Ztv?$-00MWR`0$wc;>AGODyb{NQu34i6PeJz2)hMM~?`j=#^*)G(dK0 zce`}u{P}HdU@8di%5THDBP-z7qjk2>WO#e@7a-v2p)$%#JG)=7(fieD1Y;_guuPS_ z7TV3oNZf=gDPP;$5xJsqzkk?66$=C?U~#Ulm4X8K zqABD`1g>dce3Xst2lOKjWgA$C$A^-JMhgSBj07NfP~*d+_+y_LUnCqZ)?w8Wa=nmn z`nu0>zI!5~KN~DAb3lIuo1`!~#5tbazw`PR!Zr-krH9O4kZJ}%PayaTlD^nWRRCh4 zdXSXd*bPTuMzll(*O=bmZ~m73$3$$)xw-oii;Ig9ONvbi9=mOp0|s;bc6^U3=RPfq z^G{d3rDJ5&!|^TC;10$Pm)v5(w=oWgJ9c&$B0OU^Zy9kU=&X9=<;`BJ?Z420LJWGT zT7afFF3u3IA}n@;#`)?uq_LyZX>=G4Em!iq^sc5xE*i1M^M&kj0pfS`IV%8t+_?EN zr25^y8rm?S%W3BuuQufr%{1`ZtkK8qP;MGk%Ppc(yqYB&MH_#fOtmVxc_hxT$w}3$ zSg2!5EaS|CK9|wv@M=}x6^r+eX>vBSG>`?)nWe${7qT)|(Ed01TUl{8+ zgCq*CgUhB&%*^Fizr+KR>Mu=)GhT9XTai&GJ=o!-pe;xrCTwm z)hhcg9vC4t0~`d&3}SqKRbU1NA+&n3y1%dQP>r$wEAHCw8&j5@qO?-(kiaC0^tyLd>`^*x_oj!@&s<)R~sOV5NfY8oqG}y zk#G8W|B@E`b@E|p0k>O6#}NIVkdP1v^dP~=)sIw;I&For-O<6>#>NKhZ!o0H%-FB@ zWx4(`3ZPHfg|2%_I+`pFD;KT^0J0@5={S{6I0!NM-;^UdmQF|qfPS(yO~K8tySp2g z2cq?Os&ErvVoN~BTo+Dn1#0&d6A{Rs$ygz*BBmp)>0fA$5(wDWw1cHa48DGT7+&0o ztqL7-E4^&P7x}SAl$$%fUTgxkDK91&I>zTPbqz2nH{TN+8poOE2#g!(uR_%6duuuf z9+=5}f`trU=#bGu{@m{muw;Q_i$u?WGxr>@k;CcNS^qbxUB$!h6;fn1wv+eq#}JAV z_b|yg71XzWlF~;spI;Ys8n9F>xDoP^#ra0@&CI~vbca|@UfjFpKKfDno~HD0{ zGI1)s)nz``H@0sNrw(IHROe*&UI8}u9l*bkf;{t{J$&Fr4|69W+Au-s@{1bPqjv!Wo7j4>K&5WuK)5 z;d}%VcSQh&ewk;Rn=Dm=T4ZSG2`EX1WNk^wD?}h{!NUs30Ph!PbHBzo3u*>ps>sgn zQTGQMF$8G>h#I1aVV%WUs?Fa003=bMb?8Mqe%~k0!JkBye`XWN`@Vg3dI_*TB7_lU zbqw|QTmee~-UE(ZXg_$T;<|KgR0+z;%01=Y>-gS><7)<|LFUF@&}ewKR@iDSZM7r^1~)ibz#OOe`I{;=k5CnS z12w>y_25%XeF?bfmAvRw?QQ0})!?%%eK--`;=1*>k8aSYmr$;t31ZtmL7N!xF$w`EBk z)?t`Yc66YbeOFQ8U~m6I{TC)87|!A>;*a?I`Q4*EegHCo-~<^m{4I{KKivdh4aP(V z4_5Gq%R|S6QGZ(6PJTbkXW;mF7hb}?_p&iBtcLYYFnL7`TVk1pfuAgbZzPDT=?mmXXB4ZoeSZ$^#cP| zipu}CVPWy}?>j24RGiX1T7PuF-tW@=v-SPjekT(*w;Jnj-aG^1o(QDY#4>W~00YM4 zw_hyhTI>ZG#4+XG#^6^~^$mK<=uO%!_xssjx0ut5dmt>NJMWyEzg)XyrlOH@_Z1z|nJSs6rcRyXkzTGCLqd?zGP_bo5e9>@a_||bb34-eN z=CyHt2UN1ZK^}+K^?SWkd)T7vN%}ZAjT=vbi-m-QoLPYOP1@0d0M7e6El<pciA?pgtaoJ zV8BKgP7@KzgtSO@TQFpO-?--BAa`q9z!5T5z7xfA3Gd=|(7nT6dT&V4)FDeZD)lS( zoxoDl<4<`<>m!Sztf)8HoY+2h`A{eMIohrH1uUxMhT1!i?&u%5Z9nMhG;FNs>Z6vR z2E7|wc4TO^`gT7BwuAjY?0otK__()h>1&|cNHFhc{UxQO?A{skA=zXc^$V)lh7m`; z$W+vPWtgqbjv4nupo-OFm+JWqBrL;yb9>zv4?13p+qVLpu4@-3eLZZkhYC)*U6s{d z5W3&w;-r`T#O9k7zollVLH_oQ!IS|ZJ|-=xT)OFj;njPoUfIUnA95@1;=U8FM+x$q zDyIn_owcB9r%#85?L|3W?&$9%e~&DjO9v!YpyIYsx8EAT;J~TS1C|782G&OA? zIn%)UU>jR;rA00xoA;!X`54e_PWfz_**3tZgBJNLTSZsS$3yR2v#u0(-9I}@@8Ln` z3)p}?w6F4F^mD2bmPy{>UowAquN6&jm4E>>&{NQ}hU`}@fyX?3iYn~D?I3m#QP1Qr z-RLv8)h`fk;uc#av8Bq+RhO5+bxMSXG9GJU*wB`geO>#9?Hv}1k7RMx^4+}@XF%uA z)gCCdn<1Q1;OblY5Vn}OHMti)XSR@Y-jltcqH?1Nls2i0w3M%V1%5?<8$v(@2E5>} z#FdqmrKHpvWdaq7QHpr-LqVQ1)t9#_4V0PwTZih*Hx!-+_UhY@@aA zZkgRZ^6$(8IzLj=5XcOzDw8N=SDF$DJ{uJh zVS99YQ7-3>x|^Rk6eJk~nDiIuvPMNlCQgY+QjzOIW4tP?Xb zl8k)Kv9hF+0^Iv+7@0`^Q8P(;y&Zdw?a2?J9Q=A_X+20Sx+>|}q>_U|6=&cmlfS>- z#qC>f5?W*YYzo@E$GAjzWZ3VbDudC!qN5Q~+I*LU-39++J$hrq5T#zo8Nbw+?^!Zi zuIHPWHptPF{fD7y@Vd+Y=2`DdDZRgM2lXplNB;gdOYeV3&?IC6|2Z_0jl2GHZZ~f1 zZOHZ_>=d)J_a;svJ~~%dG-nY0a>Nh${TsW~U!|lF5M~qhVCMFBfB%7G>rThje`My( z4F5>1BqSS1|50B_&b--HaGVo6xn|0~M7LP>`qq|~>OuQxrSs=u2!Q6%I0?K;#q;NX zg;@RBc|MF_vWLdl7ic^_u|oL+CNeTItiGw5*8nwLx$?Z)*oap4`Ii?73BYsm^gRrD zX+gU{2l?4FTP^`}IxtI_Mcp0C`Tib#Z(b!Ne!HCL$_VonbcgdLpFz?=Wj~DW7t*Tl zW*CsH{}x|w>Y5X&Utel1|KL%>`w6yRkx!o7p?sB*u?|hy)M?bmvHUidVaI|Pg5NHC zsHsn5l8rd3=k?S1xw+$Q*+VGF93T1pWoLbQaw?@>;qP@S_`Jog6=NJvY+g+$39v^` z*ZV96B~o z{OcG0zPWAGj)HW3?CJzo+6AItrnapR2M0)e(I0laN>YCXP8d4Q6=T#?nwsIYA{Yjq zYea>|oiB)i;eBT9aBS=FX#hzW&a zCrDfIj{q+a?giXaf2kO7YoL@w@LqL&ef`Iewps>%FO0Q=MCa@d){~h0>>+n_b}st4 z3UAc3)-gM9508t9b?aHf@qn=EW=vr51^WSZk%o;Qn>so`%GfY8Kk+T|)(jnl{)Bg* zl=dlT2;sfeo5MoJed6DfVepm_kF)b2$Wkudy`XCx618YP;<6|$Ee&0B|!tPQG>dHuE>I~*eF;Q|G^krFER5Y7F6kM_o`XB6t-=bUdh393O~WhcoNs`!}q zt)3X-Fq74bJe*K;yBd&7el*|>5y`~exZUSQ6YNE`j!iMAS-w~BSw45LLGDpC2+%x&CEh002yKaWPW?>7-3;^*%)f#XZiGR9aQS`RZCl30;0NbJcT0l7nd)W( z{9*gU>)@fP)%^7#f5S^XqgPHTiQNSAWC470;D`G*0g@;zq$7%9aAhAUvj)k>Pj2O8 z3$4y4|D|5}@9fPgSXCs*kmK$DV&pJO_5P`ut!1owA1Nh`N6tH5+dw^C^646vutJ&V z-`B5L3plPyk|D1UDP%PKjv*75K_K|BEliHE__)n1vE&jrx$9IMy#<;x!Zz|Y^WTsW z5?VI?*;D&J2kt&-yMKNSM^8AOM8c)As6X5WPs+I`sq2B1Xzm$YPIQk=OoT6R{5!;x zmK*oYbh+IG6&*k4=>uoH^oNVHw+VCE5J1LW@YT}Om6pu@eiyb;^kO&VE?;IE@x$^V zZ8bBT95~gbeZ_}XHE#k)Gcq|1ljrD`8HZ#)!X(}t81Fik#IzzhW} zvZC7Zva(pNL-oAmIvg@7EwB}ppacg^^l0WKZhbg8BR=5L4+K2s0XGl|R7+L|hK4v6 z1-4sn&uCsU)NyXhG6CE?TeAH35IXZV7Ri{Pb(y(JS=`m#)iv%WF%NBcBOHUmM2{#U`u2f}bEZrvku&g@tWbPfm+u zs3pfge-4NiYn6A<-zV;k)e%Ui33ej~M|IRO7;WE^JxKU@U^7^rv%|fBpR&@3sj^T1 zzGc!4U9+{MC?5oN)6)Z26w2}Yx4tcyYH#60Cl3B>r8&j(?tg#1!FpjcksO2_(}#t{ zmuh<@OpOJb5C1E57LEvfNGfQ8F9G-n*bl#afnAY|DK~`s@$(fu|K8*#TfwF<%uNW! zoCqBaO+GlxtQ>!$I?&4T_!N)P)Cz@*15E>r1s>A5zpLKVdRy`20_Q8=^?vr%huwQ0 zp4oUPr@>>VhNQ;sN8htJjoS3IXEXDUtu+M5s4!nzPT!usQ~He09%)`y|AuWLXM8Ci zhU^+CU0W*{<2C2Edg$@cvzurAF;w!A4s35*Jz?v#;o0rFRq4vQy1KTu!q=}G0JT+D zn}djm0GQ9p9H6CwFw$%TYHi-dKRaE{-SenD_OC(vuiJ zfM)*wo7GiqXXiQW_+j7C>94^dgDyjmxKV_5N&OKw{m-6DHyTe%Eo>*^*l1z+2}BUd zQ<$z`HN>!l7>U?)m)y8PQlU@e5g`G}%LB6m!sXuPDFTzhCleDB6BaH8e*mO{`g$9r zIAB$`R{afP1>uGW5E@_=#=y|>xwsHp9pYA7+uC%Feuns>=U0YTn(pgqjStarB4>KnV-P8*hE~Y}K1L zZ+d%sLFLU$BB~eOJJ$KVS76EqVKU54E6@(X4PfvNK94v_3FyUOC!&m}N zEA^EhK3IQy-3N*FPNvDRvE_F=cs6g@a;mKaCx9Nz*Vh+9hnDr`?ry??#&ZGYD^PPT^9}pi^Nm);3L4DJn8y^O-ngW!>k2;AcQc; z3;SXa1MUPYSKQ#fybNl;@oyZwfppikVJ&U#Z}^Tu)h2(Rjm~UpY6_l}3<9>#1f8(a zV8TQ=L}xxa;CoI%;Sz}FFml_e754aXfn{432-zoHLy!4>tgrV*Zv|IG@u9)NQ;AmX zjdP>9XU)nXHvo5zhl?vUQwTDV`wW6vMwNHqOOp`kgoXXhk)kgR8TjKM_#>QLTSfZ&J{XsVF`hB#F@=9Hf$x5@co= z0gQGGLi~dB3kEpU(NX-?-MYJEF;RRK+xq#^CV<~){l9+AgUPJ=%FdKwv-d@=(jFz~loL)T7Zx&9;y;TyYJ^nBzX zSk+%&(i)s={q*VQT!)P}zOvPol}A@F4gXDuLaz{l9JqSlBQB5swKCg2AFnI0QHNS` z`>tJ3UrZ#NL$My|Z{3m5mP-D0k0b&E!0$4{K&<8{GXmpQ zQ2S!4tq(>}XlT>B9Sv+x^hG}ld!T@YTH`1OZZuO2+wdvVQ&SC-x9{B}=aa4x-g?=R^*y9lgft5}B$ImhH=$Q*j$R_X zE>VG?vKqT^hZ1v%E2uW0a`-ahSYrs@^iHo;tR15_VY1^)1f0NzF~jTlb<9CA(Suh{ z1lO@+QB8+-ntRNioV0|<5H|0?TV`ZPNdq8jTE@+wrgn$YXsY)u;c^7!(IX-cLQ9zy z2TPLd81W1N%DYX7MS>vv-wKF~iXxs8IaG>20LvX+jV= zy=VV-%LigYmhMvZdNDP4WPUj+*Mr7k+`zDs(0xUIm5HHy=9aK`1$keHV{|o zsR`)hig^unb?MbtPQK`CX)4KvfMe9q9M`tEubmnV4|rR{%p*`Qq8dGAW=M^5a(q28 zEuA2vplG8P{(-H?s!V9U4gc!2O8~mErDk{`+Vs=itDPd=ZuGXllTb__shA`g1qB5& zGjjs;bR8dvaIt5ijuGsfJ25SU9?cUd3osuYoye?my`g3`wrUM5A&PCdL^hUdMr}D0 zSZZ~g{4koWG2XhhpsIzYLG%yuiQCWmFJ4Bus2s{1$p?D=QK^M{l~H#4*YVdDV!kY$}aJO;GO%7*yuldYvbaxmATw<(EZx_)TWtikIaB9y$; zis`XGVvZp>xwdsI_&r{EgS<#pWf2c9s7EbA-V&2vo`W(I0MyDoHxx_+5T$or(~hZZ z7XDdsEWU*}{hDcxv<-{w9Jlrur4?~~ zofQ)mMbLlqTFtG!#&mS(d%ic!5#N-zx3|eMF)OdGwo3iaTgZssB2>N*mF%X!(1T@6 zQ9oFlXtIc83e4!Z2u4W#N7cPDc-yWcc zBV2obPfwF;eJdx<5OW-K*!LLe_U)U6uR3j#+;8GeBk~_igb_TzEl??-UFExhjA8G0-G!^Tx7=*r4yods1X2=MtQH`j(h68=C+!5 z>sAGFX`#lB;{mjgu3zqjN(ww;XFEFxTHux?27B3Cp(>{qhddRvFJ2UfT_8OA)B&ke z#=m@NiZjF5&;fRSpo&2-2Ivg&3a(g_@pb-C7l4}Au)<&F?Afs(+%5#K1)PWD?lV_0 zqrvU+C&%>5x2}>WKZu(HSUVA^kfN2L86GJP99_?)i}0{RDYvw+fbAZE4}{Yp)@pR} zH8fxn2tptIBbsOr8B?1!hk<@TttbXSKY<$@pMF5Ms^$82P;deOZeEWE9G#eGhN{WF zTQfJm5|Vz12j`)n;`9Jy539HJX7NVUU?>__?|a-LEN%(c;~L#*EP_D6@iQAdGc^S} zH(r&nKgYZahItkKJE3MY^71P4Qugv%gYFiccgr^|*J*3pR)C>p0?aEF zzn(_=6p@oMI!j4UMM*gYZ@2woFGbU1^J4Z%LXo|UF&`Nj+12TDAPgYeXa!cBni+42 zi$iRe2Yja>(gatDkbQybw)E89%?);UrqFq#%zg^rvZd!>iDW)+KSE?MfEZwaoY2|H zUMovWECj#7Yyya)Eq+z5{?n(_%=QVm`-6f+NJAl-ofRK%NofTf1nF`I1i>kZa~3Kd zmqe|EkNVOg%LM|)c^K4h-MaNO?M>|c>RDQG;fh`EvDUJTTL_MdJI$X~)8T30>NBKag&4}INiZV{tQo&OU}qUJsG)OTv85qSkV0hkePz=2Qt6r zZ-#iF;1#WL2bTcDrHPQO7ReW#h}$RajWDMg*|u$Na3*~;k_N~=8(c{tWeOmoOV}Sl z>o`J`KsMmGG$*Mtc6H|c`?N7i^%p9aE_uQ)w^hgf1%^#%q;O4;Y=&I`099IQs=C-I z6g#-@$VKjlXy%V{;S+TOo*f9n!+?OP0|>tsB)zDuO=P%%4|Q!)GdI+_MF+3S*(f2y zjiV-REaVB1Gn}~E@Qhe{fSXPx$>v7Y+*22Um^;DT=oC_Wi{&c>N8# zkM!!$>jD?Q_^T3Ax6kxV8xZ#J{Q2|Q4q(~%R*?;T$1aM1GHG}4G}Qw0e%CznHMjyR zao|0ou(&JV&CY4DVZ#PksagMc3&z}d`(tM#6B9x&3SbUB=i>4*Y{c8Y9V3qM?n{Tw z`>;@8iJ&XqH*Sqi84m=I-JGl}KIe;g1<93B28o1aUX)+>aXw1?)xrM1v-8H0@5;mx z@7=R!rUT7c&Dc>qy%=($yTL998u~B>n*ik*85o{iFvB@GI>N6}7Pio6;-Ec7bR*=) zDeET@APZ+gGDDaajE!}~e+B(NH#JqET=Z%K%ciraqAr(t3LZV0l9SU6-gjbCVR13( z=FJ5F8HewF&zFDj^r=3cuSR*|8svm>GyU<@0I_@|ABlqwpmGu|H26z+8l3Kv!>Ju- ziKTdFGkoWr(0-t>A9)^l08tTe5=TP^dqwQs`CjMGGBZCV_J?B@G6;t7O&J>S+myk(=P@9YEPut-g z#N!Lz#=XG60?cY5dELL_uA|ci=iEm_C!CB;O})^PU{tHYbUP=2c*eSl^D{3H206G0 zf`W_pg(qmmJPZ0>d95uD;Yjl){zSu%r_pZ-!}^K}92nr@65st6HLQLO&>8o@e4q#Mo$_6|K>XWSk<|6_tMipmA3Cnl35x}@@Z%_(Q7si;mme*?|Fq_lLlW9yGKi~qa}|8`FQd88#J0+raB;yl>0r{JcdN@8=fO6`BMFvgWPCCB#U0tQCbr*;J z+%$~Ou@nLP`>{F9IbKBLHR^Wog{W$KC!-offzu7xF zHd74lM_}i2>1Sd@;`pL&xBA_rSFhwEslH)}3_NCMYfEIf!4Jk2cO7{4t9AGq@O0n@ zj|<#P#93Gj@K2zm@)-$Z6}gdjFv*b(1@jJSE+W_y^C2h@)h=9UIl+grRu9ptXjD*B z5h>lfJBTRloZS)$+ptt&-&^{k|FA>{OiN*yfS^%8@);ENhcR0MKn2sX^;g$1hXoo0 zi6Y+SUKeo%o`sQdDmINcE(NL~=S)}k71yh)j;L)=dZGY*OnCtI7_jW-=2lw&l6)Z% z#Hhisv1`p+iFG`!Sy1yOKQ|2x&8jRs!$Fa_+wu5=tGjzQYOj~9dywxj0e zu$Ooja3)6bYinykeo2nKCT|CaT$DjM7wFN7CHCMe69Q%9N&wh^N^NsfQ&$r|;Fn3p z(;Qa5h>DBrU*BQ<7!*8B`R1cUwF=WD`KQXrMFj)D6sXnFD{oM1qV9wEqRVTn0L1cR zr%&g_$4ipg0Xp{a@j(H&lUeMNAd9HzD#q4GJ#D0M66(SUwI?4Z&d+0vLE&oEB}!r!?+wvMiv&MaG)?WF=;`?iCf8JQ3f~qR_45%7&IQXwo~X$ zXLOGI=_L9vZOzWl=jZ3=;pVRU{8_{3Axa1gL$NluKR---An7oJgv{3bF6WEb0-&u9 z6M>V@%gZ`4iA@N}aY3&(-h2b|JK3f}jE*49jDl5IdhE ziI3b4SWP$7*H6NhTS;F2Lhy9f>(}TQ9-lC~KV4T!DOs8phJ|iY^?RdW4JGvT+}&43@pyb?^b`3068oeqwRTCQ8!bO zbDOexAFcrU5Eu0^yyix_|FcFe@JR0hvHSdawY7Y$rFZ%_AXJDl%)nPJ69BvkZ2!L1 zLA<=dY3jaQ_BTY8@k4AOB`JwcvoTSb8E6Z>PuwfmN&rx@0|iC!eRE=b)^K>Yx^8b{f;q1j%< zH~im;=zpib{~eP5e?bViV*PWgBafY1+vEq?L>ii%wvO)h!?dLGN3Y})-i#p+{<0Pt zUb714Q)_9STzGJ=(C=14SWtS^IhuUG(&c-0v%|f4xk~n`Zy!yT)o>mAN>f$j=FfA< zw3Cf^RP7(m-x9aWc!pt8ZZ$>UVAEFwdD?aA0-rC%CLF0lA4PJ30eYg6|ebbk9 zUFE;8n!d`UZ%jITePeW*qnuqqcE=$Ko`ZQr?s`ag$z)Q2*Ic^$aBKUU2dh6BW;z!4 z4eA`OG_y91EsNAq(@9Gsab>)ZtOkvht3JuaVWuOMgfP6+-h386>2M zJZ9Xkrr)&pw$wH8pWv5f=GTqF`;g@5Xu1BJn*S1Nt(?~lLsRlHC{1=i(DDq{>9Xh58QbVA5Y0SRGive^XXHi9RJtPC%#o>Ebe%n zlN7a6=t<=M*l_zaUY_!jPPl!%ZG2T;+Mg3!>MvA$I{VLjBcVuAWw)dy1I^3@i-*%? za_;B9oQj_L(wW54nzN#5R_WXqo3w+w?};uue~P^3 zw>T?qpOd3IB0kJ>ke&Aa(X?SxMt!||9=}(r9oqOuy^RmN-|Ui+=zlM=CnfkM0ZiQZ zI?^dsPIdh!!^`=f3Eg|cy-MF66fbhLUMd?GKg8Z#ew{{=N<-7Kl;Ol;aYlT0cJp$? zJiUR9+t_YtHA4ww*@~v1@#NKah~nX?XFC1)r{84>nZ=a`o2MewUk%Xr41`CN(t9}L z?VR=}e=V|pCCcRF>hx`GD@KCxvVqSdlWTYRm3U4^yc8mUi5zX3ZJd&ULKR7Mogb6D zKmGX4{xoo@uuj@=R*#2M+uhd2!Y(eW>TRQi?l?=%a(kG2&tA#EsT?XNJHyE`|9Xuc zQE@*8B}MD$*YbsJM=8eTxjB>8Ra1(ST^9#z?$*9KHe(cz(WRkBT1D>+~KHPkLH< zv|qLVutGx0Zc-odD}w2sfcE9po-595D@)>1XDM8qn`kB{n${z)81mQ3 z%~tLZAXkFqsrd-r|8=iLt8>u-+jHPe0E?LIY| z-}Hd~x$=?o2M>*mR@2j6xg?r1`jYZ{c5P;YMtdTVR`$ME7#;DPijj*;{ONJ! z>&x7}+FxvX8^!X&Es|d)FS>MYNw{igAynI;wK|f1En@6suYp{Ak!!I{Id$&(t)QXp zoHb$JZO!uM+3GbDsaW6l$SSH)u&3Zxe~f0xWsY}INnTQGVeu{CVR@}2Oe!RlG0mLX zeWh2ASQ?-0E2`VOkJY!XSwz3H=u7?bxbm80Amg_3SHYJ?#FO5(j4?CwE!8f_*ZjT{ zIHSuGjR)5o3vt521&hW|sj4Ijf$+$5OJQBzW3yvD@pA!(^fhQEC-wPRhtqa2Kdbbn_AVN1$eoL58^Q6z&o=@uDIgQ>b zxAf^oe~y}4g=((!(C~i$?XUyqc=#;!?8MlWD=w?~^R3FpCQ0I5-lDA8Ioin&Kb@VkAm^2?mUHq{aq;Aht-;ZwBcdN#p0DIfSdV@&dE(eq^-^=xb+xnFu+BPE zq@-Dxy#~RzC)S}4((@PRhx6T*y{5;!N#*uwVoP&2(RkxcDluN}rKneLB)(34N{sKI#;T8^ zz6UAIQN1gq%sM$GYf5QFZZ1#P^e+`Ay)SA0{!UQb^TgNB4!X)u&0|YVU1u$l{`8IV zdYnmAUzuJEyc&z^IhQONVB_Uh=-ww&VI3a+DyVj8mx|9F%I|07;`gW@XtYU7{hpqE zxjoUOzl=}*PK!)1lYh98Wr$`M`P{GK4Da5=@()KmURhYg^EKgrYrC(%`_gFfDCO+y z;GR2Po4UM;-{Jgk92La8`yYML_X^t_^_NaOo?j@B^VJ-ixc>#tW+^l=qt*!ifo$|NeertdD zk^4u5q{_Y08P)xTi#hf#3wd3XT z6*G8De@I(1jR-4qTWjtJHO*VSgb%!NnTBp@_EYB6!&YqI_2$t1%3YT3@pp zbCa=l)4Aecc&h1=2G#A)g}wJ7k-IjyDIP+G|eZlO- zmGi6K9o$u;E*6cS?~IQ6+_4`lzteuOA(|_ViAmt+$M`{)#Vtwm%%2smjoc7g`KLD$=Dz8?nnIxxsoqsYOOmJaupH$(l+%j#p-7+pSv)cuIvb9{sQO zzBC-mwry8WPe_GOgh*+i49Pr1QlX+u$(Si*${fmFQ7IWRmnlW&c_tKPR+;Ci$UKxW z!rHH%?_KNt*0z4F_3K;P=hypI5AN$a&*MDKW1lAFmva+dy;?We@H!bYoi1Q{_sgqr zk4T-Ck2tPhaVRP^TikT##}9qkDt_@&p`O}JPN`veSH)W^3%c!TzfXLxFL_kP{%b0a zR26xpKet;;(_PTfw>WKjKW8$<_B}(I6T5%M1@2U4+m<}XT|NEbXkh8;_@g0Dyk>O+ z=}D{Gqb>LQ?o7-G?lg2cP*)>THNJkjh30{XlH z)ayRymxSjpO~+eT{F-E$*iX}1a~_|RFT(56%$``+-G6$ENHB?GJ)Cr;-SQK%?u~3E z7uC{Qv;UcLFjqhN603r8;aru}$J~jW+zeJY*uR>1rmq)r$v;|4Ct=+|4_2$6N=x2% zsd#UrAkCRyRZr#0cqm#NRq(B^@&#k?b77-?r?`&huJ7YnLXN(_M5oK6_mfm+G6hbs zj1P?`W%DK-lXgCFG=1^@;iV-S6b4JH;$P_6Ono0E)7)%c2peuK_KWm*{8&Np^5DH7 zi`t|`SxQy6CD%V~}iX$j;pS#?{q^Rb(O2Xb`8aUNK+F z5$UMlzJVXFb$a@v1&ZJMdD7~&<G zigIS$?xC@4^PU`WiSE7z$9o6-Oyfv_v&mV9lXHfW&+3KkluenI_6#Df7gmlhV)V&x zEoQj540#&mrwjV4%(JobJ50tKO}~0{jV0+@W}eUB;oo#m?R8&-X z;_mM5>+Aa>mqsR($gPKY3UF(lt69d#%&fGgCL`)%y$$Ju zfCu6)Wc}jTFs)QUdu1;!rUt+&;bgA zRV?ut@MXpqc_;x`*O6}Ule*u!fLKUSI$!D%M-%~x$jN!G_iAu_03)8j(V(VmP==E= zBQrBI0u1p5YUS&5G!zsRfaw7M!FRm3=dEs92ObHcV*v(5ff=BwX$A_)=qM8?D4;>W z4%fkWb!oB_DJ5_E*~IK(?H+uN5CfD?hwlQE`|@Q23yX=75fSkF!F_hV`Cx~W3y8sh z?|?o-_?D5M->zTsFMU8#$ojrKn|@eSr}lrUskuyIU}IxrWQ_06%gS@-{Yxf0uh~^4dXW`heHt9V&VGA-Z@nY+ODSn>$C*!A%p^A&)?%^!7Dz70g)52 z$0lz9HU%AW_%-Nqf+PKbk zzd^Mi=<0q_iycrVzDQ9FTtpnqPrQhgDJ&Hz{iD3$>4Gd`u=kiH``X)=9x&=rQc;a( zQ2j4W0_1J#8>)C+T&iyfUmpagT4W`)t?k>*tHXqVVB=v><9!ycn6-NYbZOTo-N9l2 zZ)-u?(asL8aIFOS5r%LGuA6XH3gaJyxZXT#ZSU=-HeG*!CV1^5-@lK0gWTXgmD|2u zga~(5Uk?RPw*t{VH50##{%^pUVCL@_t_Jsk**#jXf>h1CuCbZyOCqtiKLaB$FycYnY`k`jRu%$!2r-7?GcPjB(xftF+oYjS3q}l{ z>XDBCql8`3VE$?%0g{md7tgDy89$9OfZ-0CPzNYE^ltw+v(PUj4gVL2zw=7E5LIgf z0x|%(S~hUBfN?>WgXJ%7Q36Jt6gXhDcca@-ByYo*2h9Ig2?)U98%?pDX<&HR#L)27 zBp)}oD;_w(gM2^b_xQ03h+n}j+rayil9bfZ(E+uj62vSF z?chE#1-VmddH<05pova9S?sQP%_BHR%`GCwhtU{-ZLO25YmxY)mQe8PC5Lv(!dxm_ zj3?!EH>p}{4daL}LPX)6C*RIA3!MiyjSBQI1p9B{$ef1gt=R#fw%QQ;^C5o&Y{**( zMyQpU1z-;HF&wt4;BB-b1tUh%aPSo(Hc}&c9@Y9v|Cz#~qLVPdLLtnjs~|{wGo%eS z&^cD5Q@|uBT^UaXmY*!$_j;|1G+4f6t@7n553G+}tgHb1psuN|1~Iw{JRs0;<|&3o zMo5tHfcdCXrFQE-MLrQ0WMo7S@a{J~hrz`X=VVAA`M4{`cRbOE~Rd za-RABKe*Yy@J*^@bP2las7SdMV>e1Tmq$9!UZ2#d##uL4v3)1;X%e zy#K#8Zw@Yd27d@&oOYvMz!Hn8y`yemFbE>`gtNvR6+~=p#BWwOJuom!+E^kX(jpst zBwt&5d!)r%LuU5#@Cf+X5C_adsiPbGP@0lM4*6y)e#798jN)KgTeRr&M)6rks`I6Q zB(VOm$clj+<1`y)LbZloPC`P0UBc;t)P=gLsu3tREK{D5o4Ko`^2#H%2%gaM-JsPV z|C(f^yNsah=V4(9{Y3V7q<$WLLNbM)6m)mv{ZvvrNF>4EcW{u_jT)aWoBy-kSRSudvTv+w+@F2<<`G~{|f>iwY6gal_dUwp-9^k#(s;C6GcYpXW1X4YW zQw=>vT+sr-@hz31Ratso@b{^lpob;P0P|ap6KX3q5o;X}^;FHwug}i0nV-+@o{81c z^#^%MbUMzyO@`8^4~sU&?ytNX5+_&p$S2hh0Pf$oE~5z zN2*N1Ru+V5vw>xh?D6eoxxie=`N|tpP_PX4hoUVQKR&(BMpJc*H55$1aFB*+F1bTHp(44_nzw`m@CF6CR}HBkZ4n1s`Fvf zwk&-GA5X8yA@SZE!A@IWUr)7kaEnq)-bTm7ln@mxDkzxqUJ-JxbmQ$H8f=cYc$!xx zt>wrLOfOcI994{JSO#C&1m;ba7QB zI3{~eSFp>SH}CMq-w%IeyS!@kvyv(5dcK&TbmBusIm#G!-u8|jeH$gUqrgib$L~m?ztHe~XT}koAFh~WLPDm#P zDjh#RKRZ=ukCK0ZKi^KEz^Q&tjrd=N254XzQV544Xo(Sl`1b-_|(v)(?j#PRzFvMTh zOXJ^&p-t4txmwZBZdFV}CKKBD*aKtn$A_a}QF}?l&g;pOmC5YSI5S%7(~pWAm8Hbb zyzZX-sl@=@iA|$V=}IhkxD6Yx29v~7)+*!bGmd$}vEd5Mh6T0BR>qhyv=&{7jJ1+^ zQy1p~Z`?XHf8WC+_@xSIzJ0LbQLxpT&i&Mvc*Wm|S8OqwGLtZh+m965wsEf5KDcb6 z4Y}^FdndW^_q|m|Hl3E|Zutu1gBKjnisuGh?y}LTEoV%9UAoM?zE4ZBLN6it#%kT+ zhS*;ULT~rE5(^NP8SWA|TLc7D*2Zwy&9gv~1RvaU-O62+{p=0Ir*8jJh)->Z&FS3h z7^+fVS7))l{aWoRkE~Z^8+Cd*2$MeQO|0X=GcQO@fmF_vO()3`o-`m+zTXY^v*7%aE2_d@c}I!*ERZDD=@cOT%(Qm>@O_%Oe(Oi?vN?pd|ZvL z^1cM$MKHU5NO)YVymMFJZLe4wWnC_p6?szp9iP!G~a))`g8|Jpi?G{C<|@BJ@ns8SZDM2L0g?L(`ff-9$f=%(>^PHCUMgHsjtI9 zvl5KXQ4yd$Q?ZM_5AdWgOyGRF#d-H4Txnq*87?yXAyP4HpAPy%st5OZoBQc4z_<-vMsrzhw=-`yM$-?fWG+Q{#7_3jNtSUuj$?1l;Mw>=9WfsyytK?Gh9$mt9F z!-T=uHRS}nTeLH$Hhwmp=exM}QGfj><6?(a5|TLA11Yok3maV zxmG~haQ~mb4R|bQzT)aY0mbdyz-YHcu2y)}>MPFw^b5&WKLRd1x798(5k| zJwvMu-=?rN&cS>8HdYk{_e}EGZ#Bw9SX*9CM@RKsLe(|?x47)~j5%8#`lWR60&N=h zyRZ}C9@e=8E#)AMA1&Q?c8N3WQ15Em=RQ%qbm@x?X;pi00+(ewhD zhP6XT%R9bNrfRHWb9e5p#%_Pu9kl|n0utwX?Q)@|6j5I_3lq$DULiG-0Ko{FM1&fEs~Z=R8pyAUPWIa!Bc!PBQtPk9I)**fPJ z`3m<({*=P<*$>wVu^4nhaG|?5QHHxCxZuzX#Ii4e&JF1uw0DTe!;uK{Bsl!A!y+74 zIpmS9O~i%jW&PSh6RfxZ@_!kwKn|}&UNY*GP1s zGdC0@8p*qTY0B(fTwUF9r{;S*`&YRCDo%6A+_f^Uy?^a@5(%hjmyW=T9T|j35!2Du zu3HZa2ryi;Jr%{BXAhtF`VumY1N--xXQ(?8J-3!4VJL7)1 zG(?v2Dx{JyaE4a`x$X%bo+)BxA|oR5L1EB24F+O-WxoY@d9A+)_4f1-YD`SMXdI*u z58gvlUm-Ksl%eFTLs$6~4LR&1LJMiEj)6H_va!Ajp0UTY(!M`Sm>)H=XBz7FXC7@T z59P{#8~Kf5l(=0#?doOtKSEuI47>7nXi$2v@uS!0<6$MGIklUPfg$HcYZ628x=-FG7hw#FDe zt|Kbq&g^@N-y+Q_d%bW5A;$3rM4mmN>PM1y?J_s|feQ~I;KeUKxnNs~wg%Srus_4i zG-$C+<4-l*zT^{xtKhcnk8jdNRWEuGCkFq){xp3hSVY?+Jgr2pzp3d}quF17{RQWe zhiX%q@3EP!dy87(#n;)1oB<4-pp$Hfbkh?hiU&;Cl%gaP+b7^Qu#4(JXy}y-7l;_5 zhk}2z9;~@{gbT*+U*%L)13|1WDG7G?yh9+9XCMrID z#9vrIZ4nFQQL6!`Uno?+pa%`LS+7X)&9u)$Yh)@ zT_zwgGP2H7X9%(NYxjq4$2$gDg&p&L!N(= zlf$eAb-1pRBY-g$b>CLaz-vFF%tPZP-&!n|r)P~2vw<&r`x9b6#B0zo9rU zc5IW3_%Omtd)i4E4FZm{g}J%cb(m1fvL(S4G$${w$pk6h5E4|)-eYLFv4FAnST4uO zlkT-aT%V|)z1@caiC0GXEFS&AveBuj+-ALjLC%xT_n5NW2*HT6bMy&QB_}80wObfj zV?v1W+`YD$@o^$4aaGji=Mb#@x}<{kX~7l7}&kPU4;O+X%z&*7f#e=+CCI9V-6+SaRgHUxu zX+MxX6^iEQs)ojO$6UNUVMQhmWAqeSsckz439N*StoWHxJKqh!JW$sbI!^57h%GCV z=Huf#bg0rUmr(hn@fJzqDh#E_oJ}6Uuz~{3^me4XaWPQg2!z8j62E`a$aVbVL>G!1 z8WK1tw6gQ^LP~h(nVFNC$2yepGB7K4=&Y(beC*iMG!j-2LW~1z81P~P0?OIl&%;?0 z&}=II71U@11#4eSK9vjO8%DM9yO-;c;N-<6)xfQyVr+XzdZcT*FcKkTO zv^}M3a%`;Tgym-MYx445>FMdMj&RO|)NE8h#I~BYxhf5d7fmpHurQmUwLRWdb^Rf2w@~>Z8C@Aa?bmRDGZZ2`~5-bt#-p0Yj{u=z&34#)cTT~SG2 z?L(`-DBiLV>8Z)bdW17E<`}PE--PxN3kQf;NU`<$P@OKR}!5Z zMZbj4O=QV;_V!A(JRyvaAU7MGI-q*#5-lt1TO#4z#^zpk3jRgBP-4RsQMtC&2=6E&>kfv|)`_(erxhUxP1XFfnJh-PDA z?j2-!-FhP)aeX%jWuv}XpPpRChazT?#l_*YubRi)H&*+#byJ}!#q9L8+l7l43GrrY zD|WCme1eLI-)vgf>)m{2KGr>^a~a>s#$mvPsVQEgY~`j<;k5=}qKM+kz&|J}>z_P~ zVuN!NC?Ach%{e?*HgN~9)_2dbQjk9=bl`x;#!Ox?zi*9FPq`@u5@NhfaJzR@QbwFFM%)Mk*`!vUyG|w%cWH<|l zI&bG6sM!=OdBscm^rII^hIXOLUlbiJMwpFtFF*G33KO;6zxPv*u>ek$aCJ3cAEO`d zrb(jO+!J<$CloG=8I^P=VDE|s8uPG|p+EY$UidPq{ zlFQm!TQTzG5fW0begmaDMgc}nhif6l#!?x;MS~a&OZZ@-i-|APzgsylD?tJA^Yvvj zTTQV=A(j#oyDIM=hFe6mG^sDkI7VDTVjC3|ynNA|Cf?IBvGm$29ju5(@Kp2yHoV4_ zE82Hns;Q}cpyF!FGbZApc;P*YJJYtUcMn(r$AYHYX`LP>miS5yQs^^IrDR8R1ZV-_J@I zVnbetsG&TuELpD$$_iON?+n|7o=}Q$78qrP&?{&TY?u3eP`SK#uL5<#vX9s2h_9;Z zqR(Q2XWKrRR2N~BU4^U@U7eZL5FQIKjFebJA{(m;a4|eVj>`6&X8;+e`%1!vcwlJ_ zxGho%kyBb)TKFJiznYgl$w;9pnwm@!wRB1@90vDJ(EbROG@o(e6nnW} zWdBL~u8^d>Vcs7x!Q*Y8f~!kjeFc_}SP2*_tsIw@j#gJgVsWi2Ex>>eIHP*+>!p9L zsWBL_LW}}1ADq*jR0#gX`~v|rp0uwU!vX{8+1RXSHu;VXHv@WtLAsNr5YzVZqufxC za`W?ex@&M&j+6lMXtCJyB>>;~)2Hi)TTz8j`3iWb@bEgzNYXo|P;$Uu zxXM@qH730D8l%aR*63w%m+koJ-**F4i%RH*N3&#O!Z0O-)wVNT8r<_ohK689PA7|P z3Qylq9_>TwlgmEr((8aTa)#o>st{X8v*d^a7*+K2lq!@dpA9m^&2!VCcB8UR zZ=Qzsd2-TH<08+IBd9lqGBS5N`=>(JTi}GzQTgrLw`kE}nIi{_%#ZkUQAHZ5%$_v-oc!HOT}L{0ij?@Yd| z{PDXpx=Wy^yg4f!&hAZNIc9_pw<7K9&2xV_&ors zSDkZ;7*K#DKwR@uq^|A5foS>|UME>jQ(D<4_=SXmg+fr0Mn*=mqp_yp`g1XK!L_8- z`#6W^Lh+Xyxu?f9s-`OW(SyOgJ3H|{-Yv!e6?zsDa8>K9&^Vs?jggj?mVrSow9_q3 zho~*8`%Q9rtJZM&RT}8q%Oxl{5B3EA#6ye{L*D&(%tsYOLEdXHELzPJ~4HCYWvv_@uxE1HhQoL(hNiI5m# zH8GBVDjRNv0P(0OP#ZFew2X~8H-ZFER#Il}DaEslUi3gqn*9VqSh4&ggC{w-xVf`_ z+nhPG#ceMSp2_lg%AV7BV8(6MA29oP=(t4~&EB+PERGrtg~(esg2>3|4G1oP+w8z8 zbMwT`^vQ5s(Tm>grS@f!FM5gVlSEpmI(iY5&#W$O6dp8T*?wpzuiIF4Nvutbk83Vv z1N=%(FCnL($j#bX}tl0pdGiv8!6#{RuQBaVRXDOMW_CTlae`s_wLYqOZ$(<@ggJoI=`r3fY z1SUfFO(jrrz8>Ny|w*DzRD#g_PjyMC|As1+ig!%-GlkUJs(e; z{p(kMEnWVW^S39LZHt+;DkDpnB@oxuwcOa>Z*w)&=%NF*0(bD_iUBM@XSeI0Kw@Z{ z>C2Lm-eWr_BiDNrZQR^eWs+f-$@7g-(snBi&B$0&g;lVig=Jupr>(J5mRMGK=i6=O z**i$bClt?kUZCsQbhYkkEYHnjkIRNSzY$IC_=kF~lj;xX*|id_r*uBgVy-R=XRgm7 zaH6SwVFLn+i;}$cmOEdr3>EGT)ZB2Bu(i*Yg1x~+r$F5g;cFf>{_p$PV(fQb>KWXk z&b@2G=UVO(qs73Fr6m!TOds}cZ`qguKO^jkdVOS7X3c!8^3_MLo*er;cQYnq9(pw` zHyjb$=@$1B%)B1Z7HTzT?87ZmKYi?a`uNPoZnt<6a=|4Y<8*iX`eAEwG7QZ=uRLgY zAd$b&VtH&Y-u^G+!%@|W4^02rLyLo4`&mNPw@}*hsCUTYq899-{dmV$c(kq-qfX>3yqposWPEGvwSzTACGmq!Nrw}D zU44D_CBYLFJc=E(dM#Ka9UT^E%zNb0Qd3Q8L}Rt6I6NJh5a*P4`+RsEI->D89RAO%h<*dpstPR-R)KW_r>XF}IM0J9Xw5ROT@(_%{o`uo2- ziHZU`Vx;L>UY>B?u~|;z^mcpgotkCo z{{FPn*`H1k|HPzQQF*ITl@ZvRDS`&hZ0MkJ=C5!E&;Lr-O1(+Pn{X-bGN@UL?@Li&}k`Pmp0vWMMu1qipns(QG2i4eedp5oexI> z1a22T_i`(I;4N`BP&S6P^lF_Du55Ogx_iAVB^ ziiVYjzrSH-Njnds(&AzZcur%t_T|j%=NQ5z#*(!nX3;y)@1C!(QBySSD~)7yHbg)U zxN4XYzyrn387LfXzO3bA%+qq{i3r&>1x^!gnxKYq898HRG0a3dQqsr_lf4D6A1mz+2h5A^Bt)<=xfIjTMG`PAo0dBs44@r70fhI9x;K`Lcm zv9q5OJ&dm;K(YX!|IJUDcgp=Bp8?y?$)RdXkNx*We@i;<31Afc%IA{ioPXe?{S#&N z!4Ho#lC&j4hiV-~bF~_*qdX-$5jAaj!QzGaB$Mb)O`E#KMW^r+IiaD97IK4oEHCd9 zmOXsqIr9sJ$lL-+>{8mM9(~&%=VX3+&$fGEX(==$q_2z=?Q5BE=}19E z(k&O4%$?WF+Ns;5u4($6sMb^G^t>ryDsgPB0R}U0eIkfE!LTp{QMhpG3(ha5rW|rv zdA)MUq0X9To#bc!w(WBn7l`Hl-`1HOw}PF;NPtcu)|r9*W|r*_PgRwTC~27r`%)~u zKeA-y9)B(H3c8rgmAgASmWN^0x_@TykaARg047Zdm^gT>euK^?3PKQC7B zb+EpaYwGyn_4x6iQXd|#T=qGPE$ZAD!qs9h=1))eTk!stmqabm6SJ#9X-`$Gv>%AP zrqOpodWZ1Yvw2160+Kvq@aW}O!>umK(e8G+*VDbyi%}MijzSZu?+=~577!R{o~#b9 zN3=@jytw`b&b|9^J+LACIJ1vslepoJ(sbSCegr`MtT_zg71*Jqdg)Rs=NFd;?VoHr ztiH9P;HDE@xj}p?_WKC2-`Pu9FA;l0L2tKMv5~Dl7v(FvIjU?%bPu-x2j`y=w6U)+;fgM7CFDWnUg)HWf7m+mwtc zV8y|v9X7J^7XKBTbdQ z6c#gpHP8kh#^0279A{wBFhLK0eXrW&i*?*g zVNQmo4qx~OBMbw=$2-0~xQr9K@Fn_!%97-n(Bxv-nI!=u%fi!_NIi{c4rj6*|VDO8}?wy>s6IsqH z*^`a!?N#=3AFMGi>hBcm&KIPH?29 zUT24}MGVC5b(zDZuTVjb5;n+#r99$ln95u?ie}uk%c{317c+{ruGUsZ5N0v;%8WTr zfMI)GPIqA0digERXk)%%4+M?&fp=XAaRdFkNAb3d6@DsP3?;m!C^vEgArDRTqwHw!D~ z1LfQN^OCXg5bzFk*NRIRU$26em(Y3xqj%(vF7EcxN}V1X8{BhB5}sBd8g-YriAeQh zXpT#YJs7!2M+jB~U8J?Et9E=IK?m^PGqJg?h2g~4kX}g(s-4WtMaas9X>;Q|j=Dmp zsTUv}o_#$AKQc?pAtiBPw7ftuyM>%25y4Z)_j!kd%}&TKP!*{T!A88Tv)OEs7gI?-K4eFL4oK5` z3z0^3zo;G*G=0D}xOIL9I~BwG!xM8znJ^dA(Up;Thh|Fb3+p?yH78DB z<`!u=P5HXfOqlu_%t8UJVpbmOdv6!P`vsp5L-u6G#!W{%sF;1OW4bQAHc!9Ny@6_i z{|_lnO7KfjYC`c1#R5@$nmwRk?)rK1g=0riPhYp^r#oS_6)y65eB!86mcv*R03xI?0>TT?&VN&qv71MW0qogE zGxCN8Y1ySkf*=D$xIM`M2z>zk6)0Nf4PtYKx;=!iGe)m-$HPr##97|$#Y%0 zAVm|n2~T!rHxxxYf5z{$8CO}1bmCb|?_5a5(nf`fr8vKSpaysIV{mKb<{lqyd=2=i zM-u%Xuvz>Xf}y}%$L~E zY5@MjMi2`!JNxRuT+*GDO6wR4Vxo_4gzv5t53rbEHIAR1 z3|+@d2m0q)617+XYi!Ex+n@US=2gk-d(i2ZlZ75o)@Img9Clb1^cUcMz|pi)*%13@ zX_+ELwTXg3G(hL4PWmyr=VE8xj9>Z}td%15^k2}wSUdXyVG~D2_VE8ps=$9)j>E_X Z*_A`pW2wp|xy0L1IHM$&CVTDv{{Z^|hvfhO From 1e8b767e6db3ecf90f98386b470b0a4539a0f15c Mon Sep 17 00:00:00 2001 From: Naman Jain <31595908+naman653@users.noreply.github.com> Date: Wed, 27 Feb 2019 16:09:25 +0530 Subject: [PATCH 02/74] chore: added german translations of some strings (#1984) --- app/src/main/res/values-de/strings.xml | 53 ++++++++++++++++++++++++-- app/src/main/res/values/strings.xml | 6 +-- 2 files changed, 53 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 45f9f4b9b4..ca6e8af45c 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -77,7 +77,7 @@ verwendung zu komplette aktion - Email + E-Mail-Addresse Passwort Bestätige das Passwort Neues Kennwort @@ -118,7 +118,7 @@ Bitte überprüfe deine Internetverbindung Einloggen... Anmeldung... - FIRST_TIME + Erstes Mal OK Ungültige E-Mail Falsche Email @@ -135,7 +135,7 @@ Geben Sie Ihre E-Mail-ID ein Passwort zurücksetzen Passwort zurücksetzen - Fehler. Versuche es erneut + Gescheitert. Versuche es erneut Passwörter stimmen nicht überein Passwort wird geändert. Bitte habe ein wenig Geduld. Passwort vergessen? @@ -152,4 +152,51 @@ Hey, versuch es! -%s. Du wirst es lieben! Bitte wiederholen Sie erneut Ausloggen + Über uns + Anmeldung abbrechen? + Konto nicht aktiv + Bitte überprüfen Sie Ihre E-Mail, um Ihr Konto zu aktivieren. Wenn nicht gefunden, überprüfen Sie den Spam-Ordner. + Über + Einstellungen + Name nicht verfügbar + Keine Beschreibung verfügbar + Fähigkeit noch nicht bewertet + Noch keine Fertigkeit gefunden + Wählen Sie eine Abfragesprache aus + Wählen Sie einen Text für das Sprachmodul aus + Abfragesprache + Geräte + Stornieren + Überprüfe deinen Posteingang! + Wir haben Ihnen gerade eine E-Mail mit einem Link zum Zurücksetzen gesendet Ihr Passwort. + Ungültige Anmeldeinformationen + Ungültige Anmeldeinformationen Bitte versuche es erneut + Stellen Sie sicher, dass Sie die richtige benutzerdefinierte Server-URL eingeben. Die eingegebene URL ist falsch + Möchten Sie sich wirklich abmelden? + Kein angeschlossenes Gerät + Klicken Sie hier, um zum Bildschirm für die Geräteeinrichtung zu gelangen + SUSI Spracheinstellungen + Klicken Sie hier, um die Stimme von SUSI zu ändern + Ändern Sie den Text in die Spracheinstellungen, um die Stimme zu ändern. + Fertigkeiten können nicht abgerufen werden. Bitte überprüfen Sie die Internetverbindung oder versuchen Sie es später erneut. + Skill Author nicht gefunden + Passwort zurücksetzen… + Nachricht teilen + Fertigkeit teilen + Titel der Fertigkeit + Fähigkeiten + SUSI.AI Fähigkeiten + Gerät erfolgreich verbunden! + Authentifizierungsdaten erfolgreich gesendet! + WiFi-Anmeldeinformationen erfolgreich gesendet! + Gerätekonfiguration erfolgreich + Verbindung fehlgeschlagen + Wifi-Zugangsdaten nicht gesendet. Bitte versuchen Sie es erneut + Authentifizierungsinformationen nicht gesendet. Bitte versuchen Sie es erneut. + Die Konfiguration des Lautsprechers ist fehlgeschlagen. + Gerät + Scannen nach Geräten ... + Keine Geräte gefunden + Wenn Sie ein neues Gerät einrichten, stellen Sie sicher, dass es ist  in der Nähe und an eine Steckdose angeschlossen + Keine WiFi-Netzwerke gefunden \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c6e5f79f5d..416811c93f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -199,7 +199,7 @@ Unknown Host Exception Check your email! - We just sent you an email with a link to reset \n your password. + We just sent you an email with a link to reset \n your password. Invalid credentials. Invalid credentials. Please try again @@ -249,7 +249,7 @@ https://play.google.com/store/apps/details?id=%s Please Try Again - Unable to fetch skills.Please check internet connection or try again later. + Unable to fetch skills. Please try again later. Log out @@ -270,7 +270,7 @@ Device Connected successfully! Authentication credentials sent successfully! Wifi credentials sent successfully! - Device configured successfully! + Device config successfully Connection failed Wifi credentials not sent.Please try again Authentication credentials not sent.Please try again. From 95d89b2cc944064c7d77343a0f180ac57b6e8fd5 Mon Sep 17 00:00:00 2001 From: Sai Rajendra Immadi Date: Fri, 1 Mar 2019 02:19:10 +0530 Subject: [PATCH 03/74] refactor: remove hungarian notation (#1983) --- .../org/fossasia/susi/ai/chat/ChatActivity.kt | 18 ++--- .../fossasia/susi/ai/chat/ChatPresenter.kt | 78 +++++++++---------- .../viewholders/YoutubeVideoViewHolder.kt | 8 +- .../susi/ai/data/db/DatabaseRepository.kt | 10 +-- .../deviceconnect/DeviceConnectPresenter.kt | 10 +-- .../fossasia/susi/ai/helper/LocationHelper.kt | 6 +- .../susi/ai/helper/StartSnapHelper.kt | 16 ++-- .../fossasia/susi/ai/login/WelcomeActivity.kt | 40 +++++----- .../fossasia/susi/ai/signup/SignUpActivity.kt | 8 +- .../fossasia/susi/ai/skills/SkillsActivity.kt | 16 ++-- .../ai/skills/feedback/FeedbackActivity.kt | 4 +- .../GroupWiseSkillsFragment.kt | 6 +- .../skilldetails/SkillDetailsFragment.kt | 8 +- .../skilllisting/SkillListingFragment.kt | 6 +- .../recycleradapters/SkillMetricsAdapter.kt | 4 +- 15 files changed, 119 insertions(+), 119 deletions(-) diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt b/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt index 774fdb902b..9554a89405 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt @@ -73,7 +73,7 @@ class ChatActivity : AppCompatActivity(), IChatView { PrefManager.getBoolean(R.string.settings_enterPreference_key, false) } - private val afChangeListener = AudioManager.OnAudioFocusChangeListener { focusChange -> + private val changeListener = AudioManager.OnAudioFocusChangeListener { focusChange -> if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT || focusChange == AudioManager.AUDIOFOCUS_LOSS) { textToSpeech?.stop() } @@ -257,10 +257,10 @@ class ChatActivity : AppCompatActivity(), IChatView { chatPresenter.stopHotwordDetection() } hideSoftKeyboard(this, window.decorView) - val ft = supportFragmentManager.beginTransaction() - ft.replace(R.id.speechToTextFrame, STTfragment()) - ft.addToBackStack(null) - ft.commit() + val fragmentTransaction = supportFragmentManager.beginTransaction() + fragmentTransaction.replace(R.id.speechToTextFrame, STTfragment()) + fragmentTransaction.addToBackStack(null) + fragmentTransaction.commit() } //Replies user with Speech @@ -268,7 +268,7 @@ class ChatActivity : AppCompatActivity(), IChatView { val audioFocus = getSystemService(Context.AUDIO_SERVICE) as AudioManager val handler = Handler() handler.post { - val result = audioFocus.requestAudioFocus(afChangeListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN) + val result = audioFocus.requestAudioFocus(changeListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN) if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { textToSpeech?.setOnUtteranceProgressListener(object : UtteranceProgressListener() { override fun onStart(s: String) { @@ -291,7 +291,7 @@ class ChatActivity : AppCompatActivity(), IChatView { ttsParams[TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID] = this@ChatActivity.packageName textToSpeech?.language = Locale(language) textToSpeech?.speak(reply, TextToSpeech.QUEUE_FLUSH, ttsParams) - audioFocus?.abandonAudioFocus(afChangeListener) + audioFocus?.abandonAudioFocus(changeListener) } } } @@ -425,8 +425,8 @@ class ChatActivity : AppCompatActivity(), IChatView { } fun openSettings(view: View) { - val i = Intent(this, SkillsActivity::class.java) - startActivity(i) + val intent = Intent(this, SkillsActivity::class.java) + startActivity(intent) finish() } diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/ChatPresenter.kt b/app/src/main/java/org/fossasia/susi/ai/chat/ChatPresenter.kt index 54da12ce17..61b2998f2a 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/ChatPresenter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/ChatPresenter.kt @@ -176,7 +176,7 @@ class ChatPresenter(context: Context) : IChatPresenter, IChatModel.OnRetrievingM if (allMessages.isEmpty()) { chatView?.showToast("No messages found") } else { - var c: Long + var chat: Long for (i in allMessages.size - 1 downTo 0) { val query = allMessages[i].query val queryDate = allMessages[i].queryDate @@ -207,7 +207,7 @@ class ChatPresenter(context: Context) : IChatPresenter, IChatModel.OnRetrievingM } } - c = newMessageIndex + chat = newMessageIndex databaseRepository.updateDatabase(ChatArgs( prevId = newMessageIndex, message = query, @@ -219,7 +219,7 @@ class ChatPresenter(context: Context) : IChatPresenter, IChatModel.OnRetrievingM if (allMessages[i].answers.isEmpty()) { databaseRepository.updateDatabase(ChatArgs( - prevId = c, + prevId = chat, message = utilModel.getString(R.string.error_internet_connectivity), date = DateTimeHelper.date, timeStamp = DateTimeHelper.currentTime, @@ -231,26 +231,26 @@ class ChatPresenter(context: Context) : IChatPresenter, IChatModel.OnRetrievingM val actionSize = allMessages[i].answers[0].actions.size for (j in 0 until actionSize) { - val psh = ParseSusiResponseHelper() - psh.parseSusiResponse(allMessages[i], j, utilModel.getString(R.string.error_occurred_try_again)) + val parseSusiHelper = ParseSusiResponseHelper() + parseSusiHelper.parseSusiResponse(allMessages[i], j, utilModel.getString(R.string.error_occurred_try_again)) try { - databaseRepository.updateDatabase(ChatArgs(prevId = c, - message = psh.answer, + databaseRepository.updateDatabase(ChatArgs(prevId = chat, + message = parseSusiHelper.answer, date = DateTimeHelper.getDate(answerDate), timeStamp = DateTimeHelper.getTime(answerDate), - actionType = psh.actionType, - mapData = psh.mapData, - isHavingLink = psh.isHavingLink, - datumList = psh.datumList, - webSearch = psh.webSearch, - tableItem = psh.tableData, - identifier = psh.identifier, + actionType = parseSusiHelper.actionType, + mapData = parseSusiHelper.mapData, + isHavingLink = parseSusiHelper.isHavingLink, + datumList = parseSusiHelper.datumList, + webSearch = parseSusiHelper.webSearch, + tableItem = parseSusiHelper.tableData, + identifier = parseSusiHelper.identifier, skillLocation = allMessages[i].answers[0].skills[0]), this) } catch (e: Exception) { Timber.e(e) databaseRepository.updateDatabase(ChatArgs( - prevId = c, + prevId = chat, message = utilModel.getString(R.string.error_internet_connectivity), date = DateTimeHelper.date, timeStamp = DateTimeHelper.currentTime, @@ -282,10 +282,10 @@ class ChatPresenter(context: Context) : IChatPresenter, IChatModel.OnRetrievingM val locationResponse = response.body() if (response.isSuccessful && locationResponse != null) { try { - val loc = locationResponse.loc - val s = loc.split(",".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray() - latitude = s[0].toDouble() - longitude = s[1].toDouble() + val location = locationResponse.loc + val split = location.split(",".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray() + latitude = split[0].toDouble() + longitude = split[1].toDouble() source = Constant.IP countryCode = locationResponse.country val locale = Locale("", countryCode) @@ -378,13 +378,13 @@ class ChatPresenter(context: Context) : IChatPresenter, IChatModel.OnRetrievingM if (!nonDeliveredMessages.isEmpty()) { if (NetworkUtils.isNetworkConnected()) { chatView?.showWaitingDots() - val tz = TimeZone.getDefault() + val timeZone = TimeZone.getDefault() val now = Date() - val timezoneOffset = -1 * (tz.getOffset(now.time) / 60000) + val timeZoneOffset = -1 * (timeZone.getOffset(now.time) / 60000) val query = nonDeliveredMessages.first.first val language = if (PrefManager.getString(Constant.LANGUAGE, Constant.DEFAULT) == Constant.DEFAULT) Locale.getDefault().language else PrefManager.getString(Constant.LANGUAGE, Constant.DEFAULT) val data: MutableMap = HashMap() - data["timezoneOffset"] = timezoneOffset.toString() + data["timezoneOffset"] = timeZoneOffset.toString() data["longitude"] = longitude.toString() data["latitude"] = latitude.toString() data["geosource"] = source @@ -460,26 +460,26 @@ class ChatPresenter(context: Context) : IChatPresenter, IChatModel.OnRetrievingM val delay = susiResponse.answers[0].actions[i].delay val handler = Handler() handler.postDelayed({ - val psh = ParseSusiResponseHelper() - psh.parseSusiResponse(susiResponse, i, utilModel.getString(R.string.error_occurred_try_again)) + val parseSusiHelper = ParseSusiResponseHelper() + parseSusiHelper.parseSusiResponse(susiResponse, i, utilModel.getString(R.string.error_occurred_try_again)) - var setMessage = psh.answer - if (psh.actionType == Constant.TABLE) { - tableItem = psh.tableData - } else if (psh.actionType == Constant.VIDEOPLAY || psh.actionType == Constant.AUDIOPLAY) { + var setMessage = parseSusiHelper.answer + if (parseSusiHelper.actionType == Constant.TABLE) { + tableItem = parseSusiHelper.tableData + } else if (parseSusiHelper.actionType == Constant.VIDEOPLAY || parseSusiHelper.actionType == Constant.AUDIOPLAY) { // Play youtube video - identifier = psh.identifier + identifier = parseSusiHelper.identifier chatView?.playVideo(identifier) - } else if (psh.actionType == Constant.ANSWER && (PrefManager.checkSpeechOutputPref() && check || PrefManager.checkSpeechAlwaysPref())) { - setMessage = psh.answer + } else if (parseSusiHelper.actionType == Constant.ANSWER && (PrefManager.checkSpeechOutputPref() && check || PrefManager.checkSpeechAlwaysPref())) { + setMessage = parseSusiHelper.answer var speechReply = setMessage - if (psh.isHavingLink) { + if (parseSusiHelper.isHavingLink) { speechReply = setMessage.substring(0, setMessage.indexOf("http")) } chatView?.voiceReply(speechReply, susiResponse.answers[0].actions[i].language) - } else if (psh.actionType == Constant.STOP) { - setMessage = psh.stop + } else if (parseSusiHelper.actionType == Constant.STOP) { + setMessage = parseSusiHelper.stop chatView?.stopMic() } try { @@ -488,11 +488,11 @@ class ChatPresenter(context: Context) : IChatPresenter, IChatModel.OnRetrievingM message = setMessage, date = DateTimeHelper.getDate(date), timeStamp = DateTimeHelper.getTime(date), - actionType = psh.actionType, - mapData = psh.mapData, - isHavingLink = psh.isHavingLink, - datumList = psh.datumList, - webSearch = psh.webSearch, + actionType = parseSusiHelper.actionType, + mapData = parseSusiHelper.mapData, + isHavingLink = parseSusiHelper.isHavingLink, + datumList = parseSusiHelper.datumList, + webSearch = parseSusiHelper.webSearch, tableItem = tableItem, identifier = identifier, skillLocation = susiResponse.answers[0].skills[0] diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/YoutubeVideoViewHolder.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/YoutubeVideoViewHolder.kt index 78e3dae054..3c06cf1c1f 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/YoutubeVideoViewHolder.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/YoutubeVideoViewHolder.kt @@ -16,7 +16,7 @@ import timber.log.Timber class YoutubeVideoViewHolder(view: View, clickListener: MessageViewHolder.ClickListener) : MessageViewHolder(view, clickListener) { private val playerView: ImageView by bindView(R.id.youtube_view) - private val playBtn: ImageView by bindView(R.id.play_video) + private val playButton: ImageView by bindView(R.id.play_video) private var model: ChatMessage? = null private var videoId: String? = null @@ -26,11 +26,11 @@ class YoutubeVideoViewHolder(view: View, clickListener: MessageViewHolder.ClickL if (model != null) { try { videoId = model.identifier - val imgUrl = "http://img.youtube.com/vi/$videoId/0.jpg" + val imageUrl = "http://img.youtube.com/vi/$videoId/0.jpg" ContextCompat.getDrawable(itemView.context, R.drawable.ic_susi)?.let { Picasso.get() - .load(imgUrl) + .load(imageUrl) .placeholder(it) .into(playerView) } @@ -40,6 +40,6 @@ class YoutubeVideoViewHolder(view: View, clickListener: MessageViewHolder.ClickL } val youtubeVid = YoutubeVid(itemView.context) - playBtn.setOnClickListener { videoId?.let { id -> youtubeVid.playYoutubeVid(id) } } + playButton.setOnClickListener { videoId?.let { id -> youtubeVid.playYoutubeVid(id) } } } } diff --git a/app/src/main/java/org/fossasia/susi/ai/data/db/DatabaseRepository.kt b/app/src/main/java/org/fossasia/susi/ai/data/db/DatabaseRepository.kt index cd6f07ce12..c80aaa06cd 100644 --- a/app/src/main/java/org/fossasia/susi/ai/data/db/DatabaseRepository.kt +++ b/app/src/main/java/org/fossasia/susi/ai/data/db/DatabaseRepository.kt @@ -118,11 +118,11 @@ class DatabaseRepository : IDatabaseRepository { if (!chatArgs.mine) { realm.executeTransactionAsync { bgRealm -> try { - val previouschatMessage = bgRealm.where(ChatMessage::class.java).equalTo("id", chatArgs.prevId).findFirst() - if (previouschatMessage != null && previouschatMessage.isMine) { - previouschatMessage.isDelivered = true - previouschatMessage.date = chatArgs.date - previouschatMessage.timeStamp = chatArgs.timeStamp + val previousChatMessage = bgRealm.where(ChatMessage::class.java).equalTo("id", chatArgs.prevId).findFirst() + if (previousChatMessage != null && previousChatMessage.isMine) { + previousChatMessage.isDelivered = true + previousChatMessage.date = chatArgs.date + previousChatMessage.timeStamp = chatArgs.timeStamp } } catch (e: Exception) { Timber.e(e) diff --git a/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/DeviceConnectPresenter.kt b/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/DeviceConnectPresenter.kt index 4c6a581807..ab57e1f099 100644 --- a/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/DeviceConnectPresenter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/DeviceConnectPresenter.kt @@ -22,7 +22,7 @@ import timber.log.Timber class DeviceConnectPresenter(context: Context, manager: WifiManager) : IDeviceConnectPresenter, IDeviceModel.onSendWifiCredentialsListener, IDeviceModel.onSetConfigurationListener, IDeviceModel.onSendAuthCredentialsListener { - private var mWifiManager = manager + private var wifiManager = manager private var deviceConnectView: IDeviceConnectView? = null private var checkPermissions = false private var deviceModel: IDeviceModel = DeviceModel() @@ -96,7 +96,7 @@ class DeviceConnectPresenter(context: Context, manager: WifiManager) : IDeviceCo } override fun checkWifiEnabled() { - isWifiEnabled = mWifiManager.isWifiEnabled + isWifiEnabled = wifiManager.isWifiEnabled } override fun checkLocationEnabled() { @@ -118,12 +118,12 @@ class DeviceConnectPresenter(context: Context, manager: WifiManager) : IDeviceCo wifiConfiguration.SSID = "\"" + SSID + "\"" wifiConfiguration.preSharedKey = "\"" + "password" + "\"" - val networkId = mWifiManager.addNetwork(wifiConfiguration) + val networkId = wifiManager.addNetwork(wifiConfiguration) if (networkId != -1) { - mWifiManager.enableNetwork(networkId, true) + wifiManager.enableNetwork(networkId, true) // Use this to permanently save this network // Otherwise, it will disappear after a reboot - mWifiManager.saveConfiguration() + wifiManager.saveConfiguration() } return null } diff --git a/app/src/main/java/org/fossasia/susi/ai/helper/LocationHelper.kt b/app/src/main/java/org/fossasia/susi/ai/helper/LocationHelper.kt index f52a9b96ef..09d8cb1e28 100644 --- a/app/src/main/java/org/fossasia/susi/ai/helper/LocationHelper.kt +++ b/app/src/main/java/org/fossasia/susi/ai/helper/LocationHelper.kt @@ -111,9 +111,9 @@ class LocationHelper * Remove listener. */ fun removeListener() { - val mContext = weakContext.get() - if (mContext != null && locationManager != null) { - if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED || ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) { + val context = weakContext.get() + if (context != null && locationManager != null) { + if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED || ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) { locationManager?.removeUpdates(this) } } diff --git a/app/src/main/java/org/fossasia/susi/ai/helper/StartSnapHelper.kt b/app/src/main/java/org/fossasia/susi/ai/helper/StartSnapHelper.kt index faa21cf150..6922ef6bed 100644 --- a/app/src/main/java/org/fossasia/susi/ai/helper/StartSnapHelper.kt +++ b/app/src/main/java/org/fossasia/susi/ai/helper/StartSnapHelper.kt @@ -12,8 +12,8 @@ import android.view.View class StartSnapHelper : LinearSnapHelper() { - private var mVerticalHelper: OrientationHelper? = null - private var mHorizontalHelper: OrientationHelper? = null + private var verticalHelper: OrientationHelper? = null + private var horizontalHelper: OrientationHelper? = null @Throws(IllegalStateException::class) override fun attachToRecyclerView(recyclerView: RecyclerView?) { @@ -88,16 +88,16 @@ class StartSnapHelper : LinearSnapHelper() { } private fun getVerticalHelper(layoutManager: RecyclerView.LayoutManager): OrientationHelper { - if (mVerticalHelper == null) { - mVerticalHelper = OrientationHelper.createVerticalHelper(layoutManager) + if (verticalHelper == null) { + verticalHelper = OrientationHelper.createVerticalHelper(layoutManager) } - return mVerticalHelper!! + return verticalHelper!! } private fun getHorizontalHelper(layoutManager: RecyclerView.LayoutManager): OrientationHelper { - if (mHorizontalHelper == null) { - mHorizontalHelper = OrientationHelper.createHorizontalHelper(layoutManager) + if (horizontalHelper == null) { + horizontalHelper = OrientationHelper.createHorizontalHelper(layoutManager) } - return mHorizontalHelper!! + return horizontalHelper!! } } \ No newline at end of file diff --git a/app/src/main/java/org/fossasia/susi/ai/login/WelcomeActivity.kt b/app/src/main/java/org/fossasia/susi/ai/login/WelcomeActivity.kt index c89e4eda79..fdf9102a11 100644 --- a/app/src/main/java/org/fossasia/susi/ai/login/WelcomeActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/login/WelcomeActivity.kt @@ -19,20 +19,20 @@ import org.fossasia.susi.ai.helper.PrefManager class WelcomeActivity : AppCompatActivity() { - private var ImageViewPager: ViewPager? = null + private var imageViewPager: ViewPager? = null private var layouts: IntArray? = null - private var btnSkip: Button? = null - private var btnNext: Button? = null + private var skip: Button? = null + private var next: Button? = null private val viewPagerPageChangeListener = object : ViewPager.OnPageChangeListener { override fun onPageSelected(position: Int) { if (position == layouts?.size?.minus(1)) { - btnNext?.text = getString(R.string.start) - btnSkip?.visibility = View.GONE + next?.text = getString(R.string.start) + skip?.visibility = View.GONE } else { - btnNext?.text = getString(R.string.next) - btnSkip?.visibility = View.VISIBLE + next?.text = getString(R.string.next) + skip?.visibility = View.VISIBLE } } @@ -61,27 +61,27 @@ class WelcomeActivity : AppCompatActivity() { WindowManager.LayoutParams.FLAG_FULLSCREEN) setContentView(R.layout.activity_welcome) - ImageViewPager = findViewById(R.id.pager) as ViewPager + imageViewPager = findViewById(R.id.pager) as ViewPager val tabLayout = findViewById(R.id.tabDots) as TabLayout - tabLayout.setupWithViewPager(ImageViewPager, true) - btnSkip = findViewById(R.id.btn_skip) - btnNext = findViewById(R.id.btn_next) + tabLayout.setupWithViewPager(imageViewPager, true) + skip = findViewById(R.id.btn_skip) + next = findViewById(R.id.btn_next) layouts = intArrayOf(R.layout.welcome_slide1, R.layout.welcome_slide2, R.layout.welcome_slide3, R.layout.welcome_slide4) val myViewPagerAdapter = MyViewPagerAdapter() - ImageViewPager?.adapter = myViewPagerAdapter - ImageViewPager?.addOnPageChangeListener(viewPagerPageChangeListener) + imageViewPager?.adapter = myViewPagerAdapter + imageViewPager?.addOnPageChangeListener(viewPagerPageChangeListener) - btnSkip?.setOnClickListener { launchHomeScreen() } - btnNext?.setOnClickListener { + skip?.setOnClickListener { launchHomeScreen() } + next?.setOnClickListener { // checking for last page // if last page home screen will be launched val current = getItem(1) - val mLayouts = layouts - if (mLayouts != null && current != null) { - if (current < mLayouts.size) { + val currentLayouts = layouts + if (currentLayouts != null && current != null) { + if (current < currentLayouts.size) { // to next screen - ImageViewPager?.currentItem = current + imageViewPager?.currentItem = current } else { launchHomeScreen() } @@ -90,7 +90,7 @@ class WelcomeActivity : AppCompatActivity() { } private fun getItem(i: Int): Int? { - return ImageViewPager?.currentItem?.plus(i) + return imageViewPager?.currentItem?.plus(i) } private fun launchHomeScreen() { diff --git a/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt b/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt index 2f2a348ff0..89aee7e859 100644 --- a/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt @@ -125,7 +125,7 @@ class SignUpActivity : AppCompatActivity(), ISignUpView { startActivity(intent) finish() } - val dialogClickListenern = DialogInterface.OnClickListener { _, _ -> + val dialogClickListener1 = DialogInterface.OnClickListener { _, _ -> val email1 = email.editText?.text.toString() val isPersonalServerChecked = customServerSignUp.isChecked val url = inputUrlSignUp.editText?.text.toString() @@ -135,7 +135,7 @@ class SignUpActivity : AppCompatActivity(), ISignUpView { } val alertTitle = getString(R.string.error_email) val alertMessage = getString(R.string.error_msg) - val failureAlertboxHelper = AlertboxHelper(this@SignUpActivity, alertTitle, alertMessage, dialogClickListener, dialogClickListenern, resources.getString(R.string.ok), resources.getString(R.string.forgot_pass_activity), resources.getColor(R.color.md_blue_500)) + val failureAlertboxHelper = AlertboxHelper(this@SignUpActivity, alertTitle, alertMessage, dialogClickListener, dialogClickListener1, resources.getString(R.string.ok), resources.getString(R.string.forgot_pass_activity), resources.getColor(R.color.md_blue_500)) failureAlertboxHelper.showAlertBox() } @@ -213,10 +213,10 @@ class SignUpActivity : AppCompatActivity(), ISignUpView { val stringEmail = email.editText?.text.toString() val stringPassword = password.editText?.text.toString() - val stringConPassword = confirmPassword.editText?.text.toString() + val stringConfirmPassword = confirmPassword.editText?.text.toString() val stringURL = inputUrlSignUp.editText?.text.toString() - signUpPresenter.signUp(stringEmail, stringPassword, stringConPassword, !customServerSignUp.isChecked, stringURL) + signUpPresenter.signUp(stringEmail, stringPassword, stringConfirmPassword, !customServerSignUp.isChecked, stringURL) } } diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt b/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt index 7bc8ece1fd..d7cfd4db89 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt @@ -37,7 +37,7 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { private val TAG_ABOUT_FRAGMENT = "AboutUsFragment" private val TAG_GROUP_WISE_SKILLS_FRAGMENT = "GroupWiseSkillsFragment" - private var mSearchAction: MenuItem? = null + private var searchAction: MenuItem? = null private var isSearchOpened = false private var edtSearch: EditText? = null private var skills: ArrayList>> = ArrayList() @@ -94,7 +94,7 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { val action = supportActionBar action?.setDisplayShowCustomEnabled(false) action?.setDisplayShowTitleEnabled(true) - mSearchAction?.icon = resources.getDrawable(R.drawable.ic_open_search) + searchAction?.icon = resources.getDrawable(R.drawable.ic_open_search) isSearchOpened = false } } @@ -139,7 +139,7 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { action?.setDisplayShowCustomEnabled(false) //disable a custom view inside the actionbar action?.setDisplayShowTitleEnabled(true) //show the title in the action bar //add the search icon in the action bar - mSearchAction?.icon = resources.getDrawable(R.drawable.ic_open_search) + searchAction?.icon = resources.getDrawable(R.drawable.ic_open_search) isSearchOpened = false } else { //open the search entry @@ -179,10 +179,10 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { edtSearch?.requestFocus() //open the keyboard focused in the edtSearch - val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager - imm.showSoftInput(edtSearch, InputMethodManager.SHOW_IMPLICIT) + val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager + inputMethodManager.showSoftInput(edtSearch, InputMethodManager.SHOW_IMPLICIT) //add the close icon - mSearchAction?.icon = resources.getDrawable(R.drawable.ic_close_search) + searchAction?.icon = resources.getDrawable(R.drawable.ic_close_search) isSearchOpened = true } } @@ -211,7 +211,7 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { } override fun onPrepareOptionsMenu(menu: Menu?): Boolean { - mSearchAction = menu?.findItem(R.id.action_search) + searchAction = menu?.findItem(R.id.action_search) val currentFragment = supportFragmentManager.findFragmentById(R.id.fragment_container) when (currentFragment) { is SkillListingFragment -> menu?.setGroupVisible(R.id.menu_items, true) @@ -244,7 +244,7 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { val action = supportActionBar //get the actionbar action?.setDisplayShowCustomEnabled(false) //disable a custom view inside the actionbar action?.setDisplayShowTitleEnabled(true) - mSearchAction?.icon = ContextCompat.getDrawable(this, R.drawable.ic_open_search) + searchAction?.icon = ContextCompat.getDrawable(this, R.drawable.ic_open_search) isSearchOpened = false } } diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/feedback/FeedbackActivity.kt b/app/src/main/java/org/fossasia/susi/ai/skills/feedback/FeedbackActivity.kt index a82cf10e64..17b20f4673 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/feedback/FeedbackActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/feedback/FeedbackActivity.kt @@ -21,9 +21,9 @@ class FeedbackActivity : AppCompatActivity() { if (feedbackResponse != null) { title = feedbackResponse.skillName.capitalize() + " " + getString(R.string.reviews) if (feedbackResponse.feedbackList != null) { - val mLayoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false) + val layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false) rvAllFeedback.setHasFixedSize(true) - rvAllFeedback.layoutManager = mLayoutManager + rvAllFeedback.layoutManager = layoutManager rvAllFeedback.adapter = AllReviewsAdapter(this, feedbackResponse.feedbackList) } } diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/GroupWiseSkillsFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/GroupWiseSkillsFragment.kt index f98d4d5f6d..ecce523eba 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/GroupWiseSkillsFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/GroupWiseSkillsFragment.kt @@ -68,9 +68,9 @@ class GroupWiseSkillsFragment : Fragment(), IGroupWiseSkillsView, SwipeRefreshLa private fun setUPAdapter() { skillAdapterSnapHelper = StartSnapHelper() - val mLayoutManager = LinearLayoutManager(activity) - mLayoutManager.orientation = LinearLayoutManager.VERTICAL - groupWiseSkills.layoutManager = mLayoutManager + val layoutManager = LinearLayoutManager(activity) + layoutManager.orientation = LinearLayoutManager.VERTICAL + groupWiseSkills.layoutManager = layoutManager skillsAdapter = SkillsListAdapter(requireContext(), skills, skillCallback) groupWiseSkills.adapter = skillsAdapter groupWiseSkills.onFlingListener = null diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt index d69dd4f474..b0a50a919c 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt @@ -221,8 +221,8 @@ class SkillDetailsFragment : Fragment(), ISkillDetailsView { private fun setExamples() { if (skillData.examples != null && skillData.examples.isNotEmpty()) { skillDetailExamples.setHasFixedSize(true) - val mLayoutManager = LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL, false) - skillDetailExamples.layoutManager = mLayoutManager + val layoutManager = LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL, false) + skillDetailExamples.layoutManager = layoutManager skillDetailExamples.adapter = SkillExamplesAdapter(requireContext(), skillData.examples) } else { skillDetailExample.visibility = View.GONE @@ -521,9 +521,9 @@ class SkillDetailsFragment : Fragment(), ISkillDetailsView { * @param feedbackResponse : Contains the list of Feedback objects received from the getSkillFeedback.json API */ override fun updateFeedbackList(feedbackResponse: GetSkillFeedbackResponse) { - val mLayoutManager = LinearLayoutManager(activity, LinearLayoutManager.VERTICAL, false) + val layoutManager = LinearLayoutManager(activity, LinearLayoutManager.VERTICAL, false) rvFeedback.setHasFixedSize(true) - rvFeedback.layoutManager = mLayoutManager + rvFeedback.layoutManager = layoutManager rvFeedback.adapter = FeedbackAdapter(requireContext(), feedbackResponse) } diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/SkillListingFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/SkillListingFragment.kt index 2616149a78..9471637fd5 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/SkillListingFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/SkillListingFragment.kt @@ -55,9 +55,9 @@ class SkillListingFragment : Fragment(), ISkillListingView, SwipeRefreshLayout.O private fun setUPAdapter() { skillAdapterSnapHelper = StartSnapHelper() - val mLayoutManager = LinearLayoutManager(activity) - mLayoutManager.orientation = LinearLayoutManager.VERTICAL - skillMetrics.layoutManager = mLayoutManager + val layoutManager = LinearLayoutManager(activity) + layoutManager.orientation = LinearLayoutManager.VERTICAL + skillMetrics.layoutManager = layoutManager skillMetricsAdapter = SkillMetricsAdapter(requireContext(), metrics, skillCallback) skillMetrics.adapter = skillMetricsAdapter skillMetrics.onFlingListener = null diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/adapters/recycleradapters/SkillMetricsAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/adapters/recycleradapters/SkillMetricsAdapter.kt index dbfa7ad1fe..ebfd4b8251 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/adapters/recycleradapters/SkillMetricsAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/adapters/recycleradapters/SkillMetricsAdapter.kt @@ -34,8 +34,8 @@ class SkillMetricsAdapter(val context: Context, val metrics: SkillsBasedOnMetric skillAdapterSnapHelper = StartSnapHelper() holder.skillList.setHasFixedSize(true) - val mLayoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) - holder.skillList.layoutManager = mLayoutManager + val layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) + holder.skillList.layoutManager = layoutManager holder.skillList.adapter = SkillListAdapter(context, metrics.metricsList[position], skillCallback) holder.skillList.onFlingListener = null skillAdapterSnapHelper.attachToRecyclerView(holder.skillList) From 7b413d30b00e23225fe01d43bb891c2d89003bce Mon Sep 17 00:00:00 2001 From: Sai Rajendra Immadi Date: Sat, 9 Mar 2019 04:17:40 +0530 Subject: [PATCH 04/74] fixes crash (#1993) --- .../susi/ai/skills/skilllisting/SkillListingPresenter.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/SkillListingPresenter.kt b/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/SkillListingPresenter.kt index a5e680c5d6..1b3ab39dd3 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/SkillListingPresenter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/SkillListingPresenter.kt @@ -51,6 +51,8 @@ class SkillListingPresenter(val skillListingFragment: SkillListingFragment) : IS } override fun onGroupFetchSuccess(response: Response) { + if (skillListingView == null) + return val groupsResponse = response.body() if (response.isSuccessful && groupsResponse != null) { Timber.d("GROUPS FETCHED") @@ -71,6 +73,8 @@ class SkillListingPresenter(val skillListingFragment: SkillListingFragment) : IS } override fun onSkillFetchSuccess(response: Response, group: String) { + if (skillListingView == null) + return val skillsResponse = response.body() skillListingView?.visibilityProgressBar(false) if (response.isSuccessful && skillsResponse != null) { @@ -98,6 +102,8 @@ class SkillListingPresenter(val skillListingFragment: SkillListingFragment) : IS } override fun onSkillMetricsFetchSuccess(response: Response) { + if (skillListingView == null) + return val skillsMetricsResponse = response.body() skillListingView?.visibilityProgressBar(false) if (response.isSuccessful && skillsMetricsResponse != null) { From cdfa9ad08866c0f6b458f65cb52a9e5562cf2a69 Mon Sep 17 00:00:00 2001 From: Anmol Chaddha Date: Sun, 10 Mar 2019 12:39:41 +0530 Subject: [PATCH 05/74] fix: Remove toggle for confirm password field (#1949) * Removed toggle for confirm password * Added the padding in skill listing fragment * Revert "Added the padding in skill listing fragment" This reverts commit a4a72d22ec1277b02750348a75a4289e8be5faf0. --- app/src/main/res/layout/activity_sign_up.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/layout/activity_sign_up.xml b/app/src/main/res/layout/activity_sign_up.xml index b5ffcc1c12..3fde691747 100644 --- a/app/src/main/res/layout/activity_sign_up.xml +++ b/app/src/main/res/layout/activity_sign_up.xml @@ -57,7 +57,7 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/margin_small" app:errorEnabled="true" - app:passwordToggleEnabled="true"> + app:passwordToggleEnabled="false"> Date: Mon, 11 Mar 2019 07:55:54 +0530 Subject: [PATCH 06/74] chore: Correct the spelling of dimensions in comment (#1951) --- app/src/main/res/values/dimens.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 35e143146c..e688a5fd22 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -15,7 +15,7 @@ 40dp 64dp - + 1dp 1dp From 45f6d1ec244d2d9b01bacf3ce7db9b6d1f09db41 Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Mon, 11 Mar 2019 14:18:04 +0530 Subject: [PATCH 07/74] chore: Update espresso link in readme (#1988) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ddc5daaccc..51d033e194 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ Please find info about the set up of the Android app in your development environ - Realm [Docs](https://realm.io/docs/java/latest/) - Retrofit [Docs](http://square.github.io/retrofit/2.x/retrofit/) - ButterKnife [Docs](http://jakewharton.github.io/butterknife/javadoc/) -- Espresso [Docs](https://google.github.io/android-testing-support-library/docs/espresso/) +- Espresso [Docs](https://developer.android.com/training/testing/espresso) - Tajchert Waiting Dots [Docs](https://github.com/tajchert/WaitingDots) - Picasso [Docs](http://square.github.io/picasso/) - LeakCanary [Docs](https://github.com/square/leakcanary) From bd42eb2289fa96da51bc634a29b36c3952ae1dc0 Mon Sep 17 00:00:00 2001 From: Naman Jain <31595908+naman653@users.noreply.github.com> Date: Fri, 15 Mar 2019 16:49:24 +0530 Subject: [PATCH 08/74] chore: update gradle version to 3.3.2 (#2012) --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 440e93819b..12efcebce0 100755 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.1' + classpath 'com.android.tools.build:gradle:3.3.2' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1' classpath "io.realm:realm-gradle-plugin:5.8.0" From 3148e75e0952d8c9733d567195f76689bba431be Mon Sep 17 00:00:00 2001 From: Naman Jain <31595908+naman653@users.noreply.github.com> Date: Sat, 16 Mar 2019 09:45:34 +0530 Subject: [PATCH 09/74] chore: sign up activity cancel dialog box updated (#1986) * chore: sign up activity cancel diaolog box updated * Update strings.xml --- app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt | 2 +- app/src/main/res/values/strings.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt b/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt index 89aee7e859..497799627d 100644 --- a/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt @@ -104,7 +104,7 @@ class SignUpActivity : AppCompatActivity(), ISignUpView { val alertMessage = getString(R.string.error_cancelling_signUp_process_text) val dialogTitle = getString(R.string.dialog_cancel_sign_up) val successAlertboxHelper = AlertboxHelper(this@SignUpActivity, dialogTitle, alertMessage, dialogClickListener, null, - resources.getString(R.string.cancel), resources.getString(R.string.Continue), resources.getColor(R.color + resources.getString(R.string.cancel), resources.getString(R.string.stay_here), resources.getColor(R.color .md_blue_500)) successAlertboxHelper.showAlertBox() checkDialog = true diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 416811c93f..cc82f71c95 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -205,6 +205,7 @@ Continue + Stay here Enter your e-mail ID E-mail address does not exist. Please make sure you have entered it correctly. From 9d18a84c7e60cca6289f6a351caaceb3b8b4f225 Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Sat, 16 Mar 2019 13:41:27 +0530 Subject: [PATCH 10/74] fix: Click on Not logged in to open login page (#2010) --- .../susi/ai/skills/settings/ChatSettingsFragment.kt | 11 +++++++++-- app/src/main/res/xml/pref_settings.xml | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt index 70055b8dd9..be583c570f 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt @@ -92,10 +92,13 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView { // Display login email val utilModel = UtilModel(activity as SkillsActivity) - if (!utilModel.isLoggedIn()) + if (!utilModel.isLoggedIn()) { displayEmail.title = "Not logged in" - else + displayEmail.isEnabled = true + } else { displayEmail.title = PrefManager.getStringSet(Constant.SAVED_EMAIL)?.iterator()?.next() + displayEmail.isEnabled = false + } setLanguage() if (settingsPresenter.getAnonymity()) { @@ -157,6 +160,10 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView { } true } + displayEmail.setOnPreferenceClickListener { + settingsPresenter.loginLogout() + true + } setupDevice.setOnPreferenceClickListener { diff --git a/app/src/main/res/xml/pref_settings.xml b/app/src/main/res/xml/pref_settings.xml index ed49b95858..d14985fde8 100644 --- a/app/src/main/res/xml/pref_settings.xml +++ b/app/src/main/res/xml/pref_settings.xml @@ -6,7 +6,7 @@ From ff9a6e42d108ad97f3642ef5300a8887e1e8cd79 Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Sun, 17 Mar 2019 00:28:21 +0530 Subject: [PATCH 11/74] feat: Move from signup page to login page (#2011) * Feature: Move from signup page to login page * Changed string name --- .../org/fossasia/susi/ai/login/LoginActivity.kt | 4 ++++ .../org/fossasia/susi/ai/signup/SignUpActivity.kt | 9 +++++++++ app/src/main/res/layout/activity_sign_up.xml | 14 ++++++++++++++ app/src/main/res/values/strings.xml | 1 + 4 files changed, 28 insertions(+) diff --git a/app/src/main/java/org/fossasia/susi/ai/login/LoginActivity.kt b/app/src/main/java/org/fossasia/susi/ai/login/LoginActivity.kt index 9ac4458401..e49568290a 100644 --- a/app/src/main/java/org/fossasia/susi/ai/login/LoginActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/login/LoginActivity.kt @@ -65,6 +65,10 @@ class LoginActivity : AppCompatActivity(), ILoginView { loginPresenter = LoginPresenter(this) loginPresenter.onAttach(this) + val bundle = intent.extras + val string = bundle?.getString("email") + if (string != null) + email.editText?.setText(string) } override fun onLoginSuccess(message: String?) { diff --git a/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt b/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt index 497799627d..939e0a5c9b 100644 --- a/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt @@ -80,6 +80,7 @@ class SignUpActivity : AppCompatActivity(), ISignUpView { private fun addListeners() { showURL() signUp() + signUpToLoginPage() cancelSignUp() } @@ -189,6 +190,14 @@ class SignUpActivity : AppCompatActivity(), ISignUpView { } } + private fun signUpToLoginPage() { + signUpToLogin.setOnClickListener { + val intent = Intent(this@SignUpActivity, LoginActivity::class.java) + intent.putExtra("email", email.editText?.text.toString()) + startActivity(intent) + } + } + private fun cancelSignUp() { progressDialog.setOnCancelListener { signUpPresenter.cancelSignUp() diff --git a/app/src/main/res/layout/activity_sign_up.xml b/app/src/main/res/layout/activity_sign_up.xml index 3fde691747..38842a7aad 100644 --- a/app/src/main/res/layout/activity_sign_up.xml +++ b/app/src/main/res/layout/activity_sign_up.xml @@ -96,5 +96,19 @@ android:layout_marginTop="@dimen/margin_large" android:background="@drawable/rounded_button" android:text="@string/sign_up" /> + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cc82f71c95..cc23c600ac 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -156,6 +156,7 @@ Share Sign Up + Existing User?\n Click here to Login URL cannot be empty From 180cc6f91914c43a893d91fff428c29aa38888d9 Mon Sep 17 00:00:00 2001 From: Naman Jain <31595908+naman653@users.noreply.github.com> Date: Mon, 18 Mar 2019 10:32:18 +0530 Subject: [PATCH 12/74] chore: improve code style in YoutubeVid.kt file (#2020) --- app/src/fdroid/java/org/fossasia/susi/ai/chat/YoutubeVid.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/fdroid/java/org/fossasia/susi/ai/chat/YoutubeVid.kt b/app/src/fdroid/java/org/fossasia/susi/ai/chat/YoutubeVid.kt index 0a80d8070e..4be27752ad 100644 --- a/app/src/fdroid/java/org/fossasia/susi/ai/chat/YoutubeVid.kt +++ b/app/src/fdroid/java/org/fossasia/susi/ai/chat/YoutubeVid.kt @@ -7,7 +7,7 @@ import android.net.Uri class YoutubeVid(val context: Context) : IYoutubeVid { override fun playYoutubeVid(videoId: String) { - val url: String = "http://www.youtube.com/watch?v=" + videoId + val url = "http://www.youtube.com/watch?v=$videoId" val videoClient = Intent(Intent.ACTION_VIEW, Uri.parse(url)) context.startActivity(videoClient) } From e4e7adeb726136d072918d66c7f3da55709e024d Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Wed, 20 Mar 2019 18:03:17 +0530 Subject: [PATCH 13/74] feat: Added know more feature (#2022) * Added know more feature * Corrected ci/circle error --- .../susi/ai/skills/aboutus/AboutUsFragment.kt | 13 +++++++------ app/src/main/res/layout/fragment_about_us.xml | 10 ++++++++++ app/src/main/res/values/strings.xml | 2 ++ 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/aboutus/AboutUsFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/aboutus/AboutUsFragment.kt index 6a2b975225..a14b8390d5 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/aboutus/AboutUsFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/aboutus/AboutUsFragment.kt @@ -12,11 +12,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Toast -import kotlinx.android.synthetic.main.fragment_about_us.about_susi -import kotlinx.android.synthetic.main.fragment_about_us.contributors_desc -import kotlinx.android.synthetic.main.fragment_about_us.susi_skill_cms_desc -import kotlinx.android.synthetic.main.fragment_about_us.susi_report_issues_desc -import kotlinx.android.synthetic.main.fragment_about_us.susi_license_info_desc +import kotlinx.android.synthetic.main.fragment_about_us.* import org.fossasia.susi.ai.R import org.fossasia.susi.ai.skills.SkillsActivity @@ -61,11 +57,16 @@ class AboutUsFragment : Fragment() { launchCustomtTab(uri) } + know_more_about_susi.setOnClickListener { + val uri = Uri.parse(getString(R.string.susi_know_more_url)) + launchCustomtTab(uri) + } about_susi.text = htmlConverter(R.string.susi_about) contributors_desc.text = htmlConverter(R.string.susi_contributors_desc) susi_skill_cms_desc.text = htmlConverter(R.string.susi_skill_cms_desc) susi_license_info_desc.text = htmlConverter(R.string.susi_license_information_desc) susi_report_issues_desc.text = htmlConverter(R.string.susi_report_issues_desc) + know_more_about_susi.text = htmlConverter(R.string.susi_know_more) super.onViewCreated(view, savedInstanceState) } @@ -80,7 +81,7 @@ class AboutUsFragment : Fragment() { private fun htmlConverter(resourceId: Int): Spanned { return when { - Build.VERSION.SDK_INT>24 -> Html.fromHtml(getString(resourceId), Html.FROM_HTML_OPTION_USE_CSS_COLORS) + Build.VERSION.SDK_INT > 24 -> Html.fromHtml(getString(resourceId), Html.FROM_HTML_OPTION_USE_CSS_COLORS) else -> @Suppress("DEPRECATION") Html.fromHtml(getString(resourceId)) } } diff --git a/app/src/main/res/layout/fragment_about_us.xml b/app/src/main/res/layout/fragment_about_us.xml index af53dbf228..0b2c1e48a7 100644 --- a/app/src/main/res/layout/fragment_about_us.xml +++ b/app/src/main/res/layout/fragment_about_us.xml @@ -200,6 +200,16 @@ + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cc23c600ac..fd934510ab 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -302,6 +302,8 @@ SUSI Skill CMS https://skills.susi.ai SUSI is having many skills. You can look at the collection of skills at skills.susi.ai]]>. SUSI Skill development is easy and fun. You can edit existing skills or even create your own. + https://youtu.be/iOpA1mAy3QQ + Click here to Know More]]> Author name From b5a7d52edae9ddc07ffb81d2a0c1563e653d390b Mon Sep 17 00:00:00 2001 From: Jaewoong Eum Date: Wed, 20 Mar 2019 21:49:12 +0900 Subject: [PATCH 14/74] refactor: rearrange & optimization codes (#2024) * rearrange & optimize codes * added spotless gradle file & cleanup codes * added documentations for codacy issues filtering --- app/build.gradle | 6 +- .../org/fossasia/susi/ai/chat/ChatActivity.kt | 24 +++---- .../fossasia/susi/ai/chat/ChatPresenter.kt | 5 +- .../susi/ai/chat/ParseSusiResponseHelper.kt | 13 ++-- .../org/fossasia/susi/ai/chat/STTfragment.kt | 19 ++---- .../ChatFeedRecyclerAdapter.kt | 19 ++++-- .../recycleradapters/SearchResultsAdapter.kt | 3 +- .../SelectionDialogListAdapter.kt | 6 +- .../adapters/recycleradapters/TableAdapter.kt | 10 ++- .../VerticalRecyclerAdapter.kt | 11 +-- .../recycleradapters/WebSearchAdapter.kt | 10 +-- .../adapters/viewholders/ChatViewHolder.kt | 23 ++++--- .../adapters/viewholders/ImageViewHolder.kt | 20 +++--- .../viewholders/LinkPreviewViewHolder.kt | 25 ++++--- .../adapters/viewholders/MessageViewHolder.kt | 3 +- .../viewholders/PieChartViewHolder.kt | 6 +- .../adapters/viewholders/TableViewHolder.kt | 23 ++++--- .../viewholders/YoutubeVideoViewHolder.kt | 14 ++-- .../fossasia/susi/ai/helper/AlertboxHelper.kt | 1 + .../fossasia/susi/ai/login/LoginActivity.kt | 9 ++- .../fossasia/susi/ai/login/LoginPresenter.kt | 5 +- .../susi/ai/skills/aboutus/AboutUsFragment.kt | 2 +- .../ai/skills/feedback/FeedbackActivity.kt | 6 +- .../recycleradapters/AllReviewsAdapter.kt | 7 +- .../GroupWiseSkillsFragment.kt | 10 +-- .../recycleradapters/SkillsListAdapter.kt | 68 ++++++++++--------- .../adapters/viewholders/SkillViewHolder.kt | 13 ++-- .../ai/skills/settings/SettingsPresenter.kt | 3 +- .../skilldetails/SkillDetailsFragment.kt | 25 +++---- .../recycleradapters/FeedbackAdapter.kt | 63 +++++++++-------- .../recycleradapters/SkillExamplesAdapter.kt | 6 +- .../viewholders/FeedbackViewHolder.kt | 13 ++-- .../viewholders/SkillExampleViewHolder.kt | 13 ++-- .../recycleradapters/SkillListAdapter.kt | 2 +- .../viewholders/SkillGroupViewHolder.kt | 14 ++-- build.gradle | 8 +-- spotless.gradle | 16 +++++ 37 files changed, 300 insertions(+), 224 deletions(-) create mode 100644 spotless.gradle diff --git a/app/build.gradle b/app/build.gradle index 806c3a3aad..87865d857c 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,5 +1,5 @@ plugins { - id "com.diffplug.gradle.spotless" version "3.16.0" + id "com.diffplug.gradle.spotless" version "3.19.0" } def rootConfiguration = {} @@ -12,6 +12,7 @@ apply plugin: 'kotlin-kapt' apply plugin: 'realm-android' def YOUTUBE_API_KEY = System.getenv('YOUTUBE_API_KEY') ?: "YOUR_API_KEY" +//noinspection SpellCheckingInspection def MAPBOX_API_KEY = '"'+System.getenv('MAPBOX_API_KEY')+'"' ?: '"DEFAULT"' android { @@ -72,7 +73,6 @@ android { includeAndroidResources = true } } - } spotless { @@ -101,12 +101,12 @@ dependencies { implementation "com.android.support:cardview-v7:${rootConfiguration.supportLibraryVersion}" implementation "com.android.support:support-v4:${rootConfiguration.supportLibraryVersion}" implementation "com.android.support:customtabs:${rootConfiguration.supportLibraryVersion}" + implementation 'com.android.support.constraint:constraint-layout:1.1.3' //piechart implementation "com.github.PhilJay:MPAndroidChart:${rootConfiguration.mpAndroidChartVersion}" //Leak Canary - implementation 'com.android.support.constraint:constraint-layout:1.1.3' debugImplementation "com.squareup.leakcanary:leakcanary-android:${rootConfiguration.leakCanaryVersion}" releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:${rootConfiguration.leakCanaryVersion}" testImplementation "com.squareup.leakcanary:leakcanary-android-no-op:${rootConfiguration.leakCanaryVersion}" diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt b/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt index 9554a89405..870a1fd42b 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt @@ -33,11 +33,7 @@ import android.view.WindowManager import android.view.inputmethod.EditorInfo import android.widget.Toast import io.realm.RealmResults -import kotlinx.android.synthetic.main.activity_chat.askSusiMessage -import kotlinx.android.synthetic.main.activity_chat.rv_chat_feed -import kotlinx.android.synthetic.main.activity_chat.btnSpeak -import kotlinx.android.synthetic.main.activity_chat.btnScrollToEnd -import kotlinx.android.synthetic.main.activity_chat.coordinator_layout +import kotlinx.android.synthetic.main.activity_chat.* import org.fossasia.susi.ai.R import org.fossasia.susi.ai.chat.adapters.recycleradapters.ChatFeedRecyclerAdapter import org.fossasia.susi.ai.chat.contract.IChatPresenter @@ -57,6 +53,7 @@ import java.util.Locale * The V in MVP * Created by chiragw15 on 9/7/17. */ +@Suppress("UNUSED_PARAMETER", "DEPRECATION") class ChatActivity : AppCompatActivity(), IChatView { lateinit var chatPresenter: IChatPresenter @@ -258,7 +255,7 @@ class ChatActivity : AppCompatActivity(), IChatView { } hideSoftKeyboard(this, window.decorView) val fragmentTransaction = supportFragmentManager.beginTransaction() - fragmentTransaction.replace(R.id.speechToTextFrame, STTfragment()) + fragmentTransaction.replace(R.id.speechToTextFrame, STTFragment()) fragmentTransaction.addToBackStack(null) fragmentTransaction.commit() } @@ -281,6 +278,7 @@ class ChatActivity : AppCompatActivity(), IChatView { chatPresenter.startHotwordDetection() } + @Suppress("OverridingDeprecatedMember") override fun onError(s: String) { if (recordingThread != null) chatPresenter.startHotwordDetection() @@ -291,7 +289,7 @@ class ChatActivity : AppCompatActivity(), IChatView { ttsParams[TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID] = this@ChatActivity.packageName textToSpeech?.language = Locale(language) textToSpeech?.speak(reply, TextToSpeech.QUEUE_FLUSH, ttsParams) - audioFocus?.abandonAudioFocus(changeListener) + audioFocus.abandonAudioFocus(changeListener) } } } @@ -328,14 +326,10 @@ class ChatActivity : AppCompatActivity(), IChatView { MsgEnum.MSG_ACTIVE -> { chatPresenter.hotwordDetected() } - MsgEnum.MSG_INFO -> { - } - MsgEnum.MSG_VAD_SPEECH -> { - } - MsgEnum.MSG_VAD_NOSPEECH -> { - } - MsgEnum.MSG_ERROR -> { - } + MsgEnum.MSG_INFO -> Unit + MsgEnum.MSG_VAD_SPEECH -> Unit + MsgEnum.MSG_VAD_NOSPEECH -> Unit + MsgEnum.MSG_ERROR -> Unit else -> super.handleMessage(msg) } } diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/ChatPresenter.kt b/app/src/main/java/org/fossasia/susi/ai/chat/ChatPresenter.kt index 61b2998f2a..bb3e7a60bb 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/ChatPresenter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/ChatPresenter.kt @@ -38,7 +38,8 @@ import kotlin.collections.HashMap * The P in MVP * Created by chiragw15 on 9/7/17. */ -class ChatPresenter(context: Context) : IChatPresenter, IChatModel.OnRetrievingMessagesFinishedListener, +class ChatPresenter(context: Context) + : IChatPresenter, IChatModel.OnRetrievingMessagesFinishedListener, IChatModel.OnLocationFromIPReceivedListener, IChatModel.OnMessageFromSusiReceivedListener, IDatabaseRepository.OnDatabaseUpdateListener { @@ -101,7 +102,7 @@ class ChatPresenter(context: Context) : IChatPresenter, IChatModel.OnRetrievingM //initiates hotword detection override fun initiateHotwordDetection() { - if (BuildConfig.FLAVOR.equals("fdroid")) + if (BuildConfig.FLAVOR == "fdroid") return val view = chatView if (view != null) { diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/ParseSusiResponseHelper.kt b/app/src/main/java/org/fossasia/susi/ai/chat/ParseSusiResponseHelper.kt index 5e1c5b3dff..18a3b8faf1 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/ParseSusiResponseHelper.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/ParseSusiResponseHelper.kt @@ -9,7 +9,6 @@ import org.fossasia.susi.ai.helper.Constant import org.fossasia.susi.ai.rest.responses.susi.Datum import org.fossasia.susi.ai.rest.responses.susi.SusiResponse import timber.log.Timber -import kotlin.collections.ArrayList /** * Helper class to parse susi response @@ -95,14 +94,14 @@ class ParseSusiResponseHelper { val listColVal = ArrayList() val listTableData = ArrayList() - susiResponse.answers.forEach { - it.actions.forEach { - it.columns?.forEach { - listColumn.add(it.key) - listColVal.add(it.value.toString()) + susiResponse.answers.forEach { answer -> + answer.actions.forEach { action -> + action.columns?.forEach { entry -> + listColumn.add(entry.key) + listColVal.add(entry.value.toString()) } } - it.data.forEach { + answer.data.forEach { listColumn.forEach { i -> String listTableData.add(it[i].toString()) diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/STTfragment.kt b/app/src/main/java/org/fossasia/susi/ai/chat/STTfragment.kt index f75a3a700a..ed3854beb7 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/STTfragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/STTfragment.kt @@ -12,9 +12,8 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Toast -import kotlinx.android.synthetic.main.activity_chat.fabsetting -import kotlinx.android.synthetic.main.fragment_sttframe.speechProgress -import kotlinx.android.synthetic.main.fragment_sttframe.txtChat +import kotlinx.android.synthetic.main.activity_chat.* +import kotlinx.android.synthetic.main.fragment_sttframe.* import org.fossasia.susi.ai.R import org.fossasia.susi.ai.chat.contract.IChatPresenter import timber.log.Timber @@ -22,7 +21,7 @@ import timber.log.Timber /** * Created by meeera on 17/8/17. */ -class STTfragment : Fragment() { +class STTFragment : Fragment() { lateinit var recognizer: SpeechRecognizer lateinit var chatPresenter: IChatPresenter private val thisActivity = activity @@ -82,8 +81,7 @@ class STTfragment : Fragment() { override fun onError(error: Int) { Timber.d("Error listening for speech: %s", error) Toast.makeText(activity?.applicationContext, "Could not recognize speech, try again.", Toast.LENGTH_SHORT).show() - if (speechProgress != null) - speechProgress.onResultOrOnError() + speechProgress?.onResultOrOnError() recognizer.destroy() activity?.fabsetting?.show() activity?.supportFragmentManager?.popBackStackImmediate() @@ -91,8 +89,7 @@ class STTfragment : Fragment() { override fun onBeginningOfSpeech() { Timber.d("Speech starting") - if (speechProgress != null) - speechProgress.onBeginningOfSpeech() + speechProgress?.onBeginningOfSpeech() } override fun onBufferReceived(buffer: ByteArray) { @@ -100,8 +97,7 @@ class STTfragment : Fragment() { } override fun onEndOfSpeech() { - if (speechProgress != null) - speechProgress.onEndOfSpeech() + speechProgress?.onEndOfSpeech() } override fun onEvent(eventType: Int, params: Bundle) { @@ -115,8 +111,7 @@ class STTfragment : Fragment() { } override fun onRmsChanged(rmsdB: Float) { - if (speechProgress != null) - speechProgress.onRmsChanged(rmsdB) + speechProgress?.onRmsChanged(rmsdB) } } recognizer.setRecognitionListener(listener) diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/ChatFeedRecyclerAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/ChatFeedRecyclerAdapter.kt index dbd4dc1007..58ec1216b2 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/ChatFeedRecyclerAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/ChatFeedRecyclerAdapter.kt @@ -39,7 +39,15 @@ import io.realm.RealmChangeListener import io.realm.RealmRecyclerViewAdapter import io.realm.RealmResults -class ChatFeedRecyclerAdapter(private val currContext: Context, data: OrderedRealmCollection?, autoUpdate: Boolean) : RealmRecyclerViewAdapter(data, autoUpdate), MessageViewHolder.ClickListener { +/** + *

Adapter to display horizontal list of chat feed.

+ */ +class ChatFeedRecyclerAdapter( + private val currContext: Context, + data: OrderedRealmCollection?, + autoUpdate: Boolean +) : RealmRecyclerViewAdapter(data, autoUpdate), + MessageViewHolder.ClickListener { private var realm: Realm? = null private var lastMsgCount: Int = 0 private var recyclerView: RecyclerView? = null @@ -71,16 +79,12 @@ class ChatFeedRecyclerAdapter(private val currContext: Context, data: OrderedRea nullHolder = ZeroHeightHolder(view1) } - /** - * Show dots while susi is typing. - */ + /** Show dots while susi is typing. */ fun showDots() { isSusiTyping = true } - /** - * Hide dots when susi is not typing. - */ + /** Hide dots when susi is not typing. */ fun hideDots() { isSusiTyping = false } @@ -315,6 +319,7 @@ class ChatFeedRecyclerAdapter(private val currContext: Context, data: OrderedRea // Add something here when needed } + @Suppress("DEPRECATION") private fun setBackGroundColor(holder: RecyclerView.ViewHolder, isSelected: Boolean, isUserMessage: Boolean) { if (holder is ChatViewHolder) { if (isUserMessage) diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/SearchResultsAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/SearchResultsAdapter.kt index 1e4a052702..def65f7e58 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/SearchResultsAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/SearchResultsAdapter.kt @@ -15,7 +15,8 @@ import org.fossasia.susi.ai.rest.responses.susi.Datum *

Adapter to display horizontal list of RSS results.

*/ -class SearchResultsAdapter(context: Context, private val datumList: List?) : RecyclerView.Adapter() { +class SearchResultsAdapter(context: Context, private val datumList: List?) + : RecyclerView.Adapter() { private val inflater: LayoutInflater = LayoutInflater.from(context) override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RssViewHolder { diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/SelectionDialogListAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/SelectionDialogListAdapter.kt index 59e5262954..f9230e8e3a 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/SelectionDialogListAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/SelectionDialogListAdapter.kt @@ -19,7 +19,11 @@ import org.fossasia.susi.ai.R * Created by chiragw15 on 31/7/17. */ -class SelectionDialogListAdapter(context: Context, private val list: List>) : ArrayAdapter>(context, R.layout.item_selection_dialog_list, list) { +class SelectionDialogListAdapter( + context: Context, + private val list: List> +) + : ArrayAdapter>(context, R.layout.item_selection_dialog_list, list) { internal class ViewHolder { var option: TextView? = null diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/TableAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/TableAdapter.kt index 27936f5130..85ec338ce7 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/TableAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/TableAdapter.kt @@ -15,7 +15,11 @@ import java.util.ArrayList * A RecyclerAdapter to inflate the list of the table responses * */ -class TableAdapter(private val column: List, private val data: List) : RecyclerView.Adapter() { +class TableAdapter( + private val column: List, + private val data: List +) + : RecyclerView.Adapter() { private lateinit var context: Context override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TabViewHolder { @@ -26,8 +30,8 @@ class TableAdapter(private val column: List, private val data: List() - for (columnflag in column.indices) { - smallData.add(data[column.size * position + columnflag]) + for (columnFlag in column.indices) { + smallData.add(data[column.size * position + columnFlag]) } val manager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/VerticalRecyclerAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/VerticalRecyclerAdapter.kt index d516e5fec8..2171442dec 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/VerticalRecyclerAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/VerticalRecyclerAdapter.kt @@ -1,24 +1,27 @@ package org.fossasia.susi.ai.chat.adapters.recycleradapters import android.content.Context -import android.support.customtabs.CustomTabsIntent import android.net.Uri +import android.support.customtabs.CustomTabsIntent import android.support.v7.widget.RecyclerView import android.text.Html import android.util.Patterns import android.view.LayoutInflater import android.view.View import android.view.ViewGroup - import org.fossasia.susi.ai.R import org.fossasia.susi.ai.chat.adapters.viewholders.VerticalCellViewHolder - import timber.log.Timber /** * A RecyclerAdapter to inflate all the elements inside each Table type response */ -class VerticalRecyclerAdapter(private val context: Context, private val cols: List, private val data: List) : RecyclerView.Adapter() { +class VerticalRecyclerAdapter( + private val context: Context, + private val cols: List, + private val data: List +) + : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VerticalCellViewHolder { val view = LayoutInflater.from(parent.context).inflate(R.layout.table_recylcer_item, parent, false) diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/WebSearchAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/WebSearchAdapter.kt index 6b01f6f06a..b6381bcda1 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/WebSearchAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/WebSearchAdapter.kt @@ -7,20 +7,20 @@ import android.support.v7.widget.RecyclerView import android.view.LayoutInflater import android.view.View import android.view.ViewGroup - import com.squareup.picasso.Picasso - import org.fossasia.susi.ai.R import org.fossasia.susi.ai.chat.adapters.viewholders.SearchResultHolder import org.fossasia.susi.ai.data.model.WebSearchModel - import timber.log.Timber -import java.lang.Exception /** *

Adapter to display horizontal list of web search results.

\ */ -class WebSearchAdapter(private val context: Context, private val searchResults: List?) : RecyclerView.Adapter() { +class WebSearchAdapter( + private val context: Context, + private val searchResults: List? +) + : RecyclerView.Adapter() { private val inflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/ChatViewHolder.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/ChatViewHolder.kt index f7d27bad8b..85662a6296 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/ChatViewHolder.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/ChatViewHolder.kt @@ -10,30 +10,31 @@ import android.widget.ImageView import android.widget.LinearLayout import android.widget.TextView import android.widget.Toast - +import io.realm.Realm +import kotterknife.bindOptionalView +import kotterknife.bindView import org.fossasia.susi.ai.R import org.fossasia.susi.ai.chat.ParseSusiResponseHelper -import org.fossasia.susi.ai.helper.Constant +import org.fossasia.susi.ai.chat.adapters.recycleradapters.ChatFeedRecyclerAdapter import org.fossasia.susi.ai.data.model.ChatMessage +import org.fossasia.susi.ai.helper.Constant import org.fossasia.susi.ai.rest.ClientBuilder import org.fossasia.susi.ai.rest.responses.susi.SkillRatingResponse - -import io.realm.Realm import retrofit2.Call import retrofit2.Callback import retrofit2.Response import timber.log.Timber -import kotterknife.bindOptionalView -import kotterknife.bindView -import org.fossasia.susi.ai.chat.adapters.recycleradapters.ChatFeedRecyclerAdapter - -class ChatViewHolder(view: View, clickListener: MessageViewHolder.ClickListener, myMessage: Int) : MessageViewHolder(view, clickListener) { +/** + * ViewHolder for drawing chat item layout. + */ +class ChatViewHolder(view: View, clickListener: MessageViewHolder.ClickListener, myMessage: Int) + : MessageViewHolder(view, clickListener) { - val chatTextView: TextView by bindView(R.id.text) + private val chatTextView: TextView by bindView(R.id.text) + private val receivedTick: ImageView? by bindOptionalView(R.id.received_tick) val timeStamp: TextView by bindView(R.id.timestamp) val backgroundLayout: LinearLayout by bindView(R.id.background_layout) - val receivedTick: ImageView? by bindOptionalView(R.id.received_tick) val thumbsUp: ImageView? by bindOptionalView(R.id.thumbs_up) val thumbsDown: ImageView? by bindOptionalView(R.id.thumbs_down) diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/ImageViewHolder.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/ImageViewHolder.kt index 9d100434a7..5f2d7a95c7 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/ImageViewHolder.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/ImageViewHolder.kt @@ -8,27 +8,31 @@ import android.view.View import android.widget.ImageView import android.widget.TextView import android.widget.Toast - +import butterknife.ButterKnife import com.squareup.picasso.Picasso - +import io.realm.Realm +import kotterknife.bindView import org.fossasia.susi.ai.R import org.fossasia.susi.ai.chat.ParseSusiResponseHelper import org.fossasia.susi.ai.data.model.ChatMessage import org.fossasia.susi.ai.helper.Constant import org.fossasia.susi.ai.rest.ClientBuilder import org.fossasia.susi.ai.rest.responses.susi.SkillRatingResponse - -import butterknife.ButterKnife -import io.realm.Realm -import kotterknife.bindView import retrofit2.Call import retrofit2.Callback import retrofit2.Response import timber.log.Timber -class ImageViewHolder(itemView: View, clickListener: MessageViewHolder.ClickListener) : MessageViewHolder(itemView, clickListener) { +/** + * ViewHolder for drawing image item layout. + */ +class ImageViewHolder( + itemView: View, + clickListener: MessageViewHolder.ClickListener +) + : MessageViewHolder(itemView, clickListener) { - val imageView: ImageView by bindView(R.id.image_response) + private val imageView: ImageView by bindView(R.id.image_response) val timeStamp: TextView by bindView(R.id.timestamp) val thumbsUp: ImageView by bindView(R.id.thumbs_up) val thumbsDown: ImageView by bindView(R.id.thumbs_down) diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/LinkPreviewViewHolder.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/LinkPreviewViewHolder.kt index b075bc18b6..2caa38a8f8 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/LinkPreviewViewHolder.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/LinkPreviewViewHolder.kt @@ -13,9 +13,13 @@ import android.widget.ImageView import android.widget.LinearLayout import android.widget.TextView import android.widget.Toast - +import butterknife.ButterKnife import com.squareup.picasso.Picasso - +import io.github.ponnamkarthik.richlinkpreview.MetaData +import io.github.ponnamkarthik.richlinkpreview.ResponseListener +import io.github.ponnamkarthik.richlinkpreview.RichPreview +import io.realm.Realm +import kotterknife.bindView import org.fossasia.susi.ai.R import org.fossasia.susi.ai.chat.ParseSusiResponseHelper import org.fossasia.susi.ai.chat.adapters.recycleradapters.ChatFeedRecyclerAdapter @@ -25,20 +29,19 @@ import org.fossasia.susi.ai.helper.Constant import org.fossasia.susi.ai.helper.PrefManager import org.fossasia.susi.ai.rest.ClientBuilder import org.fossasia.susi.ai.rest.responses.susi.SkillRatingResponse - -import butterknife.ButterKnife -import io.github.ponnamkarthik.richlinkpreview.MetaData -import io.github.ponnamkarthik.richlinkpreview.ResponseListener -import io.github.ponnamkarthik.richlinkpreview.RichPreview -import io.realm.Realm import retrofit2.Call import retrofit2.Callback import retrofit2.Response import timber.log.Timber -import kotterknife.bindView - -class LinkPreviewViewHolder(itemView: View, listener: MessageViewHolder.ClickListener) : MessageViewHolder(itemView, listener) { +/** + * ViewHolder for drawing link preview item layout. + */ +class LinkPreviewViewHolder( + itemView: View, + listener: MessageViewHolder.ClickListener +) + : MessageViewHolder(itemView, listener) { val text: TextView by bindView(R.id.text) val backgroundLayout: LinearLayout by bindView(R.id.background_layout) diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/MessageViewHolder.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/MessageViewHolder.kt index 9c64268d15..af57007dcb 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/MessageViewHolder.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/MessageViewHolder.kt @@ -3,7 +3,8 @@ package org.fossasia.susi.ai.chat.adapters.viewholders import android.support.v7.widget.RecyclerView import android.view.View -abstract class MessageViewHolder(itemView: View, private val listener: ClickListener?) : RecyclerView.ViewHolder(itemView), View.OnClickListener, View.OnLongClickListener { +abstract class MessageViewHolder(itemView: View, private val listener: ClickListener?) + : RecyclerView.ViewHolder(itemView), View.OnClickListener, View.OnLongClickListener { init { itemView.setOnClickListener(this) diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/PieChartViewHolder.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/PieChartViewHolder.kt index 907f447e1a..532b0efc1c 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/PieChartViewHolder.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/PieChartViewHolder.kt @@ -22,7 +22,11 @@ import butterknife.ButterKnife import kotterknife.bindView import timber.log.Timber -class PieChartViewHolder(view: View, listener: MessageViewHolder.ClickListener) : MessageViewHolder(view, listener) { +class PieChartViewHolder( + view: View, + listener: MessageViewHolder.ClickListener +) + : MessageViewHolder(view, listener) { val backgroundLayout: LinearLayout by bindView(R.id.background_layout) val chatTextView: TextView by bindView(R.id.text) diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/TableViewHolder.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/TableViewHolder.kt index 64852ee30b..9d86b1c5bb 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/TableViewHolder.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/TableViewHolder.kt @@ -7,7 +7,10 @@ import android.view.View import android.widget.ImageView import android.widget.TextView import android.widget.Toast - +import butterknife.ButterKnife +import io.realm.Realm +import kotterknife.bindOptionalView +import kotterknife.bindView import org.fossasia.susi.ai.R import org.fossasia.susi.ai.chat.ParseSusiResponseHelper import org.fossasia.susi.ai.chat.adapters.recycleradapters.TableAdapter @@ -15,20 +18,20 @@ import org.fossasia.susi.ai.data.model.ChatMessage import org.fossasia.susi.ai.helper.Constant import org.fossasia.susi.ai.rest.ClientBuilder import org.fossasia.susi.ai.rest.responses.susi.SkillRatingResponse - -import java.util.ArrayList - -import butterknife.ButterKnife -import io.realm.Realm import retrofit2.Call import retrofit2.Callback import retrofit2.Response import timber.log.Timber +import java.util.ArrayList -import kotterknife.bindOptionalView -import kotterknife.bindView - -class TableViewHolder(itemView: View, clickListener: MessageViewHolder.ClickListener) : MessageViewHolder(itemView, clickListener) { +/** + * ViewHolder for drawing table item layout. + */ +class TableViewHolder( + itemView: View, + clickListener: MessageViewHolder.ClickListener +) + : MessageViewHolder(itemView, clickListener) { val recyclerView: RecyclerView by bindView(R.id.recyclerView) val timeStamp: TextView by bindView(R.id.timestamp) diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/YoutubeVideoViewHolder.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/YoutubeVideoViewHolder.kt index 3c06cf1c1f..34b7b7e874 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/YoutubeVideoViewHolder.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/viewholders/YoutubeVideoViewHolder.kt @@ -3,17 +3,21 @@ package org.fossasia.susi.ai.chat.adapters.viewholders import android.support.v4.content.ContextCompat import android.view.View import android.widget.ImageView - import com.squareup.picasso.Picasso - +import kotterknife.bindView import org.fossasia.susi.ai.R import org.fossasia.susi.ai.chat.YoutubeVid import org.fossasia.susi.ai.data.model.ChatMessage - -import kotterknife.bindView import timber.log.Timber -class YoutubeVideoViewHolder(view: View, clickListener: MessageViewHolder.ClickListener) : MessageViewHolder(view, clickListener) { +/** + * ViewHolder for drawing youtube video item layout. + */ +class YoutubeVideoViewHolder( + view: View, + clickListener: MessageViewHolder.ClickListener +) + : MessageViewHolder(view, clickListener) { private val playerView: ImageView by bindView(R.id.youtube_view) private val playButton: ImageView by bindView(R.id.play_video) diff --git a/app/src/main/java/org/fossasia/susi/ai/helper/AlertboxHelper.kt b/app/src/main/java/org/fossasia/susi/ai/helper/AlertboxHelper.kt index ddb5b3cec0..da92f29ed3 100644 --- a/app/src/main/java/org/fossasia/susi/ai/helper/AlertboxHelper.kt +++ b/app/src/main/java/org/fossasia/susi/ai/helper/AlertboxHelper.kt @@ -9,6 +9,7 @@ import android.support.v7.app.AlertDialog * Created by meeera on 18/6/17. */ +@Suppress("SpellCheckingInspection") class AlertboxHelper /** * Instantiates a new Alertbox helper. diff --git a/app/src/main/java/org/fossasia/susi/ai/login/LoginActivity.kt b/app/src/main/java/org/fossasia/susi/ai/login/LoginActivity.kt index e49568290a..b4cfc50154 100644 --- a/app/src/main/java/org/fossasia/susi/ai/login/LoginActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/login/LoginActivity.kt @@ -1,5 +1,6 @@ package org.fossasia.susi.ai.login +import android.annotation.SuppressLint import android.app.AlertDialog import android.app.ProgressDialog import android.content.Intent @@ -27,6 +28,7 @@ import org.fossasia.susi.ai.signup.SignUpActivity * * Created by chiragw15 on 4/7/17. */ +@Suppress("DEPRECATION") class LoginActivity : AppCompatActivity(), ILoginView { lateinit var forgotPasswordProgressDialog: AlertDialog @@ -34,6 +36,7 @@ class LoginActivity : AppCompatActivity(), ILoginView { private lateinit var loginPresenter: ILoginPresenter private lateinit var progressDialog: ProgressDialog + @SuppressLint("InflateParams") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) @@ -56,7 +59,7 @@ class LoginActivity : AppCompatActivity(), ILoginView { builder = AlertDialog.Builder(this) forgotPasswordProgressDialog = builder.create() - forgotPasswordProgressDialog.setView(forgotPasswordProgressDialog.getLayoutInflater().inflate(R.layout.progress, null)) + forgotPasswordProgressDialog.setView(forgotPasswordProgressDialog.layoutInflater.inflate(R.layout.progress, null)) addListeners() @@ -207,14 +210,14 @@ class LoginActivity : AppCompatActivity(), ILoginView { if (boolean) forgotPasswordProgressDialog.show() else forgotPasswordProgressDialog.dismiss() } - fun cancelRequestPassword() { + private fun cancelRequestPassword() { progressDialog.setOnCancelListener { loginPresenter.cancelSignup() forgotPassword.isEnabled = true } } - fun requestPassword() { + private fun requestPassword() { forgotPassword.setOnClickListener { val email = emailInput?.text.toString() val isPersonalServerChecked = customServer.isChecked diff --git a/app/src/main/java/org/fossasia/susi/ai/login/LoginPresenter.kt b/app/src/main/java/org/fossasia/susi/ai/login/LoginPresenter.kt index 66802a8eaf..363e312333 100644 --- a/app/src/main/java/org/fossasia/susi/ai/login/LoginPresenter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/login/LoginPresenter.kt @@ -28,7 +28,10 @@ import java.net.UnknownHostException * The P in MVP * Created by chiragw15 on 4/7/17. */ -class LoginPresenter(loginActivity: LoginActivity) : ILoginPresenter, ILoginModel.OnLoginFinishedListener, IForgotPasswordModel.OnFinishListener { +class LoginPresenter(loginActivity: LoginActivity) : + ILoginPresenter, + ILoginModel.OnLoginFinishedListener, + IForgotPasswordModel.OnFinishListener { private var loginModel: LoginModel = LoginModel() private var utilModel: UtilModel = UtilModel(loginActivity) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/aboutus/AboutUsFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/aboutus/AboutUsFragment.kt index a14b8390d5..b2a62110bc 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/aboutus/AboutUsFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/aboutus/AboutUsFragment.kt @@ -71,7 +71,7 @@ class AboutUsFragment : Fragment() { super.onViewCreated(view, savedInstanceState) } - fun launchCustomtTab(uri: Uri) { + private fun launchCustomtTab(uri: Uri) { try { CustomTabsIntent.Builder().build().launchUrl(context, uri) //launching through custom tabs } catch (e: Exception) { diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/feedback/FeedbackActivity.kt b/app/src/main/java/org/fossasia/susi/ai/skills/feedback/FeedbackActivity.kt index 17b20f4673..d0a7390dee 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/feedback/FeedbackActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/feedback/FeedbackActivity.kt @@ -3,7 +3,7 @@ package org.fossasia.susi.ai.skills.feedback import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.support.v7.widget.LinearLayoutManager -import kotlinx.android.synthetic.main.activity_feedback.rvAllFeedback +import kotlinx.android.synthetic.main.activity_feedback.* import org.fossasia.susi.ai.R import org.fossasia.susi.ai.rest.responses.susi.GetSkillFeedbackResponse import org.fossasia.susi.ai.skills.feedback.adapters.recycleradapters.AllReviewsAdapter @@ -17,10 +17,10 @@ class FeedbackActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_feedback) - val feedbackResponse = intent.extras.get("feedbackResponse") as GetSkillFeedbackResponse + val feedbackResponse: GetSkillFeedbackResponse? = intent.extras.get("feedbackResponse") as GetSkillFeedbackResponse if (feedbackResponse != null) { title = feedbackResponse.skillName.capitalize() + " " + getString(R.string.reviews) - if (feedbackResponse.feedbackList != null) { + if (feedbackResponse.feedbackList.isNullOrEmpty()) { val layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false) rvAllFeedback.setHasFixedSize(true) rvAllFeedback.layoutManager = layoutManager diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/feedback/adapters/recycleradapters/AllReviewsAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/skills/feedback/adapters/recycleradapters/AllReviewsAdapter.kt index 4f086cbe4a..1277f05325 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/feedback/adapters/recycleradapters/AllReviewsAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/feedback/adapters/recycleradapters/AllReviewsAdapter.kt @@ -15,8 +15,11 @@ import org.fossasia.susi.ai.skills.feedback.adapters.viewholders.AllReviewsViewH * * Created by arundhati24 on 27/06/2018 */ -class AllReviewsAdapter(val context: Context, val feedbackList: List?) : - RecyclerView.Adapter() { +class AllReviewsAdapter( + val context: Context, + private val feedbackList: List? +) : + RecyclerView.Adapter() { @NonNull override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AllReviewsViewHolder { diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/GroupWiseSkillsFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/GroupWiseSkillsFragment.kt index ecce523eba..793244708c 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/GroupWiseSkillsFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/GroupWiseSkillsFragment.kt @@ -1,20 +1,16 @@ package org.fossasia.susi.ai.skills.groupwiseskills import android.content.Context -import android.support.v4.app.Fragment import android.os.Bundle import android.support.annotation.NonNull +import android.support.v4.app.Fragment import android.support.v4.widget.SwipeRefreshLayout import android.support.v7.widget.LinearLayoutManager import android.support.v7.widget.SnapHelper import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import kotlinx.android.synthetic.main.fragment_group_wise_skill_listing.groupWiseSkills -import kotlinx.android.synthetic.main.fragment_group_wise_skill_listing.swipeRefreshLayout -import kotlinx.android.synthetic.main.fragment_group_wise_skill_listing.progressSkillWait -import kotlinx.android.synthetic.main.fragment_group_wise_skill_listing.messageNoSkillsFound -import kotlinx.android.synthetic.main.fragment_group_wise_skill_listing.errorSkillFetch +import kotlinx.android.synthetic.main.fragment_group_wise_skill_listing.* import org.fossasia.susi.ai.R import org.fossasia.susi.ai.dataclasses.GroupWiseSkills import org.fossasia.susi.ai.helper.SimpleDividerItemDecoration @@ -37,7 +33,7 @@ class GroupWiseSkillsFragment : Fragment(), IGroupWiseSkillsView, SwipeRefreshLa private lateinit var skillCallback: SkillFragmentCallback companion object { - const val SKILL_GROUP = "group" + private const val SKILL_GROUP = "group" fun newInstance(group: String): GroupWiseSkillsFragment { val fragment = GroupWiseSkillsFragment() val bundle = Bundle() diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/recycleradapters/SkillsListAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/recycleradapters/SkillsListAdapter.kt index d1c4de2e43..3ef34b6871 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/recycleradapters/SkillsListAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/recycleradapters/SkillsListAdapter.kt @@ -17,7 +17,11 @@ import org.fossasia.susi.ai.skills.groupwiseskills.adapters.viewholders.SkillVie * * Created by arundhati24 on 16/07/2018. */ -class SkillsListAdapter(val context: Context, private val skillDetails: GroupWiseSkills, val skillCallback: SkillFragmentCallback) : +class SkillsListAdapter( + val context: Context, + private val skillDetails: GroupWiseSkills, + private val skillCallback: SkillFragmentCallback +) : RecyclerView.Adapter(), SkillViewHolder.ClickListener { private val imageLink = "https://raw.githubusercontent.com/fossasia/susi_skill_data/master/models/general/" @@ -25,42 +29,40 @@ class SkillsListAdapter(val context: Context, private val skillDetails: GroupWis @NonNull override fun onBindViewHolder(holder: SkillViewHolder, position: Int) { - if (skillDetails != null) { - val skillData = skillDetails.skillsList.get(position) + val skillData = skillDetails.skillsList.get(position) - if (skillData.skillName == null || skillData.skillName.isEmpty()) { - holder.skillName?.text = context.getString(R.string.no_skill_name) - } else { - holder.skillName?.text = skillData.skillName - } + if (skillData.skillName.isNotEmpty()) { + holder.skillName.text = context.getString(R.string.no_skill_name) + } else { + holder.skillName.text = skillData.skillName + } - if (skillData.author == null || skillData.author.isEmpty()) { - holder.skillAuthorName?.text = context.getString(R.string.no_skill_author) - } else { - holder.skillAuthorName?.text = skillData.author - } + if (skillData.author.isEmpty()) { + holder.skillAuthorName.text = context.getString(R.string.no_skill_author) + } else { + holder.skillAuthorName.text = skillData.author + } - if (skillData.examples == null || skillData.examples.isEmpty()) - holder.skillExample?.text = "" - else - holder.skillExample?.text = StringBuilder("\"").append(skillData.examples[0]).append("\"") + if (skillData.examples.isEmpty()) + holder.skillExample.text = "" + else + holder.skillExample.text = StringBuilder("\"").append(skillData.examples[0]).append("\"") - if (skillData.image == null || skillData.image.isEmpty()) { - holder.skillImage?.setImageResource(R.drawable.ic_susi) - } else { - val imageUrl: String = skillDetails.skillsList.get(position).group.replace(" ", "%20") + "/en/" + skillData.image - Picasso.get().load(StringBuilder(imageLink) - .append(imageUrl).toString()) - .fit().centerCrop() - .error(R.drawable.ic_susi) - .transform(CircleTransform()) - .into(holder.skillImage) - } - val stars = skillData.skillRating?.stars - if (stars != null) { - holder.skillRating.rating = stars.averageStar - holder.skillTotalRatings.text = stars.totalStar.toString() - } + if (skillData.image.isEmpty()) { + holder.skillImage.setImageResource(R.drawable.ic_susi) + } else { + val imageUrl: String = skillDetails.skillsList.get(position).group.replace(" ", "%20") + "/en/" + skillData.image + Picasso.get().load(StringBuilder(imageLink) + .append(imageUrl).toString()) + .fit().centerCrop() + .error(R.drawable.ic_susi) + .transform(CircleTransform()) + .into(holder.skillImage) + } + val stars = skillData.skillRating?.stars + if (stars != null) { + holder.skillRating.rating = stars.averageStar + holder.skillTotalRatings.text = stars.totalStar.toString() } } diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/viewholders/SkillViewHolder.kt b/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/viewholders/SkillViewHolder.kt index f6e331be8e..c1ac869048 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/viewholders/SkillViewHolder.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/viewholders/SkillViewHolder.kt @@ -5,12 +5,17 @@ import android.view.View import android.widget.ImageView import android.widget.RatingBar import android.widget.TextView - -import org.fossasia.susi.ai.R - import kotterknife.bindView +import org.fossasia.susi.ai.R -class SkillViewHolder(itemView: View, private val listener: ClickListener?) : RecyclerView.ViewHolder(itemView), View.OnClickListener { +/** + * ViewHolder for drawing skill item layout. + */ +class SkillViewHolder( + itemView: View, + private val listener: ClickListener? +) + : RecyclerView.ViewHolder(itemView), View.OnClickListener { val skillImage: ImageView by bindView(R.id.skill_image) val skillName: TextView by bindView(R.id.skill_name) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/settings/SettingsPresenter.kt b/app/src/main/java/org/fossasia/susi/ai/skills/settings/SettingsPresenter.kt index 5fd9c3b80f..e721e655af 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/settings/SettingsPresenter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/settings/SettingsPresenter.kt @@ -22,7 +22,8 @@ import retrofit2.Response * Created by mayanktripathi on 07/07/17. */ -class SettingsPresenter(skillsActivity: SkillsActivity) : ISettingsPresenter, ISettingModel.OnSettingFinishListener { +class SettingsPresenter(skillsActivity: SkillsActivity) + : ISettingsPresenter, ISettingModel.OnSettingFinishListener { private var settingModel: SettingModel = SettingModel() private var settingView: ISettingsView? = null diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt index b0a50a919c..bc5d863184 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt @@ -1,5 +1,6 @@ package org.fossasia.susi.ai.skills.skilldetails +import android.annotation.SuppressLint import android.content.Intent import android.graphics.Color import android.net.Uri @@ -39,8 +40,6 @@ import org.fossasia.susi.ai.skills.skilldetails.adapters.recycleradapters.Feedba import org.fossasia.susi.ai.skills.skilldetails.adapters.recycleradapters.SkillExamplesAdapter import org.fossasia.susi.ai.skills.skilldetails.contract.ISkillDetailsPresenter import org.fossasia.susi.ai.skills.skilldetails.contract.ISkillDetailsView -import kotlin.collections.ArrayList -import kotlin.collections.HashMap class SkillDetailsFragment : Fragment(), ISkillDetailsView { @@ -115,6 +114,7 @@ class SkillDetailsFragment : Fragment(), ISkillDetailsView { } } + @SuppressLint("InflateParams") private fun setReportButton() { if (PrefManager.token != null) { @@ -128,7 +128,7 @@ class SkillDetailsFragment : Fragment(), ISkillDetailsView { dialogBuilder.setView(view) dialogBuilder.setTitle(R.string.report_skill) - dialogBuilder.setPositiveButton(R.string.report_send) { dialog, whichButton -> + dialogBuilder.setPositiveButton(R.string.report_send) { _, _ -> if (PrefManager.token != null && reportedUserMessage.text.isNotEmpty()) { val queryObject = ReportSkillQuery(skillData.model, skillData.group, skillTag, reportedUserMessage.text.toString(), PrefManager.token.toString()) @@ -147,6 +147,7 @@ class SkillDetailsFragment : Fragment(), ISkillDetailsView { } } + @SuppressLint("SetTextI18n") private fun setAuthor() { skillDetailAuthor.text = "by ${activity?.getString(R.string.no_skill_author)}" if (!TextUtils.isEmpty(skillData.author)) { @@ -173,14 +174,14 @@ class SkillDetailsFragment : Fragment(), ISkillDetailsView { } private fun setTryButton() { - if (skillData.examples == null || skillData.examples.isEmpty()) + if (skillData.examples.isEmpty() || skillData.examples.isEmpty()) skillDetailTryButton.visibility = View.GONE skillDetailTryButton.setOnClickListener { activity?.overridePendingTransition(R.anim.trans_right_in, R.anim.trans_right_out) val intent = Intent(activity, ChatActivity::class.java) intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK - if (skillData.examples != null && skillData.examples.isNotEmpty()) + if (skillData.examples.isNotEmpty() && skillData.examples.isNotEmpty()) intent.putExtra("example", skillData.examples[0]) else intent.putExtra("example", "") @@ -219,7 +220,7 @@ class SkillDetailsFragment : Fragment(), ISkillDetailsView { } private fun setExamples() { - if (skillData.examples != null && skillData.examples.isNotEmpty()) { + if (skillData.examples.isNotEmpty() && skillData.examples.isNotEmpty()) { skillDetailExamples.setHasFixedSize(true) val layoutManager = LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL, false) skillDetailExamples.layoutManager = layoutManager @@ -333,7 +334,7 @@ class SkillDetailsFragment : Fragment(), ISkillDetailsView { override fun updateRatings(ratingsObject: Stars?) { if (ratingsObject != null) { skillData.skillRating?.stars = ratingsObject - if (fromUser == true) { + if (fromUser) { //Display a toast to notify the user that the rating has been submitted Toast.makeText(context, getString(R.string.toast_thank_for_rating), Toast.LENGTH_SHORT).show() } @@ -366,16 +367,16 @@ class SkillDetailsFragment : Fragment(), ISkillDetailsView { val description = Description() description.text = "" skillRatingChart.description = description - skillRatingChart.legend.setEnabled(false) + skillRatingChart.legend.isEnabled = false skillRatingChart.setPinchZoom(false) skillRatingChart.setDrawValueAboveBar(false) //Display the axis on the left (contains the labels 1*, 2* and so on) - xAxis = skillRatingChart.getXAxis() + xAxis = skillRatingChart.xAxis xAxis.setDrawGridLines(false) xAxis.setDrawAxisLine(false) - xAxis.setPosition(XAxis.XAxisPosition.TOP) - xAxis.setEnabled(true) + xAxis.position = XAxis.XAxisPosition.TOP + xAxis.isEnabled = true val yLeft = skillRatingChart.axisLeft yLeft.axisMaximum = 100f @@ -422,7 +423,7 @@ class SkillDetailsFragment : Fragment(), ISkillDetailsView { fiveStarUsers.toString() + " (" + fiveStarUsersPercent.toInt().toString() + "%)") //Set label count to 5 as we are using 5 star rating system - xAxis.setLabelCount(5) + xAxis.labelCount = 5 xAxis.textColor = ContextCompat.getColor(skillRatingChart.context, R.color.md_grey_800) xAxis.valueFormatter = XAxisValueFormatter(values) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/recycleradapters/FeedbackAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/recycleradapters/FeedbackAdapter.kt index 148221bced..f9e9b5117d 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/recycleradapters/FeedbackAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/recycleradapters/FeedbackAdapter.kt @@ -19,7 +19,10 @@ import org.fossasia.susi.ai.skills.skilldetails.adapters.viewholders.FeedbackVie * * Created by arundhati24 on 27/06/2018 */ -class FeedbackAdapter(val context: Context, val feedbackResponse: GetSkillFeedbackResponse) : +class FeedbackAdapter( + val context: Context, + private val feedbackResponse: GetSkillFeedbackResponse +) : RecyclerView.Adapter(), FeedbackViewHolder.ClickListener { private val clickListener: FeedbackViewHolder.ClickListener = this @@ -32,47 +35,43 @@ class FeedbackAdapter(val context: Context, val feedbackResponse: GetSkillFeedba } override fun getItemCount(): Int { - if (feedbackResponse != null) { - if (feedbackResponse.feedbackList != null) { - if (feedbackResponse.feedbackList.size > 4) { - return 4 - } - return feedbackResponse.feedbackList.size + if (feedbackResponse.feedbackList.isNotEmpty()) { + if (feedbackResponse.feedbackList.size > 4) { + return 4 } + return feedbackResponse.feedbackList.size } return 0 } @NonNull override fun onBindViewHolder(holder: FeedbackViewHolder, position: Int) { - if (feedbackResponse != null) { - if (feedbackResponse.feedbackList != null) { - if (feedbackResponse.feedbackList[position] != null) { - if (position < 3) { - if (feedbackResponse.feedbackList[position].email != null && - !TextUtils.isEmpty(feedbackResponse.feedbackList[position].email)) { - Utils.setAvatar(context, feedbackResponse.feedbackList.get(position).avatar, holder.avatar) - Utils.setUsername(feedbackResponse.feedbackList.get(position), holder.feedbackEmail) - } - if (feedbackResponse.feedbackList[position].timestamp != null && - !TextUtils.isEmpty(feedbackResponse.feedbackList[position].timestamp)) { - val date: String? = getDate(feedbackResponse.feedbackList[position].timestamp) - if (date != null) { - holder.feedbackDate.text = date - } else { - holder.feedbackDate.text = "" - } - } - if (feedbackResponse.feedbackList[position].feedback != null && - !TextUtils.isEmpty(feedbackResponse.feedbackList[position].feedback)) { - holder.feedback.text = feedbackResponse.feedbackList[position].feedback + if (feedbackResponse.feedbackList.isNotEmpty()) { + if (feedbackResponse.feedbackList[position] != null) { + if (position < 3) { + if (feedbackResponse.feedbackList[position].email != null && + !TextUtils.isEmpty(feedbackResponse.feedbackList[position].email)) { + Utils.setAvatar(context, feedbackResponse.feedbackList.get(position).avatar, holder.avatar) + Utils.setUsername(feedbackResponse.feedbackList.get(position), holder.feedbackEmail) + } + if (feedbackResponse.feedbackList[position].timestamp != null && + !TextUtils.isEmpty(feedbackResponse.feedbackList[position].timestamp)) { + val date: String? = getDate(feedbackResponse.feedbackList[position].timestamp) + if (date != null) { + holder.feedbackDate.text = date + } else { + holder.feedbackDate.text = "" } } + if (feedbackResponse.feedbackList[position].feedback != null && + !TextUtils.isEmpty(feedbackResponse.feedbackList[position].feedback)) { + holder.feedback.text = feedbackResponse.feedbackList[position].feedback + } } - if (position == 3) { - holder.itemFeedback.visibility = View.GONE - holder.seeAllReviews.visibility = View.VISIBLE - } + } + if (position == 3) { + holder.itemFeedback.visibility = View.GONE + holder.seeAllReviews.visibility = View.VISIBLE } } } diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/recycleradapters/SkillExamplesAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/recycleradapters/SkillExamplesAdapter.kt index d716428464..7fe0595c9e 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/recycleradapters/SkillExamplesAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/recycleradapters/SkillExamplesAdapter.kt @@ -15,7 +15,11 @@ import org.fossasia.susi.ai.skills.skilldetails.adapters.viewholders.SkillExampl * * Created by chiragw15 on 27/8/17. */ -class SkillExamplesAdapter(val context: Context, val examples: List) : RecyclerView.Adapter(), +class SkillExamplesAdapter( + val context: Context, + val examples: List +) + : RecyclerView.Adapter(), SkillExampleViewHolder.ClickListener { private val clickListener: SkillExampleViewHolder.ClickListener = this diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/viewholders/FeedbackViewHolder.kt b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/viewholders/FeedbackViewHolder.kt index 8ca9019ad7..dcb95101f2 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/viewholders/FeedbackViewHolder.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/viewholders/FeedbackViewHolder.kt @@ -5,13 +5,18 @@ import android.view.View import android.widget.ImageView import android.widget.LinearLayout import android.widget.TextView - -import org.fossasia.susi.ai.R - import butterknife.ButterKnife import kotterknife.bindView +import org.fossasia.susi.ai.R -class FeedbackViewHolder(itemView: View, private val listener: FeedbackViewHolder.ClickListener?) : RecyclerView.ViewHolder(itemView), View.OnClickListener { +/** + * ViewHolder for drawing feed back item layout. + */ +class FeedbackViewHolder( + itemView: View, + private val listener: FeedbackViewHolder.ClickListener? +) + : RecyclerView.ViewHolder(itemView), View.OnClickListener { val itemFeedback: LinearLayout by bindView(R.id.itemFeedback) val avatar: ImageView by bindView(R.id.avatar) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/viewholders/SkillExampleViewHolder.kt b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/viewholders/SkillExampleViewHolder.kt index aa110f1969..7f739fd8f1 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/viewholders/SkillExampleViewHolder.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/adapters/viewholders/SkillExampleViewHolder.kt @@ -3,12 +3,17 @@ package org.fossasia.susi.ai.skills.skilldetails.adapters.viewholders import android.support.v7.widget.RecyclerView import android.view.View import android.widget.TextView - -import org.fossasia.susi.ai.R - import kotterknife.bindView +import org.fossasia.susi.ai.R -class SkillExampleViewHolder(itemView: View, private val listener: SkillExampleViewHolder.ClickListener?) : RecyclerView.ViewHolder(itemView), View.OnClickListener { +/** + * ViewHolder for drawing skill example item layout. + */ +class SkillExampleViewHolder( + itemView: View, + private val listener: SkillExampleViewHolder.ClickListener? +) + : RecyclerView.ViewHolder(itemView), View.OnClickListener { val example: TextView by bindView(R.id.text) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/adapters/recycleradapters/SkillListAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/adapters/recycleradapters/SkillListAdapter.kt index 813b21a43f..4deb160bcf 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/adapters/recycleradapters/SkillListAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/skilllisting/adapters/recycleradapters/SkillListAdapter.kt @@ -28,7 +28,7 @@ class SkillListAdapter(val context: Context, private val skillDetails: List Date: Wed, 20 Mar 2019 18:31:39 +0530 Subject: [PATCH 15/74] Move from feedback to signup (#2018) --- .../susi/ai/skills/skilldetails/SkillDetailsFragment.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt index bc5d863184..77cb218a6a 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt @@ -36,6 +36,7 @@ import org.fossasia.susi.ai.helper.Utils import org.fossasia.susi.ai.rest.responses.susi.GetSkillFeedbackResponse import org.fossasia.susi.ai.rest.responses.susi.SkillData import org.fossasia.susi.ai.rest.responses.susi.Stars +import org.fossasia.susi.ai.signup.SignUpActivity import org.fossasia.susi.ai.skills.skilldetails.adapters.recycleradapters.FeedbackAdapter import org.fossasia.susi.ai.skills.skilldetails.adapters.recycleradapters.SkillExamplesAdapter import org.fossasia.susi.ai.skills.skilldetails.contract.ISkillDetailsPresenter @@ -497,6 +498,10 @@ class SkillDetailsFragment : Fragment(), ISkillDetailsView { } } else { tvAnonymousPostFeedback.visibility = View.VISIBLE + tvAnonymousPostFeedback.setOnClickListener { + val intentToLogin = Intent(context, SignUpActivity::class.java) + startActivity(intentToLogin) + } } val query = FetchFeedbackQuery(skillData.model, skillData.group, skillData.language, skillTag) From 2adc89a97f0fb6424a306f64c142fbd13ea3af3b Mon Sep 17 00:00:00 2001 From: Anmol Chaddha Date: Wed, 20 Mar 2019 21:02:18 +0530 Subject: [PATCH 16/74] fix: Move from feedback to login (#2037) * move from feedback to login * fixed circle ci build --- .../susi/ai/skills/skilldetails/SkillDetailsFragment.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt index 77cb218a6a..3fa3e0ce0d 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt @@ -33,10 +33,10 @@ import org.fossasia.susi.ai.dataclasses.PostFeedback import org.fossasia.susi.ai.dataclasses.ReportSkillQuery import org.fossasia.susi.ai.helper.PrefManager import org.fossasia.susi.ai.helper.Utils +import org.fossasia.susi.ai.login.LoginActivity import org.fossasia.susi.ai.rest.responses.susi.GetSkillFeedbackResponse import org.fossasia.susi.ai.rest.responses.susi.SkillData import org.fossasia.susi.ai.rest.responses.susi.Stars -import org.fossasia.susi.ai.signup.SignUpActivity import org.fossasia.susi.ai.skills.skilldetails.adapters.recycleradapters.FeedbackAdapter import org.fossasia.susi.ai.skills.skilldetails.adapters.recycleradapters.SkillExamplesAdapter import org.fossasia.susi.ai.skills.skilldetails.contract.ISkillDetailsPresenter @@ -499,7 +499,7 @@ class SkillDetailsFragment : Fragment(), ISkillDetailsView { } else { tvAnonymousPostFeedback.visibility = View.VISIBLE tvAnonymousPostFeedback.setOnClickListener { - val intentToLogin = Intent(context, SignUpActivity::class.java) + val intentToLogin = Intent(context, LoginActivity::class.java) startActivity(intentToLogin) } } From 3fb329d624a1ecc7a9ae105ef122116753b9772f Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Thu, 21 Mar 2019 01:36:19 +0530 Subject: [PATCH 17/74] chore: Add link to terms and condition in signup page (#2040) --- .../org/fossasia/susi/ai/signup/SignUpActivity.kt | 8 ++++++++ app/src/main/res/layout/activity_sign_up.xml | 14 ++++++++++++++ app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-es/strings.xml | 1 + app/src/main/res/values-hi/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values-ml-rIN/strings.xml | 1 + app/src/main/res/values-pt-rBR/strings.xml | 1 + app/src/main/res/values-ta-rIN/strings.xml | 2 +- app/src/main/res/values/strings.xml | 1 + 10 files changed, 30 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt b/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt index 939e0a5c9b..1773d9f152 100644 --- a/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt @@ -6,6 +6,7 @@ import android.app.ProgressDialog import android.content.DialogInterface import android.content.Intent import android.graphics.Color +import android.net.Uri import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.view.MenuItem @@ -82,6 +83,7 @@ class SignUpActivity : AppCompatActivity(), ISignUpView { signUp() signUpToLoginPage() cancelSignUp() + signUpToTermsConditionPage() } override fun onOptionsItemSelected(item: MenuItem): Boolean { @@ -198,6 +200,12 @@ class SignUpActivity : AppCompatActivity(), ISignUpView { } } + private fun signUpToTermsConditionPage() { + signUpToTermsCondition.setOnClickListener { + startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://chat.susi.ai/privacy"))) + } + } + private fun cancelSignUp() { progressDialog.setOnCancelListener { signUpPresenter.cancelSignUp() diff --git a/app/src/main/res/layout/activity_sign_up.xml b/app/src/main/res/layout/activity_sign_up.xml index 38842a7aad..e49d97efbf 100644 --- a/app/src/main/res/layout/activity_sign_up.xml +++ b/app/src/main/res/layout/activity_sign_up.xml @@ -110,5 +110,19 @@ android:textSize="@dimen/text_size_medium" android:textStyle="bold" android:typeface="monospace" /> + + \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index ca6e8af45c..7c6c502e33 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -199,4 +199,5 @@ Keine Geräte gefunden Wenn Sie ein neues Gerät einrichten, stellen Sie sicher, dass es ist  in der Nähe und an eine Steckdose angeschlossen Keine WiFi-Netzwerke gefunden + Geschäftsbedingungen \ No newline at end of file diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 62fdb57545..7c65495a6b 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -42,6 +42,7 @@ Enlace de confirmación para activar su cuenta e iniciar sesión en susi. La contraseña que ha ingresado es incorrecta. Vuelve a intentarlo. Email enviado + Términos y Condiciones No se han encontrado resultados La dirección de correo ya existe diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 07ef886a69..867f12e464 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -33,6 +33,7 @@ आपके द्वारा दर्ज ईमेल एक खाते से संबंधित नहीं है। कृपया अपना ईमेल जांचें और पुनः प्रयास करें। आपके द्वारा दर्ज किया गया पासवर्ड गलत है। कृपया पुन: प्रयास करें। ईमेल भेजा + नियम और शर्तें कोई परिणाम नहीं मिला ईमेल पता पहले से ही मौजूद है diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 70bab108fd..88028ab20e 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -37,6 +37,7 @@ Verifica la tua email e prova nuovamente. la password che hai inserito non è corretta. Riprova. Email inviata + नTermini e condizioni Nessun Risultato Trovato l\'indirizzo email esiste già diff --git a/app/src/main/res/values-ml-rIN/strings.xml b/app/src/main/res/values-ml-rIN/strings.xml index 95a2f53ae8..3411a9b55f 100644 --- a/app/src/main/res/values-ml-rIN/strings.xml +++ b/app/src/main/res/values-ml-rIN/strings.xml @@ -254,4 +254,5 @@ വൈദഗ്ധ്യം റിപ്പോർട്ടുചെയ്യുന്നതിൽ പിശക്. പിന്നീട് വീണ്ടും ശ്രമിക്കുക കഴിവുകൾ വിജയകരമായി റിപ്പോർട്ടുചെയ്തു ശേഷി ഇതിനകം റിപ്പോർട്ടുചെയ്തു + ഉപാധികളും നിബന്ധനകളും \ No newline at end of file diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index ec5266f159..9c942b1035 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -33,6 +33,7 @@ Por favor verifique seu email e tente novamente. A senha que você digitou está incorreta. Por favor tente novamente. Email enviado + Termos e Condições Nenhum Resultado Encontrado Endereço de Email já exite diff --git a/app/src/main/res/values-ta-rIN/strings.xml b/app/src/main/res/values-ta-rIN/strings.xml index cacada0b04..a6043d21a6 100644 --- a/app/src/main/res/values-ta-rIN/strings.xml +++ b/app/src/main/res/values-ta-rIN/strings.xml @@ -261,5 +261,5 @@ நீங்கள் திறமைகளை பெற முடியாது. இணைய இணைப்பைச் சரிபார்க்கவும் அல்லது மீண்டும் முயற்சிக்கவும். - + விதிமுறைகள் மற்றும் நிபந்தனைகள் \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fd934510ab..b30752bb3b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -157,6 +157,7 @@ Sign Up Existing User?\n Click here to Login + Terms and Conditions URL cannot be empty From dffdcfa6f11156ef88be263af88c125a272b1a33 Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Thu, 21 Mar 2019 10:40:17 +0530 Subject: [PATCH 18/74] chore: Add SUSI.AI logo in signup page (#2045) --- app/src/main/res/layout/activity_sign_up.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/src/main/res/layout/activity_sign_up.xml b/app/src/main/res/layout/activity_sign_up.xml index e49d97efbf..04fb2b9cb0 100644 --- a/app/src/main/res/layout/activity_sign_up.xml +++ b/app/src/main/res/layout/activity_sign_up.xml @@ -19,6 +19,15 @@ android:paddingRight="@dimen/margin_large" android:paddingTop="@dimen/margin_large"> + + Date: Thu, 21 Mar 2019 15:21:30 +0530 Subject: [PATCH 19/74] feat: Add feature to move from setting to about us (#2038) * Added feature to move from setting to about us * Made requested changes --- .../susi/ai/skills/settings/ChatSettingsFragment.kt | 12 ++++++++++++ app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/pref_settings.xml | 3 +++ 3 files changed, 17 insertions(+) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt index be583c570f..7a7f53299d 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt @@ -25,6 +25,7 @@ import org.fossasia.susi.ai.helper.Constant import org.fossasia.susi.ai.helper.PrefManager import org.fossasia.susi.ai.login.LoginActivity import org.fossasia.susi.ai.skills.SkillsActivity +import org.fossasia.susi.ai.skills.aboutus.AboutUsFragment import org.fossasia.susi.ai.skills.settings.contract.ISettingsPresenter import org.fossasia.susi.ai.skills.settings.contract.ISettingsView import timber.log.Timber @@ -37,6 +38,7 @@ import timber.log.Timber class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView { + private val TAG_ABOUT_FRAGMENT = "AboutUsFragment" private lateinit var settingsPresenter: ISettingsPresenter private lateinit var rate: Preference @@ -45,6 +47,7 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView { private lateinit var hotwordSettings: Preference lateinit var share: Preference private lateinit var loginLogout: Preference + private lateinit var aboutUs: Preference private lateinit var resetPassword: Preference private lateinit var enterSend: Preference private lateinit var speechAlways: SwitchPreference @@ -80,6 +83,7 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView { hotwordSettings = preferenceManager.findPreference(Constant.HOTWORD_DETECTION) share = preferenceManager.findPreference(Constant.SHARE) loginLogout = preferenceManager.findPreference(Constant.LOGIN_LOGOUT) + aboutUs = preferenceManager.findPreference(getString(R.string.settings_about_us_key)) resetPassword = preferenceManager.findPreference(Constant.RESET_PASSWORD) enterSend = preferenceManager.findPreference(getString(R.string.settings_enterPreference_key)) speechOutput = preferenceManager.findPreference(getString(R.string.settings_speechPreference_key)) as SwitchPreference @@ -130,6 +134,14 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView { true } + aboutUs.setOnPreferenceClickListener { + val aboutFragment = AboutUsFragment() + fragmentManager?.beginTransaction() + ?.replace(R.id.fragment_container, aboutFragment, TAG_ABOUT_FRAGMENT) + ?.addToBackStack(TAG_ABOUT_FRAGMENT) + ?.commit() + true + } share.setOnPreferenceClickListener { try { val shareIntent = Intent() diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b30752bb3b..52339bea89 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -109,6 +109,8 @@ Tap the mic icon to speak device_section display_email + About Us + about_us Sorry - your device doesn\'t support the crop action. diff --git a/app/src/main/res/xml/pref_settings.xml b/app/src/main/res/xml/pref_settings.xml index d14985fde8..8c8e4a2572 100644 --- a/app/src/main/res/xml/pref_settings.xml +++ b/app/src/main/res/xml/pref_settings.xml @@ -108,6 +108,9 @@ android:key="login_logout" android:title="Login" /> + From 09467e6462e21834135194c3a30a793a6bb3ca06 Mon Sep 17 00:00:00 2001 From: Anmol Chaddha Date: Thu, 21 Mar 2019 19:32:04 +0530 Subject: [PATCH 20/74] fix: Correct the directing link of know more in about activity (#2033) * Corrected the directing link of know more * Updated with requested changes --- app/src/main/java/org/fossasia/susi/ai/helper/Constant.kt | 3 +++ .../org/fossasia/susi/ai/skills/aboutus/AboutUsFragment.kt | 3 ++- app/src/main/res/values/strings.xml | 1 - 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/fossasia/susi/ai/helper/Constant.kt b/app/src/main/java/org/fossasia/susi/ai/helper/Constant.kt index deee4fe05d..3e655dd149 100644 --- a/app/src/main/java/org/fossasia/susi/ai/helper/Constant.kt +++ b/app/src/main/java/org/fossasia/susi/ai/helper/Constant.kt @@ -82,4 +82,7 @@ object Constant { //VIDEO ID const val VIDEO_ID = "video_id" + + //know more url + const val susi_know_more_url = "https://dev.susi.ai/" } \ No newline at end of file diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/aboutus/AboutUsFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/aboutus/AboutUsFragment.kt index b2a62110bc..a399f3a49b 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/aboutus/AboutUsFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/aboutus/AboutUsFragment.kt @@ -14,6 +14,7 @@ import android.view.ViewGroup import android.widget.Toast import kotlinx.android.synthetic.main.fragment_about_us.* import org.fossasia.susi.ai.R +import org.fossasia.susi.ai.helper.Constant import org.fossasia.susi.ai.skills.SkillsActivity class AboutUsFragment : Fragment() { @@ -58,7 +59,7 @@ class AboutUsFragment : Fragment() { } know_more_about_susi.setOnClickListener { - val uri = Uri.parse(getString(R.string.susi_know_more_url)) + val uri = Uri.parse(Constant.susi_know_more_url) launchCustomtTab(uri) } about_susi.text = htmlConverter(R.string.susi_about) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 52339bea89..68d45cd023 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -305,7 +305,6 @@ SUSI Skill CMS https://skills.susi.ai SUSI is having many skills. You can look at the collection of skills at skills.susi.ai]]>. SUSI Skill development is easy and fun. You can edit existing skills or even create your own. - https://youtu.be/iOpA1mAy3QQ Click here to Know More]]> From a369683761a2e770dde9a55bcb6e4b18f7752bd6 Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Fri, 22 Mar 2019 10:38:51 +0530 Subject: [PATCH 21/74] feat: Added skip button in signup page (#2044) * Added skip button in signup page * Removed unwanted lines of code * Removed unwanted strings --- .../org/fossasia/susi/ai/signup/SignUpActivity.kt | 10 ++++++++++ app/src/main/res/layout/activity_sign_up.xml | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt b/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt index 1773d9f152..e781e7e154 100644 --- a/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt @@ -13,6 +13,7 @@ import android.view.MenuItem import android.view.View import kotlinx.android.synthetic.main.activity_sign_up.* import org.fossasia.susi.ai.R +import org.fossasia.susi.ai.chat.ChatActivity import org.fossasia.susi.ai.login.LoginActivity import org.fossasia.susi.ai.helper.AlertboxHelper import org.fossasia.susi.ai.helper.Constant @@ -84,6 +85,15 @@ class SignUpActivity : AppCompatActivity(), ISignUpView { signUpToLoginPage() cancelSignUp() signUpToTermsConditionPage() + skipSignUp() + } + + fun skipSignUp() { + skipSignUp.setOnClickListener { + val intent = Intent(this@SignUpActivity, ChatActivity::class.java) + startActivity(intent) + finish() + } } override fun onOptionsItemSelected(item: MenuItem): Boolean { diff --git a/app/src/main/res/layout/activity_sign_up.xml b/app/src/main/res/layout/activity_sign_up.xml index 04fb2b9cb0..ef9832c31d 100644 --- a/app/src/main/res/layout/activity_sign_up.xml +++ b/app/src/main/res/layout/activity_sign_up.xml @@ -120,6 +120,18 @@ android:textStyle="bold" android:typeface="monospace" /> + + Date: Fri, 22 Mar 2019 14:25:56 +0530 Subject: [PATCH 22/74] fix : title change to settings on moving back from about us (#2054) --- .../fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt index 7a7f53299d..10d87a38ca 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt @@ -247,6 +247,11 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView { } } + override fun onResume() { + val thisActivity = activity + if (thisActivity is SkillsActivity) thisActivity.title = getString(R.string.action_settings) + super.onResume() + } private fun setLanguage() { try { if (querylanguage.entries.isNotEmpty()) { From 3b586cd7a65c3380e8f7dde69d6f6eb5737a1879 Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Fri, 22 Mar 2019 14:27:48 +0530 Subject: [PATCH 23/74] feat: Add privacy/terms/condition fragment (#2056) * Add privacy fragment * Spotless check applied --- .../fossasia/susi/ai/skills/SkillsActivity.kt | 10 + .../susi/ai/skills/privacy/PrivacyFragment.kt | 27 ++ app/src/main/res/layout/fragment_privacy.xml | 398 ++++++++++++++++++ .../main/res/menu/skills_activity_menu.xml | 3 + app/src/main/res/values-de/strings.xml | 52 +++ app/src/main/res/values-es/strings.xml | 52 +++ app/src/main/res/values-hi/strings.xml | 52 +++ app/src/main/res/values-it/strings.xml | 52 +++ app/src/main/res/values-ml-rIN/strings.xml | 51 +++ app/src/main/res/values-pt-rBR/strings.xml | 52 +++ app/src/main/res/values-ta-rIN/strings.xml | 52 +++ app/src/main/res/values/dimens.xml | 3 + app/src/main/res/values/strings.xml | 51 +++ 13 files changed, 855 insertions(+) create mode 100644 app/src/main/java/org/fossasia/susi/ai/skills/privacy/PrivacyFragment.kt create mode 100644 app/src/main/res/layout/fragment_privacy.xml diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt b/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt index d7cfd4db89..d40729375d 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt @@ -19,6 +19,7 @@ import org.fossasia.susi.ai.helper.Utils.hideSoftKeyboard import org.fossasia.susi.ai.rest.responses.susi.SkillData import org.fossasia.susi.ai.skills.aboutus.AboutUsFragment import org.fossasia.susi.ai.skills.groupwiseskills.GroupWiseSkillsFragment +import org.fossasia.susi.ai.skills.privacy.PrivacyFragment import org.fossasia.susi.ai.skills.settings.ChatSettingsFragment import org.fossasia.susi.ai.skills.skilldetails.SkillDetailsFragment import org.fossasia.susi.ai.skills.skilllisting.SkillListingFragment @@ -35,6 +36,7 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { private val TAG_SETTINGS_FRAGMENT = "SettingsFragment" private val TAG_SKILLS_FRAGMENT = "SkillsFragment" private val TAG_ABOUT_FRAGMENT = "AboutUsFragment" + private val TAG_PRIVACY_FRAGMENT = "PrivacyFragment" private val TAG_GROUP_WISE_SKILLS_FRAGMENT = "GroupWiseSkillsFragment" private var searchAction: MenuItem? = null @@ -124,6 +126,14 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { .commit() } + R.id.menu_privacy -> { + handleOnLoadingFragment() + val aboutFragment = PrivacyFragment() + supportFragmentManager.beginTransaction() + .replace(R.id.fragment_container, aboutFragment, TAG_PRIVACY_FRAGMENT) + .addToBackStack(TAG_PRIVACY_FRAGMENT) + .commit() + } R.id.action_search -> { handleMenuSearch() } diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/privacy/PrivacyFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/privacy/PrivacyFragment.kt new file mode 100644 index 0000000000..4c98e7974b --- /dev/null +++ b/app/src/main/java/org/fossasia/susi/ai/skills/privacy/PrivacyFragment.kt @@ -0,0 +1,27 @@ +package org.fossasia.susi.ai.skills.privacy + +import android.os.Bundle +import android.support.v4.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import org.fossasia.susi.ai.R + +class PrivacyFragment : Fragment() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + } + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + val thisActivity = activity + thisActivity?.title = getString(R.string.menu_item_privacy) + val rootView = inflater.inflate(R.layout.fragment_privacy, container, false) + setHasOptionsMenu(true) + return rootView + } +} diff --git a/app/src/main/res/layout/fragment_privacy.xml b/app/src/main/res/layout/fragment_privacy.xml new file mode 100644 index 0000000000..4cef84d01f --- /dev/null +++ b/app/src/main/res/layout/fragment_privacy.xml @@ -0,0 +1,398 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/menu/skills_activity_menu.xml b/app/src/main/res/menu/skills_activity_menu.xml index 2446eb2e46..15e2dc08f3 100644 --- a/app/src/main/res/menu/skills_activity_menu.xml +++ b/app/src/main/res/menu/skills_activity_menu.xml @@ -11,6 +11,9 @@ android:id="@+id/menu_about" android:icon="@drawable/ic_about" android:title="@string/menu_item_about" /> + Wenn Sie ein neues Gerät einrichten, stellen Sie sicher, dass es ist  in der Nähe und an eine Steckdose angeschlossen
Keine WiFi-Netzwerke gefunden Geschäftsbedingungen + + + Willkommen bei SUSI.AI + Vielen Dank, dass Sie unsere Produkte und Dienstleistungen nutzen ("Dienste"). Die Dienstleistungen werden von SUSI Inc. ("SUSI") in 93 Mau Than, Can Tho City, Vietnam, bereitgestellt. Durch die Nutzung unserer Dienste stimmen Sie diesen Bedingungen zu. Bitte lesen Sie sie sorgfältig durch. + Nutzung unserer Dienstleistungen + Sie müssen alle Richtlinien einhalten, die Ihnen innerhalb der Dienste zur Verfügung gestellt werden. +        \nDer Service darf nicht missbraucht werden. Beeinflussen Sie beispielsweise nicht unsere Services oder versuchen Sie, mit einer anderen Methode als der Benutzeroberfläche und den von uns bereitgestellten Anweisungen auf sie zuzugreifen. Sie dürfen unsere Dienste nur im gesetzlich zulässigen Umfang nutzen, einschließlich der geltenden Gesetze und Bestimmungen zur Kontrolle der Ausfuhr- und Wiederausfuhrkontrollen. Wir können die Bereitstellung unserer Dienste für Sie einstellen oder einstellen, wenn Sie unsere Bedingungen oder Richtlinien nicht einhalten oder mutmaßliches Fehlverhalten untersuchen. +        \nBei Verwendung unserer Dienste erhalten Sie kein Eigentum an geistigen Eigentumsrechten an unseren Diensten oder den Inhalten, auf die Sie zugreifen. Sie dürfen Inhalte aus unseren Diensten nicht verwenden, es sei denn, Sie erhalten die Erlaubnis des Eigentümers oder sind anderweitig gesetzlich zulässig. Diese Bedingungen gewähren Ihnen nicht das Recht, Marken oder Logos zu verwenden, die in unseren Services verwendet werden. Entfernen, verdecken oder verändern Sie keine rechtlichen Hinweise, die in unseren Services oder zusammen mit unseren Services angezeigt werden. +        \nUnsere Services zeigen Inhalte an, die nicht von SUSI sind. Für diesen Inhalt ist ausschließlich das Unternehmen verantwortlich, das es zur Verfügung stellt. Wir können Inhalte überprüfen, um festzustellen, ob sie rechtswidrig sind oder gegen unsere Richtlinien verstoßen, und wir können Inhalte entfernen oder ablehnen, von denen wir vernünftigerweise annehmen, dass sie gegen unsere Richtlinien oder Gesetze verstoßen. Dies bedeutet jedoch nicht zwangsläufig, dass wir Inhalte überprüfen. Nehmen Sie also nicht an, dass wir dies tun. +        \nIn Verbindung mit Ihrer Nutzung der Dienste senden wir Ihnen möglicherweise Dienstankündigungen, Verwaltungsmeldungen und andere Informationen. Einige dieser Mitteilungen können Sie abwählen. +        \nEinige unserer Services sind auf mobilen Geräten verfügbar. Verwenden Sie solche Dienste nicht auf eine Weise, die Sie ablenkt und verhindert, dass Sie die Verkehrs- oder Sicherheitsvorschriften einhalten. + + Ihr SUSI-Konto + Möglicherweise benötigen Sie ein SUSI-Konto, um einige unserer Dienste nutzen zu können. Sie können Ihr eigenes SUSI-Konto erstellen oder Ihr SUSI-Konto kann Ihnen von einem Administrator wie Ihrem Arbeitgeber oder Ihrer Bildungseinrichtung zugewiesen werden. Wenn Sie ein SUSI-Konto verwenden, das Ihnen von einem Administrator zugewiesen wurde, gelten möglicherweise andere oder zusätzliche Bestimmungen, und Ihr Administrator kann auf Ihr Konto zugreifen oder es deaktivieren. +        \nUm Ihr SUSI-Konto zu schützen, halten Sie Ihr Kennwort geheim. Sie sind für die Aktivitäten verantwortlich, die auf oder über Ihr SUSI-Konto stattfinden. Versuchen Sie, Ihr SUSI-Kontokennwort nicht in Anwendungen von Drittanbietern zu verwenden. Wenn Sie von einer unbefugten Verwendung Ihres Passworts oder SUSI-Kontos erfahren, ändern Sie Ihr Passwort und ergreifen Sie Maßnahmen, um Ihr Konto zu sichern. + Datenschutz und Copyright-Schutz + Die Datenschutzrichtlinien von SUSI gewährleisten, dass Ihre persönlichen Daten sicher und geschützt sind. Durch die Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass SUSI diese Daten in Übereinstimmung mit unseren Datenschutzrichtlinien verwenden kann. +        \nWir reagieren auf Hinweise auf mutmaßliche Urheberrechtsverletzungen und kündigen Konten wiederholter Rechtsverletzer. Wenn Sie der Meinung sind, dass jemand gegen Ihre Urheberrechte verstößt und Sie uns benachrichtigen möchten, finden Sie Informationen zum Senden von Benachrichtigungen und die SUSI-Richtlinien zum Antworten auf Hinweise auf unserer Website. + Ihre Inhalte in unseren Services + SMit einigen unserer Dienste können Sie Inhalte hochladen, übermitteln, speichern, senden und empfangen. Sie behalten das Eigentum an allen geistigen Eigentumsrechten, die Sie an diesen Inhalten besitzen. Kurz gesagt, was Ihnen gehört, bleibt Ihnen. +        \nWenn Sie Inhalte in unsere Dienste hochladen oder einreichen, speichern, senden oder empfangen, erteilen Sie SUSI (und denjenigen, mit denen wir zusammenarbeiten) eine weltweite Lizenz zur Verwendung, zum Hosting, Speichern, Reproduzieren, Ändern und Erstellen abgeleiteter Werke (wie z. B. solche) aufgrund von Übersetzungen, Anpassungen oder anderen Änderungen, die wir vornehmen, damit Ihre Inhalte besser mit unseren Services funktionieren), kommunizieren, veröffentlichen, öffentlich durchführen, öffentlich anzeigen und verteilen. Die Rechte, die Sie in der Lizenz einräumen, dienen dem eingeschränkten Zweck, unsere Dienste zu betreiben, zu fördern, zu verbessern und neue zu entwickeln. Diese Lizenz bleibt auch dann erhalten, wenn Sie unsere Dienste nicht mehr nutzen (z. B. für einen Brancheneintrag, den Sie SUSI Maps hinzugefügt haben). Einige Dienste bieten Ihnen möglicherweise die Möglichkeit, auf Inhalte zuzugreifen und diese zu entfernen, die für diesen Dienst bereitgestellt wurden. In einigen unserer Services gibt es auch Bedingungen oder Einstellungen, die den Umfang unserer Nutzung der Inhalte, die in diesen Services eingereicht werden, einschränken. Stellen Sie sicher, dass Sie über die erforderlichen Rechte für eine Grant-Lizenz für alle Inhalte verfügen, die Sie an unsere Services übermitteln. +        \nWenn Sie über ein SUSI-Konto verfügen, zeigen wir möglicherweise Ihren Profilnamen, Ihr Profilfoto und die Aktionen an, die Sie bei SUSI oder bei Anwendungen von Drittanbietern, die mit Ihrem SUSI-Konto verbunden sind, in unseren Services anzeigen können, einschließlich Anzeigen in Anzeigen und anderen geschäftlichen Kontexten. Wir werden die von Ihnen getroffenen Entscheidungen zur Beschränkung der Freigabe- oder Sichtbarkeitseinstellungen in Ihrem SUSI-Konto respektieren. + + Über Software in unseren Dienstleistungen + Wenn ein Dienst herunterladbare Software erfordert oder enthält, wird die Software möglicherweise automatisch auf Ihrem Gerät aktualisiert, sobald eine neue Version oder Funktion verfügbar ist. Bei einigen Diensten können Sie Ihre Einstellungen für die automatische Aktualisierung anpassen. +        \nSUSI gibt Ihnen eine persönliche, weltweite, gebührenfreie, nicht übertragbare und nicht ausschließliche Lizenz zur Nutzung der von SUSI im Rahmen der Dienste bereitgestellten Software. Diese Lizenz dient ausschließlich dazu, Ihnen zu ermöglichen, die von SUSI bereitgestellten Dienste in der von diesen Bedingungen vorgesehenen Weise zu nutzen und zu nutzen. +        \nDie meisten unserer Dienste werden über Freie Software und / oder Open Source-Software angeboten. Sie dürfen diese Anwendungen kopieren, modifizieren, verteilen, verkaufen oder leasen und den Quellcode dieser Software freigeben, wie in der mit der Software bereitgestellten Lizenzvereinbarung angegeben. + + Änderung und Beendigung unserer Dienste + Wir verändern und verbessern ständig unsere Dienstleistungen. Wir können Funktionen oder Funktionen hinzufügen oder entfernen und einen Dienst insgesamt aussetzen oder beenden. +        \nSie können unsere Dienste jederzeit beenden. SUSI kann auch aufhören, Ihnen Dienste anzubieten, oder Sie können unseren Diensten jederzeit neue Beschränkungen hinzufügen oder hinzufügen. +        \nWir glauben, dass Sie Ihre Daten besitzen und dass der Zugriff auf diese Daten erhalten bleibt. Wenn wir einen Dienst einstellen, sofern dies vernünftigerweise möglich ist, werden wir Sie rechtzeitig darüber informieren und die Möglichkeit haben, Informationen aus diesem Dienst herauszuholen. + Unsere Garantien und Haftungsausschlüsse + Wir bieten unsere Dienstleistungen mit einem angemessenen Maß an Können und Sorgfalt an und wir hoffen, dass Sie es genießen werden. Es gibt jedoch bestimmte Dinge, die wir bezüglich unserer Services nicht versprechen. +        \nWie nicht ausdrücklich in diesen Bedingungen oder zusätzlichen Bestimmungen dargelegt, geben weder SUSI noch seine Lieferanten oder Händler bestimmte Versprechen bezüglich der Services ab. Zum Beispiel geben wir keine Verpflichtungen bezüglich des Inhalts der Services, der spezifischen Funktionen der Services oder ihrer Zuverlässigkeit, Verfügbarkeit oder Fähigkeit, Ihre Bedürfnisse zu erfüllen. Wir bieten die Dienstleistungen "wie sie sind" an. +        \nIn einigen Gerichtsbarkeiten sind bestimmte Garantien vorgesehen, wie z. B. die implizite Gewährleistung der Handelsfähigkeit, die Eignung für einen bestimmten Zweck und die Nichtverletzung. Soweit gesetzlich zulässig, schließen wir jegliche Gewährleistung aus. + + Haftung für unsere Dienstleistungen + Soweit dies gesetzlich zulässig ist, übernehmen SUSI sowie die Lieferanten und Vertriebshändler von SUSI keine Haftung für entgangenen Gewinn, Einnahmen oder Daten, finanzielle Verluste oder indirekte Schäden, Folgeschäden, Folgeschäden, Musterschäden oder Strafschadenersatz. +        Soweit gesetzlich zulässig, ist die Gesamthaftung von SUSI sowie ihrer Lieferanten und Vertriebshändler für Ansprüche unter diesen Bedingungen, einschließlich etwaiger implizierter Garantien, auf den Betrag begrenzt, den Sie uns für die Nutzung der Services bezahlt haben (oder, wenn wir dies tun) wählen Sie, um Ihnen die Dienste erneut bereitzustellen). +        In allen Fällen haften SUSI, seine Lieferanten und Händler nicht für Verluste oder Schäden, die nicht vernünftigerweise vorhersehbar sind. +        \nWir erkennen an, dass Sie in einigen Ländern möglicherweise rechtliche Rechte als Verbraucher haben. Wenn Sie die Dienste für einen persönlichen Zweck nutzen, schränkt nichts in diesen Bedingungen oder zusätzlichen Bedingungen die gesetzlichen Rechte des Verbrauchers ein, auf die nicht vertraglich verzichtet werden kann. + Geschäftsanwendungen unserer Dienstleistungen + Wenn Sie unsere Dienstleistungen für ein Unternehmen nutzen, akzeptiert dieses Unternehmen diese Bedingungen. Sie wird SUSI und ihre verbundenen Unternehmen, leitenden Angestellten, Vertreter und Angestellten von jeglichen Ansprüchen, Klagen oder Handlungen freistellen, die sich aus oder im Zusammenhang mit der Nutzung der Dienste oder einem Verstoß gegen diese Bedingungen ergeben, einschließlich jeglicher Haftung oder Kosten, die sich aus Ansprüchen und Verlusten ergeben , Schadensersatz, Verfahren, Urteile, Prozesskosten und Anwaltskosten. + Über diese Bedingungen + Wir können diese Bedingungen oder zusätzliche Bedingungen, die für einen Dienst gelten, ändern, um beispielsweise Gesetzesänderungen oder Änderungen an unseren Diensten widerzuspiegeln. Sie sollten sich die Bedingungen regelmäßig ansehen. Änderungen an diesen Bedingungen werden auf der Seite bekannt gegeben. Wir werden die geänderten zusätzlichen Bedingungen in dem entsprechenden Service bekannt geben. Änderungen gelten nicht rückwirkend und werden frühestens vierzehn Tage nach Veröffentlichung wirksam. Änderungen, die neue Funktionen für einen Dienst betreffen, oder Änderungen, die aus rechtlichen Gründen vorgenommen wurden, werden jedoch sofort wirksam. Wenn Sie den geänderten Bedingungen für einen Dienst nicht zustimmen, sollten Sie die Verwendung dieses Dienstes einstellen. +        \nWenn zwischen diesen Bedingungen und den zusätzlichen Bedingungen ein Konflikt besteht, werden die zusätzlichen Bedingungen für diesen Konflikt maßgeblich sein. Diese Bedingungen steuern die Beziehung zwischen SUSI und Ihnen. Sie begründen keine Rechte Dritter. +        \nWenn Sie sich nicht an diese Bedingungen halten und wir nicht sofort tätig werden, bedeutet dies nicht, dass wir jegliche Rechte aufgeben, die wir möglicherweise haben (z. B. zukünftiges Handeln). +        \nWenn sich herausstellt, dass ein bestimmter Begriff nicht durchsetzbar ist, werden keine anderen Bestimmungen berührt. +        \nSie stimmen zu, dass die Gesetze von Can Tho, Vietnam für alle Streitigkeiten gelten, die sich aus diesen Bedingungen oder den Dienstleistungen ergeben oder sich auf diese beziehen. Alle Ansprüche, die sich aus oder in Bezug auf diese Bedingungen oder die Dienstleistungen ergeben, werden ausschließlich vor den Gerichten von Can Tho City, Vietnam, geführt. Sie und SUSI erklären sich mit der persönlichen Zuständigkeit dieser Gerichte einverstanden. +        \nFür Informationen zur Kontaktaufnahme mit SUSI besuchen Sie bitte unsere Kontaktseite. + Privatsphäre \ No newline at end of file diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 7c65495a6b..130beafc9c 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -152,4 +152,56 @@ Enlace de confirmación para activar su cuenta e iniciar sesión en susi.Oye, prueba esto! - %s . Lo amarás!
Por favor, vuelva a intentarlo Logout + + + Bienvenidos a SUSI.AI + Gracias por utilizar nuestros productos y servicios ("Servicios"). Los servicios son proporcionados por SUSI Inc. ("SUSI"), ubicado en 93 Mau Than, Can Tho City, Vietnam Al utilizar nuestros Servicios, usted acepta estos términos. Por favor léalos cuidadosamente. + Usando Nuestros Servicios + Debe seguir todas las políticas puestas a su disposición en los Servicios. +        \nNo maltrate nuestros servicios. Por ejemplo, no interfiera con nuestros Servicios ni intente acceder a ellos utilizando un método que no sea la interfaz y las instrucciones que proporcionamos. Puede usar nuestros Servicios solo según lo permitido por la ley, incluidas las leyes y regulaciones de control de exportación y reexportación aplicables. Podemos suspender o dejar de proporcionarle nuestros Servicios si no cumple con nuestros términos o políticas o si estamos investigando una conducta sospechosa. +        \nEl uso de nuestros Servicios no le otorga la propiedad de ningún derecho de propiedad intelectual sobre nuestros Servicios o el contenido al que accede. No puede utilizar el contenido de nuestros Servicios a menos que obtenga el permiso de su propietario o esté permitido por la ley. Estos términos no le otorgan el derecho de utilizar cualquier marca o logotipo utilizado en nuestros Servicios. No elimine, oculte ni altere ningún aviso legal que aparezca en nuestros Servicios o junto con ellos. +        \nNuestros servicios muestran contenido que no es de SUSI. Este contenido es responsabilidad exclusiva de la entidad que lo pone a disposición. Podemos revisar el contenido para determinar si es ilegal o viola nuestras políticas, y podemos eliminar o negarnos a mostrar contenido que creemos razonablemente que viola nuestras políticas o la ley. Pero eso no significa necesariamente que revisemos el contenido, así que, por favor, no asuma que lo hacemos. +        \nEn relación con su uso de los Servicios, podemos enviarle anuncios de servicio, mensajes administrativos y otra información. Usted puede optar por salir de algunas de esas comunicaciones. +        \nAlgunos de nuestros servicios están disponibles en dispositivos móviles. No use dichos Servicios de una manera que lo distraiga y le impida obedecer las leyes de tráfico o seguridad. + + Tu cuenta de SUSI + Es posible que necesite una cuenta de SUSI para utilizar algunos de nuestros servicios. Puede crear su propia cuenta de SUSI, o un administrador, como su empleador o institución educativa, le puede asignar su cuenta de SUSI. Si está utilizando una cuenta de SUSI asignada por un administrador, pueden aplicarse términos diferentes o adicionales y su administrador puede acceder o deshabilitar su cuenta. +        \nPara proteger su cuenta de SUSI, mantenga su contraseña confidencial. Usted es responsable de la actividad que ocurre en oa través de su cuenta de SUSI. Intente no reutilizar la contraseña de su cuenta SUSI en aplicaciones de terceros. Si se entera de un uso no autorizado de su contraseña o cuenta de SUSI, cambie su contraseña y tome medidas para proteger su cuenta. + Privacidad y protección de derechos de autor + SLas políticas de privacidad de USI aseguran que sus datos personales estén seguros y protegidos. Al utilizar nuestros Servicios, usted acepta que SUSI puede usar dichos datos de acuerdo con nuestras políticas de privacidad. +        \n Respondemos a las notificaciones de supuestas infracciones de derechos de autor y cancelamos las cuentas de los infractores reincidentes. Si cree que alguien está violando sus derechos de autor y desea notificarnos, puede encontrar información sobre cómo enviar notificaciones y la política de SUSI sobre cómo responder a las notificaciones en nuestro sitio web. + Su contenido en nuestros servicios + Algunos de nuestros Servicios le permiten cargar, enviar, almacenar, enviar o recibir contenido. Usted conserva la propiedad de cualquier derecho de propiedad intelectual que posea en ese contenido. En definitiva, lo que te pertenece sigue siendo tuyo. +        \nCuando usted carga, envía, almacena, envía o recibe contenido a través de nuestros Servicios, otorga a SUSI (y a aquellos con quienes trabajamos) una licencia mundial para usar, alojar, almacenar, reproducir, modificar y crear trabajos derivados (como los resultantes de las traducciones, adaptaciones u otros cambios que hacemos para que su contenido funcione mejor con nuestros Servicios), comuníquese, publique, realice públicamente, muestre y distribuya públicamente dicho contenido. Los derechos que otorga en la licencia son para el propósito limitado de operar, promover y mejorar nuestros Servicios, y para desarrollar otros nuevos. Esta licencia continúa incluso si deja de usar nuestros Servicios (por ejemplo, para una lista de empresas que ha agregado a SUSI Maps). Es posible que algunos Servicios le ofrezcan formas de acceder y eliminar el contenido que se ha proporcionado a ese Servicio. Además, en algunos de nuestros Servicios, hay términos o configuraciones que limitan el alcance de nuestro uso del contenido enviado en esos Servicios. Asegúrese de tener los derechos necesarios para otorgar una licencia para cualquier contenido que envíe a nuestros Servicios. +        \nSi tiene una cuenta de SUSI, podemos mostrar el nombre de su perfil, la foto del perfil y las acciones que realiza en SUSI o en aplicaciones de terceros conectadas a su cuenta de SUSI en nuestros Servicios, incluida la visualización en anuncios y otros contextos comerciales. Respetaremos las opciones que tome para limitar los ajustes de compartición o visibilidad en su cuenta SUSI. + + Acerca del software en nuestros servicios + Cuando un Servicio requiere o incluye software descargable, el software puede actualizarse automáticamente en su dispositivo una vez que haya disponible una nueva versión o función. Algunos Servicios pueden permitirle ajustar la configuración de actualización automática. +        \nSUSI le otorga una licencia personal, mundial, libre de regalías, no asignable y no exclusiva para usar el software que le proporciona SUSI como parte de los Servicios. Esta licencia tiene el único propósito de permitirle usar y disfrutar de los beneficios de los Servicios proporcionados por SUSI, de la manera permitida por estos términos. +        \nLa mayoría de nuestros servicios se ofrecen a través de software libre y / o software de código abierto. Puede copiar, modificar, distribuir, vender o arrendar estas aplicaciones y compartir el código fuente de ese software como se indica en el Acuerdo de licencia provisto con el Software. + + Modificando y terminando nuestros servicios + Estamos constantemente cambiando y mejorando nuestros servicios. Podemos agregar o eliminar funcionalidades o características, y podemos suspender o detener un Servicio por completo. +        \nUsted puede dejar de usar nuestros Servicios en cualquier momento. SUSI también puede dejar de proporcionarle Servicios, o agregar o crear nuevos límites a nuestros Servicios en cualquier momento. +        \n Creemos que usted es dueño de sus datos y que preservar su acceso a dichos datos es importante. Si descontinuamos un Servicio, cuando sea razonablemente posible, le daremos un aviso anticipado razonable y la oportunidad de obtener información de ese Servicio. + Nuestras garantías y exenciones de responsabilidad + Proporcionamos nuestros servicios con un nivel razonable de habilidad y cuidado y esperamos que disfrute al usarlos. Pero hay ciertas cosas que no prometemos sobre nuestros Servicios. +        \n Además de lo expresamente establecido en estos términos o términos adicionales, ni SUSI ni sus proveedores o distribuidores hacen promesas específicas sobre los Servicios. Por ejemplo, no asumimos ningún compromiso sobre el contenido de los Servicios, las funciones específicas de los Servicios o su confiabilidad, disponibilidad o capacidad para satisfacer sus necesidades. Proporcionamos los Servicios "tal cual". +        \nAlgunas jurisdicciones ofrecen ciertas garantías, como la garantía implícita de comercialización, idoneidad para un propósito particular y no infracción. En la medida permitida por la ley, excluimos todas las garantías. + + Responsabilidad por nuestros servicios + Cuando lo permita la ley, SUSI y los proveedores y distribuidores de SUSI no serán responsables de la pérdida de beneficios, ingresos o datos, pérdidas financieras o daños indirectos, especiales, consecuentes, ejemplares o punitivos. +        \n En la medida permitida por la ley, la responsabilidad total de SUSI, y sus proveedores y distribuidores, por cualquier reclamo bajo estos términos, incluidas las garantías implícitas, se limita al monto que nos pagó para usar los Servicios (o Elija, para suministrarle nuevamente los Servicios). +        \n En todos los casos, SUSI, y sus proveedores y distribuidores no serán responsables de ninguna pérdida o daño que no sea razonablemente previsible. +        \n Reconocemos que en algunos países, es posible que tenga derechos legales como consumidor. Si está utilizando los Servicios para un propósito personal, entonces nada en estos términos o términos adicionales limita los derechos legales de los consumidores que no pueden ser renunciados por contrato. + Usos comerciales de nuestros servicios. + Si está utilizando nuestros Servicios en nombre de una empresa, esa empresa acepta estos términos. No eximirá de daños e indemnizará a SUSI y sus afiliados, funcionarios, agentes y empleados de cualquier reclamo, demanda o acción que surja de o esté relacionada con el uso de los Servicios o la violación de estos términos, incluida cualquier responsabilidad o gasto que surja de reclamos, pérdidas , daños, juicios, juicios, costos de litigios y honorarios de abogados. + Sobre estos terminos + Podemos modificar estos términos o cualquier término adicional que se aplique a un Servicio para, por ejemplo, reflejar cambios en la ley o cambios en nuestros Servicios. Debes mirar los términos regularmente. Publicaremos un aviso de modificaciones a estos términos en la página. Publicaremos un aviso de los términos adicionales modificados en el Servicio correspondiente. Los cambios no se aplicarán de manera retroactiva y entrarán en vigencia a más tardar catorce días después de su publicación. Sin embargo, los cambios que abordan nuevas funciones para un Servicio o los cambios realizados por razones legales serán efectivos de inmediato. Si no está de acuerdo con los términos modificados para un Servicio, debe interrumpir su uso de ese Servicio. +        \nSi hay un conflicto entre estos términos y los términos adicionales, los términos adicionales controlarán ese conflicto. Estos términos controlan la relación entre SUSI y usted. No crean derechos de terceros beneficiarios. +        \nSi no cumple con estos términos y no tomamos medidas de inmediato, no significa que estamos renunciando a ningún derecho que podamos tener (como tomar medidas en el futuro). +        \nSi resulta que un término en particular no es ejecutable, no afectará ningún otro término. +        \nUsted acepta que las leyes de Can Tho, Viet Nam se aplicarán a cualquier disputa que surja de o se relacione con estos términos o los Servicios. Todas las reclamaciones que surjan de o estén relacionadas con estos términos o los servicios se litigarán exclusivamente en los tribunales de Can Tho City, Viet Nam, y usted y SUSI aceptan la jurisdicción personal de dichos tribunales. +        \nPara obtener información sobre cómo ponerse en contacto con SUSI, visite nuestra página de contacto. + Intimidad \ No newline at end of file diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 867f12e464..d4fe246565 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -329,4 +329,56 @@ प्लेसहोल्डर कुल रेटिंग अवैध प्रत्यय पत्र अमान्य क्रेडेंशियल्स शीर्षक + + + SUSI.AI में आपका स्वागत है + Tहमारे उत्पादों और सेवाओं ("सेवा") का उपयोग करने के लिए हैंक्स। सेवा SUSI Inc. ("SUSI") द्वारा प्रदान की जाती है, जो 93 मऊ थान, कैन थू सिटी, वियतनाम में स्थित है। हमारी सेवाओं का उपयोग करके, आप इन शर्तों से सहमत हैं। इन्हे कृपया ध्यानपूर्वक पढ़े। + हमारी सेवाओं का उपयोग करना + आपको सेवाओं के भीतर उपलब्ध कराई गई नीतियों का पालन करना चाहिए। +        \n हमारी सेवाओं का दुरुपयोग नहीं करेंगे। उदाहरण के लिए, हमारी सेवाओं में हस्तक्षेप न करें या इंटरफ़ेस और हमारे द्वारा दिए गए निर्देशों के अलावा किसी अन्य विधि का उपयोग करके उन्हें एक्सेस करने का प्रयास करें। आप हमारी सेवाओं का उपयोग केवल कानून द्वारा अनुमति के अनुसार कर सकते हैं, जिसमें लागू निर्यात और नियंत्रण निर्यात कानून और नियम शामिल हैं। यदि आप हमारी शर्तों या नीतियों का अनुपालन नहीं करते हैं या यदि हम संदिग्ध कदाचार की जांच कर रहे हैं तो हम आपको हमारी सेवाएं प्रदान करना या रोक सकते हैं। +        \n हमारी सेवाओं का उपयोग करने से आपको हमारी सेवाओं या आपके द्वारा उपयोग की जाने वाली सामग्री में किसी भी बौद्धिक संपदा अधिकार का स्वामित्व नहीं मिलता है। जब तक आप इसके स्वामी से अनुमति नहीं लेते या कानून द्वारा अनुमति नहीं दी जाती, तब तक आप हमारी सेवाओं से सामग्री का उपयोग नहीं कर सकते। ये शर्तें आपको हमारी सेवाओं में उपयोग किए गए किसी भी ब्रांडिंग या लोगो का उपयोग करने का अधिकार नहीं देती हैं। हमारी सेवाओं के साथ या साथ प्रदर्शित किसी भी कानूनी नोटिस को हटाएं, अस्पष्ट या परिवर्तित नहीं करें। +        \n हमारी सेवाएं कुछ ऐसी सामग्री प्रदर्शित करती हैं जो SUSI की नहीं हैं। यह सामग्री उस इकाई की एकमात्र जिम्मेदारी है जो इसे उपलब्ध कराती है। हम यह निर्धारित करने के लिए सामग्री की समीक्षा कर सकते हैं कि यह अवैध है या हमारी नीतियों का उल्लंघन करता है या नहीं, और हम उस सामग्री को प्रदर्शित करने से इंकार या अस्वीकार कर सकते हैं, जिस पर हमें विश्वास है कि वह हमारी नीतियों या कानून का उल्लंघन करती है। लेकिन इसका मतलब यह नहीं है कि हम सामग्री की समीक्षा करते हैं, इसलिए कृपया यह न मानें कि हम करते हैं। +        \n आपके सेवाओं के उपयोग के संबंध में, हम आपको सेवा घोषणाएँ, प्रशासनिक संदेश और अन्य जानकारी भेज सकते हैं। आप उन कुछ संचारों से बाहर निकल सकते हैं। +        \nहमारी सेवाओं के कुछ मोबाइल उपकरणों पर उपलब्ध हैं। ऐसी सेवाओं का उपयोग इस तरह से न करें जो आपको विचलित करें और आपको यातायात या सुरक्षा कानूनों का पालन करने से रोकता है। + + आपका SUSI खाता + हमारी कुछ सेवाओं का उपयोग करने के लिए आपको एक SUSI खाते की आवश्यकता हो सकती है। आप अपना स्वयं का SUSI खाता बना सकते हैं, या आपका SUSI खाता आपको किसी व्यवस्थापक, जैसे कि आपके नियोक्ता या शैक्षणिक संस्थान द्वारा सौंपा जा सकता है। यदि आप किसी व्यवस्थापक द्वारा आपको सौंपे गए SUSI खाते का उपयोग कर रहे हैं, तो विभिन्न या अतिरिक्त शर्तें लागू हो सकती हैं और आपका व्यवस्थापक आपके खाते को एक्सेस या अक्षम करने में सक्षम हो सकता है। +        \n अपने SUSI खाते की सुरक्षा करें, अपना पासवर्ड गोपनीय रखें। आपके SUSI खाते पर या उसके माध्यम से होने वाली गतिविधि के लिए आप जिम्मेदार हैं। तृतीय-पक्ष एप्लिकेशन पर अपने SUSI खाता पासवर्ड का पुन: उपयोग न करने का प्रयास करें। यदि आप अपने पासवर्ड या SUSI खाते के किसी भी अनधिकृत उपयोग के बारे में जानते हैं, तो अपना पासवर्ड बदलें और अपने खाते को सुरक्षित करने के उपाय करें। + गोपनीयता और कॉपीराइट संरक्षण + SUSI की गोपनीयता नीतियां सुनिश्चित करती हैं कि आपका व्यक्तिगत डेटा सुरक्षित और संरक्षित है। हमारी सेवाओं का उपयोग करके, आप सहमत हैं कि SUSI हमारी गोपनीयता नीतियों के अनुसार इस तरह के डेटा का उपयोग कर सकता है। +        \n हम कथित कॉपीराइट उल्लंघन के नोटिस का जवाब देते हैं और दोहराने वाले उल्लंघनकर्ताओं के खातों को समाप्त करते हैं। यदि आपको लगता है कि कोई व्यक्ति आपके कॉपीराइट का उल्लंघन कर रहा है और हमें सूचित करना चाहता है, तो आप हमारी वेबसाइट पर नोटिस का जवाब देने के बारे में नोटिस और SUSI की नीति सबमिट करने के बारे में जानकारी पा सकते हैं। + हमारी सेवाओं में आपकी सामग्री + हमारी कुछ सेवाएँ आपको सामग्री अपलोड करने, जमा करने, स्टोर करने, भेजने या प्राप्त करने की अनुमति देती हैं। आप किसी भी बौद्धिक संपदा अधिकारों के स्वामित्व को बनाए रखते हैं जो आप उस सामग्री में रखते हैं। संक्षेप में, जो आपका है वह आपका है। +        \n जब आप हमारी सेवाओं के माध्यम से सामग्री को अपलोड, सबमिट, स्टोर, भेजते या प्राप्त करते हैं, तो आप व्युत्पन्न कार्यों का उपयोग करने, होस्ट करने, स्टोर करने, पुन: पेश करने, संशोधित करने, संशोधित करने, बनाने के लिए एक विश्वव्यापी लाइसेंस देते हैं अनुवाद, अनुकूलन या हमारे द्वारा किए गए अन्य परिवर्तनों के परिणामस्वरूप, ताकि आपकी सामग्री हमारी सेवाओं के साथ बेहतर काम करे), संवाद करें, प्रकाशित करें, सार्वजनिक रूप से प्रदर्शन करें, सार्वजनिक रूप से प्रदर्शित करें और ऐसी सामग्री वितरित करें। लाइसेंस में आप जो अधिकार देते हैं, वे हमारी सेवाओं के संचालन, प्रचार और सुधार और नए लोगों को विकसित करने के सीमित उद्देश्य के लिए हैं। यह लाइसेंस तब भी जारी रहता है जब आप हमारी सेवाओं का उपयोग करना बंद कर देते हैं (उदाहरण के लिए, आपके द्वारा SUSI मैप्स में जोड़ी गई व्यावसायिक सूची के लिए)। कुछ सेवाएँ आपको उस सेवा को प्रदान की गई सामग्री तक पहुँचने और हटाने के तरीके दे सकती हैं। इसके अलावा, हमारी कुछ सेवाओं में, ऐसी शर्तें या सेटिंग्स हैं जो उन सेवाओं में प्रस्तुत सामग्री के हमारे उपयोग के दायरे को कम करती हैं। सुनिश्चित करें कि आपके पास हमारी सेवाओं के लिए सबमिट की गई किसी भी सामग्री के लिए अनुदान लाइसेंस के लिए आवश्यक अधिकार हैं। +        \n यदि आपके पास एक SUSI खाता है, तो हम हमारी सेवाओं में आपके SUSI खाते से जुड़े विज्ञापनों और अन्य वाणिज्यिक प्रतियोगिताओं में आपके प्रोफ़ाइल नाम, प्रोफ़ाइल फ़ोटो, और आपके SUSI खाते से जुड़े तृतीय-पक्ष एप्लिकेशन पर प्रदर्शित हो सकते हैं। हम आपके SUSI खाते में साझाकरण या दृश्यता सेटिंग को सीमित करने के लिए आपके द्वारा चुने गए विकल्पों का सम्मान करेंगे। + + हमारी सेवाओं में सॉफ़्टवेयर के बारे में + जब किसी सेवा को डाउनलोड करने योग्य सॉफ़्टवेयर की आवश्यकता होती है या उसमें शामिल होता है, तो नया संस्करण या सुविधा उपलब्ध होने के बाद सॉफ़्टवेयर स्वचालित रूप से आपके डिवाइस पर अपडेट हो सकता है। कुछ सेवाएँ आपको अपनी स्वचालित अपडेट सेटिंग्स समायोजित करने दे सकती हैं। +        \nSUSI आपको SUSI द्वारा सेवाओं के हिस्से के रूप में आपको प्रदान किए गए सॉफ्टवेयर का उपयोग करने के लिए एक व्यक्तिगत, दुनिया भर में, रॉयल्टी-मुक्त, गैर-असाइन करने योग्य और गैर-अनन्य लाइसेंस देता है। यह लाइसेंस आपको SUSI द्वारा प्रदान की गई सेवाओं का लाभ उठाने और उपयोग करने में सक्षम करने के एकमात्र उद्देश्य के लिए है, इन शर्तों के अनुसार। +        \nहमारी सेवाओं के अधिकांश मुफ्त सॉफ्टवेयर और या ओपन सोर्स सॉफ्टवेयर के माध्यम से पेश किए जाते हैं। आप इन एप्लिकेशन को कॉपी, संशोधित, वितरित, बेच या पट्टे कर सकते हैं और उस सॉफ़्टवेयर के स्रोत कोड को साझा कर सकते हैं जैसा कि सॉफ़्टवेयर के साथ प्रदान किए गए लाइसेंस अनुबंध में कहा गया है। + + हमारी सेवाओं को संशोधित और समाप्त करना + हम अपनी सेवाओं में लगातार बदलाव और सुधार कर रहे हैं। हम कार्यात्मकताओं या सुविधाओं को जोड़ या हटा सकते हैं, और हम पूरी तरह से एक सेवा को निलंबित या रोक सकते हैं। +        \n आप किसी भी समय हमारी सेवाओं का उपयोग करना बंद कर सकते हैं। SUSI आपको सेवाएँ प्रदान करना भी बंद कर सकता है, या हमारी सेवाओं में किसी भी समय नई सीमाएँ जोड़ या बना सकता है। +        \n हम मानते हैं कि आप अपने डेटा के मालिक हैं और ऐसे डेटा तक आपकी पहुँच को संरक्षित करना महत्वपूर्ण है। यदि हम किसी सेवा को बंद कर देते हैं, जहाँ यथोचित रूप से संभव है, तो हम आपको उचित अग्रिम सूचना और उस सेवा से बाहर जानकारी प्राप्त करने का मौका देंगे। + हमारी वारंटी और अस्वीकरण + हम उचित स्तर के कौशल और देखभाल का उपयोग करके अपनी सेवाएं प्रदान करते हैं और हम आशा करते हैं कि आप उनका उपयोग करके आनंद लेंगे। लेकिन कुछ चीजें हैं जो हम अपनी सेवाओं के बारे में वादा नहीं करते हैं। +        \n इन शब्दों या अतिरिक्त शब्दों में स्पष्ट रूप से सेट किए जाने की तुलना में, न तो SUSI और न ही इसके आपूर्तिकर्ता या वितरक सेवाओं के बारे में कोई विशेष वादा करते हैं। उदाहरण के लिए, हम सेवाओं के भीतर सामग्री, सेवाओं के विशिष्ट कार्यों या उनकी विश्वसनीयता, उपलब्धता, या आपकी आवश्यकताओं को पूरा करने की क्षमता के बारे में कोई प्रतिबद्धता नहीं रखते हैं। हम सेवाएँ "जैसा है" प्रदान करते हैं। +        \n कुछ न्यायालय वारंटियों के लिए प्रदान करते हैं, जैसे कि मर्चेंटेबिलिटी की निहित वारंटी, किसी विशेष उद्देश्य के लिए फिटनेस और गैर-उल्लंघन। कानून द्वारा अनुमत सीमा तक, हम सभी वारंटियों को बाहर कर देते हैं। + + हमारी सेवाओं के लिए देयता + जब कानून, SUSI और SUSI के आपूर्तिकर्ताओं और वितरकों द्वारा अनुमति दी जाती है, तो वे खोए हुए मुनाफे, राजस्व, या डेटा, वित्तीय नुकसान या अप्रत्यक्ष, विशेष, परिणामी, अनुकरणीय या दंडात्मक नुकसान के लिए जिम्मेदार नहीं होंगे। +        \n कानून द्वारा अनुमत सीमा तक, SUSI और उसके आपूर्तिकर्ताओं और वितरकों की कुल देयता, इन शर्तों के तहत किसी भी दावे के लिए, किसी भी निहित वारंटियों सहित, आपके द्वारा सेवाओं का उपयोग करने के लिए हमें भुगतान की गई राशि तक सीमित है (या, यदि हम आप सेवाओं को फिर से आपूर्ति करने के लिए चुनें)। +        \n सभी मामलों में, SUSI, और इसके आपूर्तिकर्ता और वितरक किसी भी नुकसान या क्षति के लिए उत्तरदायी नहीं होंगे, जो उचित रूप से स्वीकार्य नहीं है। +        \n हम मानते हैं कि कुछ देशों में, उपभोक्ता के रूप में आपके पास कानूनी अधिकार हो सकते हैं। यदि आप किसी व्यक्तिगत उद्देश्य के लिए सेवाओं का उपयोग कर रहे हैं, तो इन शर्तों या किसी भी अतिरिक्त शर्तों में कोई भी उपभोक्ता कानूनी अधिकारों को सीमित नहीं करता है जो अनुबंध के लिए माफ नहीं किया जा सकता है। + हमारी सेवाओं का व्यावसायिक उपयोग + यदि आप किसी व्यवसाय की ओर से हमारी सेवाओं का उपयोग कर रहे हैं, तो वह व्यवसाय इन शर्तों को स्वीकार करता है। यह हानिरहित होगा और SUSI और उसके सहयोगियों, अधिकारियों, एजेंटों, और कर्मचारियों को किसी भी दावे, सूट या कार्रवाई से उत्पन्न होने वाली या सेवाओं के उपयोग से संबंधित या इन शर्तों के उल्लंघन से क्षतिपूर्ति, क्षतिपूर्ति और क्षतिपूर्ति करेगा, जिसमें दावे, नुकसान सहित कोई दायित्व या व्यय शामिल है। , नुकसान, मुकदमे, निर्णय, मुकदमेबाजी की लागत और वकीलों की फीस। + इन शर्तों के बारे में + हम इन शर्तों या सेवा में लागू होने वाले किसी भी अतिरिक्त शब्दों को संशोधित कर सकते हैं, उदाहरण के लिए, कानून में परिवर्तन या हमारी सेवाओं में परिवर्तन को दर्शाते हैं। आपको शर्तों को नियमित रूप से देखना चाहिए। हम पृष्ठ पर इन शर्तों के संशोधनों की सूचना देंगे। हम लागू सेवा में संशोधित अतिरिक्त शर्तों की सूचना देंगे। परिवर्तन पूर्वव्यापी रूप से लागू नहीं होंगे और पोस्ट किए जाने के बाद चौदह दिनों की तुलना में प्रभावी नहीं होंगे। हालांकि, किसी सेवा के लिए नए कार्यों को संबोधित करने या कानूनी कारणों से किए गए बदलाव तुरंत प्रभावी होंगे। यदि आप किसी सेवा के लिए संशोधित शर्तों से सहमत नहीं हैं, तो आपको उस सेवा का उपयोग बंद कर देना चाहिए। +        \n यदि इन शर्तों और अतिरिक्त शर्तों के बीच कोई विरोध है, तो अतिरिक्त शर्तें उस विरोध को नियंत्रित करेंगी। ये शब्द SUSI और आपके बीच के संबंध को नियंत्रित करते हैं। वे किसी तीसरे पक्ष के लाभार्थी अधिकारों का निर्माण नहीं करते हैं। +        \n यदि आप इन शर्तों का पालन नहीं करते हैं, और हम तुरंत कार्रवाई नहीं करते हैं, तो इसका मतलब यह नहीं है कि हम कोई भी अधिकार छोड़ रहे हैं जो हमारे पास हो सकता है (जैसे कि भविष्य में कार्रवाई करना)। +        \n यदि यह पता चला है कि एक विशेष शब्द लागू करने योग्य नहीं है, तो यह किसी भी अन्य शर्तों को प्रभावित नहीं करेगा। +        \n आप सहमत हैं कि कैन थो, वायट नाम के नियम इन शर्तों या सेवाओं से संबंधित किसी भी विवाद पर लागू होंगे। इन शर्तों या सेवाओं से संबंधित या इन सेवाओं से संबंधित सभी दावों को विशेष रूप से कैन थू सिटी, वियतनाम, और आप और SUSI की अदालतों में व्यक्तिगत न्यायालयों के लिए सहमति से प्रकाशित किया जाएगा। +        \nSUSI से संपर्क करने के बारे में जानकारी के लिए, कृपया हमारे संपर्क पृष्ठ पर जाएँ। + एकांत \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 88028ab20e..fe589b8c45 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -153,4 +153,56 @@ Hey, prova questo! - %s . Lo amerai! Riprova nuovamente Logout + + + Benvenuto in SUSI.AI + Grazie per aver utilizzato i nostri prodotti e servizi ("Servizi"). I Servizi sono forniti da SUSI Inc. ("SUSI"), con sede a 93 Mau Than, Can Tho City, Vietnam. Utilizzando i nostri Servizi, accetti questi termini. Per favore leggili attentamente. + Using Our Services + È necessario seguire tutte le politiche rese disponibili all\'interno dei Servizi. +        \nNon usi impropriamente i nostri Servizi. Ad esempio, non interferire con i nostri Servizi o provare ad accedervi utilizzando un metodo diverso dall\'interfaccia e le istruzioni che forniamo. È possibile utilizzare i nostri Servizi solo nei limiti consentiti dalla legge, comprese le leggi e i regolamenti applicabili in materia di esportazione e riesportazione. Potremmo sospendere o interrompere la fornitura dei nostri Servizi all\'utente se non rispetti i nostri termini o le nostre politiche o se stiamo indagando su sospette condotte scorrette. +        \nUtilizzo dei nostri Servizi non ti conferisce la proprietà di alcun diritto di proprietà intellettuale nei nostri Servizi o nei contenuti a cui accedi. Non è possibile utilizzare il contenuto dei nostri Servizi a meno che non si ottenga l\'autorizzazione dal suo proprietario o siano altrimenti consentiti dalla legge. Questi termini non ti concedono il diritto di utilizzare marchi o loghi utilizzati nei nostri Servizi. Non rimuovere, oscurare o alterare le note legali visualizzate all\'interno o insieme ai nostri Servizi. +        \nI nostri servizi visualizzano alcuni contenuti che non sono SUSI. Questo contenuto è di esclusiva responsabilità dell\'entità che lo rende disponibile. Potremmo esaminare i contenuti per determinare se siano illegali o violare le nostre norme, e potremmo rimuovere o rifiutare di visualizzare contenuti che riteniamo ragionevolmente violino le nostre norme o la legge. Ma questo non significa necessariamente che esaminiamo i contenuti, quindi per favore non dare per scontato che lo facciamo. +        \nIn collegamento con l\'utilizzo dei Servizi, potremmo inviarti annunci di servizio, messaggi amministrativi e altre informazioni. È possibile disattivare alcune di queste comunicazioni. +        \nAlcuni dei nostri servizi sono disponibili su dispositivi mobili. Non utilizzare tali Servizi in modo tale da distrarti e impedirti di rispettare le leggi sulla sicurezza o sul traffico. + + Il tuo account SUSI + Potrebbe essere necessario un account SUSI per poter utilizzare alcuni dei nostri servizi. Puoi creare il tuo account SUSI, o il tuo account SUSI può essere assegnato a te da un amministratore, come il tuo datore di lavoro o istituto scolastico. Se si utilizza un account SUSI assegnato da un amministratore, potrebbero essere applicati termini diversi o aggiuntivi e l\'amministratore potrebbe essere in grado di accedere o disabilitare il proprio account. +        \nPer proteggere il tuo account SUSI, mantieni la tua password riservata. Sei responsabile per l\'attività che si svolge su o attraverso il tuo account SUSI. Cerca di non riutilizzare la password dell\'account SUSI su applicazioni di terze parti. Se viene a conoscenza di un utilizzo non autorizzato della password o dell\'account SUSI, modificare la password e adottare le misure necessarie per proteggere il proprio account. + Privacy e protezione del copyright + Le politiche sulla privacy di SUSI assicurano che i tuoi dati personali siano al sicuro e protetti. Utilizzando i nostri Servizi, l\'utente accetta che SUSI possa utilizzare tali dati in conformità con le nostre politiche sulla privacy. +        \nSiamo rispondere alle notifiche di presunte violazioni del copyright e chiudere gli account dei trasgressori recidivi. Se ritieni che qualcuno stia violando i tuoi diritti d\'autore e desideri segnalarcelo, puoi trovare informazioni sull\'invio di notifiche e sulla politica di SUSI in merito alla risposta alle comunicazioni sul nostro sito web. + Il tuo contenuto nei nostri servizi + Alcuni dei nostri servizi ti consentono di caricare, inviare, archiviare, inviare o ricevere contenuti. L\'utente conserva la proprietà di qualsiasi diritto di proprietà intellettuale detenuto in tale contenuto. In breve, ciò che appartiene a te resta tuo. +        \nQuando si carica, si invia, si archivia, si invia o si riceve il contenuto ao tramite i nostri Servizi, si fornisce a SUSI (e coloro con cui lavoriamo) una licenza mondiale per utilizzare, ospitare, memorizzare, riprodurre, modificare, creare lavori derivati ​​(come quelli derivanti da traduzioni, adattamenti o altre modifiche che facciamo in modo che i tuoi contenuti funzionino meglio con i nostri Servizi), comunichino, pubblichino, eseguano pubblicamente, pubblicamente vengano visualizzati e distribuiti tali contenuti. I diritti concessi nella licenza hanno lo scopo limitato di operare, promuovere e migliorare i nostri servizi e di svilupparne di nuovi. Questa licenza continua anche se smetti di utilizzare i nostri Servizi (ad esempio, per una scheda di attività commerciale che hai aggiunto a SUSI Maps). Alcuni Servizi possono offrire modi per accedere e rimuovere il contenuto che è stato fornito a quel Servizio. Inoltre, in alcuni dei nostri Servizi, ci sono termini o impostazioni che restringono l\'ambito del nostro utilizzo del contenuto presentato in tali Servizi. Assicurati di disporre dei diritti necessari per una licenza di concessione per qualsiasi contenuto che invii ai nostri Servizi. +        \nSe disponi di un account SUSI, potremmo visualizzare il nome del tuo profilo, la foto del profilo e le azioni che esegui su SUSI o su applicazioni di terzi collegate al tuo account SUSI nei nostri servizi, inclusa la visualizzazione in annunci e altri contesti commerciali. Rispetteremo le scelte che fai per limitare le impostazioni di condivisione o visibilità nel tuo account SUSI. + + Informazioni sul software nei nostri servizi + Quando un servizio richiede o include software scaricabile, il software può essere aggiornato automaticamente sul dispositivo una volta disponibile una nuova versione o funzionalità. Alcuni servizi potrebbero consentire di modificare le impostazioni di aggiornamento automatico. +        \nSUSI ti offre una licenza personale, mondiale, esente da royalty, non assegnabile e non esclusiva per utilizzare il software fornito all\'utente da SUSI come parte dei Servizi. Questa licenza ha il solo scopo di consentire all\'utente di utilizzare e godere dei vantaggi dei Servizi forniti da SUSI, secondo le modalità consentite da questi termini. +        \nLa maggior parte dei nostri servizi sono offerti tramite software gratuito e / o software open source. È possibile copiare, modificare, distribuire, vendere o noleggiare queste applicazioni e condividere il codice sorgente di tale software come indicato nel Contratto di licenza fornito con il Software. + + Modifica e risoluzione dei nostri servizi + Stiamo cambiando e migliorando costantemente i nostri servizi. Potremmo aggiungere o rimuovere funzionalità o funzionalità e possiamo sospendere o interrompere un servizio del tutto. +        \nPuoi smettere di usare i nostri Servizi in qualsiasi momento. SUSI può anche interrompere la fornitura di Servizi all\'utente, o aggiungere o creare nuovi limiti ai nostri Servizi in qualsiasi momento. +        \nCrediamo che possiedi i tuoi dati e che il tuo accesso a tali dati è importante. Se interrompiamo un Servizio, ove ragionevolmente possibile, ti forniremo un preavviso ragionevole e la possibilità di ottenere informazioni da tale Servizio. + Le nostre garanzie e dichiarazioni di non responsabilità + Forniamo i nostri servizi utilizzando un livello ragionevole di competenza e cura e speriamo che vi piaccia usarli. Ma ci sono alcune cose che non promettiamo sui nostri Servizi. +        \nAltre rispetto a quanto espressamente previsto in questi termini o termini aggiuntivi, né SUSI né i suoi fornitori o distributori fanno promesse specifiche sui Servizi. Ad esempio, non assumiamo alcun impegno in merito al contenuto dei Servizi, alle funzioni specifiche dei Servizi o alla loro affidabilità, disponibilità o capacità di soddisfare le tue esigenze. Forniamo i servizi "così come sono". +        \nAlcune giurisdizioni prevedono determinate garanzie, come la garanzia implicita di commerciabilità, idoneità per uno scopo particolare e non violazione. Nella misura consentita dalla legge, escludiamo tutte le garanzie. + + Responsabilità per i nostri servizi + Se consentito dalla legge, SUSI e i fornitori e distributori di SUSI, non saranno responsabili per mancati profitti, entrate o dati, perdite finanziarie o danni indiretti, speciali, consequenziali, esemplari o punitivi. +        \nPer quanto consentito dalla legge, la responsabilità totale di SUSI, dei suoi fornitori e distributori, per qualsiasi rivendicazione ai sensi dei presenti termini, inclusa qualsiasi garanzia implicita, è limitata all\'importo che ci hai pagato per utilizzare i Servizi (o, se scegliere, per fornirti di nuovo i Servizi). +        \nIn tutti i casi, SUSI ei suoi fornitori e distributori non saranno ritenuti responsabili per eventuali perdite o danni che non siano ragionevolmente prevedibili. +        \nConosciamo che in alcuni paesi potresti avere diritti legali come consumatore. Se si utilizzano i Servizi per uno scopo personale, nulla in questi termini o termini aggiuntivi limita i diritti legali dei consumatori che non possono essere esclusi dal contratto. + Usi commerciali dei nostri servizi + Se stai utilizzando i nostri Servizi per conto di un\'azienda, tale azienda accetta tali termini. Rimarrà inoffensivo e indennizzerà SUSI e le sue affiliate, funzionari, agenti e dipendenti da qualsiasi reclamo, causa o azione derivante o relativa all\'utilizzo dei Servizi o violazione di questi termini, inclusa qualsiasi responsabilità o spesa derivante da richieste, perdite , danni, cause, sentenze, costi di contenzioso e onorari degli avvocati. + Informazioni su questi termini. + Potremmo modificare questi termini o eventuali termini aggiuntivi che si applicano a un Servizio per, ad esempio, riflettere modifiche alla legge o modifiche ai nostri Servizi. Dovresti controllare i termini regolarmente. Pubblicheremo notifica di modifiche a questi termini nella pagina. Pubblicheremo notifica di termini aggiuntivi modificati nel Servizio applicabile. Le modifiche non si applicano retroattivamente e diventeranno effettivi non prima di quattordici giorni dopo la loro pubblicazione. Tuttavia, le modifiche che riguardano le nuove funzioni per un Servizio o le modifiche apportate per ragioni legali saranno immediatamente efficaci. Se non si accettano i termini modificati per un Servizio, è necessario interrompere l\'utilizzo di tale Servizio. +        \nSe esiste un conflitto tra questi termini e i termini aggiuntivi, i termini aggiuntivi controlleranno per quel conflitto. Questi termini controllano la relazione tra SUSI e te. Non creano alcun diritto di beneficiario di terze parti. +        \nSe non rispetti questi termini e non interveniamo immediatamente, non significa che stiamo rinunciando a qualsiasi diritto che potremmo avere (ad esempio intraprendere azioni in futuro). +        \nSe risulta che un determinato termine non è applicabile, non influirà su nessun altro termine. +        \n Accetti che le leggi di Can Tho, Viet Nam si applichino a eventuali controversie derivanti da o relative a questi termini o ai Servizi. Tutti i reclami derivanti da o relativi a questi termini o servizi saranno contestati esclusivamente nei tribunali di Can Tho City, Vietnam, e tu e SUSI acconsentite alla giurisdizione personale in tali tribunali. +        \nPer informazioni su come contattare SUSI, visita la nostra pagina di contatto. + Pvita privata \ No newline at end of file diff --git a/app/src/main/res/values-ml-rIN/strings.xml b/app/src/main/res/values-ml-rIN/strings.xml index 3411a9b55f..4943c95946 100644 --- a/app/src/main/res/values-ml-rIN/strings.xml +++ b/app/src/main/res/values-ml-rIN/strings.xml @@ -255,4 +255,55 @@ കഴിവുകൾ വിജയകരമായി റിപ്പോർട്ടുചെയ്തു ശേഷി ഇതിനകം റിപ്പോർട്ടുചെയ്തു ഉപാധികളും നിബന്ധനകളും + + SUSI.AI ലേക്ക് സ്വാഗതം + ഞങ്ങളുടെ ഉൽപ്പന്നങ്ങളും സേവനങ്ങളും ("സേവനങ്ങൾ") ഉപയോഗിക്കുന്നതിന് നന്ദി. ഈ സേവനങ്ങൾക്ക് SUSI Inc. ("SUSI"), 93 മൗ താൺ, കാൺ ഥോ സിറ്റി, വിയറ്റ്നാം എന്നയിടത്താണ് സ്ഥിതി ചെയ്യുന്നത്. ഞങ്ങളുടെ സേവനങ്ങൾ ഉപയോഗിക്കുന്നതിലൂടെ നിങ്ങൾ ഈ നിബന്ധനകൾ അംഗീകരിക്കുന്നു. അവ ശ്രദ്ധാപൂർവ്വം വായിക്കുക. + ഞങ്ങളുടെ സേവനങ്ങൾ ഉപയോഗിക്കുന്നത് + സേവനങ്ങളിൽ നിങ്ങൾക്ക് ലഭ്യമാക്കിയിട്ടുള്ള നയങ്ങൾ നിങ്ങൾ പാലിക്കേണ്ടതാണ്. +        \n ഞങ്ങളുടെ സേവനങ്ങൾ ദുരുപയോഗം ചെയ്യരുത്. ഉദാഹരണത്തിന്, ഞങ്ങളുടെ സേവനങ്ങളിൽ കൈകടത്തുകയോ ഞങ്ങൾ നൽകിയിരിക്കുന്ന ഇന്റർഫേസോ നിർദ്ദേശങ്ങളോ അല്ലാതെ മറ്റൊരു രീതി ഉപയോഗിച്ച് അവ ആക്സസ് ചെയ്യാൻ ശ്രമിക്കുകയോ ചെയ്യരുത്. ബാധകമായ എക്സ്പോർട്ട്, റീ-എക്സ്പോർട്ട് നിയന്ത്രണ നിയമങ്ങളും നിയന്ത്രണങ്ങൾ ഉൾപ്പെടെ, നിയമം അനുവദിച്ചിരിക്കുന്ന പ്രകാരം ഞങ്ങളുടെ സേവനങ്ങൾ ഉപയോഗിക്കാം. ഞങ്ങളുടെ നിബന്ധനകൾ അല്ലെങ്കിൽ നയങ്ങൾ നിങ്ങൾ അനുസരിക്കാത്തപക്ഷം ഞങ്ങൾ സംശയാസ്പദമായ നടപടിയെക്കുറിച്ച് അന്വേഷിക്കുകയാണെങ്കിൽ ഞങ്ങളുടെ സേവനങ്ങൾ നിങ്ങൾക്ക് താൽക്കാലികമായി നിർത്തിവയ്ക്കുകയോ നിർത്തുകയോ ചെയ്യാം. +        \n ഞങ്ങളുടെ സേവനങ്ങൾ ഉപയോഗിക്കുന്നത് ഞങ്ങളുടെ സേവനങ്ങളിലെ ഏതെങ്കിലും ബൌദ്ധിക സ്വത്തവകാശത്തിന്റെ ഉടമസ്ഥതയോ അല്ലെങ്കിൽ നിങ്ങൾ ആക്സസുചെയ്യുന്ന ഉള്ളടക്കമോ നൽകുന്നില്ല. ഞങ്ങളുടെ ഉടമസ്ഥതയിൽ നിന്നുള്ള അനുമതി നിങ്ങൾ സ്വീകരിക്കുന്നില്ലെങ്കിൽ അല്ലെങ്കിൽ നിയമപ്രകാരം അനുവദനീയമല്ലെങ്കിൽ ഞങ്ങളുടെ സേവനങ്ങളിൽ നിന്നുള്ള ഉള്ളടക്കം ഉപയോഗിക്കരുത്. ഞങ്ങളുടെ സേവനങ്ങളിൽ ഉപയോഗിക്കുന്ന ബ്രാൻഡിംഗോ ലോഗോകളോ ഉപയോഗിക്കുന്നതിനുള്ള അവകാശം ഈ നിബന്ധനകൾ നിങ്ങൾക്ക് നൽകില്ല. ഞങ്ങളുടെ സേവനങ്ങളിലോ അതിനൊപ്പമോ പ്രദർശിപ്പിച്ചിരിക്കുന്ന നിയമപരമായ അറിയിപ്പുകളൊന്നും നീക്കംചെയ്യരുത്, അവ്യക്തമാക്കുകയോ അല്ലെങ്കിൽ മാറ്റം വരുത്തുകയോ ചെയ്യരുത്. +        \n ഞങ്ങളുടെ സേവനങ്ങൾ SUSI അല്ലാത്ത ചില ഉള്ളടക്കം പ്രദർശിപ്പിക്കുന്നു. ഈ ഉള്ളടക്കം അത് ലഭ്യമാക്കുന്ന എന്റിറ്റിയുടെ പൂർണ്ണ ഉത്തരവാദിത്തമാണ്. ഉള്ളടക്കം നിയമവിരുദ്ധമാണോ അല്ലെങ്കിൽ ഞങ്ങളുടെ നയങ്ങൾ ലംഘിക്കുന്നതാണോയെന്ന് നിർണ്ണയിക്കാൻ ഞങ്ങൾ അവലോകനം ചെയ്തേക്കാം, ഞങ്ങളുടെ നയങ്ങളോ നിയമമോ ലംഘിക്കുന്നുവെന്ന് ഞങ്ങൾ വിശ്വസിക്കുന്ന ഉള്ളടക്കം ഞങ്ങൾ നീക്കംചെയ്യുകയോ അല്ലെങ്കിൽ നിരസിക്കുകയോ ചെയ്യും. പക്ഷേ, ഞങ്ങൾ ഉള്ളടക്കം അവലോകനം ചെയ്യുകയാണെന്നല്ല അർത്ഥമാക്കുന്നില്ല, അതിനാൽ ഞങ്ങൾ ചെയ്യുന്നതെന്ന് ഊഹിക്കരുത്. +        \n സേവനങ്ങളുടെ ഉപയോഗവുമായി ബന്ധപ്പെട്ട്, ഞങ്ങൾ നിങ്ങൾക്ക് സേവന പ്രഖ്യാപനങ്ങൾ, അഡ്മിനിസ്ട്രേറ്റീവ് സന്ദേശങ്ങൾ, മറ്റ് വിവരങ്ങൾ എന്നിവ അയയ്ക്കാം. ആ ആശയവിനിമയങ്ങളിൽ ചിലത് ഒഴിവാക്കാം. +        \n ഞങ്ങളുടെ സേവനങ്ങളിൽ ചിലത് മൊബൈൽ ഉപകരണങ്ങളിൽ ലഭ്യമാണ്. ട്രൈസോ അല്ലെങ്കിൽ സുരക്ഷാ നിയമങ്ങൾ അനുസരിക്കുന്നതിൽ നിന്നും നിങ്ങളെ തടയുകയും അമിതമായി തടയുകയും ചെയ്യുന്നതിലൂടെ അത്തരം സേവനങ്ങൾ ഉപയോഗിക്കരുത്. + + നിങ്ങളുടെ എസ് ഐ ഐ അക്കൗണ്ട് + ഞങ്ങളുടെ സേവനങ്ങളിൽ ചിലത് ഉപയോഗിക്കാൻ നിങ്ങൾക്ക് ഒരു SUSI അക്കൗണ്ട് ആവശ്യമായി വന്നേക്കാം. നിങ്ങളുടേതായ SUSI അക്കൌണ്ട് സൃഷ്ടിക്കാം അല്ലെങ്കിൽ നിങ്ങളുടെ തൊഴിലുടമ അല്ലെങ്കിൽ വിദ്യാഭ്യാസ സ്ഥാപനം പോലുള്ള ഒരു അഡ്മിനിസ്ട്രേറ്റർ, നിങ്ങൾക്ക് നിങ്ങളുടെ SUSI അക്കൗണ്ട് നിർണ്ണയിക്കപ്പെടാം. അഡ്മിനിസ്ട്രേറ്റർ സജ്ജമാക്കിയ ഒരു SUSI അക്കൗണ്ട് നിങ്ങൾ ഉപയോഗിക്കുകയാണെങ്കിൽ, വ്യത്യസ്തമായ അല്ലെങ്കിൽ അധിക നിബന്ധനകൾ ബാധകമാകാം കൂടാതെ അഡ്മിനിസ്ട്രേറ്റർക്ക് നിങ്ങളുടെ അക്കൗണ്ട് ആക്സസ് ചെയ്യാനോ അല്ലെങ്കിൽ അപ്രാപ്തമാക്കാനോ കഴിഞ്ഞേക്കും. +        \nനിങ്ങളുടെ SUSI അക്കൗണ്ട് പരിരക്ഷിക്കുന്നതിന്, നിങ്ങളുടെ രഹസ്യവാക്ക് രഹസ്യമായി സൂക്ഷിക്കുക. നിങ്ങളുടെ SUSI അക്കൌണ്ടിലോ അല്ലെങ്കിൽ മുഖേനയോ നടക്കുന്ന പ്രവർത്തനത്തിന് നിങ്ങൾക്ക് ഉത്തരവാദിത്തമുണ്ട്. മൂന്നാം കക്ഷി ആപ്ലിക്കേഷനുകളിൽ നിങ്ങളുടെ SUSI അക്കൗണ്ട് പാസ്വേഡ് വീണ്ടും ഉപയോഗിക്കാതിരിക്കാൻ ശ്രമിക്കുക. നിങ്ങളുടെ പാസ്വേഡ് അല്ലെങ്കിൽ SUSI അക്കൌണ്ടിന്റെ അംഗീകൃതമല്ലാത്ത ഏതെങ്കിലും ഉപയോഗത്തെക്കുറിച്ച് അറിയുകയാണെങ്കിൽ, നിങ്ങളുടെ രഹസ്യവാക്ക് മാറ്റുക, നിങ്ങളുടെ അക്കൌണ്ട് സുരക്ഷിതമാക്കാൻ നടപടികൾ സ്വീകരിക്കുക. + സ്വകാര്യതയും പകർപ്പവകാശ പരിരക്ഷയും + നിങ്ങളുടെ സ്വകാര്യ ഡാറ്റ സുരക്ഷിതവും പരിരക്ഷിതവുമാണെന്ന് SUSI സ്വകാര്യതാ നയങ്ങൾ ഉറപ്പു വരുത്തുന്നു. ഞങ്ങളുടെ സേവനങ്ങൾ ഉപയോഗിക്കുന്നതിലൂടെ, ഞങ്ങളുടെ സ്വകാര്യതാ നയങ്ങൾക്ക് അനുസൃതമായി അത്തരം ഡാറ്റ SUSI- യ ഉപയോഗിക്കാൻ കഴിയുമെന്ന് നിങ്ങൾ സമ്മതിക്കുന്നു. +        \n ഞങ്ങൾ പകർപ്പവകാശ ലംഘനത്തിന്റെ അറിയിപ്പുകളോട് പ്രതികരിക്കുകയും ആവർത്തിച്ചുള്ള ലംഘനങ്ങളുടെ അക്കൗണ്ടുകൾ അവസാനിപ്പിക്കുകയും ചെയ്യുന്നു. ആരെങ്കിലും നിങ്ങളുടെ പകർപ്പവകാശത്തെ ലംഘിക്കുകയും നിങ്ങൾ ഞങ്ങളെ അറിയിക്കാൻ താൽപ്പര്യപ്പെടുകയും ചെയ്യുകയാണെങ്കിൽ, അറിയിപ്പുകൾ സമർപ്പിക്കുന്നതിനെക്കുറിച്ചും ഞങ്ങളുടെ വെബ്സൈറ്റിൽ നോട്ടീസുകളോട് പ്രതികരിക്കുന്നതിനെക്കുറിച്ചുള്ള SUSI ൻറെ നയവും നിങ്ങൾക്ക് കണ്ടെത്താം. + ഞങ്ങളുടെ സേവനങ്ങളിലെ നിങ്ങളുടെ ഉള്ളടക്കം + ഞങ്ങളുടെ സേവനങ്ങളിൽ ചിലത് നിങ്ങളെ ഉള്ളടക്കം അപ്ലോഡുചെയ്യാനോ സമർപ്പിക്കാനോ സംഭരിക്കാനോ അയക്കാനോ നേടാനോ അനുവദിക്കുന്നു. നിങ്ങൾ ആ ഉള്ളടക്കത്തിൽ കൈവശം വയ്ക്കുന്ന ഏതൊരു ബൌദ്ധിക സ്വത്തവകാശത്തിന്റെയും ഉടമസ്ഥാവകാശം നിങ്ങൾ നിലനിർത്തുന്നു. ചുരുക്കത്തിൽ, നിങ്ങളുടേത് നിങ്ങളുടേതായിരിക്കും. +        \n ഞങ്ങളുടെ സേവനങ്ങൾ അല്ലെങ്കിൽ ഞങ്ങളുടെ സേവനങ്ങളിലൂടെ അല്ലെങ്കിൽ നിങ്ങൾ ഉള്ളടക്കം അപ്ലോഡ് ചെയ്യുക, സമർപ്പിക്കുക, സംഭരിക്കുക, അയയ്ക്കുക അല്ലെങ്കിൽ സ്വീകരിക്കുകയാണെങ്കിൽ, ലോകമെമ്പാടുമുള്ള ലൈസൻസ് ഉപയോഗിക്കുന്നതിനും ഹോസ്റ്റുചെയ്യുന്നതിനും സംഭരിക്കുന്നതിനും പുനരുൽപ്പാദിപ്പിക്കുന്നതിനും പരിഷ്ക്കരിക്കുന്നതിനും വ്യുൽപ്പന്ന പ്രവർത്തനങ്ങൾ സൃഷ്ടിക്കുന്നതിനും (ഉദാഹരണത്തിന്, വിവർത്തനങ്ങൾ, അഡാപ്റ്ററുകൾ അല്ലെങ്കിൽ ഞങ്ങളുടെ സേവനങ്ങളുമായി നിങ്ങളുടെ ഉള്ളടക്കം മികച്ച രീതിയിൽ പ്രവർത്തിക്കുന്നതിന് ഞങ്ങൾ വരുത്തുന്ന മാറ്റങ്ങൾ), ആശയവിനിമയം നടത്തുക, പ്രസിദ്ധീകരിക്കുക, പൊതുവായി പ്രദർശിപ്പിക്കുക, പൊതുവായി പ്രദർശിപ്പിക്കുകയും വിതരണം ചെയ്യുകയും ചെയ്യുക. ലൈസൻസിൽ നിങ്ങൾ അനുവദിക്കുന്ന അവകാശങ്ങൾ ഞങ്ങളുടെ സേവനങ്ങൾ പ്രവർത്തിപ്പിക്കുന്നതിനും, പ്രമോട്ടുചെയ്യുന്നതിനും, മെച്ചപ്പെടുത്തുന്നതിനും, പുതിയവ വികസിപ്പിക്കുന്നതിനുമുള്ള പരിമിതമായ ആവശ്യകതയാണ്. നിങ്ങൾ ഞങ്ങളുടെ സേവനങ്ങൾ ഉപയോഗിക്കുന്നത് നിർത്തുകയാണെങ്കിലും ഈ ലൈസൻസ് തുടരും (ഉദാഹരണത്തിന്, നിങ്ങൾ SUSI മാപ്പുകളിൽ ചേർത്ത ബിസിനസ്സ് ലിസ്റ്റിംഗ്). ആ സേവനത്തിൽ നൽകിയിട്ടുള്ള ഉള്ളടക്കം ആക്സസ്സുചെയ്യുന്നതിനും നീക്കംചെയ്യുന്നതിനും ചില സേവനങ്ങൾ നിങ്ങളെ വാഗ്ദാനം ചെയ്യും. കൂടാതെ, ഞങ്ങളുടെ സേവനങ്ങളിൽ ചിലവയിൽ, ആ സേവനങ്ങളിൽ സമർപ്പിച്ചിരിക്കുന്ന ഉള്ളടക്കം ഞങ്ങളുടെ ഉപയോഗം പരിമിതപ്പെടുത്തുന്ന നിബന്ധനകളും ക്രമീകരണങ്ങളും ഉണ്ട്. ഞങ്ങളുടെ സേവനങ്ങളിലേക്ക് നിങ്ങൾ സമർപ്പിക്കുന്ന എല്ലാ ഉള്ളടക്കത്തിനുമായി ഒരു ഗ്രാന്റ് ലൈസൻസിനു ആവശ്യമായ അവകാശങ്ങൾ നിങ്ങൾക്കുണ്ടെന്ന് ഉറപ്പുവരുത്തുക. +        \n നിങ്ങൾക്ക് ഒരു SUSI അക്കൌണ്ട് ഉണ്ടെങ്കിൽ, ഞങ്ങൾ നിങ്ങളുടെ പ്രൊഫൈൽ നാമം, പ്രൊഫൈൽ ഫോട്ടോ, SUSI അല്ലെങ്കിൽ ഞങ്ങളുടെ സേവനങ്ങളിൽ നിങ്ങളുടെ SUSI അക്കൌണ്ടിലേക്ക് കണക്റ്റുചെയ്തിരിക്കുന്ന മൂന്നാം കക്ഷി അപ്ലിക്കേഷനുകൾ, പരസ്യങ്ങളിലും മറ്റ് വാണിജ്യ സാഹചര്യങ്ങളിലും പ്രദർശനം ഉൾപ്പെടെയുള്ള പ്രവർത്തനങ്ങൾ എന്നിവ പ്രദർശിപ്പിച്ചേക്കാം. നിങ്ങളുടെ SUSI അക്കൗണ്ടിലെ പങ്കിടൽ അല്ലെങ്കിൽ ദൃശ്യപരത ക്രമീകരണങ്ങൾ പരിമിതപ്പെടുത്തുന്നതിനുള്ള തിരഞ്ഞെടുക്കലുകൾ ഞങ്ങൾ ബഹുമാനിക്കും. + + ഞങ്ങളുടെ സേവനങ്ങളിലെ സോഫ്റ്റ്വെയറിനെക്കുറിച്ച് + ഒരു സേവനത്തിന് ഡൗൺലോഡുചെയ്യാൻ കഴിയുന്ന സോഫ്റ്റ്വെയർ ആവശ്യമായി വരുമ്പോൾ അല്ലെങ്കിൽ ഉൾപ്പെടുമ്പോൾ, ഒരു പുതിയ പതിപ്പ് അല്ലെങ്കിൽ സവിശേഷത ലഭ്യമാകുമ്പോൾ നിങ്ങളുടെ ഉപകരണത്തിൽ സോഫ്റ്റ്വെയർ യാന്ത്രികമായി അപ്ഡേറ്റുചെയ്യാം. നിങ്ങളുടെ സേവനങ്ങളുടെ യാന്ത്രിക അപ്ഡേറ്റ് ക്രമീകരണങ്ങൾ ക്രമീകരിക്കാൻ ചില സേവനങ്ങൾ നിങ്ങളെ അനുവദിച്ചേക്കാം. +        \n സേവനങ്ങളുടെ ഭാഗമായി SUSI നിങ്ങൾക്ക് നൽകിയിരിക്കുന്ന സോഫ്റ്റ്വെയർ ഉപയോഗിക്കാനായി വ്യക്തിപരവും ലോകവ്യാപകമായതും റോയൽറ്റി-രഹിതവും നോൺ-ചുമതലയില്ലാത്തതും എക്സ്ക്ലൂസിവല്ലാത്തതുമായ ലൈസൻസ് നൽകുന്നു. ഈ നിബന്ധനകൾക്ക് വിധേയമായി SUSI നൽകിയ സേവനങ്ങളുടെ പ്രയോജനങ്ങൾ ഉപയോഗിക്കാനും ആസ്വദിക്കാനും നിങ്ങളെ പ്രാപ്തരാക്കുക എന്ന ഏക ഉദ്ദേശ്യത്തോടെയാണ് ഈ ലൈസൻസ്. +        \n ഞങ്ങളുടെ സേവനങ്ങളിൽ മിക്കതും സ്വതന്ത്ര സോഫ്റ്റ്വെയറിലൂടെയോ അല്ലെങ്കിൽ ഓപ്പൺ സോഴ്സ് സോഫ്റ്റ്വെയറിലൂടെയോ വാഗ്ദാനം ചെയ്യുന്നു. സോഫ്റ്റ്വെയറിനൊപ്പം നൽകിയിരിക്കുന്ന ലൈസൻസ് കരാറിൽ പറഞ്ഞിരിക്കുന്ന പ്രകാരം നിങ്ങൾക്ക് ഈ ആപ്ലിക്കേഷനുകൾ പകർത്താനോ മാറ്റം വരുത്താനോ വിതരണം ചെയ്യാനോ വിൽക്കാനോ പാട്ടത്തിന് നൽകാനോ പാട്ടത്തിന് നൽകാനോ കഴിയും. + + ഞങ്ങളുടെ സേവനങ്ങൾ പരിഷ്കരിക്കുകയും അവസാനിപ്പിക്കുകയും ചെയ്യുന്നു + ഞങ്ങൾ എപ്പോഴും ഞങ്ങളുടെ സേവനങ്ങൾ മാറ്റുകയും മെച്ചപ്പെടുത്തുകയും ചെയ്യുന്നു. ഞങ്ങൾ പ്രവർത്തനങ്ങളോ ഫീച്ചറുകളോ ചേർക്കാനോ നീക്കംചെയ്യാനോ ഇടയുണ്ട്, ഒരു സേവനം ഞങ്ങൾ താൽക്കാലികമായി നിർത്തിവയ്ക്കുകയോ അവസാനിപ്പിക്കുകയോ ചെയ്യാം. +        \n നിങ്ങൾ എപ്പോൾ വേണമെങ്കിലും ഞങ്ങളുടെ സേവനങ്ങൾ ഉപയോഗിക്കുന്നത് നിർത്താം. SUSI നിങ്ങൾക്ക് സേവനങ്ങൾ നൽകുന്നത് നിർത്തിയേക്കാം അല്ലെങ്കിൽ എപ്പോൾ വേണമെങ്കിലും ഞങ്ങളുടെ സേവനങ്ങളിലേക്ക് പുതിയ പരിധികൾ ചേർക്കുകയോ സൃഷ്ടിക്കുകയോ ചെയ്യാം. +        \n നിങ്ങളുടെ ഡാറ്റ നിങ്ങൾ സ്വന്തമാക്കിയെന്നും അത്തരം ഡാറ്റയിലേക്കുള്ള നിങ്ങളുടെ ആക്സസ് സംരക്ഷിക്കുന്നത് പ്രധാനപ്പെട്ടതാണെന്നും ഞങ്ങൾ വിശ്വസിക്കുന്നു. ഒരു സേവനം ഞങ്ങൾ നിർത്തലാക്കുകയാണെങ്കിൽ, സാധ്യമാകുന്നിടത്തോളം, ഞങ്ങൾ നിങ്ങൾക്ക് മുൻകൂർ അറിയിപ്പ് നൽകുകയും ആ സേവനത്തിൽ നിന്ന് വിവരങ്ങൾ നേടുന്നതിനുള്ള അവസരം നൽകുകയും ചെയ്യും. + ഞങ്ങളുടെ വാറന്റികളും നിരാകരണങ്ങളും + ഞങ്ങൾ ന്യായമായ നൈപുണ്യവും പരിചരണവും ഉപയോഗിച്ച് ഞങ്ങളുടെ സേവനങ്ങൾ നൽകുന്നു കൂടാതെ നിങ്ങൾ അവ ഉപയോഗിക്കുമെന്ന് ഞങ്ങൾ പ്രതീക്ഷിക്കുന്നു. എന്നാൽ ഞങ്ങളുടെ സേവനങ്ങളെക്കുറിച്ച് ഞങ്ങൾ വാഗ്ദാനം ചെയ്യുന്ന ചില കാര്യങ്ങൾ ഉണ്ട്. +        ഈ നിബന്ധനകളിൽ അല്ലെങ്കിൽ അധിക നിബന്ധനകൾ വ്യക്തമായി സൂചിപ്പിച്ചതിനേക്കാൾ, SUSI അല്ലെങ്കിൽ അതിന്റെ വിതരണക്കാരോ വിതരണക്കാരോ സേവനങ്ങളെക്കുറിച്ച് എന്തെങ്കിലും നിർദേശങ്ങൾ നൽകുന്നില്ല. ഉദാഹരണത്തിന്, സേവനത്തിനുള്ളിലെ ഉള്ളടക്കം, സേവനങ്ങളുടെ നിർദ്ദിഷ്ട പ്രവർത്തനങ്ങൾ, അല്ലെങ്കിൽ അവരുടെ വിശ്വാസ്യത, ലഭ്യത അല്ലെങ്കിൽ നിങ്ങളുടെ ആവശ്യങ്ങൾ നിറവേറ്റുന്നതിനുള്ള കഴിവ് എന്നിവ സംബന്ധിച്ച് ഞങ്ങൾ എന്തെങ്കിലും ഉത്തരവാദിത്തം ഞങ്ങൾ എടുക്കുന്നില്ല. ഞങ്ങൾ സേവനങ്ങൾ "അതേപടി" നൽകുന്നു. +        \n വ്യാപാരയോഗ്യതയുടെ സൂചിപ്പിക്കുന്ന വാറന്റി, ഒരു പ്രത്യേക ഉദ്ദേശ്യത്തിനായുള്ള ഫിറ്റ്നസ്, നിയമലംഘനം എന്നിവപോലുള്ള ചില വാറന്റിയുകൾക്ക് ചില നിയമപരിധികൾ നൽകുന്നുണ്ട്. നിയമപ്രകാരം അനുവദനീയമായ പരിധി വരെ, ഞങ്ങൾ എല്ലാ വാറന്റികളും ഒഴിവാക്കുന്നു. + + ഞങ്ങളുടെ സേവനങ്ങൾക്കായുള്ള ബാധ്യത + നിയമം അനുവദിക്കുന്ന സമയത്ത്, SUSI, SUSI വിതരണക്കാരും വിതരണക്കാരും, നഷ്ടപ്പെട്ട ലാഭം, വരുമാനം അല്ലെങ്കിൽ ഡാറ്റ, സാമ്പത്തിക നഷ്ടം അല്ലെങ്കിൽ പരോക്ഷ, പ്രത്യേകിച്ച്, പരിണതഫലമാക്കൽ, മാതൃകാപരമായ അല്ലെങ്കിൽ ശിക്ഷ വിധിക്കൽ എന്നിവയ്ക്ക് ഉത്തരവാദികളായിരിക്കില്ല. +        \n സേവനങ്ങളുടെ ഉപയോഗത്തിനായി ഞങ്ങൾ നിങ്ങൾ നൽകിയ തുകയിൽ മാത്രം പരിമിതപ്പെടുത്തിയിട്ടുള്ള, ഈ നിബന്ധനകൾക്ക് വിധേയമായി, ഏതെങ്കിലും തരത്തിലുള്ള വാറണ്ടികൾ ഉൾപ്പെടെ, SUSI ൻറെയും അതിന്റെ വിതരണക്കാരുടെയും വിതരണക്കാരുടെയും ബാധ്യത നിയമം ലംഘിക്കുന്ന പരിധിക്ക് പരിമിതമാണ്. തിരഞ്ഞെടുക്കുക, നിങ്ങൾ വീണ്ടും സേവനങ്ങൾ വിതരണം). +        \n എല്ലാ സാഹചര്യങ്ങളിലും, SUSI ഉം അതിന്റെ വിതരണക്കാരും വിതരണക്കാരും മുൻകൂട്ടി പ്രവചിക്കാനാകാത്ത ഏതെങ്കിലും നഷ്ടത്തിനോ അല്ലെങ്കിൽ നാശനഷ്ടത്തിനോ ഉത്തരവാദി ആയിരിക്കുന്നതല്ല. +        \n ചില രാജ്യങ്ങളിൽ, ഒരു ഉപഭോക്താവെന്ന നിലയിൽ നിങ്ങൾക്ക് നിയമപരമായ അവകാശങ്ങൾ ഉണ്ടായിരിക്കാം. നിങ്ങൾ ഒരു വ്യക്തിഗത ഉദ്ദേശ്യത്തിനായി സേവനങ്ങൾ ഉപയോഗിക്കുകയാണെങ്കിൽ, ഈ നിബന്ധനകളിലോ ഏതെങ്കിലും അധിക നിബന്ധനകളിലോ കരാർ പ്രകാരം അവസാനിക്കാത്ത ഏതെങ്കിലും ഉപഭോക്തൃ നിയമ അവകാശങ്ങളെ പരിമിതപ്പെടുത്തുന്നു. + ഞങ്ങളുടെ സേവനങ്ങളുടെ ബിസിനസ്സ് ഉപയോഗങ്ങൾ + ഒരു ബിസിനസ്സിന്റെ താൽപ്പര്യാർത്ഥം നിങ്ങൾ ഞങ്ങളുടെ സേവനങ്ങൾ ഉപയോഗിക്കുകയാണെങ്കിൽ, ആ ബിസിനസ്സ് ഈ നിബന്ധനകൾ അംഗീകരിക്കുന്നു. സേവനങ്ങളുടെ ഉപയോഗം അല്ലെങ്കിൽ ക്ലെയിമുകൾ, നഷ്ടങ്ങൾ എന്നിവയിൽ നിന്ന് ഉണ്ടാകുന്ന ഏതെങ്കിലും ബാധ്യത അല്ലെങ്കിൽ ചെലവുകൾ ഉൾപ്പെടെ, സേവനങ്ങളുടെ ഉപയോഗം അല്ലെങ്കിൽ ഈ നിബന്ധനകളുടെ ലംഘനം എന്നിവയിൽ നിന്ന് ഉണ്ടാകുന്ന ഏതെങ്കിലും ക്ലെയിം, ഓഫീസർ, ഏജന്റ്, ജീവനക്കാർ എന്നിവരിൽ നിന്ന് ഇത് സുശീല്, നഷ്ടപരിഹാരം, , നാശനഷ്ടങ്ങൾ, സ്യൂട്ട്സ്, വിധികർത്താക്കൾ, വ്യവഹാരത്തിൻറെ ചിലവ്, അഭിഭാഷകർ എന്നിവരുടെ ഫീസ്. + ഈ നിബന്ധനകളെക്കുറിച്ച് + ഒരു സേവനത്തിന് ബാധകമായ ഈ നിബന്ധനകളോ ഏതെങ്കിലും അധിക നിബന്ധനകളോ ഞങ്ങൾ പരിഷ്കരിക്കാം, ഉദാഹരണത്തിന്, ഞങ്ങളുടെ സേവനങ്ങളിലേക്കുള്ള നിയമങ്ങളിൽ വരുന്ന മാറ്റങ്ങൾ അല്ലെങ്കിൽ മാറ്റങ്ങൾ വരുത്തുക. നിങ്ങൾ പതിവായി നയങ്ങൾ നോക്കണം. പേജിൽ ഈ നിബന്ധനകളിലെ പരിഷ്കരണങ്ങളുടെ അറിയിപ്പ് ഞങ്ങൾ പോസ്റ്റുചെയ്യും. പരിഷ്കരിച്ച അധിക നിബന്ധനകളുടെ അറിയിപ്പ് ഞങ്ങൾ ബാധകമായ സേവനത്തിൽ പോസ്റ്റുചെയ്യും. മാറ്റങ്ങൾ മുൻകൈയമായി ബാധകമാകില്ല കൂടാതെ അവർ പോസ്റ്റുചെയ്തതിനുശേഷം പതിനാലു ദിവസത്തിനുശേഷമേ ഫലപ്രദമാകുകയുള്ളൂ. എന്നിരുന്നാലും, ഒരു സേവനത്തിനായുള്ള പുതിയ പ്രവർത്തനങ്ങളെ അഭിസംബോധന ചെയ്തോ അല്ലെങ്കിൽ നിയമപരമായ കാരണങ്ങളാൽ വരുത്തിയിട്ടുള്ള മാറ്റങ്ങൾ ഉടൻ ഫലപ്രദമായിരിക്കും. ഒരു സേവനത്തിനായുള്ള പരിഷ്ക്കരിച്ച നിബന്ധനകൾ നിങ്ങൾ അംഗീകരിക്കാതിരിക്കുകയാണെങ്കിൽ, നിങ്ങൾ ആ സേവനം ഉപയോഗിക്കുന്നത് നിർത്തണം. +        \n ഈ നിബന്ധനകളും അധിക നിബന്ധനകളും തമ്മിൽ വൈരുദ്ധ്യമുണ്ടെങ്കിൽ, ആ തർക്കം സംബന്ധിച്ച് അധിക നിബന്ധനകൾ നിയന്ത്രിക്കും. ഈ നിബന്ധനകൾ SUSI- ഉം നിങ്ങളും തമ്മിലുള്ള ബന്ധത്തെ നിയന്ത്രിക്കുന്നു. അവർക്ക് മൂന്നാം കക്ഷി ഗുണഭോക്തൃ അവകാശങ്ങൾ ഒന്നും ഉണ്ടാക്കില്ല. +        \n നിങ്ങൾ ഈ നിബന്ധനകൾ പാലിക്കുന്നില്ലെങ്കിൽ, ഞങ്ങൾ ഉടൻ നടപടി എടുക്കുന്നില്ലെങ്കിൽ, ഞങ്ങൾക്കെന്തെങ്കിലും ഉണ്ടായിരിക്കാൻ പാടില്ല (ഭാവിയിൽ നടപടി സ്വീകരിക്കുന്നത് പോലുള്ളത്). +        \n ഒരു പ്രത്യേക വ്യവസ്ഥ നടപ്പിലാക്കാൻ കഴിയാത്തതായി മാറുകയാണെങ്കിൽ, മറ്റ് നിബന്ധനകളെ ബാധിക്കില്ല. +        \nCan\'o- ന്റെ നിയമങ്ങൾ, ഈ നിബന്ധനകളിൽ നിന്നോ സേവനങ്ങളിൽ നിന്നോ ഉണ്ടാകുന്നതോ അല്ലെങ്കിൽ അവയുമായി ബന്ധപ്പെട്ടതോ ആയ തർക്കങ്ങൾക്ക് വിയറ്റ്നാമും ബാധകമാകും. ഈ നിബന്ധനകളിൽ നിന്നോ സേവനങ്ങളിൽ നിന്നോ ഉണ്ടാകുന്ന എല്ലാ ക്ലെയിമുകളും കാൻ ത് സിറ്റി, വിയറ്റ്നാം, നിങ്ങൾക്കും SUSI എന്നീ കോടതികൾക്കും കോടതികളിൽ വ്യക്തിപരമായ അധികാരപരിധി സമ്മതിക്കുന്നതിന് വ്യവഹാരം ചെയ്യും. +        \n SUSI എങ്ങനെ ബന്ധപ്പെടാം എന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾക്ക്, ഞങ്ങളുടെ കോൺടാക്റ്റ് പേജ് സന്ദർശിക്കുക. + സ്വകാര്യത \ No newline at end of file diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 9c942b1035..d6d3dacc11 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -140,4 +140,56 @@ Hey, experimente isso! - %s . Você vai amar! Por Favor, Tente Novamente Sair + + + Bem vindo ao SUSI.AI + Obrigado por usar nossos produtos e serviços ("Serviços"). Os Serviços são fornecidos pela SUSI Inc. (“SUSI”), localizada em 93 Mau Than, cidade de Can Tho, Vietnã. Ao usar nossos serviços, você concorda com estes termos. Por favor, leia-os com atenção. + Usando nossos serviços + Você deve seguir todas as políticas disponibilizadas para você nos Serviços. +        \nNão abuse dos nossos serviços. Por exemplo, não interfira nos nossos Serviços nem tente acessá-los usando um método diferente da interface e das instruções que fornecemos. Você pode usar nossos Serviços somente conforme permitido por lei, incluindo as leis e regulamentos de controle de exportação e reexportação aplicáveis. Podemos suspender ou parar de fornecer nossos Serviços a você se você não cumprir com nossos termos ou políticas ou se estivermos investigando suspeita de má conduta. +        \nUtilizar os nossos Serviços não lhe dá a propriedade de quaisquer direitos de propriedade intelectual nos nossos Serviços ou o conteúdo que você acessar. Você não pode usar o conteúdo de nossos Serviços, a menos que obtenha permissão de seu proprietário ou seja permitido por lei. Estes termos não concedem a você o direito de usar qualquer marca ou logotipos usados ​​em nossos Serviços. Não remova, oculte ou altere quaisquer avisos legais exibidos em ou junto com nossos Serviços. +        \nNossos Serviços exibem algum conteúdo que não é de SUSI. Este conteúdo é da exclusiva responsabilidade da entidade que o disponibiliza. Podemos analisar o conteúdo para determinar se é ilegal ou viola nossas políticas, e podemos remover ou recusar a exibição de conteúdo que acreditamos que viole nossas políticas ou a lei. Mas isso não significa necessariamente que revisamos o conteúdo, então, por favor, não assuma que o fazemos. +        \nEm conexão com o uso dos Serviços, podemos enviar anúncios de serviços, mensagens administrativas e outras informações. Você pode optar por sair de algumas dessas comunicações. +        \nAlguns dos nossos Serviços estão disponíveis em dispositivos móveis. Não use esses Serviços de maneira a distraí-lo e evite que você obedeça às leis de tráfego ou de segurança. + + Sua conta SUSI + Você pode precisar de uma conta SUSI para usar alguns de nossos serviços. Você pode criar sua própria conta SUSI, ou sua conta SUSI pode ser atribuída a você por um administrador, como seu empregador ou instituição de ensino. Se você estiver usando uma conta SUSI atribuída a você por um administrador, poderão ser aplicados termos diferentes ou adicionais, e seu administrador poderá acessar ou desativar sua conta. +        \nPara proteger sua conta SUSI, mantenha sua senha confidencial. Você é responsável pela atividade que acontece na sua conta SUSI. Tente não reutilizar sua senha da conta SUSI em aplicativos de terceiros. Se você souber de algum uso não autorizado de sua senha ou conta SUSI, altere sua senha e tome medidas para proteger sua conta. + Privacidade e proteção de direitos autorais + As políticas de privacidade da SUSI garantem que seus dados pessoais estejam seguros e protegidos. Ao usar nossos Serviços, você concorda que o SUSI pode usar esses dados de acordo com nossas políticas de privacidade. +        \nNós respondemos a avisos de suposta violação de direitos autorais e encerramemos contas de infratores reincidentes. Se você acha que alguém está violando seus direitos autorais e deseja nos notificar, é possível encontrar informações sobre o envio de avisos e a política da SUSI sobre como responder a avisos em nosso site. + Seu conteúdo em nossos serviços + Alguns de nossos serviços permitem que você envie, envie, armazene, envie ou receba conteúdo. Você mantém a propriedade de todos os direitos de propriedade intelectual que você detém nesse conteúdo. Em suma, o que pertence a você permanece seu. +        \nQuando você carrega, envia, armazena, envia ou recebe conteúdo para ou através de nossos Serviços, você concede a SUSI (e àqueles com quem trabalhamos) uma licença mundial para usar, hospedar, armazenar, reproduzir, modificar, criar trabalhos derivados (como aqueles resultantes de traduções, adaptações ou outras alterações que fazemos para que seu conteúdo funcione melhor com nossos Serviços), comunique, publique, exiba publicamente, exiba publicamente e distribua tal conteúdo. Os direitos que você concede na licença são para o propósito limitado de operar, promover e melhorar nossos Serviços, e para desenvolver novos. Essa licença continua mesmo se você parar de usar nossos Serviços (por exemplo, para uma listagem de empresas que você adicionou ao SUSI Maps). Alguns Serviços podem oferecer maneiras de acessar e remover o conteúdo que foi fornecido a esse Serviço. Além disso, em alguns dos nossos Serviços, há termos ou configurações que restringem o escopo de nosso uso do conteúdo enviado nesses Serviços. Certifique-se de ter os direitos necessários para uma licença de concessão para qualquer conteúdo que você enviar para nossos Serviços. +        \nSe você tiver uma conta SUSI, poderemos exibir seu nome de perfil, foto de perfil e ações que você realiza em SUSI ou em aplicativos de terceiros conectados à sua conta SUSI em nossos serviços, incluindo exibição em anúncios e outros contextos comerciais. Nós respeitaremos as escolhas que você fizer para limitar as configurações de compartilhamento ou visibilidade em sua conta SUSI. + + Sobre o software em nossos serviços + Quando um Serviço exige ou inclui software para download, o software pode ser atualizado automaticamente no seu dispositivo assim que uma nova versão ou recurso estiver disponível. Alguns Serviços podem permitir que você ajuste suas configurações de atualização automática. +        \nA SUSI oferece a você uma licença pessoal, mundial, isenta de royalties, não atribuível e não exclusiva para usar o software fornecido a você pelo SUSI como parte dos Serviços. Esta licença é para o único propósito de permitir que você use e aproveite o benefício dos Serviços, conforme previsto pela SUSI, na forma permitida por estes termos. +        \nA maioria dos nossos serviços são oferecidos através de Software Livre e / ou Software de Código Aberto. Você pode copiar, modificar, distribuir, vender ou arrendar esses aplicativos e compartilhar o código-fonte desse software, conforme estabelecido no Contrato de Licença fornecido com o Software. + + Modificando e encerrando nossos serviços + Estamos constantemente mudando e melhorando nossos serviços. Podemos adicionar ou remover funcionalidades ou recursos, e podemos suspender ou parar completamente um Serviço. +        \nVocê pode parar de usar nossos Serviços a qualquer momento. A SUSI também pode deixar de fornecer Serviços para você ou adicionar ou criar novos limites para nossos Serviços a qualquer momento. +        \nNós acreditamos que você possui seus dados e preservar seu acesso a esses dados é importante. Se descontinuarmos um Serviço, sempre que razoavelmente possível, daremos a você um aviso prévio e uma chance de obter informações desse Serviço. + Nossas Garantias e Isenções de Responsabilidade + Fornecemos nossos Serviços usando um nível razoável de habilidade e cuidado e esperamos que você goste de usá-los. Mas há certas coisas que não prometemos sobre nossos serviços. +        \nPara além do estabelecido expressamente nestes termos ou termos adicionais, nem a SUSI nem seus fornecedores ou distribuidores fazem promessas específicas sobre os Serviços. Por exemplo, não assumimos nenhum compromisso sobre o conteúdo dos Serviços, as funções específicas dos Serviços ou sua confiabilidade, disponibilidade ou capacidade para atender às suas necessidades. Nós fornecemos os Serviços "como estão". +        \nAlgumas jurisdições fornecem certas garantias, como a garantia implícita de comerciabilidade, adequação a uma finalidade específica e não violação. Na medida permitida por lei, excluímos todas as garantias. + + Responsabilidade pelos nossos serviços + Quando permitido por lei, os fornecedores e distribuidores do SUSI e da SUSI não serão responsáveis ​​por lucros cessantes, receitas ou dados, perdas financeiras ou danos indiretos, especiais, consequenciais, exemplares ou punitivos. +        \nNa medida permitida por lei, a responsabilidade total da SUSI, e seus fornecedores e distribuidores, por quaisquer reivindicações sob estes termos, inclusive por quaisquer garantias implícitas, é limitada ao valor que você nos pagou para usar os Serviços (ou, se escolha, para fornecer-lhe os Serviços novamente). +        \nEm todos os casos, a SUSI e seus fornecedores e distribuidores não serão responsáveis ​​por qualquer perda ou dano que não seja razoavelmente previsível. +        \nNós reconhecemos que em alguns países, você pode ter direitos legais como consumidor. Se você estiver usando os Serviços para uma finalidade pessoal, nada nesses termos ou quaisquer termos adicionais limitará os direitos legais do consumidor que não podem ser renunciados por contrato. + Utilizações comerciais dos nossos serviços + Se você estiver usando nossos serviços em nome de uma empresa, essa empresa aceita esses termos. Ele isentará e indenizará a SUSI e suas afiliadas, executivos, agentes e funcionários de qualquer reclamação, ação ou ação decorrente ou relacionada ao uso dos Serviços ou violação destes termos, incluindo qualquer responsabilidade ou despesa decorrente de reclamações, perdas. , danos, ações, julgamentos, custos de litígios e honorários advocatícios. + Sobre estes termos + Podemos modificar estes termos ou quaisquer termos adicionais que se apliquem a um Serviço para, por exemplo, refletir alterações na lei ou alterações nos nossos Serviços. Você deve olhar os termos regularmente. Publicaremos avisos de modificações nesses termos na página. Publicaremos avisos de termos adicionais modificados no Serviço aplicável. As alterações não serão aplicadas retroativamente e entrarão em vigor não antes de catorze dias depois de serem publicadas. No entanto, alterações relacionadas a novas funções para um Serviço ou alterações feitas por motivos legais entrarão em vigor imediatamente. Se você não concordar com os termos modificados para um Serviço, deverá interromper seu uso desse Serviço. +        \nSe houver um conflito entre esses termos e os termos adicionais, os termos adicionais controlarão esse conflito. Esses termos controlam o relacionamento entre o SUSI e você. Eles não criam nenhum direito de beneficiário de terceiros. +        \nSe você não cumprir estes termos e não agirmos imediatamente, isso não significa que estamos desistindo de quaisquer direitos que possamos ter (como agir no futuro). +        \nSe acontecer que um determinado termo não seja aplicável, não afetará outros termos. +        \nVocê concorda que as leis de Can Tho, Viet Nam serão aplicadas a quaisquer disputas decorrentes ou relacionadas a estes termos ou aos Serviços. Todas as reclamações decorrentes de ou relacionadas a estes termos ou aos serviços serão litigadas exclusivamente nos tribunais de Can Tho City, Vietnã, e você e o SUSI consentem com a jurisdição pessoal nesses tribunais. +        \nPara obter informações sobre como entrar em contato com o SUSI, visite nossa página de contato. + Privacidade diff --git a/app/src/main/res/values-ta-rIN/strings.xml b/app/src/main/res/values-ta-rIN/strings.xml index a6043d21a6..ab5819a9cf 100644 --- a/app/src/main/res/values-ta-rIN/strings.xml +++ b/app/src/main/res/values-ta-rIN/strings.xml @@ -3,6 +3,7 @@ எங்களை பற்றி நடவடிக்கை உரையாடலை ரத்து செய்யுங்கள் பற்றி பட்டி உருப்படியை + தனியுரிமை மெனு உருப்படி அமைப்புகள் இல்லை திறன் பெயர் திறமை விளக்கம் இல்லை @@ -262,4 +263,55 @@ நீங்கள் திறமைகளை பெற முடியாது. இணைய இணைப்பைச் சரிபார்க்கவும் அல்லது மீண்டும் முயற்சிக்கவும். விதிமுறைகள் மற்றும் நிபந்தனைகள் + + + SUSI.AI க்கு வரவேற்கிறோம் + எங்கள் தயாரிப்புகளையும் சேவைகளையும் ("சேவைகள்") பயன்படுத்துவதற்கு நன்றி. இந்த சேவைகள் SUSI Inc. ("SUSI"), 93 Mau Than, Can Tho City, Vietnam இல் அமைந்துள்ளன. எங்கள் சேவைகளைப் பயன்படுத்துவதன் மூலம், நீங்கள் இந்த விதிமுறைகளை ஏற்கிறீர்கள். தயவுசெய்து அவற்றை கவனமாக படிக்கவும். + எங்கள் சேவைகளைப் பயன்படுத்துதல் + சேவைகளுக்குள் உங்களுக்கு கிடைக்கும் எந்த கொள்கைகளையும் பின்பற்ற வேண்டும். +        \n எங்கள் சேவைகளை தவறாகப் பயன்படுத்த வேண்டாம். எடுத்துக்காட்டாக, எங்கள் சேவைகளில் தலையிடாதீர்கள் அல்லது இடைமுகம் மற்றும் நாங்கள் வழங்கும் வழிமுறைகளை தவிர வேறு ஒரு முறையைப் பயன்படுத்தி அவற்றை அணுக முயற்சிக்கவும். நீங்கள் ஏற்றுக்கொள்ளக்கூடிய ஏற்றுமதி மற்றும் மறு ஏற்றுமதி கட்டுப்பாட்டுச் சட்டங்கள் மற்றும் ஒழுங்குவிதிகள் உட்பட, சட்டத்தால் அனுமதிக்கப்பட்டால் மட்டுமே எங்கள் சேவைகளைப் பயன்படுத்த முடியும். நீங்கள் எங்கள் விதிமுறைகள் அல்லது கொள்கைகளுக்கு இணங்கவில்லையெனில் அல்லது சந்தேகத்திற்குரிய துர்நடத்தை விசாரணை செய்தால், நாங்கள் எங்கள் சேவைகளை வழங்குவதை நிறுத்த அல்லது நிறுத்தி இருக்கலாம். +        \nஎங்கள் சேவைகளைப் பயன்படுத்துவதால் எங்கள் சேவைகளில் எந்த அறிவுசார் சொத்து உரிமையையும் அல்லது நீங்கள் அணுகும் உள்ளடக்கம் உங்களுக்கு உரிமையளிக்காது. உரிமையாளரிடமிருந்து அனுமதி பெறப்படாவிட்டால் அல்லது சட்டத்தால் அனுமதிக்கப்படாவிட்டால் நீங்கள் எங்கள் சேவைகளில் உள்ளடக்கத்தை பயன்படுத்த முடியாது. இந்தச் சொற்கள் எங்கள் சேவைகளில் பயன்படுத்தப்படும் எந்த பிராண்டிங் அல்லது லோகோக்களைப் பயன்படுத்துவதற்கான உரிமை உங்களுக்கு வழங்காது. எங்கள் சேவைகளில் அல்லது அவற்றில் காட்டப்படும் எந்த சட்ட அறிவிப்புகளையும் நீக்கவோ, மறைக்கவோ அல்லது மாற்றவோ வேண்டாம். +        \nSUSI இன் சில உள்ளடக்கங்களை எங்கள் சேவைகள் காண்பிக்கின்றன. இந்த உள்ளடக்கமானது, அது கிடைக்கக்கூடிய நிறுவனத்தின் ஒரே பொறுப்பு. சட்டவிரோதமானது அல்லது எங்கள் கொள்கைகளை மீறுவதா என்பதை தீர்மானிக்க உள்ளடக்கத்தை மதிப்பாய்வு செய்யலாம், மேலும் எங்கள் கொள்கைகள் அல்லது சட்டத்தை மீறுவதாக நாங்கள் நம்புகின்ற கருத்துக்களை நாங்கள் அகற்றவோ அல்லது நிராகரிக்கவோ கூடும். ஆனால் அந்த உள்ளடக்கத்தை நாங்கள் மதிப்பாய்வு செய்வது அவசியமில்லை, எனவே தயவு செய்து அதை செய்ய வேண்டாம் என்று நினைத்து விடாதீர்கள். +        \n நீங்கள் சேவைகளைப் பயன்படுத்துவது தொடர்பாக, நாங்கள் உங்களுக்கு சேவை அறிவிப்புகள், நிர்வாக செய்திகள் மற்றும் பிற தகவலை அனுப்பலாம். அந்த தகவல்தொடர்புகளில் சிலவற்றைத் தவிர்க்கலாம். +        \n சில சேவைகளில் மொபைல் சாதனங்கள் கிடைக்கும். உங்களை கவர்ந்திழுக்கும் மற்றும் போக்குவரத்து அல்லது பாதுகாப்பு சட்டங்களுக்குக் கீழ்ப்படியாதபடி உங்களைப் போன்ற சேவைகளைப் பயன்படுத்தாதீர்கள். + + உங்கள் SUSI கணக்கு + எங்கள் சேவைகளில் சிலவற்றைப் பயன்படுத்த நீங்கள் ஒரு SUSI கணக்கு தேவைப்படலாம். நீங்கள் உங்கள் சொந்த SUSI கணக்கை உருவாக்கலாம் அல்லது உங்களுடைய SUSI கணக்கு நிர்வாகி அல்லது கல்வி நிறுவனம் போன்ற ஒரு நிர்வாகி உங்களுக்கு ஒதுக்கப்படலாம். நிர்வாகியால் நீங்கள் ஒதுக்கப்பட்டுள்ள SUSI கணக்கைப் பயன்படுத்தினால், வேறுபட்ட அல்லது கூடுதல் விதிமுறைகள் பொருந்தலாம் மற்றும் உங்கள் நிர்வாகி உங்கள் கணக்கை அணுக அல்லது முடக்கலாம். +        \n உங்கள் SUSI கணக்கைப் பாதுகாக்க, உங்கள் கடவுச்சொல்லை இரகசியமாக வைத்திருங்கள். உங்கள் SUSI கணக்கில் அல்லது நடக்கும் செயல்பாட்டிற்கு நீங்கள் பொறுப்பாவீர்கள். மூன்றாம் தரப்பு பயன்பாடுகளில் உங்கள் SUSI கணக்கு கடவுச்சொல்லை மீண்டும் பயன்படுத்த வேண்டாம். உங்கள் கடவுச்சொல் அல்லது SUSI கணக்கின் அங்கீகாரமற்ற பயன்பாடு பற்றி நீங்கள் தெரிந்தால், உங்கள் கடவுச்சொல்லை மாற்றவும், உங்கள் கணக்கை பாதுகாக்க நடவடிக்கை எடுக்கவும். + தனியுரிமை மற்றும் பதிப்புரிமை பாதுகாப்பு + SUSI தனியுரிமைக் கொள்கைகள் உங்கள் தனிப்பட்ட தரவு பாதுகாப்பாகவும் பாதுகாப்பாகவும் இருப்பதை உறுதிசெய்கின்றன. எங்கள் சேவைகளைப் பயன்படுத்துவதன் மூலம், எங்கள் தனியுரிமை கொள்கைகளுக்கு ஏற்ப, SUSI அத்தகைய தரவைப் பயன்படுத்த முடியும் என்பதை நீங்கள் ஒப்புக்கொள்கிறீர்கள். +        \n நாங்கள் பதிப்புரிமை மீறல் குற்றச்சாட்டுகளின் அறிவிப்புகளுக்கு பதிலளித்து, மீண்டும் மீண்டும் மீறுபவர்களின் கணக்குகளை முடக்குகிறோம். உங்கள் பதிப்புரிமைகளை யாராவது மீறுவதாகவும், எங்களுக்கு அறிவிக்க விரும்புகிறார்களெனவும் நீங்கள் கருதினால், எங்கள் வலைத்தளங்களில் அறிவிப்புகளுக்கு பதிலளிப்பதைப் பற்றிய அறிவிப்புகளையும் SUSI கொள்கையும் பற்றிய தகவலைக் காணலாம். + எங்கள் சேவைகளில் உள்ள உங்கள் உள்ளடக்கம் + எங்கள் சேவைகளில் சிலவற்றை உள்ளடக்கத்தை பதிவேற்றவும், சமர்ப்பிக்கவும், சேமிக்கவும், அனுப்பவும் அல்லது பெறவும் அனுமதிக்கின்றன. அந்த உள்ளடக்கத்தில் நீங்கள் வைத்திருக்கும் எந்த அறிவார்ந்த சொத்துரிமை உரிமையையும் நீங்கள் வைத்திருக்கின்றீர்கள். சுருக்கமாக, உங்களுடையது உங்களுடையதுதான். +        \n எங்கள் சேவைகள் அல்லது எங்கள் சேவைகளின் உள்ளடக்கத்தை பதிவேற்றும்போது, ​​சமர்ப்பிக்கவும், அனுப்பவும் அல்லது பெறும்பொழுது, SUSI (மற்றும் நாங்கள் வேலை செய்யும்) உலகளாவிய லைசென்ஸ் பயன்படுத்த, ஹோஸ்ட், ஸ்டோர், இனப்பெருக்கம், மாற்ற, உருவாக்குதல், மொழிபெயர்ப்பது, வெளியிடுதல், பொதுவில் நிகழ்த்துவது, வெளிப்படையான காட்சி மற்றும் அத்தகைய உள்ளடக்கத்தை விநியோகித்தல் போன்றவற்றால் ஏற்படும் மாற்றங்கள், மாற்றங்கள் அல்லது பிற மாற்றங்கள் ஆகியவற்றின் விளைவாக). உரிமத்தில் நீங்கள் வழங்கிய உரிமைகள், எங்கள் சேவைகளை இயங்குவதற்கும், ஊக்குவிப்பதற்கும், மேம்படுத்துவதற்கும், புதியவற்றை உருவாக்குவதற்கும் மட்டுப்படுத்தப்பட்ட நோக்கத்திற்காக உள்ளன. நீங்கள் எங்கள் சேவைகளைப் பயன்படுத்தினால் கூட, இந்த உரிமம் தொடர்கிறது (எடுத்துக்காட்டுக்கு, SUSI வரைபடத்தில் நீங்கள் சேர்த்த வணிகத் தகவலுக்காக). அந்த சேவைக்கு வழங்கப்பட்ட உள்ளடக்கம் அணுக மற்றும் அகற்ற சில வழிகளை உங்களுக்கு வழங்கலாம். மேலும், சில சேவைகளில், அந்த சேவைகளில் சமர்ப்பிக்கப்பட்ட உள்ளடக்கம் எங்கள் பயன்பாட்டின் அளவைக் குறைக்கும் விதிமுறைகள் அல்லது அமைப்புகள் உள்ளன. நீங்கள் எங்கள் சேவைகளுக்குச் சமர்ப்பிக்கும் எந்தவொரு உள்ளடக்கத்திற்கும் உரிம உரிமத்திற்கு தேவையான உரிமைகளை வைத்திருப்பதை உறுதிசெய்யவும். +        \n உங்களிடம் ஒரு SUSI கணக்கு இருந்தால், உங்கள் சுயவிவரப் பெயர், சுயவிவரப் புகைப்படம் மற்றும் SUSI அல்லது எங்கள் சேவைகளில் உங்கள் SUSI கணக்குடன் இணைக்கப்பட்ட மூன்றாம் தரப்பு பயன்பாடுகளில் விளம்பரங்கள் மற்றும் பிற வர்த்தக சூழல்களில் காண்பிக்கப்படும் செயல்களை நீங்கள் காண்பிக்கலாம். உங்கள் SUSI கணக்கில் பகிர்வு அல்லது தெரிவுநிலை அமைப்புகளை குறைக்க நீங்கள் தேர்ந்தெடுத்த தேர்வுகளை நாங்கள் மதிப்போம். + + எங்கள் சேவைகளில் மென்பொருள் பற்றி + ஒரு சேவை தேவைப்படும் மென்பொருள் அல்லது அவசியமான மென்பொருளை தேவைப்பட்டால், புதிய பதிப்பு அல்லது அம்சம் கிடைக்கும்போது, ​​உங்கள் சாதனம் தானாகவே புதுப்பிக்கப்படும். உங்கள் தானியங்கு புதுப்பிப்பு அமைப்புகளைச் சரிசெய்ய சில சேவைகள் அனுமதிக்கக்கூடும். +        \n SUSI உங்களுக்கு வழங்கிய மென்பொருளைப் பயன்படுத்த, தனிப்பட்ட, உலகளாவிய, ராயல்டி-இலவச, நியமிக்கப்படாத மற்றும் அல்லாத பிரத்யேக உரிமத்தை வழங்குகிறது. இந்த விதிமுறைகளால் அனுமதிக்கப்பட்ட முறையில், SUSI வழங்கிய சேவைகளின் நலன்களை நீங்கள் பயன்படுத்தவும், அனுபவிக்கவும் இந்த உரிமம் தேவை. +        \n எங்கள் சேவைகளில் பெரும்பாலானவை இலவச மென்பொருள் மற்றும் / அல்லது திறந்த மூல மென்பொருள் மூலமாக வழங்கப்படுகின்றன. மென்பொருள் மூலம் வழங்கப்பட்ட உரிம ஒப்பந்தத்தில் குறிப்பிடப்பட்டுள்ளபடி, நீங்கள் இந்த பயன்பாடுகளை நகலெடுக்கலாம், திருத்தலாம், விநியோகிக்கலாம், விற்கலாம் அல்லது குத்தகைக்கு விடலாம், அந்த மென்பொருளின் மூல குறியீட்டை பகிரலாம். + + எங்கள் சேவைகள் மாற்றியமைக்கப்பட்டு, முடக்கப்பட்டுள்ளன + எங்கள் சேவைகளை தொடர்ந்து மாற்றுவோம் மற்றும் மேம்படுத்துகிறோம். செயல்பாடுகளை அல்லது அம்சங்களை நாங்கள் சேர்க்கலாம் அல்லது அகற்றலாம், ஒரு சேவை முழுவதையும் இடைநிறுத்தலாம் அல்லது நிறுத்தலாம். +        \n நீங்கள் எப்போது வேண்டுமானாலும் எங்கள் சேவைகளைப் பயன்படுத்தலாம். SUSI உங்களுக்கு சேவைகள் வழங்குவதை நிறுத்தி வைக்கலாம் அல்லது எந்த நேரத்திலும் எங்கள் சேவைகளுக்கு புதிய வரம்புகளைச் சேர்க்கலாம் அல்லது உருவாக்கலாம். +        \n உங்கள் தரவை உங்களுக்கு சொந்தமானது என்று நம்புகிறோம், அத்தகைய தரவை அணுகுவதைப் பாதுகாப்பது முக்கியம். நாங்கள் ஒரு சேவையை நிறுத்திவிட்டால், அங்கு நியாயமான சாத்தியம் இருந்தால், நாங்கள் உங்களை நியாயமான முன்கூட்டியே அறிவிப்பு மற்றும் அந்த சேவைக்கு தகவல் பெறும் வாய்ப்பை தருவோம். + எங்கள் உத்தரவாதங்கள் மற்றும் மறுப்பு + நாங்கள் நியாயமான அளவிலான திறன் மற்றும் பராமரிப்பு மூலம் எங்கள் சேவைகளை வழங்குவதோடு, அவற்றைப் பயன்படுத்துவதை நீங்கள் அனுபவிப்பீர்கள் என நம்புகிறோம். ஆனால் எங்கள் சேவைகளைப் பற்றி நாங்கள் உறுதியளிக்காத சில விஷயங்கள் உள்ளன. +        \nஇந்த சொற்களில் அல்லது கூடுதல் விதிகளில் வெளிப்படையாக குறிப்பிடப்பட்டதை விட வேறு, SUSI அல்லது அதன் வழங்குநர்கள் அல்லது விநியோகஸ்தர்கள் சேவைகளுக்கு எந்தவொரு குறிப்பிட்ட வாக்குறுதிகளையும் அளிக்கவில்லை. எடுத்துக்காட்டாக, சேவைகள், சேவைகளின் குறிப்பிட்ட செயல்பாடுகள், அல்லது அவர்களின் நம்பகத்தன்மை, கிடைக்கும் தன்மை அல்லது உங்கள் தேவைகளை பூர்த்தி செய்யும் திறன் ஆகியவற்றின் உள்ளடக்கத்தை நாங்கள் எந்தவிதமான கடமைகளையும் செய்ய மாட்டோம். நாங்கள் "போன்றது" சேவைகளை வழங்குகிறோம். +        \n சில உத்தரவாதங்கள், சில குறிப்பிட்ட உத்தரவாதங்கள், ஒரு குறிப்பிட்ட நோக்கத்திற்காக தகுதியற்றது, மற்றும் மீறல் ஆகியவற்றின் குறிப்பிட்ட உத்தரவாதங்கள் போன்றவை. சட்டத்தால் அனுமதிக்கப்பட்ட அளவிற்கு, நாங்கள் எல்லா உத்தரவாதங்களையும் ஒதுக்கிக் கொள்கிறோம். + + எங்கள் சேவைகளுக்கான பொறுப்பு + சட்டத்தால் அனுமதிக்கப்பட்ட போது, ​​SUSI மற்றும் SUSI வழங்குநர்கள் மற்றும் விநியோகஸ்தர்கள், இழந்த இலாபங்கள், வருவாய்கள் அல்லது தரவு, நிதி இழப்புக்கள் அல்லது மறைமுக, சிறப்பு, விளைவாக, முன்மாதிரி அல்லது தண்டனையான பாதிப்புகளுக்கு பொறுப்பு அல்ல. +        \n இந்த விதிமுறைகளின் கீழ் எந்த உரிமைகோரல்களுக்கும், SUSI, அதன் வழங்குநர்கள் மற்றும் விநியோகஸ்தர்களின் மொத்த கடப்பாடு சட்டத்தின் மூலம் அனுமதிக்கப்படும் அளவிற்கு, எந்தவொரு குறிப்பிட்ட உத்தரவாதங்களுக்கும் உட்பட, நீங்கள் சேவைகளைப் பயன்படுத்த எங்களுக்கு வழங்கிய தொகைக்கு மட்டுமே (அல்லது, தேர்வு செய்யுங்கள், மீண்டும் சேவைகளை உங்களுக்கு வழங்க). +        \n அனைத்து சந்தர்ப்பங்களிலும், SUSI மற்றும் அதன் சப்ளையர்கள் மற்றும் விநியோகஸ்தர்கள் நியாயமான முன்னுரிமை இல்லாத எந்த இழப்பு அல்லது சேதத்திற்கும் பொறுப்பாக மாட்டார்கள். +        \n சில நாடுகளில், நீங்கள் ஒரு நுகர்வோர் என்ற சட்ட உரிமைகளை பெற்றிருக்கலாம் என்று நாங்கள் உணர்கிறோம். நீங்கள் தனிப்பட்ட நோக்கத்திற்காக சேவைகளைப் பயன்படுத்துகிறீர்கள் என்றால், இந்த விதிமுறைகளில் அல்லது எந்த கூடுதல் விதிமுறைகளோ எந்த நுகர்வோர் சட்ட உரிமையையும் கட்டுப்படுத்தாது, இது ஒப்பந்தத்தால் தள்ளுபடி செய்யப்படாது. + எங்கள் சேவைகளின் வணிகப் பயன்பாடுகள் + ஒரு வணிகத்தின் சார்பாக நீங்கள் எங்கள் சேவைகளைப் பயன்படுத்தினால், அந்த வணிக இந்த விதிமுறைகளை ஏற்றுக்கொள்கிறது. SUSI மற்றும் அதன் துணை நிறுவனங்கள், அதிகாரிகள், முகவர்கள் மற்றும் பணியாளர்கள், கூற்றுக்கள், இழப்புகள் ஆகியவற்றிலிருந்து எழும் எந்தவொரு கடப்பாடு அல்லது இழப்பு உட்பட சேவைகளின் பயன்பாடு அல்லது இந்த விதிமுறைகளை மீறுதல் அல்லது தொடர்புடைய எந்த உரிமைகோரல், , சேதங்கள், வழக்குகள், தீர்ப்புகள், வழக்கு செலவுகள் மற்றும் வழக்கறிஞர்களின் கட்டணம். + இந்த விதிமுறைகளைப் பற்றி + ஒரு சேவைக்கு பொருந்தக்கூடிய இந்த விதிமுறை அல்லது எந்த கூடுதல் விதிமுறைகளையும் நாங்கள் மாற்றலாம், எடுத்துக்காட்டாக, சட்டத்திற்கான மாற்றங்கள் அல்லது எங்கள் சேவைகளில் மாற்றங்கள் ஆகியவற்றை பிரதிபலிக்கவும். நீங்கள் வழக்கமாக விதிமுறைகளைப் பார்க்க வேண்டும். இந்தப் பக்கத்தில் உள்ள விதிகளுக்கு மாற்றங்களை அறிவிப்போம். பொருந்தக்கூடிய சேவைகளில் திருத்தப்பட்ட கூடுதல் விதிகளின் அறிவிப்பை நாங்கள் வெளியிடுவோம். மாற்றங்கள் ரகசியமாக விண்ணப்பிக்காது மற்றும் அவர்கள் இடுகையிடப்பட்ட பதினைந்து நாட்களுக்குப் பின்னர் விரைவாக செயல்படும். இருப்பினும், ஒரு சேவைக்கான புதிய செயல்பாடுகளை மாற்றும் அல்லது சட்டபூர்வ காரணங்களுக்காக செய்யப்பட்ட மாற்றங்கள் உடனடியாக பயனுள்ளதாக இருக்கும். ஒரு சேவைக்கான திருத்தப்பட்ட விதிமுறைகளுக்கு நீங்கள் ஒத்துக்கொள்ளவில்லை என்றால், நீங்கள் அந்த சேவையைப் பயன்படுத்துவதை நிறுத்த வேண்டும். +        \n இந்த விதிமுறைகளுக்கும், கூடுதல் விதிமுறைகளுக்கும் இடையில் மோதல் இருந்தால், அந்த முரண்பாட்டிற்கான கூடுதல் விதிமுறைகள் கட்டுப்படுத்தப்படும். இந்த விதிமுறைகள் SUSI க்கும் உங்களுக்கும் இடையேயான உறவை கட்டுப்படுத்துகின்றன. அவர்கள் எந்த மூன்றாம் தரப்பு பயனீட்டாளர் உரிமையையும் உருவாக்கவில்லை. +        \n நீங்கள் இந்த விதிமுறைகளுக்கு இணங்கவில்லையானால், உடனடியாக நடவடிக்கை எடுப்போம் எனில், நாம் எந்த உரிமையையும் (எதிர்காலத்தில் நடவடிக்கை எடுப்பது போன்றவை) நாங்கள் கொடுக்கிறோம் என்று அர்த்தமல்ல. +        \n ஒரு குறிப்பிட்ட காலவரை அமல்படுத்த இயலாது எனில் வேறு எந்தவொரு விதிமுறைகளையும் பாதிக்காது. +        \n இந்த ஒப்பந்தங்கள் அல்லது சேவைகளில் இருந்து எழும் எந்தவொரு விவாதத்துக்கும், வியட்நாம் சட்டத்தின் விதிகளை நீங்கள் ஏற்றுக்கொள்வதாக ஒப்புக்கொள்கிறீர்கள். இந்த விதிமுறைகளையோ அல்லது சேவைகளையோ எழும் அனைத்து உரிமைகோரல்களும் கேன் தோ சிட்டி, வியூம், மற்றும் நீ மற்றும் SUSI ஆகியவற்றின் நீதிமன்றங்களில் தனி நீதிமன்றங்களுக்கு ஒப்புதல் அளிப்பதில் தனித்தனியாக வழக்குத் தொடரப்படும். +        \n SUSI ஐ எப்படி தொடர்புபடுத்துவது என்பது பற்றிய தகவலுக்கு, தயவுசெய்து எங்கள் தொடர்புப் பக்கத்தைப் பார்வையிடவும். \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index e688a5fd22..9117857baa 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -125,4 +125,7 @@ 48dp + + 4dp + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 68d45cd023..e81d9f0d17 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -40,6 +40,7 @@ About Settings + Privacy Message copied @@ -437,4 +438,54 @@ Skill reported successfully Skill already reported + + Welcome to SUSI.AI + Thanks for using our products and services (“Services”). The Services are provided by SUSI Inc. (“SUSI”), located at 93 Mau Than, Can Tho City, Viet Nam. By using our Services, you are agreeing to these terms. Please read them carefully. + Using Our Services + You must follow any policies made available to you within the Services. + \nDon’t misuse our Services. For example, don’t interfere with our Services or try to access them using a method other than the interface and the instructions that we provide. You may use our Services only as permitted by law, including applicable export and re-export control laws and regulations. We may suspend or stop providing our Services to you if you do not comply with our terms or policies or if we are investigating suspected misconduct. + \nUsing our Services does not give you ownership of any intellectual property rights in our Services or the content you access. You may not use content from our Services unless you obtain permission from its owner or are otherwise permitted by law. These terms do not grant you the right to use any branding or logos used in our Services. Don’t remove, obscure, or alter any legal notices displayed in or along with our Services. + \nOur Services display some content that is not SUSI’s. This content is the sole responsibility of the entity that makes it available. We may review content to determine whether it is illegal or violates our policies, and we may remove or refuse to display content that we reasonably believe violates our policies or the law. But that does not necessarily mean that we review content, so please don’t assume that we do. + \nIn connection with your use of the Services, we may send you service announcements, administrative messages, and other information. You may opt out of some of those communications. + \nSome of our Services are available on mobile devices. Do not use such Services in a way that distracts you and prevents you from obeying traffic or safety laws. + + Your SUSI Account + You may need a SUSI Account in order to use some of our Services. You may create your own SUSI Account, or your SUSI Account may be assigned to you by an administrator, such as your employer or educational institution. If you are using a SUSI Account assigned to you by an administrator, different or additional terms may apply and your administrator may be able to access or disable your account. + \nTo protect your SUSI Account, keep your password confidential. You are responsible for the activity that happens on or through your SUSI Account. Try not to reuse your SUSI Account password on third-party applications. If you learn of any unauthorized use of your password or SUSI Account, change your password and take measures to secure your account. + Privacy and Copyright Protection + SUSI’s privacy policies ensure that your personal data is safe and protected. By using our Services, you agree that SUSI can use such data in accordance with our privacy policies. + \nWe respond to notices of alleged copyright infringement and terminate accounts of repeat infringers. If you think somebody is violating your copyrights and want to notify us, you can find information about submitting notices and SUSI’s policy about responding to notices on our website. + Your Content in our Services + Some of our Services allow you to upload, submit, store, send or receive content. You retain ownership of any intellectual property rights that you hold in that content. In short, what belongs to you stays yours. + \nWhen you upload, submit, store, send or receive content to or through our Services, you give SUSI (and those we work with) a worldwide license to use, host, store, reproduce, modify, create derivative works (such as those resulting from translations, adaptations or other changes we make so that your content works better with our Services), communicate, publish, publicly perform, publicly display and distribute such content. The rights you grant in the license are for the limited purpose of operating, promoting, and improving our Services, and to develop new ones. This license continues even if you stop using our Services (for example, for a business listing you have added to SUSI Maps). Some Services may offer you ways to access and remove content that has been provided to that Service. Also, in some of our Services, there are terms or settings that narrow the scope of our use of the content submitted in those Services. Make sure you have the necessary rights to a grant license for any content that you submit to our Services. + \nIf you have a SUSI Account, we may display your Profile name, Profile photo, and actions you take on SUSI or on third-party applications connected to your SUSI Account in our Services, including displaying in ads and other commercial contexts. We will respect the choices you make to limit sharing or visibility settings in your SUSI Account. + + About Software in our Services + When a Service requires or includes downloadable software, the software may update automatically on your device once a new version or feature is available. Some Services may let you adjust your automatic update settings. + \nSUSI gives you a personal, worldwide, royalty-free, non-assignable and non-exclusive license to use the software provided to you by SUSI as part of the Services. This license is for the sole purpose of enabling you to use and enjoy the benefit of the Services as provided by SUSI, in the manner permitted by these terms. + \nMost of our services are offered through Free Software and/or Open Source Software. You may copy, modify, distribute, sell, or lease these applications and share the source code of that software as stated in the License Agreement provided with the Software. + + Modifying and Terminating our Services + We are constantly changing and improving our Services. We may add or remove functionalities or features, and we may suspend or stop a Service altogether. + \nYou can stop using our Services at any time. SUSI may also stop providing Services to you, or add or create new limits to our Services at any time. + \nWe believe that you own your data and preserving your access to such data is important. If we discontinue a Service, where reasonably possible, we will give you reasonable advance notice and a chance to get information out of that Service. + Our Warranties and Disclaimers + We provide our Services using a reasonable level of skill and care and we hope that you will enjoy using them. But there are certain things that we don’t promise about our Services. + \nOther than as expressly set out in these terms or additional terms, neither SUSI nor its suppliers or distributors make any specific promises about the Services. For example, we don’t make any commitments about the content within the Services, the specific functions of the Services, or their reliability, availability, or ability to meet your needs. We provide the Services “as is”. + \nSome jurisdictions provide for certain warranties, like the implied warranty of merchantability, fitness for a particular purpose and non-infringement. To the extent permitted by law, we exclude all warranties. + + Liability for our Services + When permitted by law, SUSI, and SUSI’s suppliers and distributors, will not be responsible for lost profits, revenues, or data, financial losses or indirect, special, consequential, exemplary, or punitive damages. + \nTo the extent permitted by law, the total liability of SUSI, and its suppliers and distributors, for any claims under these terms, including for any implied warranties, is limited to the amount you paid us to use the Services (or, if we choose, to supplying you the Services again). + \nIn all cases, SUSI, and its suppliers and distributors will not be liable for any loss or damage that is not reasonably foreseeable. + \nWe recognize that in some countries, you might have legal rights as a consumer. If you are using the Services for a personal purpose, then nothing in these terms or any additional terms limits any consumer legal rights which may not be waived by contract. + Business uses of our Services + If you are using our Services on behalf of a business, that business accepts these terms. It will hold harmless and indemnify SUSI and its affiliates, officers, agents, and employees from any claim, suit or action arising from or related to the use of the Services or violation of these terms, including any liability or expense arising from claims, losses, damages, suits, judgments, litigation costs and attorneys’ fees. + About these Terms + We may modify these terms or any additional terms that apply to a Service to, for example, reflect changes to the law or changes to our Services. You should look at the terms regularly. We’ll post notice of modifications to these terms on the page. We’ll post notice of modified additional terms in the applicable Service. Changes will not apply retroactively and will become effective no sooner than fourteen days after they are posted. However,changes addressing new functions for a Service or changes made for legal reasons will be effective immediately. If you do not agree to the modified terms for a Service, you should discontinue your use of that Service. + \nIf there is a conflict between these terms and the additional terms, the additional terms will control for that conflict.These terms control the relationship between SUSI and you. They do not create any third party beneficiary rights. + \nIf you do not comply with these terms, and we don’t take action right away, doesn’t mean that we are giving up any rights that we may have (such as taking action in the future). + \nIf it turns out that a particular term is not enforceable, will not affect any other terms. + \nYou agree that the laws of Can Tho, Viet Nam will apply to any disputes arising out of or relating to these terms or the Services. All claims arising out of or relating to these terms or the services will be litigated exclusively in the courts of Can Tho City, Viet Nam, and you and SUSI consent to personal jurisdiction in those courts. + \nFor information about how to contact SUSI, please visit our contact page. From 693aa3e68b39429ccf97755358c1e77651f02fda Mon Sep 17 00:00:00 2001 From: Amey Ghate <39519040+amey-ghate@users.noreply.github.com> Date: Fri, 22 Mar 2019 14:30:31 +0530 Subject: [PATCH 24/74] Fix for #1801. (#1803) Three test cases had compilation errors as the Ids of elements had changed on the activity. This change was not incorporated in the test cases. Updated the files to have correct UI element Ids p.s There are warnings dur to deprecated FLAGS eg. FLAG_TURN_SCREEN_ON. Did not change it to not break for anyone using API level before 27 --- .../java/org/fossasia/susi/ai/chat/ChatActivityTest.kt | 4 ++-- .../java/org/fossasia/susi/ai/login/LoginActivityTest.kt | 8 ++++---- .../org/fossasia/susi/ai/signup/SignUpActivityTest.kt | 9 +++++---- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/app/src/androidTest/java/org/fossasia/susi/ai/chat/ChatActivityTest.kt b/app/src/androidTest/java/org/fossasia/susi/ai/chat/ChatActivityTest.kt index 21d4cc5d59..650fd29d2e 100644 --- a/app/src/androidTest/java/org/fossasia/susi/ai/chat/ChatActivityTest.kt +++ b/app/src/androidTest/java/org/fossasia/susi/ai/chat/ChatActivityTest.kt @@ -73,10 +73,10 @@ class ChatActivityTest { onView(withId(R.id.rv_chat_feed)).check(matches(isDisplayed())) // checks if layout container for chat box is present - onView(withId(R.id.send_message_layout)).check(matches(isDisplayed())) + onView(withId(R.id.sendMessageLayout)).check(matches(isDisplayed())) // checks if message box is present - onView(withId(R.id.et_message)).check(matches(isDisplayed())) + onView(withId(R.id.askSusiMessage)).check(matches(isDisplayed())) // checks if microphone button is present onView(withId(R.id.btnSpeak)).check(matches(isDisplayed())) diff --git a/app/src/androidTest/java/org/fossasia/susi/ai/login/LoginActivityTest.kt b/app/src/androidTest/java/org/fossasia/susi/ai/login/LoginActivityTest.kt index 00a40535f0..1cb6ee15f8 100644 --- a/app/src/androidTest/java/org/fossasia/susi/ai/login/LoginActivityTest.kt +++ b/app/src/androidTest/java/org/fossasia/susi/ai/login/LoginActivityTest.kt @@ -65,17 +65,17 @@ class LoginActivityTest { onView(withId(R.id.password)).check(matches(isDisplayed())) // checks if login button is present - onView(withId(R.id.log_in)).check(matches(isDisplayed())) + onView(withId(R.id.logIn)).check(matches(isDisplayed())) // checks if forgot password button is present - onView(withId(R.id.forgot_password)).check(matches(isDisplayed())) + onView(withId(R.id.forgotPassword)).check(matches(isDisplayed())) // checks if checkbox is present onView(withId(R.id.customer_server)).check(matches(isDisplayed())) // checks if sign up button is present - onView(withId(R.id.sign_up)).perform(scrollTo()) - onView(withId(R.id.sign_up)).check(matches(isDisplayed())) + onView(withId(R.id.signUp)).perform(scrollTo()) + onView(withId(R.id.signUp)).check(matches(isDisplayed())) // checks if skip button is present onView(withId(R.id.skip)).perform(scrollTo()) diff --git a/app/src/androidTest/java/org/fossasia/susi/ai/signup/SignUpActivityTest.kt b/app/src/androidTest/java/org/fossasia/susi/ai/signup/SignUpActivityTest.kt index d5f26fdea2..2dc66b5277 100644 --- a/app/src/androidTest/java/org/fossasia/susi/ai/signup/SignUpActivityTest.kt +++ b/app/src/androidTest/java/org/fossasia/susi/ai/signup/SignUpActivityTest.kt @@ -54,13 +54,14 @@ class SignUpActivityTest { onView(withId(R.id.password)).check(matches(isDisplayed())) // checks if confirm password button is present - onView(withId(R.id.confirm_password)).check(matches(isDisplayed())) + onView(withId(R.id.confirmPassword)).check(matches(isDisplayed())) // checks if checkbox is present - onView(withId(R.id.customer_server)).check(matches(isDisplayed())) + onView(withId(R.id.customServerSignUp)).check(matches(isDisplayed())) // checks if sign up button is present - onView(withId(R.id.sign_up)).perform(scrollTo()) - onView(withId(R.id.sign_up)).check(matches(isDisplayed())) + onView(withId(R.id.signUp)).perform(scrollTo()) + onView(withId(R.id.signUp)).check(matches(isDisplayed())) + } } \ No newline at end of file From 6a3eac5cd4bbdf342dd3690b94e57dd3311a0374 Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Fri, 22 Mar 2019 23:15:59 +0530 Subject: [PATCH 25/74] feat: Add login, logout, signup options in menu (#2046) * Add login, logout, signup options in menu * Spotless Check Apply --- .../susi/ai/signup/SignUpActivityTest.kt | 1 - .../fossasia/susi/ai/skills/SkillsActivity.kt | 43 +++++++++++++++++++ .../main/res/menu/skills_activity_menu.xml | 6 +++ 3 files changed, 49 insertions(+), 1 deletion(-) diff --git a/app/src/androidTest/java/org/fossasia/susi/ai/signup/SignUpActivityTest.kt b/app/src/androidTest/java/org/fossasia/susi/ai/signup/SignUpActivityTest.kt index 2dc66b5277..eab2e95db7 100644 --- a/app/src/androidTest/java/org/fossasia/susi/ai/signup/SignUpActivityTest.kt +++ b/app/src/androidTest/java/org/fossasia/susi/ai/signup/SignUpActivityTest.kt @@ -62,6 +62,5 @@ class SignUpActivityTest { // checks if sign up button is present onView(withId(R.id.signUp)).perform(scrollTo()) onView(withId(R.id.signUp)).check(matches(isDisplayed())) - } } \ No newline at end of file diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt b/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt index d40729375d..3df1559b20 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt @@ -4,6 +4,7 @@ import android.content.Context import android.content.Intent import android.os.Bundle import android.support.v4.content.ContextCompat +import android.support.v7.app.AlertDialog import android.support.v7.app.AppCompatActivity import android.text.Editable import android.text.TextWatcher @@ -16,11 +17,15 @@ import kotlinx.android.synthetic.main.fragment_skill_listing.* import org.fossasia.susi.ai.R import org.fossasia.susi.ai.chat.ChatActivity import org.fossasia.susi.ai.helper.Utils.hideSoftKeyboard +import org.fossasia.susi.ai.login.LoginActivity import org.fossasia.susi.ai.rest.responses.susi.SkillData +import org.fossasia.susi.ai.signup.SignUpActivity import org.fossasia.susi.ai.skills.aboutus.AboutUsFragment import org.fossasia.susi.ai.skills.groupwiseskills.GroupWiseSkillsFragment import org.fossasia.susi.ai.skills.privacy.PrivacyFragment import org.fossasia.susi.ai.skills.settings.ChatSettingsFragment +import org.fossasia.susi.ai.skills.settings.SettingsPresenter +import org.fossasia.susi.ai.skills.settings.contract.ISettingsPresenter import org.fossasia.susi.ai.skills.skilldetails.SkillDetailsFragment import org.fossasia.susi.ai.skills.skilllisting.SkillListingFragment @@ -45,12 +50,14 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { private var skills: ArrayList>> = ArrayList() private var text: String = "" private var group: String = "" + private lateinit var settingsPresenter: ISettingsPresenter override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) overridePendingTransition(R.anim.trans_left_in, R.anim.trans_left_out) setContentView(R.layout.activity_skills) + settingsPresenter = SettingsPresenter(this) val skillFragment = SkillListingFragment() //skills = skillFragment.skills supportFragmentManager.beginTransaction() @@ -72,6 +79,12 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { override fun onCreateOptionsMenu(menu: Menu?): Boolean { val menuInflater = menuInflater menuInflater.inflate(R.menu.skills_activity_menu, menu) + if (!settingsPresenter.getAnonymity()) { + val loginMenuItem = menu?.findItem(R.id.menu_login) + loginMenuItem?.setTitle("Logout") + val signUpMenuItem = menu?.findItem(R.id.menu_signup) + signUpMenuItem?.setVisible(false) + } return true } @@ -126,6 +139,35 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { .commit() } + R.id.menu_login -> { + handleOnLoadingFragment() + if (!settingsPresenter.getAnonymity()) { + val builder = AlertDialog.Builder(this) + builder.setMessage(R.string.logout_confirmation).setCancelable(false).setPositiveButton(R.string.action_log_out) { _, _ -> + settingsPresenter.loginLogout() + val intent = Intent(this, LoginActivity::class.java) + intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK + startActivity(intent) + finish() + }.setNegativeButton(R.string.cancel) { dialog, _ -> dialog.cancel() } + val alert = builder.create() + alert.setTitle(getString(R.string.logout)) + alert.show() + } else { + settingsPresenter.loginLogout() + val intent = Intent(this, LoginActivity::class.java) + intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK + startActivity(intent) + finish() + } + } + + R.id.menu_signup -> { + handleOnLoadingFragment() + val intent = Intent(this, SignUpActivity::class.java) + startActivity(intent) + } + R.id.menu_privacy -> { handleOnLoadingFragment() val aboutFragment = PrivacyFragment() @@ -134,6 +176,7 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { .addToBackStack(TAG_PRIVACY_FRAGMENT) .commit() } + R.id.action_search -> { handleMenuSearch() } diff --git a/app/src/main/res/menu/skills_activity_menu.xml b/app/src/main/res/menu/skills_activity_menu.xml index 15e2dc08f3..616dc2d1b0 100644 --- a/app/src/main/res/menu/skills_activity_menu.xml +++ b/app/src/main/res/menu/skills_activity_menu.xml @@ -11,6 +11,12 @@ android:id="@+id/menu_about" android:icon="@drawable/ic_about" android:title="@string/menu_item_about" /> + + From 494e7d46a6a3e39dff39333a6629da7c43dc723f Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Sat, 23 Mar 2019 13:50:26 +0530 Subject: [PATCH 26/74] feat: Disable signup when logged in (#2064) --- app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt b/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt index 3df1559b20..e5038c83d7 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt @@ -84,6 +84,7 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { loginMenuItem?.setTitle("Logout") val signUpMenuItem = menu?.findItem(R.id.menu_signup) signUpMenuItem?.setVisible(false) + signUpMenuItem?.setEnabled(false) } return true } From 2d9be3a4d366341838f8d0eaa2f98772003dd7ee Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Sun, 24 Mar 2019 14:22:29 +0530 Subject: [PATCH 27/74] fix: Add malayalam in ListPrefernce of settings fragment (#2062) --- app/src/main/res/values/array.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/res/values/array.xml b/app/src/main/res/values/array.xml index 5ebca51a6a..10cedb6391 100644 --- a/app/src/main/res/values/array.xml +++ b/app/src/main/res/values/array.xml @@ -8,6 +8,7 @@ italiano हिंदी தமிழ் + മലയാളം @@ -18,6 +19,7 @@ it hi ta + ml From 1fe2ae55ac79ef3b9ee29922c6d568398516eb10 Mon Sep 17 00:00:00 2001 From: Anmol Chaddha Date: Sun, 24 Mar 2019 18:39:26 +0530 Subject: [PATCH 28/74] feat: Add back button in see all reviews activity (#1953) * added back button in see all reviews activity * Updated on backpress just like other activities * Removed unneccesary lines * updated add back button with required changes * Update FeedbackActivity.kt * Revert the changes * Update AndroidManifest.xml * Removed unnecessary spaces * Revert "Removed unnecessary spaces" This reverts commit f583d10c9cfb66cb50ded9128bfbba33fdd5d9bf. * remove unnecessary space --- .../ai/skills/feedback/FeedbackActivity.kt | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/feedback/FeedbackActivity.kt b/app/src/main/java/org/fossasia/susi/ai/skills/feedback/FeedbackActivity.kt index d0a7390dee..ec2ebf12be 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/feedback/FeedbackActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/feedback/FeedbackActivity.kt @@ -3,11 +3,13 @@ package org.fossasia.susi.ai.skills.feedback import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.support.v7.widget.LinearLayoutManager +import android.view.MenuItem +import kotlinx.android.synthetic.main.activity_feedback.rvAllFeedback import kotlinx.android.synthetic.main.activity_feedback.* + import org.fossasia.susi.ai.R import org.fossasia.susi.ai.rest.responses.susi.GetSkillFeedbackResponse import org.fossasia.susi.ai.skills.feedback.adapters.recycleradapters.AllReviewsAdapter - /** * * Created by arundhati24 on 27/06/2018 @@ -16,7 +18,8 @@ class FeedbackActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_feedback) - + val actionBar = supportActionBar + actionBar?.setDisplayHomeAsUpEnabled(true) val feedbackResponse: GetSkillFeedbackResponse? = intent.extras.get("feedbackResponse") as GetSkillFeedbackResponse if (feedbackResponse != null) { title = feedbackResponse.skillName.capitalize() + " " + getString(R.string.reviews) @@ -29,8 +32,19 @@ class FeedbackActivity : AppCompatActivity() { } } + override fun onOptionsItemSelected(item: MenuItem): Boolean { + when (item.itemId) { + android.R.id.home -> { + onBackPressed() + return true + } + } + return super.onOptionsItemSelected(item) + } + override fun onBackPressed() { overridePendingTransition(R.anim.trans_right_in, R.anim.trans_right_out) + super.onBackPressed() finish() } -} \ No newline at end of file +} From f377b0339ede955296c8772b1683f2ccc8fb93e5 Mon Sep 17 00:00:00 2001 From: Naman Jain <31595908+naman653@users.noreply.github.com> Date: Mon, 25 Mar 2019 01:59:54 +0530 Subject: [PATCH 29/74] fix: name of skill now showing in groupwise skills (#2070) --- .../adapters/recycleradapters/SkillsListAdapter.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/recycleradapters/SkillsListAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/recycleradapters/SkillsListAdapter.kt index 3ef34b6871..5b202fdcd7 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/recycleradapters/SkillsListAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/recycleradapters/SkillsListAdapter.kt @@ -31,7 +31,7 @@ class SkillsListAdapter( override fun onBindViewHolder(holder: SkillViewHolder, position: Int) { val skillData = skillDetails.skillsList.get(position) - if (skillData.skillName.isNotEmpty()) { + if (skillData.skillName.isEmpty()) { holder.skillName.text = context.getString(R.string.no_skill_name) } else { holder.skillName.text = skillData.skillName From 922423c03f5966da9dd45dadba84e1efdc9c33b4 Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Mon, 25 Mar 2019 23:33:26 +0530 Subject: [PATCH 30/74] fix: Correct code of existing user in signup page (#2053) * Correct code of existing user in signup page * Proper code implement * Spotless check apply --- .../org/fossasia/susi/ai/signup/SignUpActivity.kt | 2 ++ .../org/fossasia/susi/ai/signup/SignUpPresenter.kt | 13 +++++++++++++ .../susi/ai/signup/contract/ISignUpPresenter.kt | 2 ++ 3 files changed, 17 insertions(+) diff --git a/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt b/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt index e781e7e154..2577f2716a 100644 --- a/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/signup/SignUpActivity.kt @@ -204,8 +204,10 @@ class SignUpActivity : AppCompatActivity(), ISignUpView { private fun signUpToLoginPage() { signUpToLogin.setOnClickListener { + signUpPresenter.loginLogout() val intent = Intent(this@SignUpActivity, LoginActivity::class.java) intent.putExtra("email", email.editText?.text.toString()) + intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK startActivity(intent) } } diff --git a/app/src/main/java/org/fossasia/susi/ai/signup/SignUpPresenter.kt b/app/src/main/java/org/fossasia/susi/ai/signup/SignUpPresenter.kt index c9a4831254..87103db699 100644 --- a/app/src/main/java/org/fossasia/susi/ai/signup/SignUpPresenter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/signup/SignUpPresenter.kt @@ -7,6 +7,8 @@ import org.fossasia.susi.ai.data.SignUpModel import org.fossasia.susi.ai.data.UtilModel import org.fossasia.susi.ai.data.contract.IForgotPasswordModel import org.fossasia.susi.ai.data.contract.ISignUpModel +import org.fossasia.susi.ai.data.db.DatabaseRepository +import org.fossasia.susi.ai.data.db.contract.IDatabaseRepository import org.fossasia.susi.ai.helper.Constant import org.fossasia.susi.ai.helper.CredentialHelper import org.fossasia.susi.ai.helper.NetworkUtils @@ -14,6 +16,7 @@ import org.fossasia.susi.ai.rest.responses.susi.ForgotPasswordResponse import org.fossasia.susi.ai.rest.responses.susi.SignUpResponse import org.fossasia.susi.ai.signup.contract.ISignUpPresenter import org.fossasia.susi.ai.signup.contract.ISignUpView +import org.fossasia.susi.ai.skills.settings.contract.ISettingsView import retrofit2.Response import java.net.UnknownHostException @@ -29,8 +32,10 @@ class SignUpPresenter(signUpActivity: SignUpActivity) : ISignUpPresenter, ISignU private var signUpView: ISignUpView? = null private var signUpModel: SignUpModel = SignUpModel() private var utilModel: UtilModel = UtilModel(signUpActivity) + private var settingView: ISettingsView? = null lateinit var email: String var forgotPasswordModel: ForgotPasswordModel = ForgotPasswordModel() + private var databaseRepository: IDatabaseRepository = DatabaseRepository() override fun onAttach(signUpView: ISignUpView) { this.signUpView = signUpView @@ -128,6 +133,14 @@ class SignUpPresenter(signUpActivity: SignUpActivity) : ISignUpPresenter, ISignU signUpView = null } + override fun loginLogout() { + utilModel.clearToken() + utilModel.clearPrefs() + utilModel.saveAnonymity(false) + databaseRepository.deleteAllMessages() + settingView?.startLoginActivity() + } + override fun requestPassword(email: String, url: String, isPersonalServerChecked: Boolean) { if (email.isEmpty()) { signUpView?.invalidCredentials(true, Constant.EMAIL) diff --git a/app/src/main/java/org/fossasia/susi/ai/signup/contract/ISignUpPresenter.kt b/app/src/main/java/org/fossasia/susi/ai/signup/contract/ISignUpPresenter.kt index af167c9b8b..af15f5816d 100644 --- a/app/src/main/java/org/fossasia/susi/ai/signup/contract/ISignUpPresenter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/signup/contract/ISignUpPresenter.kt @@ -16,6 +16,8 @@ interface ISignUpPresenter { fun cancelSignUp() + fun loginLogout() + fun checkForPassword(password: String) fun requestPassword(email: String, url: String, isPersonalServerChecked: Boolean) From 47f8c77453e51924ee337e7e438af03c5e2f3eb1 Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Mon, 25 Mar 2019 23:34:50 +0530 Subject: [PATCH 31/74] feat: Add help page (#2013) * Feature:Added help page * Added cardview * Removed heading help * Made requested changes * Made suggested changes * Add roboto font in help fragment * Circle ci build corrected * Apply spotless check * Revert font commit --- .../fossasia/susi/ai/skills/SkillsActivity.kt | 10 + .../susi/ai/skills/help/HelpFragment.kt | 27 ++ app/src/main/res/layout/fragment_help.xml | 257 ++++++++++++++++++ .../main/res/menu/skills_activity_menu.xml | 3 + app/src/main/res/values/dimens.xml | 10 +- app/src/main/res/values/strings.xml | 18 ++ 6 files changed, 322 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/org/fossasia/susi/ai/skills/help/HelpFragment.kt create mode 100644 app/src/main/res/layout/fragment_help.xml diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt b/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt index e5038c83d7..f33bbc083d 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt @@ -22,6 +22,7 @@ import org.fossasia.susi.ai.rest.responses.susi.SkillData import org.fossasia.susi.ai.signup.SignUpActivity import org.fossasia.susi.ai.skills.aboutus.AboutUsFragment import org.fossasia.susi.ai.skills.groupwiseskills.GroupWiseSkillsFragment +import org.fossasia.susi.ai.skills.help.HelpFragment import org.fossasia.susi.ai.skills.privacy.PrivacyFragment import org.fossasia.susi.ai.skills.settings.ChatSettingsFragment import org.fossasia.susi.ai.skills.settings.SettingsPresenter @@ -41,6 +42,7 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { private val TAG_SETTINGS_FRAGMENT = "SettingsFragment" private val TAG_SKILLS_FRAGMENT = "SkillsFragment" private val TAG_ABOUT_FRAGMENT = "AboutUsFragment" + private val TAG_HELP_FRAGMENT = "HelpFragment" private val TAG_PRIVACY_FRAGMENT = "PrivacyFragment" private val TAG_GROUP_WISE_SKILLS_FRAGMENT = "GroupWiseSkillsFragment" @@ -139,6 +141,14 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback { .addToBackStack(TAG_ABOUT_FRAGMENT) .commit() } + R.id.menu_help -> { + handleOnLoadingFragment() + val helpFragment = HelpFragment() + supportFragmentManager.beginTransaction() + .replace(R.id.fragment_container, helpFragment, TAG_HELP_FRAGMENT) + .addToBackStack(TAG_HELP_FRAGMENT) + .commit() + } R.id.menu_login -> { handleOnLoadingFragment() diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/help/HelpFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/help/HelpFragment.kt new file mode 100644 index 0000000000..f49c472cc7 --- /dev/null +++ b/app/src/main/java/org/fossasia/susi/ai/skills/help/HelpFragment.kt @@ -0,0 +1,27 @@ +package org.fossasia.susi.ai.skills.help + +import android.os.Bundle +import android.support.v4.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import org.fossasia.susi.ai.R + +class HelpFragment : Fragment() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + } + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + val thisActivity = activity + thisActivity?.title = getString(R.string.action_help) + val rootView = inflater.inflate(R.layout.fragment_help, container, false) + setHasOptionsMenu(true) + return rootView + } +} diff --git a/app/src/main/res/layout/fragment_help.xml b/app/src/main/res/layout/fragment_help.xml new file mode 100644 index 0000000000..a12025043c --- /dev/null +++ b/app/src/main/res/layout/fragment_help.xml @@ -0,0 +1,257 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/menu/skills_activity_menu.xml b/app/src/main/res/menu/skills_activity_menu.xml index 616dc2d1b0..c4b8d773b4 100644 --- a/app/src/main/res/menu/skills_activity_menu.xml +++ b/app/src/main/res/menu/skills_activity_menu.xml @@ -25,5 +25,8 @@ android:icon="@drawable/ic_open_search" android:title="@string/search" app:showAsAction="ifRoom" /> + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 9117857baa..d4d7090271 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -35,6 +35,7 @@ 32dp 40dp 48dp + 95dp @@ -48,6 +49,7 @@ 22sp 24sp 40sp + 48sp @@ -85,7 +87,7 @@ 36dp 30dp - + 80dp 80dp @@ -124,8 +126,10 @@ 48dp - + + + 4dp + 4dp - \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e81d9f0d17..e3f256f43c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4,6 +4,7 @@ About Us + Help Log out Login Settings @@ -40,6 +41,7 @@ About Settings + Help Privacy Message copied @@ -438,6 +440,22 @@ Skill reported successfully Skill already reported + + How to open \'Settings\'? + In the main page click on SUSI logo present st the top right corner. This will open a page. Click on the 3 dot present at top right corner. From the menu that open click on \'Settings\' + How to SIgnUp in SUSI.AI? + In the Login page click on \'Sign Up for SUSI\'.\n * Enter your email address.\n * Enter your password and confirm it\n After this click on \'SIGN UP\' + How to change Password? + * Open the \'Settings\' page.\n * Scroll down and click on \'Reset Password\'.\n * Enter your current password and after that entire your new password. \n * Click on \'OK\'. + How to report an issue? + Open the \'About Us\' page. Under the \'Report Issues\' section click on \'Github Repository Issue Tracker\'. This will redirect you to a webpage where you can put up your issue by clicking on \'New Issue\'. + How to login, if you have opened SUSI without logging in? + Open \'Settings\' page and scroll down to the bottom. Click on \'Login\'. This will redirect you to the login page. + How to use SUSI voice? + To use SUSI voice click on the microphone symbol presemt in the bottom right corner of the chats page. You can ask anything to SUSI here. To change various voice settings, go to Settings page and configure SUSI voice accordingly. + What skills do SUSI have? + To know about the skills that SUSI posses move to \'SUSI.AI Skills\' page. You can reach there just by clicking on the \'SUSI\' logo present at the top right corner of the Chat page. + Welcome to SUSI.AI Thanks for using our products and services (“Services”). The Services are provided by SUSI Inc. (“SUSI”), located at 93 Mau Than, Can Tho City, Viet Nam. By using our Services, you are agreeing to these terms. Please read them carefully. From ce0c393db69f627b83c5aa313376b14af3dad7db Mon Sep 17 00:00:00 2001 From: V Bhavna Haritsa <37215508+Bhavnaharitsa@users.noreply.github.com> Date: Tue, 26 Mar 2019 01:34:43 +0530 Subject: [PATCH 32/74] chore: add missing translations for various languages (#2073) * added mssing translations for various languages * corrected typo mistake * corrected typo mistake --- app/src/main/res/values-de/strings.xml | 84 +++++++++++- app/src/main/res/values-es/strings.xml | 124 +++++++++++++++++- app/src/main/res/values-hi/strings.xml | 9 ++ app/src/main/res/values-it/strings.xml | 134 +++++++++++++++++++- app/src/main/res/values-ml-rIN/strings.xml | 11 ++ app/src/main/res/values-pt-rBR/strings.xml | 141 ++++++++++++++++++++- app/src/main/res/values-ta-rIN/strings.xml | 1 + app/src/main/res/values/strings.xml | 41 +++--- 8 files changed, 518 insertions(+), 27 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 958c0c09c9..1b5384f285 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -90,7 +90,6 @@ Passwort kann nicht leer sein URL kann nicht leer sein Kopieren - Aktie Beispieltext Aus einer Website extrahiert Website-Stichprobe Website Link @@ -252,4 +251,87 @@         \nSie stimmen zu, dass die Gesetze von Can Tho, Vietnam für alle Streitigkeiten gelten, die sich aus diesen Bedingungen oder den Dienstleistungen ergeben oder sich auf diese beziehen. Alle Ansprüche, die sich aus oder in Bezug auf diese Bedingungen oder die Dienstleistungen ergeben, werden ausschließlich vor den Gerichten von Can Tho City, Vietnam, geführt. Sie und SUSI erklären sich mit der persönlichen Zuständigkeit dieser Gerichte einverstanden.         \nFür Informationen zur Kontaktaufnahme mit SUSI besuchen Sie bitte unsere Kontaktseite. Privatsphäre + API KEY nicht gesetzt. + Autorenname + durchschnittliche Bewertung + Post + Verbinden Sie sich mit Wi-Fi + Verbindung mit Ihrem Gerät herstellen ... + Erfolgreich verbunden! + Inhaltstyp: Dynamisch + Inhaltstyp: Statisch + Kopierter Text + Schreiben Sie hier Ihr unschätzbares Feedback + Beschreibung + beschreibung lang + Entwickler-Datenschutzrichtlinie + Geben Sie das Passwort für ein + Beispiel Feedback + Beispiele + Existierender Benutzer ? + Feedback + Feedback zur Fähigkeit + Womit kann ich Ihnen behilflich sein ? + Link nicht verfügbar + Standortzugang ermöglichen + SUSI, was sind die Fähigkeiten mit den meisten Rückmeldungen? + susi, was sind die kürzlich aktualisierten Fähigkeiten? + Susi, was sind die neuesten Fähigkeiten? + Aktivieren Sie WLAN, um nach verfügbaren Netzwerken zu suchen + Bieten Sie WLAN-Zugang an + URL eingeben + Versuch es + Top-Bewertungen + Vielen Dank für die Bewertung dieser Fähigkeit + Fertigkeitsfeedback aktualisiert + Bitte gib ein Feedback ein, um es zu posten + 9.00 AM + Vielen Dank, dass Sie die WLAN-Anmeldeinformationen eingegeben haben + Nutzungsbedingungen + Susi Skill CMS + Probleme melden + Lizenz + Bleib hier + Ich habs + Chat Einstellungen + Personalisieren Sie Ihre Chat-Einstellungen für ein besseres Erlebnis. + Liste der Fähigkeiten + Stöbern und testen Sie Ihre bevorzugte SUSI.AI-Fähigkeit + Interagieren Sie mit SUSI.AI, indem Sie Fragen stellen. Verwenden Sie die Mikrofontaste für die Sprachinteraktion0. + Melden Sie sich mit einem SUSI.AI-Konto bei der App an, registrieren Sie sich, um ein neues Konto zu erstellen, oder überspringen Sie einfach die gesamte Anmeldung. + Chat-Schnittstelle + Anmeldung + Überspringen + Fähigkeit noch nicht bewertet. Bitte melden Sie sich an, um die Fertigkeit zu bewerten. + Name der Fähigkeit + Stellen Sie sicher, dass WLAN-Verbindungen verfügbar sind  nahe bei dir. + Aktie + Über uns + Über uns + Alle Bewertungen anzeigen + Suchfähigkeit + Mustergruppe + Bewertungen + Fertigkeit bereits berichtet + Als unangemessen melden + Fertigkeit erfolgreich gemeldet + Bericht senden + Fehler bei der Berichterstellung. Bitte versuchen Sie es später erneut + Bewertung + Bewerten Sie diese Fähigkeit + brauche eine Verbesserung + fand ich furchtbar + großartig + gut + Awsome! ich liebe es + Möglichkeit + Nächster + Dies ist der letzte Schritt. Bitte geben Sie das Passwort Ihres SUSI.AI-Kontos ein, um die Verbindung herzustellen + SUSI, was sind deine am besten bewerteten Fähigkeiten? + Mitarbeiter-Favoriten + susi, was machst du am meisten eingesetzt? + susi, was sind deine besten spiele? + Bitte melden Sie sich an, um ein Feedback zu geben + KONFIGURATION + Mitwirkende \ No newline at end of file diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 130beafc9c..6d5a9a3e70 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -195,7 +195,7 @@ Enlace de confirmación para activar su cuenta e iniciar sesión en susi. Usos comerciales de nuestros servicios. - Si está utilizando nuestros Servicios en nombre de una empresa, esa empresa acepta estos términos. No eximirá de daños e indemnizará a SUSI y sus afiliados, funcionarios, agentes y empleados de cualquier reclamo, demanda o acción que surja de o esté relacionada con el uso de los Servicios o la violación de estos términos, incluida cualquier responsabilidad o gasto que surja de reclamos, pérdidas , daños, juicios, juicios, costos de litigios y honorarios de abogados. +  cerca y enchufado a un enchufe de pared Sobre estos terminos Podemos modificar estos términos o cualquier término adicional que se aplique a un Servicio para, por ejemplo, reflejar cambios en la ley o cambios en nuestros Servicios. Debes mirar los términos regularmente. Publicaremos un aviso de modificaciones a estos términos en la página. Publicaremos un aviso de los términos adicionales modificados en el Servicio correspondiente. Los cambios no se aplicarán de manera retroactiva y entrarán en vigencia a más tardar catorce días después de su publicación. Sin embargo, los cambios que abordan nuevas funciones para un Servicio o los cambios realizados por razones legales serán efectivos de inmediato. Si no está de acuerdo con los términos modificados para un Servicio, debe interrumpir su uso de ese Servicio.         \nSi hay un conflicto entre estos términos y los términos adicionales, los términos adicionales controlarán ese conflicto. Estos términos controlan la relación entre SUSI y usted. No crean derechos de terceros beneficiarios. @@ -204,4 +204,126 @@ Enlace de confirmación para activar su cuenta e iniciar sesión en susi. Intimidad + Escolha a rede Wi-Fi que você gostaria de usar com seu alto-falante inteligente.zzzzz + nenhuma habilidade encontrada + Linguagem de consulta + Para pesquisar as redes disponíveis, ative o Wi-Fi + ver todos os comentários + marcado como inapropriado + Altere as configurações de texto para fala a partir daqui para alterar a voz. + iniciar sesión + cancelar registro? + CLAVE API no establecida + Credenciales de autenticación enviadas con éxito! + como puedo ayudarte ? + No se han enviado las credenciales de wifi. Inténtalo de nuevo. + Credenciales wifi enviadas con éxito! + Si está configurando un nuevo dispositivo, asegúrese de que esté + Seleccione un lenguaje de motor de texto a voz + Seleccione un idioma de consulta + Gracias por calificar esta habilidad + Gracias por ingresar a las credenciales de Wi-Fi + Intentalo + conectando su dispositivo + la conexión falló + Conectate a wifi + introducir URL + Credenciales no válidas. Inténtalo de nuevo + Credenciales no válidas. + Sobre nosotros + Sobre nosotros + Sobre nosotros + Omitir + Consultar su correo electrónico + Acerca de + Calificaciones top + Título de habilidad + Ajustes de voz SUSI + Habilidad de SUSI CMS + No se han enviado las credenciales de autenticación. Inténtalo de nuevo. + Nombre del autor + Impresionante me encanta + Ejemplos + Ejemplo de retroalimentación + enviar reporte + descripción + descripción larga + califica esta habilidad + clasificación + opiniones + proporcionar acceso wi-fi + por favor ingrese sus comentarios para publicar + por favor inicie sesión para publicar comentarios + Por favor, revisa tu e-mail para activar tu cuenta. Si no lo encuentra, revise la carpeta de spam. + Quédate aquí + SUSI, ¿cuáles son las nuevas habilidades? + SUSI, ¿cuáles son las habilidades recientemente actualizadas? + SUSI, ¿cuáles son las habilidades con más feedback? + SUSI, ¿cuáles son tus mejores juegos? + SUSI, ¿Cuáles son tus habilidades más valoradas? + SUSI, ¿cuáles son tus habilidades más utilizadas? + Habilidad de búsqueda + Cancelar +  cerca de usted. + Asegúrate de que hay conexiones WiFi disponibles + Asegúrese de ingresar la URL del servidor personalizada correcta, la URL ingresada es incorrecta + Proporcionar acceso a la ubicación + Habilidad Autor no encontrado + Escriba sus valiosos comentarios aquí + Buscando dispositivos ... + Reportar problemas + enviar + Personaliza tus configuraciones de chat para una mejor experiencia. + Restableciendo contraseña ... + Términos de Uso + no se ha encontrado ninguna habilidad todavía + nombre no disponible + nombre de la habilidad + siguiente + compartir mensaje + necesita alguna mejora + configuraciones de chat + interfaz de chat + Falló la configuración del altavoz. + Este es el último paso, ingrese la contraseña de su cuenta SUSI.AI para conectarse con éxito + Puntuación media + Ajustes + política de privacidad de los desarrolladores + Conectado con éxito! + ¿Usuario existente?Haga clic aquí para ingresar + habilidades + habilidad aún no calificada + licencia + lista de habilidades + enlace no disponible + texto copiado + cuenta no activa + PREPARAR + Haga clic aquí para pasar a la pantalla de configuración del dispositivo + Haga clic aquí para cambiar la voz de SUSI + No se encontraron redes wifi + no se encontraron dispositivos + No hay descripción disponible + dispositivo no conectado + Interactúa con SUSI.AI haciendo preguntas. Use el botón del micrófono para la interacción de voz0. + tipo de contenido: dinámico + tipo de contenido: estático + lo tengo + genial + bueno + Dispositivo conectado correctamente! + Configuración del dispositivo con éxito + dispositivos + dispositivos + Ingrese la contraseña para + compartir habilidad + retroalimentación de habilidades actualizada + habilidad reportada exitosamente + No se pueden obtener habilidades. Por favor, inténtelo de nuevo más tarde. + habilidad ya informada + Error al informar la habilidad. Por favor, inténtelo de nuevo más tarde + retroalimentación de habilidades + realimentación + lo odié + Habilidad no clasificada aún. Por favor, inicie sesión para calificar la habilidad. \ No newline at end of file diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index d4fe246565..909bb5779e 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -381,4 +381,13 @@         \n आप सहमत हैं कि कैन थो, वायट नाम के नियम इन शर्तों या सेवाओं से संबंधित किसी भी विवाद पर लागू होंगे। इन शर्तों या सेवाओं से संबंधित या इन सेवाओं से संबंधित सभी दावों को विशेष रूप से कैन थू सिटी, वियतनाम, और आप और SUSI की अदालतों में व्यक्तिगत न्यायालयों के लिए सहमति से प्रकाशित किया जाएगा।         \nSUSI से संपर्क करने के बारे में जानकारी के लिए, कृपया हमारे संपर्क पृष्ठ पर जाएँ। एकांत + 9.00 AAPI कुंजी सेट नहीं है। + कॉपी किया गया पाठ + रद्द करें साइन अप करें? + अपने खाते को सक्रिय करने के लिए अपने ईमेल की जांच करें। यदि नहीं मिला है, तो स्पैम फ़ोल्डर की जांच करें। + मौजूदा उपयोगकर्ता? + हमारे बारे में + हमारे_बारे_में + यहीं रुकिए + खाता सक्रिय नहीं है \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index fe589b8c45..1865cd998e 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -5,8 +5,8 @@ Impostazioni Salvaschermo Condividi - Log out - Login + disconnettersi + accesso Impostazioni Della Chat Impostazioni Del Server Seleziona Server @@ -93,7 +93,7 @@ Password non può essere vuoto URL non può essere vuoto Copia - Condividere +  vicino a te. testo di esempio estratto da un sito web Titolo del campione del sito web Sito Web Link @@ -205,4 +205,132 @@         \n Accetti che le leggi di Can Tho, Viet Nam si applichino a eventuali controversie derivanti da o relative a questi termini o ai Servizi. Tutti i reclami derivanti da o relativi a questi termini o servizi saranno contestati esclusivamente nei tribunali di Can Tho City, Vietnam, e tu e SUSI acconsentite alla giurisdizione personale in tali tribunali.         \nPer informazioni su come contattare SUSI, visita la nostra pagina di contatto. Pvita privata + riguardo a noi + di + impostazioni + riguardo a noi + riguardo a noi + Nome non disponibile + Nessuna descrizione disponibile + abilità non ancora valutata + nessuna abilità trovata ancora + seleziona una lingua di query + seleziona una lingua del motore di sintesi vocale + linguaggio di query + dispositivi + Annulla + controlla la tua email + credenziali non valide + credentials.please prova ancora + rimani qui + Assicurati di inserire l\'URL del server personalizzato corretto, l\'URL inserito non è corretto + Sei sicuro di voler uscire? + nessun dispositivo connesso + Fare clic qui per passare alla schermata di configurazione del dispositivo + Impostazioni vocali SUSI + Clicca qui per cambiare la voce di SUSI + Cambia le impostazioni di sintesi vocale da qui per cambiare la voce. + Credenziali Wifi inviate con successo! + Le credenziali Wifi non sono state inviate. Riprovare + Per cercare le reti disponibili, attiva il Wi-Fi + Fornire l\'accesso Wi-Fi + Inserisci l\'url + Account non attivo + Provalo + Valutazioni migliori + Grazie per aver valutato questa abilità + Feedback di abilità aggiornato + Si prega di inserire un feedback per pubblicare + Grazie per aver inserito le credenziali Wi-Fi + Condizioni d\'uso + Segnala problemi + Licenza + Impostazioni della Chat + Personalizza le impostazioni della chat per un\'esperienza migliore. + Lista delle abilità + Sfoglia e prova la tua abilità SUSI.AI preferita + fatto + contributori + interfaccia di chat + Interagire con SUSI.AI facendo domande. Usa il pulsante del microfono per l\'interazione vocale. + accesso + Accedere all\'app utilizzando un account SUSI.AI, registrarsi per creare un nuovo account o semplicemente saltare completamente l\'accesso. + Salta + Abilità SUSI.AI + Abilità + Abilità non ancora valutata. Effettua il login per valutare l\'abilità. + Titolo di abilità + Nome abilità + Condividi abilità + Condividi il messaggio +  nelle vicinanze e collegato a una presa a muro + Se stai configurando un nuovo dispositivo, assicurati che lo sia + IMPOSTARE + Vedi tutte le recensioni + Cerca tutte le abilità + Scansione per dispositivi ... + Gruppo di esempio + recensioni + reimpostazione della password + Abilità già segnalata + Eccezionale! Lo adoro. + bene + grande + lo odiavo + bisogno di qualche miglioramento + valuta questa abilità + valutazione + Errore nella segnalazione di abilità. Per favore riprova più tardi + spedisci il rapporto + Abilità riportata con successo + Segnala come inappropriato + opzione + Nessuna rete WiFi trovata + Autore delle abilità non trovato + Nessun dispositivo trovato + Il prossimo + SUSI, quali sono i tuoi migliori giochi? + Nessuna abilità trovata. + SUSI, quali sono le competenze con più feedback? + SUSI, quali sono le abilità aggiornate di recente? + SUSI, quali sono le nuove abilità? + SUSI, quali sono le tue abilità più votate? + Scelte dello staff + SUSI, quali sono le tue abilità più utilizzate? + Si prega di accendere la posizione del dispositivo in quanto è necessario per rilevare le reti wifi nelle vicinanze disponibili. + Fornire l\'accesso alla posizione + Link non disponibile + Come posso aiutarla? + Feedback di abilità + risposta + API KEY non impostato. + Credenziali di autenticazione non inviate. Riprova. + Credenziali di autenticazione inviate con successo! + nome dell\'autore + voto medio + inviare + connettersi al wi-fi + La configurazione dell\'altoparlante è fallita. + Configurazione del dispositivo con successo + dispositivo connesso correttamente + Connessione al tuo dispositivo ... + connessione fallita + connesso con successo + Tipo di contenuto: dinamico + Tipo di contenuto: statico + testo copiato + Scrivi qui il tuo prezioso feedback + Descrizione + Descrizione lunga + politica sulla privacy degli sviluppatori + Scegli la rete Wi-Fi che desideri utilizzare con il tuo altoparlante intelligente. + dispositivi + cancellare la registrazione? + Inserire la password per + Questo è il passaggio finale, inserisci la password del tuo account SUSI.AI per collegarti con successo all\'altoparlante + Impossibile recuperare le competenze. Per favore riprova più tardi. + Controlla la tua email per attivare il tuo account. Se non trovato, controlla la cartella spam. + Feedback di esempio + Esempi + Utente esistente? \ No newline at end of file diff --git a/app/src/main/res/values-ml-rIN/strings.xml b/app/src/main/res/values-ml-rIN/strings.xml index 4943c95946..baaea0bf3d 100644 --- a/app/src/main/res/values-ml-rIN/strings.xml +++ b/app/src/main/res/values-ml-rIN/strings.xml @@ -306,4 +306,15 @@         \nCan\'o- ന്റെ നിയമങ്ങൾ, ഈ നിബന്ധനകളിൽ നിന്നോ സേവനങ്ങളിൽ നിന്നോ ഉണ്ടാകുന്നതോ അല്ലെങ്കിൽ അവയുമായി ബന്ധപ്പെട്ടതോ ആയ തർക്കങ്ങൾക്ക് വിയറ്റ്നാമും ബാധകമാകും. ഈ നിബന്ധനകളിൽ നിന്നോ സേവനങ്ങളിൽ നിന്നോ ഉണ്ടാകുന്ന എല്ലാ ക്ലെയിമുകളും കാൻ ത് സിറ്റി, വിയറ്റ്നാം, നിങ്ങൾക്കും SUSI എന്നീ കോടതികൾക്കും കോടതികളിൽ വ്യക്തിപരമായ അധികാരപരിധി സമ്മതിക്കുന്നതിന് വ്യവഹാരം ചെയ്യും.         \n SUSI എങ്ങനെ ബന്ധപ്പെടാം എന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾക്ക്, ഞങ്ങളുടെ കോൺടാക്റ്റ് പേജ് സന്ദർശിക്കുക. സ്വകാര്യത + API കീ സജ്ജീകരിച്ചിട്ടില്ല + ടെക്സ്റ്റ് പകർത്തി + ചോദ്യങ്ങൾ ചോദിച്ച് SUSI.AI ൽ സംവദിക്കുക. വോയ്സ് ഇന്ററാക്ഷൻ വേണ്ടി മൈക്രോഫോൺ ബട്ടൺ ഉപയോഗിക്കുക. + ഒരു SUSI.AI അക്കൗണ്ട് ഉപയോഗിച്ച് ആപ്ലിക്കേഷനിൽ ലോഗിൻ ചെയ്യുക, ഒരു പുതിയ അക്കൗണ്ട് സൃഷ്ടിക്കാൻ സൈൻ അപ്പ് ചെയ്യുക അല്ലെങ്കിൽ ലോഗ്ഗിംഗ് ഒഴിവാക്കുക. + സുശീലിന് നിരവധി കഴിവുകൾ ഉണ്ട്. നിങ്ങൾക്ക് skills.susi.ai < / u> ]]> . SUSI Skill Development ലളിതവും രസകരവുമാണ്. നിലവിലുള്ള കഴിവുകൾ നിങ്ങൾക്ക് എഡിറ്റുചെയ്യാനും അല്ലെങ്കിൽ നിങ്ങളുടേതായ ഒന്ന് സൃഷ്ടിക്കാനുമാകും. + സസ്യൈ സെമിയം + ഇവിടെ നില്ക്കൂ + ഞങ്ങളേക്കുറിച്ച് + ഞങ്ങളേക്കുറിച്ച് + അക്കൗണ്ട് സജീവമല്ല + നിങ്ങളുടെ അക്കൗണ്ട് സജീവമാക്കാൻ ദയവായി നിങ്ങളുടെ ഇമെയിൽ പരിശോധിക്കുക. കണ്ടെത്തിയില്ലെങ്കിൽ, സ്പാം ഫോൾഡർ പരിശോധിക്കുക. \ No newline at end of file diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index d6d3dacc11..09ac6928f4 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -183,7 +183,6 @@         \nEm todos os casos, a SUSI e seus fornecedores e distribuidores não serão responsáveis ​​por qualquer perda ou dano que não seja razoavelmente previsível.         \nNós reconhecemos que em alguns países, você pode ter direitos legais como consumidor. Se você estiver usando os Serviços para uma finalidade pessoal, nada nesses termos ou quaisquer termos adicionais limitará os direitos legais do consumidor que não podem ser renunciados por contrato. Utilizações comerciais dos nossos serviços - Se você estiver usando nossos serviços em nome de uma empresa, essa empresa aceita esses termos. Ele isentará e indenizará a SUSI e suas afiliadas, executivos, agentes e funcionários de qualquer reclamação, ação ou ação decorrente ou relacionada ao uso dos Serviços ou violação destes termos, incluindo qualquer responsabilidade ou despesa decorrente de reclamações, perdas. , danos, ações, julgamentos, custos de litígios e honorários advocatícios. Sobre estes termos Podemos modificar estes termos ou quaisquer termos adicionais que se apliquem a um Serviço para, por exemplo, refletir alterações na lei ou alterações nos nossos Serviços. Você deve olhar os termos regularmente. Publicaremos avisos de modificações nesses termos na página. Publicaremos avisos de termos adicionais modificados no Serviço aplicável. As alterações não serão aplicadas retroativamente e entrarão em vigor não antes de catorze dias depois de serem publicadas. No entanto, alterações relacionadas a novas funções para um Serviço ou alterações feitas por motivos legais entrarão em vigor imediatamente. Se você não concordar com os termos modificados para um Serviço, deverá interromper seu uso desse Serviço.         \nSe houver um conflito entre esses termos e os termos adicionais, os termos adicionais controlarão esse conflito. Esses termos controlam o relacionamento entre o SUSI e você. Eles não criam nenhum direito de beneficiário de terceiros. @@ -192,4 +191,144 @@         \nVocê concorda que as leis de Can Tho, Viet Nam serão aplicadas a quaisquer disputas decorrentes ou relacionadas a estes termos ou aos Serviços. Todas as reclamações decorrentes de ou relacionadas a estes termos ou aos serviços serão litigadas exclusivamente nos tribunais de Can Tho City, Vietnã, e você e o SUSI consentem com a jurisdição pessoal nesses tribunais.         \nPara obter informações sobre como entrar em contato com o SUSI, visite nossa página de contato. Privacidade + como posso ajudar ? + Credenciais de Wi-Fi não enviadas.Por favor, tente novamente + Credenciais Wi-Fi com sucesso! + Se você estiver configurando um novo dispositivo, verifique se + Selecione um texto para a linguagem do mecanismo de fala + selecione uma linguagem de consulta + Obrigado por avaliar esta habilidade + Obrigado por introduzir as credenciais da Wi-Fi + Conectando ao seu dispositivo ... + Tente + Conexão falhada + Conecte-se a Wi-fi + Insira o URL + Credenciais inválidas. Por favor, tente novamente + Credenciais inválidas + sobre nós + sobre nós + sobre nós + pular + verifique seu e-mail + sobre + melhores classificações + Título de habilidade + compartilhar susi + Configurações de voz SUSI + nenhuma habilidade encontrada + Linguagem de consulta + Para pesquisar as redes disponíveis, ative o Wi-Fi + Senha atual + Ver todos os comentários + marcado como inapropriado + Altere as configurações de texto para fala a partir daqui para alterar a voz. + entrar + cancelar inscrição? + API KEY não definida + Credenciais de autenticação enviadas com sucesso! + Credenciais de autenticação não enviadas.Por favor, tente novamente. + nome do autor + Awsome! eu amo isso + Exemplos + Exemplo de feedback + Enviar relatório + descrição + descrição longa + avaliar esta habilidade + Avaliação + rever + fornecer acesso wi-fi + por favor insira um feedback para postar + por favor faça o login para postar feedback + Por favor, confira seu email para ativar sua conta. Se não for encontrado, verifique a pasta de spam. + Fique aqui + Precisa de alguma melhoria + Configurações de bate-papo + Interface de bate-papo + Configuração do alto-falante falhou. + Esta é a etapa final, digite a senha da sua conta SUSI.AI para conectar-se com sucesso + classificação média + configuração + endereço de e-mail + Desculpe, seu dispositivo não suporta a ação de corte. + política de privacidade de desenvolvedores + conectado com sucesso + primeira vez +  Clique aqui para logar + Habilidades + Habilidades não classificadas ainda + Habilidade ainda não classificada. Por favor, faça o login para avaliar a habilidade. + odiava + comentários + feedback de habilidade + Habilidade de relatório de erros. Por favor, tente novamente mais tarde + Habilidade já relatada + Não é possível buscar habilidades. Por favor, tente novamente mais tarde. + Habilidade relatada com sucesso + Feedback de habilidade atualizado + Compartilhar habilidade + Habilidade SUSI CMS + Compartilhe o aplicativo SUSI com seus amigos + SUSI, quais são as mais novas habilidades? + SUSI, quais são as habilidades atualizadas recentemente? + SUSI, quais são as habilidades com mais feedback? + SUSI, quais são seus melhores jogos? + SUSI, qual é sua maior habilidade? + SUSI, qual sua habilidade mais usada? + habilidade de pesquisa + cancelar +  perto de você. + Certifique-se de que existem conexões WiFi disponíveis + Certifique-se de inserir o URL do servidor personalizado correto, o URL inserido está incorreto + Fornecer acesso à localização + Diversos + Autor de habilidade não encontrado + Escreva aqui o seu feedback inestimável + Verificando dispositivos + Comunicar problemas + Postar + Personalize suas configurações de bate-papo para uma melhor experiência. + Redefinindo senha .... + Está bem + termos de uso + nenhuma habilidade encontrada ainda + Agora tudo + Digite a senha + dispositivos + dispositivos + configuração do dispositivo com sucesso + dispositivos conectados com sucesso + fail.try novamente + ótimo + Boa + consegui + tipo de conteúdo: dinâmico + tipo de conteúdo: estático + Interagir com SUSI.AI fazendo perguntas. Use o botão do microfone para interação de voz0. + Não é possível avaliar a habilidade. Um erro ocorreu. + sem dispositivo conectado + sem descrição disponível + Nenhum dispositivo encontrado + Nenhuma rede WiFi encontrada + Clique aqui para mudar a voz do SUSI + Clique aqui para ir para a tela de configuração do dispositivo + CONFIGURAÇÃO + Conta não ativa + texto copiado + link não disponível + lista de habilidades + licença + Faça o login no aplicativo usando uma conta SUSI.AI, inscreva-se para criar uma nova conta ou simplesmente ignore o login. + a equipe escolhe + contribuidores + Tem certeza que deseja sair ? + opção + Grupo de amostra + compartilhar mensagem + Próximo + Nome da habilidade + Nome não disponível + Nova senha + Se você estiver usando nossos serviços em nome de uma empresa, essa empresa aceita esses termos. Ele isentará e indenizará a SUSI e suas afiliadas, executivos, agentes e funcionários de qualquer reclamação, ação ou ação decorrente ou relacionada ao uso dos Serviços ou violação destes termos, incluindo qualquer responsabilidade ou despesa decorrente de reclamações, perdas. , danos, ações, julgamentos, custos de litígios e honorários advocatícios. diff --git a/app/src/main/res/values-ta-rIN/strings.xml b/app/src/main/res/values-ta-rIN/strings.xml index ab5819a9cf..7471eabe31 100644 --- a/app/src/main/res/values-ta-rIN/strings.xml +++ b/app/src/main/res/values-ta-rIN/strings.xml @@ -314,4 +314,5 @@         \n ஒரு குறிப்பிட்ட காலவரை அமல்படுத்த இயலாது எனில் வேறு எந்தவொரு விதிமுறைகளையும் பாதிக்காது.         \n இந்த ஒப்பந்தங்கள் அல்லது சேவைகளில் இருந்து எழும் எந்தவொரு விவாதத்துக்கும், வியட்நாம் சட்டத்தின் விதிகளை நீங்கள் ஏற்றுக்கொள்வதாக ஒப்புக்கொள்கிறீர்கள். இந்த விதிமுறைகளையோ அல்லது சேவைகளையோ எழும் அனைத்து உரிமைகோரல்களும் கேன் தோ சிட்டி, வியூம், மற்றும் நீ மற்றும் SUSI ஆகியவற்றின் நீதிமன்றங்களில் தனி நீதிமன்றங்களுக்கு ஒப்புதல் அளிப்பதில் தனித்தனியாக வழக்குத் தொடரப்படும்.         \n SUSI ஐ எப்படி தொடர்புபடுத்துவது என்பது பற்றிய தகவலுக்கு, தயவுசெய்து எங்கள் தொடர்புப் பக்கத்தைப் பார்வையிடவும். + உங்கள் கணக்கை செயல்படுத்துவதற்கு உங்கள் மின்னஞ்சலை சரிபார்க்கவும். இல்லை என்றால், ஸ்பேம்கள் கோப்புறை சரிபார்க்கவும். \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e3f256f43c..67fd3c568f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -272,7 +272,7 @@ Skill Title Skills - SUSI.AI Skills + SUSI.AI Skills Device Connected successfully! @@ -306,9 +306,9 @@ Please report all the issues in Github Repository Issue Tracker]]>. SUSI Skill CMS - https://skills.susi.ai + https://skills.susi.ai SUSI is having many skills. You can look at the collection of skills at skills.susi.ai]]>. SUSI Skill development is easy and fun. You can edit existing skills or even create your own. - Click here to Know More]]> + Click here to Know More]]> Author name @@ -327,17 +327,17 @@ How can I help you? - Negative + Negative Next Option - Positive + Positive Rating - www.link_here.com + www.link_here.com Sample Group @@ -360,7 +360,7 @@ Terms of use - 9:00 AM + 9:00 AM Try It @@ -371,8 +371,8 @@ Average Rating Total Ratings - 4.4 - 64 + 4.4 + 64 Rate this skill Awesome! I love it. Great @@ -381,19 +381,18 @@ Hated it Skill not rated yet. Please login to rate the skill. Thank you for rating this skill - 0 - 1 - 2 - 3 - 4 - 5 + 0 + 1 + 2 + 3 + 4 + 5 Provide Location Access - Please turn on the device\'s location as it is required to detect the nearby wifi networks available. SET UP - Choose the Wi-Fi network you would like to use with your smart speaker. + Choose the Wi-Fi network you would like to use with your smart speaker Connecting to your device... - SUSI.AI + SUSI.AI Connected Successfully ! Connect to Wi-Fi Provide Wi-Fi access @@ -410,9 +409,9 @@ Example feedback Feedback Skill feedback - 25 Jun, 2018 - abc@example.com - AB + 25 Jun, 2018 + abc@example.com + AB Please login to post feedback See All Reviews Reviews From dfaef34d94ec3377dae2f47bf8061581df8eb3ee Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Tue, 26 Mar 2019 20:22:05 +0530 Subject: [PATCH 33/74] fix: Add missing string (#2080) --- app/src/main/res/values/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 67fd3c568f..6e7fd5e6b1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -389,6 +389,7 @@ 5 Provide Location Access + Please turn on device location as there is a need to locate nearby WiFi networks. SET UP Choose the Wi-Fi network you would like to use with your smart speaker Connecting to your device... From 0f16bc0b520c23c35c6788d1953a0957a00df890 Mon Sep 17 00:00:00 2001 From: Naman Jain <31595908+naman653@users.noreply.github.com> Date: Wed, 27 Mar 2019 00:45:24 +0530 Subject: [PATCH 34/74] fix: Placeholder values of author name and example is not showing now in GroupWise Skills (#2072) * fix: Placeholder values of author name and example is not showing now in Groupwise skills * define default strings as constants --- .../adapters/recycleradapters/SkillsListAdapter.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/recycleradapters/SkillsListAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/recycleradapters/SkillsListAdapter.kt index 5b202fdcd7..90272f5902 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/recycleradapters/SkillsListAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/groupwiseskills/adapters/recycleradapters/SkillsListAdapter.kt @@ -24,6 +24,8 @@ class SkillsListAdapter( ) : RecyclerView.Adapter(), SkillViewHolder.ClickListener { + private val DEFAULT_AUTHOR = "" + private val DEFAULT_EXAMPLE = "" private val imageLink = "https://raw.githubusercontent.com/fossasia/susi_skill_data/master/models/general/" private val clickListener: SkillViewHolder.ClickListener = this @@ -37,13 +39,13 @@ class SkillsListAdapter( holder.skillName.text = skillData.skillName } - if (skillData.author.isEmpty()) { + if (skillData.author.isEmpty() || skillData.author.equals(DEFAULT_AUTHOR)) { holder.skillAuthorName.text = context.getString(R.string.no_skill_author) } else { holder.skillAuthorName.text = skillData.author } - if (skillData.examples.isEmpty()) + if (skillData.examples.isEmpty() || skillData.examples.contains(DEFAULT_EXAMPLE)) holder.skillExample.text = "" else holder.skillExample.text = StringBuilder("\"").append(skillData.examples[0]).append("\"") From 5b0103bcad293e377e2b26a172ee1d2311502ade Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Wed, 27 Mar 2019 00:46:04 +0530 Subject: [PATCH 35/74] feat: Visit website (#2081) --- .../java/org/fossasia/susi/ai/helper/Constant.kt | 4 ++++ .../ai/skills/settings/ChatSettingsFragment.kt | 15 +++++++++++++++ app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-es/strings.xml | 1 + app/src/main/res/values-hi/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values-ml-rIN/strings.xml | 1 + app/src/main/res/values-pt-rBR/strings.xml | 1 + app/src/main/res/values-ta-rIN/strings.xml | 1 + app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/pref_settings.xml | 4 ++++ 11 files changed, 32 insertions(+) diff --git a/app/src/main/java/org/fossasia/susi/ai/helper/Constant.kt b/app/src/main/java/org/fossasia/susi/ai/helper/Constant.kt index 3e655dd149..443afa8120 100644 --- a/app/src/main/java/org/fossasia/susi/ai/helper/Constant.kt +++ b/app/src/main/java/org/fossasia/susi/ai/helper/Constant.kt @@ -24,6 +24,7 @@ object Constant { const val LOGIN_LOGOUT = "login_logout" const val RESET_PASSWORD = "reset_password" const val CHANGE_PASSWORD = "Change Password" + const val VISIT_WEBSITE = "visit_website" const val SAVED_EMAIL = "saved_email" const val SAVE_EMAIL = "save_email" @@ -85,4 +86,7 @@ object Constant { //know more url const val susi_know_more_url = "https://dev.susi.ai/" + + //Visit Website Url + const val SUSI_VISIT_WEBSITE = "https://chat.susi.ai/" } \ No newline at end of file diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt index 10d87a38ca..fb62ce5954 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt @@ -29,6 +29,7 @@ import org.fossasia.susi.ai.skills.aboutus.AboutUsFragment import org.fossasia.susi.ai.skills.settings.contract.ISettingsPresenter import org.fossasia.susi.ai.skills.settings.contract.ISettingsView import timber.log.Timber +import android.content.ActivityNotFoundException /** * The Fragment for Settings Activity @@ -63,6 +64,7 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView { private lateinit var deviceName: Preference private lateinit var setupDevice: Preference private lateinit var settingsVoice: Preference + private lateinit var visitWebsite: Preference private var flag = true private val packageName = "ai.susi" @@ -93,6 +95,7 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView { deviceName = preferenceManager.findPreference(Constant.DEVICE) setupDevice = preferenceManager.findPreference(Constant.DEVICE_SETUP) settingsVoice = preferenceManager.findPreference(Constant.VOICE_SETTINGS) + visitWebsite = preferenceManager.findPreference(Constant.VISIT_WEBSITE) // Display login email val utilModel = UtilModel(activity as SkillsActivity) @@ -172,6 +175,17 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView { } true } + + visitWebsite.setOnPreferenceClickListener { + try { + val openWebsite = Intent(Intent.ACTION_VIEW, Uri.parse(Constant.SUSI_VISIT_WEBSITE)) + startActivity(openWebsite) + } catch (e: ActivityNotFoundException) { + showToast("No browser found. Please install a browser to continue.") + } + true + } + displayEmail.setOnPreferenceClickListener { settingsPresenter.loginLogout() true @@ -252,6 +266,7 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView { if (thisActivity is SkillsActivity) thisActivity.title = getString(R.string.action_settings) super.onResume() } + private fun setLanguage() { try { if (querylanguage.entries.isNotEmpty()) { diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 1b5384f285..bd54aeccf7 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -27,6 +27,7 @@ Alte Nachrichten abrufen... Hotword erkannt Benutzerdefinierter Server + Besuche die Website Vielen dank für deine Registrierung Wir haben eine E-Mail an die angegebene Adresse gesendet. Bitte benutzen Sie die diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 6d5a9a3e70..859fd38541 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -26,6 +26,7 @@ Recuperar mensajes antiguos... Hotword detectado servidor personalizado + Visita la página web activity_executed anonymous_logged_in diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 909bb5779e..06e1fc5135 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -26,6 +26,7 @@ कुछ कहें... पुराना संदेश पुनर्प्राप्त करना ... हॉटवर्ड का पता चला + बेवसाइट देखना साइन अप करने के लिए आभार हमने आपके द्वारा प्रदान किए गए पते पर एक ईमेल भेजा है। कृपया का उपयोग करें diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 1865cd998e..99f793529b 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -26,6 +26,7 @@ Scaricando i vecchi Messaggi... Hotword rilevata server personalizzato + Visita il sito web L\'email che hai inserito non è registrata con noi. Per favore riprova. registrazione email diff --git a/app/src/main/res/values-ml-rIN/strings.xml b/app/src/main/res/values-ml-rIN/strings.xml index baaea0bf3d..8e8cd085b2 100644 --- a/app/src/main/res/values-ml-rIN/strings.xml +++ b/app/src/main/res/values-ml-rIN/strings.xml @@ -317,4 +317,5 @@ ഞങ്ങളേക്കുറിച്ച് അക്കൗണ്ട് സജീവമല്ല നിങ്ങളുടെ അക്കൗണ്ട് സജീവമാക്കാൻ ദയവായി നിങ്ങളുടെ ഇമെയിൽ പരിശോധിക്കുക. കണ്ടെത്തിയില്ലെങ്കിൽ, സ്പാം ഫോൾഡർ പരിശോധിക്കുക. + വെബ്സൈറ്റ് സന്ദർശിക്കുക \ No newline at end of file diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 09ac6928f4..47aba78bdc 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -25,6 +25,7 @@ Recuperando Mensagens Antigas... Hotword detectada servidor customizado + Visite o site Obrigado pelo seu registro Enviamos um email para o endereço fornecido. Por favor use o diff --git a/app/src/main/res/values-ta-rIN/strings.xml b/app/src/main/res/values-ta-rIN/strings.xml index 7471eabe31..21ebd48661 100644 --- a/app/src/main/res/values-ta-rIN/strings.xml +++ b/app/src/main/res/values-ta-rIN/strings.xml @@ -315,4 +315,5 @@         \n இந்த ஒப்பந்தங்கள் அல்லது சேவைகளில் இருந்து எழும் எந்தவொரு விவாதத்துக்கும், வியட்நாம் சட்டத்தின் விதிகளை நீங்கள் ஏற்றுக்கொள்வதாக ஒப்புக்கொள்கிறீர்கள். இந்த விதிமுறைகளையோ அல்லது சேவைகளையோ எழும் அனைத்து உரிமைகோரல்களும் கேன் தோ சிட்டி, வியூம், மற்றும் நீ மற்றும் SUSI ஆகியவற்றின் நீதிமன்றங்களில் தனி நீதிமன்றங்களுக்கு ஒப்புதல் அளிப்பதில் தனித்தனியாக வழக்குத் தொடரப்படும்.         \n SUSI ஐ எப்படி தொடர்புபடுத்துவது என்பது பற்றிய தகவலுக்கு, தயவுசெய்து எங்கள் தொடர்புப் பக்கத்தைப் பார்வையிடவும். உங்கள் கணக்கை செயல்படுத்துவதற்கு உங்கள் மின்னஞ்சலை சரிபார்க்கவும். இல்லை என்றால், ஸ்பேம்கள் கோப்புறை சரிபார்க்கவும். + வலைத்தளத்தைப் பார்வையிடவும் \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6e7fd5e6b1..e51ddc982d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -114,6 +114,8 @@ display_email About Us about_us + Visit Website + visit_website Sorry - your device doesn\'t support the crop action. diff --git a/app/src/main/res/xml/pref_settings.xml b/app/src/main/res/xml/pref_settings.xml index 8c8e4a2572..87ec73691f 100644 --- a/app/src/main/res/xml/pref_settings.xml +++ b/app/src/main/res/xml/pref_settings.xml @@ -111,6 +111,10 @@ + + From f21e669c01b4664da512fb7a78682b37d8a09e85 Mon Sep 17 00:00:00 2001 From: Sai Rajendra Immadi Date: Thu, 28 Mar 2019 10:33:19 +0530 Subject: [PATCH 36/74] fix: correct the typo in manifest file (#2089) --- app/src/main/AndroidManifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 6322aa4f15..aef5ff0738 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -69,7 +69,7 @@ Drücke die Enter-Taste um eine Nachricht zu senden. diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 3f513a975b..c3a0ef6a0f 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -52,6 +52,8 @@ Enlace de confirmación para activar su cuenta e iniciar sesión en susi.Oprima nuevamente para salir Mensaje copiado ¿Estás seguro, quieres detener el proceso de registro? No podrás utilizar la aplicación Susi sin una cuenta. + Esto cancelará el proceso de registro y te redirigirá a la página de chat. + Omitir Registrarse? Enviar mensaje haciendo clic en el botón Entrar en el teclado diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 2938c0b041..79e5c29e25 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -43,6 +43,8 @@ बाहर निकलने के लिए फिर से दबाएं संदेश कॉपी किया गया क्या आप निश्चित हैं, आप साइन अप की प्रक्रिया को रोकना चाहते हैं? आप बिना किसी खाते के सुशी ऐप का उपयोग करने में सक्षम नहीं होंगे। + यह साइन अप प्रक्रिया को रद्द कर देगा और आपको चैट पेज पर पुनर्निर्देशित कर देगा। + साइन अप छोड़ें? आपके द्वारा दर्ज किया गया ईमेल पता हमारे पास पंजीकृत नहीं है। कृपया पुन: प्रयास करें। ईमेल पंजीकरण diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index f75672beea..80ca97e6b9 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -47,6 +47,8 @@ Premi di nuovo per uscire Messaggio copiato sei sicuro di voler bloccare la registrazione? non potrai usare Susi senza un account. + Questo annullerà la procedura di registrazione e ti reindirizzerà alla pagina di chat. + Skip Registrati? Invia un messaggio facendo click su invio diff --git a/app/src/main/res/values-ml-rIN/strings.xml b/app/src/main/res/values-ml-rIN/strings.xml index 9b6b4f9824..4d16c98993 100644 --- a/app/src/main/res/values-ml-rIN/strings.xml +++ b/app/src/main/res/values-ml-rIN/strings.xml @@ -320,4 +320,6 @@ സൈൻ അപ് ചെയ്യുന്നതിന് നിങ്ങൾ നിബന്ധനകളും വ്യവസ്ഥകളും അംഗീകരിക്കണം നിബന്ധനകളും വ്യവസ്ഥകളും ഞാൻ അംഗീകരിക്കുന്നു വെബ്സൈറ്റ് സന്ദർശിക്കുക + ഇത് സൈൻ അപ്പ് പ്രോസസ്സ് റദ്ദാക്കുകയും ചാറ്റ് പേജിലേക്ക് നിങ്ങളെ റീഡയറക്ട് ചെയ്യുകയും ചെയ്യും. + സൈൻ അപ് ചെയ്യണോ? \ No newline at end of file diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index a133b26751..18b9fcf0ae 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -74,6 +74,8 @@ Chave de Acesso Inválida! Problema de Conexão! Desculpe, detecção de Hotword não é suportada pelo seu dispositivo. + Isso cancelará o processo de inscrição e redirecionará você para a página de bate-papo. + Pular Cadastre-se? Complete a Ação Usando diff --git a/app/src/main/res/values-ta-rIN/strings.xml b/app/src/main/res/values-ta-rIN/strings.xml index 2880b6641d..5c2ecf9fe4 100644 --- a/app/src/main/res/values-ta-rIN/strings.xml +++ b/app/src/main/res/values-ta-rIN/strings.xml @@ -318,4 +318,6 @@ பதிவு செய்ய நீங்கள் விதிமுறைகள் மற்றும் நிபந்தனைகளை ஏற்க வேண்டும் நான் நியதிகளும் நிபந்தனைகள் ஒத்துகொள்கிறேன் வலைத்தளத்தைப் பார்வையிடவும் + இது உள்நுழைவு செயல்முறையை ரத்துசெய்து, அரட்டை பக்கத்திற்கு உங்களை திருப்பி விடுகிறது. + உள்நுழையவும்? \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fbf76dfed2..c323a49678 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -17,6 +17,7 @@ Retrieving old messages… Cancel sign up? + Skip Sign Up? The e-mail address you entered doesn\'t belong to an account. Please check your e-mail and try again. @@ -25,6 +26,7 @@ This will cancel the sign up process. E-mail address already exists Please use the \"Forgot password?\" option to reset your password + This will cancel the sign up process and redirect you to chat page. Account Not Active Please check your email to activate your account. If not found, check spams folder. From 30c35c543ca5823692ecb0559ddbf38a52db12de Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Sat, 30 Mar 2019 14:54:08 +0530 Subject: [PATCH 40/74] feat: Open skills Activity by swapping from right to left (#2096) * Swipe left to open Skills Activity * Renamed function * Changed value of gesture detection --- .../org/fossasia/susi/ai/chat/ChatActivity.kt | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt b/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt index 870a1fd42b..863ed4ed66 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt @@ -21,6 +21,7 @@ import android.speech.tts.TextToSpeech import android.speech.tts.UtteranceProgressListener import android.support.design.widget.Snackbar import android.support.v4.app.ActivityCompat +import android.support.v4.view.GestureDetectorCompat import android.support.v7.app.AppCompatActivity import android.support.v7.widget.LinearLayoutManager import android.support.v7.widget.RecyclerView @@ -29,7 +30,9 @@ import android.text.InputType import android.text.TextWatcher import android.view.KeyEvent import android.view.View +import android.view.MotionEvent import android.view.WindowManager +import android.view.GestureDetector import android.view.inputmethod.EditorInfo import android.widget.Toast import io.realm.RealmResults @@ -65,6 +68,7 @@ class ChatActivity : AppCompatActivity(), IChatView { private lateinit var networkStateReceiver: BroadcastReceiver private lateinit var progressDialog: ProgressDialog private var example: String = "" + private var gestureDetectorCompat: GestureDetectorCompat? = null private var isConfigurationChanged = false private val enterAsSend: Boolean by lazy { PrefManager.getBoolean(R.string.settings_enterPreference_key, false) @@ -81,6 +85,7 @@ class ChatActivity : AppCompatActivity(), IChatView { setContentView(R.layout.activity_chat) val firstRun = intent.getBooleanExtra(Constant.FIRST_TIME, false) + gestureDetectorCompat = GestureDetectorCompat(this, CustomGestureListener()) chatPresenter = ChatPresenter(this) chatPresenter.onAttach(this) @@ -102,6 +107,30 @@ class ChatActivity : AppCompatActivity(), IChatView { } } + override fun onTouchEvent(event: MotionEvent): Boolean { + this.gestureDetectorCompat?.onTouchEvent(event) + return super.onTouchEvent(event) + } + + //Inner class for handling the gestures + internal inner class CustomGestureListener : GestureDetector.SimpleOnGestureListener() { + + override fun onFling( + event1: MotionEvent, + event2: MotionEvent, + velocityX: Float, + velocityY: Float + ): Boolean { + val X = event1.getX() - event2.getX() + //Swipe from right to left + if (X >= 100 && X <= 1000) { + val intent = Intent(this@ChatActivity, SkillsActivity::class.java) + startActivity(intent) + } + return true + } + } + // This method is used to set up the UI components // of Chat Activity like Adapter, Toolbar, Background, Theme, etc private fun setUpUI() { From dd09847a68d0aff371139e75b6d696690fd2e959 Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Sun, 31 Mar 2019 15:30:02 +0530 Subject: [PATCH 41/74] fix: Add multilanguage support (#2060) * Add multilanguage support * made function name relevant * Changed manual language allocation --- .../susi/ai/skills/settings/ChatSettingsFragment.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt b/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt index fb62ce5954..b85507dec5 100644 --- a/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt @@ -4,6 +4,7 @@ import android.Manifest import android.app.Activity import android.content.Intent import android.content.pm.PackageManager +import android.content.res.Configuration import android.net.Uri import android.os.Bundle import android.support.design.widget.TextInputEditText @@ -29,6 +30,7 @@ import org.fossasia.susi.ai.skills.aboutus.AboutUsFragment import org.fossasia.susi.ai.skills.settings.contract.ISettingsPresenter import org.fossasia.susi.ai.skills.settings.contract.ISettingsView import timber.log.Timber +import java.util.Locale import android.content.ActivityNotFoundException /** @@ -273,6 +275,7 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView { val index = querylanguage.findIndexOfValue(PrefManager.getString(Constant.LANGUAGE, Constant.DEFAULT)) querylanguage.setValueIndex(index) querylanguage.summary = querylanguage.entries[index] + setLocalLanguage(PrefManager.getString(Constant.LANGUAGE, Constant.DEFAULT)) } } catch (e: Exception) { Timber.e(e) //Language not present in app @@ -282,6 +285,13 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView { } } + private fun setLocalLanguage(Lang: String) { + val locale = Locale(Lang) + Locale.setDefault(locale) + val config = Configuration() + config.locale = locale + this.resources.updateConfiguration(config, this.resources.displayMetrics) + } private fun showAlert() { val builder = AlertDialog.Builder(requireContext()) val promptsView = activity?.layoutInflater?.inflate(R.layout.alert_change_server, null) From 4b947aad76df41aa9934d08f30880277ef89e29f Mon Sep 17 00:00:00 2001 From: Sai Rajendra Immadi Date: Mon, 1 Apr 2019 11:03:54 +0530 Subject: [PATCH 42/74] update link in readme (#2119) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 51d033e194..692c733846 100644 --- a/README.md +++ b/README.md @@ -177,7 +177,7 @@ Go to AndroidManifest.xml and replace the ${YOUTUBE_API_KEY} with the real youtu ## For Testers: Testing the App If you are a tester and want to test the app, you have two ways to do that: -1. **Installing APK on your device:** You can get debug [APK](https://github.com/fossasia/susi_android/blob/apk/susi-debug.apk) as well as Release [APK](https://github.com/fossasia/susi_android/blob/apk/susi-release.apk) in apk branch of the repository. After each PR merge, both the APKs are automatically updated. So, just download the APK you want and install it on your device. The APKs will always be the latest one. +1. **Installing APK on your device:** You can get debug [APK](https://github.com/fossasia/susi_android/blob/apk/app-fdroid-debug.apk) as well as Release [APK](https://github.com/fossasia/susi_android/blob/apk/app-fdroid-release-unsigned.apk) in apk branch of the repository. After each PR merge, both the APKs are automatically updated. So, just download the APK you want and install it on your device. The APKs will always be the latest one. 2. **Testing on [appetize.io](https://appetize.io/app/mbpprq4xj92c119j7nxdhttjm0):** If you don't want to download the APKs, you can simply go on [this](https://appetize.io/app/mbpprq4xj92c119j7nxdhttjm0) link and use the App on an online simulator. You will always find the latest version of App on that link because it is updated after each PR merge. ## License From e1a018627897fa99ef4b97a069a02c4d2273fcb8 Mon Sep 17 00:00:00 2001 From: Naman Jain <31595908+naman653@users.noreply.github.com> Date: Mon, 1 Apr 2019 11:08:43 +0530 Subject: [PATCH 43/74] fix: settings crash after changing language (#2123) --- app/src/main/res/values-de/strings.xml | 1 - app/src/main/res/values-es/strings.xml | 1 - app/src/main/res/values-hi/strings.xml | 2 -- app/src/main/res/values-it/strings.xml | 1 - app/src/main/res/values-pt-rBR/strings.xml | 1 - 5 files changed, 6 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index fdc6ff9db1..6fe7835969 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -40,7 +40,6 @@ activity_executed anonymous_logged_in is_susi_server_selected - hotword_detection notify_user Keine Ergebnisse gefunden diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index c3a0ef6a0f..2bc86a961b 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -31,7 +31,6 @@ activity_executed anonymous_logged_in is_susi_server_selected - hotword_detection notify_user El correo electrónico que ha introducido no se ha registrado con nosotros. Inténtalo de nuevo. registro de email diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 79e5c29e25..25c821dfbf 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -61,7 +61,6 @@ हॉटवर्ड डिटेक्शन (बीटा) mic_input - हॉटवर्ड डिटेक्शन enter_send speech_output भाषण आउटपुट हमेशा @@ -84,7 +83,6 @@ activity_executed anonymous_logged_in is_susi_server_selected - hotword_detection notify_user diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 80ca97e6b9..30dccb0d22 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -70,7 +70,6 @@ activity_executed anonymous_logged_in is_susi_server_selected - hotword_detection notify_user diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 18b9fcf0ae..71061c5a39 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -66,7 +66,6 @@ activity_executed anonymous_logged_in is_susi_server_selected - hotword_detection notify_user From 439ba2b175bf05fafe4240c705e4c47cc027bc2d Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Wed, 3 Apr 2019 11:39:23 +0530 Subject: [PATCH 44/74] chore: Update readme screenshots (#2129) --- README.md | 7 ++++++- docs/_static/help.png | Bin 0 -> 79208 bytes docs/_static/privacy.png | Bin 0 -> 92962 bytes docs/_static/settings1.png | Bin 0 -> 35945 bytes docs/_static/settings2.png | Bin 0 -> 32709 bytes docs/_static/signup.png | Bin 50142 -> 31222 bytes docs/_static/skills_list.png | Bin 186452 -> 51794 bytes 7 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 docs/_static/help.png create mode 100644 docs/_static/privacy.png create mode 100644 docs/_static/settings1.png create mode 100644 docs/_static/settings2.png diff --git a/README.md b/README.md index 692c733846..adb528f515 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,12 @@ Our chat channel is on gitter here: https://gitter.im/fossasia/susi_android - + + + + + + diff --git a/docs/_static/help.png b/docs/_static/help.png new file mode 100644 index 0000000000000000000000000000000000000000..d93e14a10bff29c2386e6def9ffa771c5269323d GIT binary patch literal 79208 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 MVnK!M?EhQ-FEc|1QUCw| literal 0 HcmV?d00001 diff --git a/docs/_static/settings2.png b/docs/_static/settings2.png new file mode 100644 index 0000000000000000000000000000000000000000..be21f7f1aedae242a13fff561cf21ece30e56397 GIT binary patch literal 32709 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 literal 0 HcmV?d00001 diff --git a/docs/_static/signup.png b/docs/_static/signup.png index 4c58c3e88141068d3d9a85dfd5b7d4a7aa50a939..3951c1b4173c4901a49e6bdce6059ac4dd4334b4 100644 GIT binary patch literal 31222 zcmeFY1zcRo)-T$)1Zf%x?k-7i3GUsvI|;5$f(8f#3GVLh1R8e;A-KB)cZc9ffCMg? zIWuQ6lkD?a>Gd(>sk1!Vpm$1B~ zr2G@zCmtS!aQ`mBZ94!56_F2~6akJJ0FMKQfCG2i31Gi-5CQJHtG^!zh)D2o$akVU z`R~HJ3>^Gj&Fvfj0|5>I4@3Y00PrK^GilnV)d&#cAzm#uJl#jr*7SR02KmzTTr(Jx zqjTAmzYxGrxsR}%bWR%X5$#R~VQum0!EgtZQs()r#0NE!rngJCN?)+6GFc zk>BRdhfq_sz=>$YrwXa#$|>uHP>Do^r|ss%ote`6(DK!9Jmw8r3OFLGMHz(}`sLf8J?G>VX!VNLeSUHdPiv5z-vfdlUz zvh&xynHx`?f@+*K9m^DVT@Ze*aJ@omEoJ5=T4pPv&MuE;nDlrzY4UtyM}{7{A8Xt^ zzJBHB;AYSeS2lj$`0!xe_SBBh`ga=$+rkkUvqt+07LZT;F9dU~mj@Eatdgx^Wy79( zb#E>gU4<`?io3GY&mTEFlW;*h8RZx)?Am>RHOy;>U3BSHl>a(5+o%4_QyaxXxI2J+ zJ98!&a`<5QCH%**_w(=+bjeq0TUo=bVFe`e?IJ^8n}3w}-=r zCLVKIR?pJEr9m?kIxt0lxAnaToYuuWC&H0V#P#NMp7b8@T?v~E^&5Pxxj!9pKX0-} z-d*70NcZ0UwC^n-A9MJ?;ZO@@=k!ST{oh|ld9V@po5HOiFkEy zH1)VXI@%Ih{%+_0%}h9mCW@RqJ4GhCUEN@yFvuPB6K_x%u8Ax`^2hHe@J=swqdNLR3p*(JPaP4n4KlLAFiww|jv8Y92qkm9iv<@8EZme<33npzZy0*q(Mi03j(q z==WOYQ+b0rPiEWZNF7v<%cK(_(T5Agg)uqZP6q_FzuaB7p+)V?nm&O zDgdF_I1YeioIv@zg1aP%^x+u|8d(FnY z2>3bjd(6B_^07LdbQ%1|#deQHN4S99x^RkPN43rLTHdXJF>OB}EiAiVi1#41Tnk3& zoSS}>nw_?bGiOUj?S(b7J6%@1%*-ajd|4UmLUc1kr8J-(%6{@RaNgi&f#V0-|571< zXcu>Opyq|J>*zkG{Ldk%C5HH4t2o!DHej|t*ZA*};(#ih?m@=x$E|T`(9==TYj}@s z)#92SUnD+lC?@jipB&O)l4DKXSQ?G0D@MzC!}fz=j4#dsUN59r4_DLK+D1l+aCb16 zTo5t>o-~;DmpR+&oUoP{LPy?9zO4mWW#KG43jLa0l-qZ z$FI(OPft8%^7jxwd)#n)d>~`~{0GRgYPsQg7#5{c=UtmUuro=1nvK>_9q{HUgT5|oIvCo#dvh)FSvsB2hKLq ziVnfk9@diq!P5a!hn}CqfAAsfQ3u9PuCo!;pAQ)3ABGYEK-uWKt-&?1|_d^?h(>xXfs)eCe1_`SDCi$CM7+1&0qxMLy zGsQ>iKUA?+q2L|A=Bt#!GZyo^Azl#XJC+OdkKOLff zD*uDxUm_duGh5RwAoI~JVA=EY_si{?{N2Q|`z@f{erDP5#gRho%-dfoJe$v;ZarVQ zZvjh96L0_A3;%u>4?FfeYdnf%?`tsIWz>L!olAz5GptI1e>anznw~s9>1|6RK0rTJA ztp753&pVE7vOl!!H{j_6Yu)y%KSb`|b(sEWlmf%p`{dNRWI z&qkS_dj1psUxw<`Ul1@%_`DPKFDO>W0gUQjbpBHH7gztL#;EpQ@T?PfDlgd4McO{h zHSs&VpY&{i)xLxDxCg_2fb{vl5hf=75UqZgg#H+<;4lDUe~*KI3~&e-e*oP<{!sd3 z)^UXNr>*{<3UJ7XxV?zEU5IMG_t>wQLBWnluHy*4Ga11j0~{ZGhu}&$ZABo^H|QS? z$3G>`o5 zko0@swjtito`nBkkv8~F(K_C)Nq=jAPg6Sf%5gn<0%2;1Y3eIKtVabz_kgww2%SttTg zmXS7)5eijgg+CZuVKWwVGS5^V2NsNuAIHT&9WBMjYy4>!D10RjVKXG?griOo-$a*B z{D!OYkoFMgwRw2n*|TTzkYh5TgPAKDmAr-76K(KAy!k3ZKW9pUKxnjZm@SE_>ftoa zO~=e=^s^{Z6G5axGxgCA>uTfZv}pAC1xOs>%sR{vV~}omiq!jYA0{vwv;Z29{WRv8 z73O$^c9m5=VR||7eMF*SQlxwHiMR&Sv~y7>n8%zvNfj6XjiW7>`UalB3%L*|i+`iC zvI3@zLjBrC!I&uPNJvYPiFK|23fO2`S`^QML-{&qx805nJyASKPC#5O@Iwq{mRt>K zkDtCCmd}wbTMhzhFI{F12=^e^jdCEreO0wobnGcyaI)wL;zRgaT$=?6HoAnUxo4)~ z7Avn&v5MPd8Je4$Zsx@|b#;)mgL@)ASH6WU5>?&vF)fM$R8B&iagjBuhza8!xsoxw zlNVwv4DLLwSQZx@rAk0xTS2GC@Ew*<4B(1eSRF0pB`(LVs<%bRXR3=rZb*!kL#Jg; z?HGqRHNJqpT&WmOEyNDvnkG=4D=ne#k@C6Debip4IiH|XcW+VKGjEB^N{&ev4^-m| zN4?ggP0heKtjKdk=2=BnM@^#j;^fNMe|DCc1tR%woHn*l;hX6tXL5RTn)LrKQkfeP z2F27gkzL*_85L~!iWC0!BcQ5I`H+v^gd%1B4fm*(#XKXdZd+nfYg z;wmw%klLEgc*lCu&xH7M@4|nu2P>{UV?<$^bhIkEZ3NKQm_Ra1&+;=NP zYF9`lk6y+eWPcE5*AU0h*^|knH*(JMRVLHwmrp6C=_T9zk_9!}-zt}rxfLWXP5U-d&**!1YEuZ?!q1PK@ zuMJ$Ur|$;vZUKq?o=qZLWYSC*jYMudI?B)S7!(3Ry9_-Phm6Jexx9hc(RfY1Ykvs3Q-sKlgj#!Ozk zkZ(~DqhB}5i!uY_qLR~kqGkEmUPf{EG+reP35ugwyph?-4PmN6i%!6N?TqVO(%ISB zuVoNzO7UsD`D!vL1*+KJdUroSi)p4M!J~VaLjw&pv~*Z>l4~E4?`Jb#5SoVypUK)| z7NYyV@1$AyCifYqlUlDj7UInB5Ldr!;$S3&$pfZh6u0vPNMWvB<0{^K9UrMdJ;Z39 z!0O`~XJ_5ya);rnU-n7nE7kfjejs^$3+T-o*gD0a45u~Lf+-Kg2DqD<)iUdQ1H}Vs zb_CEO#_H;c%oakr;l=3ZB8$2nZtXs)!kME;i@(4<{+5xNkT6^|oKIMx`|VSU+g$2f zYQaN=rD)u5S&3Fi96gMyM_1H1k51_kR!tl3hitcW);fqy$K*GWXt~S(qRu>3$ANCH z<2qSsoLx-KbistYVK&<6heTI_8u?i5MV?s6geZf6q(+If67oxE>O@R~sxTvbWVA&IP zSs3qwC28X?_MrIv+ONju*>cGV&beHnY_wJ_YHu7+qZ7rKA?k73uXjQQJJfLZ^&p*T zluvG|#nGqybUz7)E7z=QR3hx+n5^D|%A(Ov3#Yd0=~il6-+!e0+~{+mY=d_^i8ijI z(Upm!=>p{Nr8|^pt)p1E%a4gRuP9CP+d8?U3T1I#>OI#d8b@~PmiAwbDwKr|Td!#u zuEmNLnjD^xA&HQTN=>bo;j8KB%8CK-miFGZ(SA6QNpoH-S=17E`EF2fOJ%BTx-$oQ zrJu^^ri8S-RI%0rqh9}n&$~W&3s`%5>170Nh~sNf+!!yIj49=-VboJMWokaX6jF&Q zI2zcvkQPsU_b_&f2;J^$tJ42zRbB@@cZ(OX?~4}%L=^aY$Vf=PtayJ}yxgr_)S{87 z*u~UiSAi;c_|%WM>>YfvE8lad8aevraNaFm#>Af*KhOGQ)pGZuiwMAX+#4o+6jbWU znW2!$oE0tVJPusU$(DqoygQqZl!U$A%O2LNXQ3;I#fr;ycs zzN$mBXFllas^Uq(`N_>oWvwCSSSmRos~a?;&Au6|x)KTU(+h|0t1AOVv;10WLeSyN zhnS8+H?^4n05JbY?<*gj9EI}0HzXcBNC{mplI+K8=cp0Kr7B%)qb%8M@IOn~(GmB< zN30pm`tAVoQ0<;lci~he)b4R{`MNvp)OwXuVjuDlUq}z`U?(vy{t}`u~JPWVU>$@_}Hj%>r^YIbULj<0?6y z3Fh-~#{SX016D+UQp-5;cq!i+5LlruI!sXE$7W$H#;}MW&mPd)QJi9RAgL$0- zi*+>1BYGk%#EIjxGo@e`ysdBEuO8LHy5bpQa*PB7>_vfnpQC8HsvATaWPDpYOULZ- z5b0Ci-vX3_pMXuyaLB2QIQC!GT>4rU`>SMqN*_2yPSI&d*c2*TpS)y_yVn`QVojW5SNOy@}# zIjA&D|CZ=($4aXoc?{QGz-(sWIbKw5iN35Hk&9&(Tdal)vx^2ZWlNM;b~tkl?9*hd zvM!$R8S(wA$cc-C39K=;8s1cyYU#&rj6QFX2NkdMZf3*rcV5p4dtMfp9V{`1Y7`Wm zc4iDZ@zyS;eFiaja6<7Gz`@`TGfu4|kU0etdKj6R(Gr&#b~M zhM?uaaEPtXpJ%408s4?B4-Y0n7BEqoNF^H*%&49UU}`A4Fms8I$2Wv_ zriuc&KL#($dCjxuyam3L8QIk&ciB2bQm@sO@g7=vBZ&MANrfe6QP;;+Tgl}N-Kv&L zw|XOPJnB<;vUo29y?c$O&HPvcB)~sEy53g>vW8nSwpKKAd{E5B=$k7+j=<|%1j0>X z4kjaeE)k(z{(ON3A}74Rqe{X|0Qiz*r)UZpq^+@rFh1VZj!sB1|MtR^BnS6P(lePM zCM$F+Q4q7SmkiUCAva_cK2x2OMPQ&;+e`x-+{hm<-;`G)%Undw^-|7Shefnu8Vy-WAfVcC=a{`L zlt!PbgwA|y<_3J#7B?CB@Ze3ekRFE*eN+s3Ku5EgD242?;^qO~EUJPZ9XAX~BsIxi z7BlY1o=G^zt5V@xf*1e0%ufvC>V9JcLCVVb1-)-mS7Qfv?^knP)h3 z+_&WvI@?MlI2`?ww}T;h{Gs_5(=!37gJp~i3)%kgR4kM>WoZLL3;>tdiRn;`K zPmRqSUi;;)@p|X9OGrI;jLLR-Kk-ZayL(Gj1aR}3Db<~g$4Z)?b}(uoH~Dh+nYi~S z=CbKe+D*$uR?wOStwqebS~7_23sDH?DkbUOJX~mao%uvXcJJVOI0uAhOc!!&-Ux22 zH*SL)9PqFPx9bEl=P%DE53=p$+J=CAEUcNttfg+d}gLT=RFS_f0Zm4t@R0q{MyB=#!{TVC5{%uTUMvPRC6o8=`0dn z&lFxJuf#X4em*a+ww6TtWuGc;G^ub%quz#Iei`R3l^CP))%X2|YfPOiYTGvd?QAp_ zZK5NeJ>)PJ>xs%FsMX3K1D(BnNQ>^1I$0LT88~& zMq7Vdh|sjLZPP~y$FVo1aXK{QBWYreZIKe{n4YBeOCl1!10Fenr9 z{+_*uAe!Rm(#ce$ZZ6sZT|LI}xiknVBw^Ia+;>g-O1wqI2$E1J>7rgW!QwpF0Gc=9 zW}Fnbp`Sq(OG*EAh}4+F02Tzw_K$ye92bc^&z+wpgP|5@fw$ z=>0mC?j&yQJSttozBW4BR&`A88a@v)p~P9IS&eMHKc63;fmuBdU2J88>nm4L@+v`> z1zvjDI8&RayjCtRbqYDwfDYtY){d6aljBjGVg3}QDIG(z^xd!M`nq!u9uz=KpR+*= z-MSsuX`f}Oj`>^Y6pT3I5JuH4>naC23CzFu>f;Jfg_m=8)zA(Ob>uKXmBb@J8wvAX zdu^?}rkaXIUoq6wMPnB27`1oK=f@4_EjLoE{#B|IBWvz?e2XO!yO7b$H!}^_$~g++ z2g*b>vbvncPR`c8CkTR(G$MF2G^-oDa19ub`Q@n`GGjixFj4bn<(b1zk&bS+!7g;p zm3O#gA||?3eQs`|mHEO>p>CU+nH;MwCZ1>I>(+v-E_TJ&go2t4ZdN!!Hj)GS2h7grINT_CplVNO=u z@y;pR^qTzq@o?|}r2CV*Qm%kMIakq|uDPU~ATx_68soqNye+L;z?AWRDR{!964QNM z(!vPZo=(@Uu9^DL0k6tgRJA5nFIbRRW}7fMcG*101=}=LLZ24$jSiwB<$qQO39SQ7 zoT7=^Lt${Dcx>oIh5j;r#I-}U?^{u52I3}Vh}`l8YBtu5Ch;uJ&_=+NQ{CG{>_c^P z`9b+csubFNeTvw_PqGot)U^5rW#a;<8I$bwFuKC$eA)FUtH{O9a{|G;Zr^>11S&#{06B9T*LIR&t8{XTgd_OkhFeToKa{G7J%% zx3S1DEGu2YGStfMCT^UmXRj>)5RS)-Gv(u&V7s4T zm6b;eGoq4HhDckm_6fr0&at}8@)Be;iX|!dd*d>RSKb0ZJnxoq zKYx_@yyrgpwm4sOlL)Zk*c(!{Rxw_oDNVN17t)%bn?tFuq5fE^zCV;LgA(QAC)rv+N z^N?*P5H`qjkzqI3sb!L%uu)m7j}_w#qkFoyT>L3Clx-&?AnQ?u__F8pFnE15U^1uH ztd03nDAa#kGUy;7NdVZ7jS9^R7|WcA`X)G;jFE3;wGE8-q>Kk*SurgS?5R-LpITs^ zlQplV9+cBRUlyBhC2H;ekLW)=@xS+;7`ZG?=Ak9P`&t+?Zxa5b!d<~YkV;lZm2IrU zYGqb`S*w)6Teb2PjmqEx{-lf)F%<>Zb48e0jZL z!m4c6)Bs$343DK)>b1twBy8~R1peex=gstu!Io?N+?L!R{Je~`347@g!!4kCtpnF3 z{u4spMm&FIi5FFDCNJlD&vM|qf!wZ@qvOfQ%JR<>mtKA(m3o7EdRjxGSVD=6-*DE% z3D!paD2uHr=_t*?f&ldTFG3B%(~S-)gc*o%RV)`9qUAixbIUtktu6CjHeT5`S7*>~ zu$#c^{h|6#^;Z-}rEVnF?G@59B}Qi57iJ0W@F<~3HymxZfcsypPfV1$ikIr%1qp($ zBxbbR4@#ivL&5Hb9tR3h4m85}t_NQP4jrM`zyv~NM7Cjkgg!h$64LsQxeK>|rhj0s zBtF*uIdq)o!)&c!Ah+dMdksc|(!g=Bh@|%O7}#e5eM6aGk`DIu8b#d0=bP4u4dam0 zm6^8e!xNLEj^)jmz^YHRMsf|_rkULE{Sa*(+F`J2L zg!RiL%P?JH>fj#DTdk5oy>4J*Z$u!-uVD^V8?Z(2x>KpYMTy{Azt1gf-ZE~BlX&=4 zrhen8TRYoj9;0_Ms+tUEg3K;9f$&$M8w2u(C|&`1p5b1tnWITd=RulN5_fxAi81N? z4tnbhGw;`o5^04e*utjQ#{D9}D!p2MPJRWWQ5*n4z}`>3Q(Y8C2e$xEk@`)82P)90 z^mr;aIvQ7dm_C?7rV@(!CI;^`W_M)Y3E=s9(^ay; zG8lxe(YiMf+IwTo2S@Jfq0P}pyw4*RH(f_$<6+Hox%YSh|A9bGe>9mXKG)tn?Q>9U zytHTUIFV-+{G2_D;;Xo{E*Z~8oLSH66f$wm*b7E;7K&How}1zc_g}y3P!;Zex2&|e ze;mrkCMss)dZpmj)#%80Go_WLSI!lFpapg7Y(CS@==xkdg38;KZ6&9oEZfUSr4wl# zR1BhsIbHIc;#(WGR*f+IQo)ur(0JH`lgeJ-ZQ|PCDwM{(O2?p3tS{Ok@}dix@vX@b z^kG2HGzxVPC@pzsppY~C7N7++WDoD(M^hn~V5`fAe+$@h;P-jA78L(L-zg6yR|LQU zflK8=^JYJyg-x0-Amx>F<8~{!bvK;->g6va8h2hgYPWWMnn{xz;R&32;$BuC>OXaS zQ15ItA`a+dL{glgCd97Wc*;(5}rj-Rj(&FS6#-tThJ>V#2wQE z#tRzPYo(A84^5J~$~VhZ$;ofa4SfLu@UGao0*wYxEuwNcmqn_3&waCk(a;7l8s@pH zb=<;6f@N+2{S~!K_}z1U(ohBH(}c2xd^^7}gk7-A zoWcm)>aE0rde3cit{BN$$ zb<=rlbj)BXFby^8D$2&nOXdQ7$sV8!YR@A#MSJY24((gO@$of>uo{$aKL}dGWTOJd zBs&=6>Te{-+lUjlze1!0R~{+u2AIAJ7MVBqPjJ_dgTGjdd>FglJJDsh_X^Eghlb~a zj-p3Z4oIk#@qnM|leVpSJwY6;r!_x%HxF4%A6_?@9^L_M#J|*AxQc^Z5Yu5UF{*tk z)dkgD`qVbx#S`(*3%V%X?nX0e?2MVUQzS?i%&^IOLtPv_4zLyP-q68q)NhIU8# zYZL~ab3QA3VlVj5fFz{yTk2lA-u+qgtMlst)Q=M8Q3L~t&SPAaB0)xkpH1orRdwRK zWiQLTUe>iNE;V)vH(l3meY_Z^`lBI0#?`P`AD*gd4;f; zXzffi{jwRMs*bVo@L;AsYi0gOW$wRl{KZ-MF9J=8AhJY!#&srUl}|wCzJS9zr5#r+%`9SV~4HIrEz0j-360Aa?QVgi{&4i=d(kpmD)VR z7dZ38rJ~@zL8`3~9Tax)wM`ieM^TD}dkg6K)~;TFkA^b`wQ)P0#bV4dB~kq%DwyK; zU@oq>Bm}oJASOo!26=oJ0c(!FuC|B@SL<;;=IN-SF&!(HHqlHw9eF4PY3R4I9v#rd z;dsm}aKV^A4o8cfBc?piIX~E3Zeo9Lw94O#awEGPOW!#9`2zz)Q-Xvsqb?grHIscl zVlhK0qrOk0Et(#)iA_V!iZa~;t}KFhXMcVU64Cp#HQwT~%-SUVOXPFTTggyGfiD?}hF|LZHm8xXPIna_}aveC2eFC{?G@xpZq zX`+~yi!eLfy6WwMs)>$WCJW_WYxjC5^he~p_~MFW0INKl4qWnU51DmNY|{%hyp}`E zOjE)K*AAQU2889uNr^L9uRLf~Y0bTW_jM@FU#u5`O53Z=rB~ZPX;f+QEBIt7_Y{wn z3d(}q5}$pfG*=B$?fC-XzXf3BCHlPxrQt=e9u;C9a4+>PkZM%cw#Q&5){a_{g=n4v z)w$tCcs=mlt*7UyJ^g#52W%uwi1kvOXqzkI5k0NJ;3>^I6B2)a`?a`D!tN9pv1%a? z2!=?G41rmjhEd?D3$|MM@}Lg#-(L()~$26>G9okFfdH-Ja#wlxER`VmPOpnJ5^`F=}s^1=AFbe z`Tg9xdFP;I&BB0e?(BuxHm<bJf zXDl_AXtH6v+e-O5e~U9D>^xwz*UGkPEhb?qMqPB!8Xt@MaHld;VSTsCe@6}V@gC8J zY>DZvk_Zo19tT;3N=ga?c$$+`n1Qwj+R0O&3Yj?vsl#a%sm8_8K~%kEiDF)O!za5X zjuK21>AHcbB<2`_ujDu~?-$#X8d|baO-oB`c{`QNc}X>_LwV{+wIRTme8x0y1dmwd z6Fq|Y^Fp@D1h(PQM4GDxebKLT(XT7MCha%Wy4mAw@TV#=35+h4F`!+286p{`X@9{9 zlGu`?r1fKy%(pzxN3UA?hNn0ZB0^i6>6NYU&_ngDSt}RZQIOWj_}@ls9RN+7e@cs5qYW zYkLNMq;|3ILRbHqU8(uR>RbOc-|Q$wDax>Z1;*q$9#F@yyrdf=wnuxs;2dwiXp!oH zUQsOC+P$3*Gem5Rv>Cu04uF|#)HQ)~o5UOWI5`|(b;ntJl2#rjH!-9PTU!}SSC??M ztA$n2-Hkt8Vpbs34o}ys*K9B4_O6OW6GllikJD5PiNXL2m0u(HMM{wNP`$hygje!X#~Rw86Uc3$wk!SD~Gn+hv+Ml|+V# zq@oiSaZxala@GG3v7pO9yZgL;IMjoC)Af4N zG2y`;Mik225!&(%E+u}5D3ny*)BR|wu{-yMEAR`JZ9A^~_?C43QhZM~l&dNFxrwn{j@Oj|q*hSUTB{Fx>xhHUsK8J~u2Tc? z(@AcIalS5gqYni#NyQKcaedWvd+?PJcp{2a^i|k9BNB~`;;Fn^hKKKH{5Cj<1IcLM zm$gMBx@nx*FA;Q+WdgVS)m%a|fHt;OC+UdW_1a^3c@CqTToXRsqbuleV01Xqys&SS zN3TEMrIUMYN>B%ffG@*2Zgm8G63i0Io6Vz`EiwSz;?R9u$rDb+PEG*2H^h z8Q7B%!m!60d@d@@Q)-UmtoEZ)tOqCEfMgL_vqn|($qa1qwDy~-M>y*(1)#yeMOh?E zv#Kg@SI+z;qkE3AF`9Lw4!WwsuKYgHD6B!n_1e#u!v@~a^(27eB7kTED(C3UBeiz< zH7#c>&`L@H;V*E?2-L_<(H4@AA@AKjxr|C0gNfDiNvkP%AE6c=Dd)biHc$bFDdT@L zUULSdggcmhrVxX6$4yx3c4RS7R%RB4Mx?Zgx?m(1tG;F}&5Gfmjg%=D2&ZafpY?1x zZ}85}#JUB9j9}f{NlP@YdK==ngJg-$Z;>u$&ezh^?9RhDL?;e;f1_ZtCW{iQd}MFd z8W1zzI}0Bwr|Xp8mO;iXu(6I^Pb{b*8MxbFkV|>DWni|+l~pdgPN7n0cRU7FKQC6~ z;6sJwT;b zj;&rA5^6sx7vXaTN0Ee0{6=9av8?U|4?~JBDdUGl#dy5dG~YlhlXE-zNj9vKU>4g_ zcTwfy`XY8+qz5SJhI%9l=@1=3A~VgdKI21{X91%JbtF!RN3^y&zF{Ni-g!K9GMx^3 zL{(pyEFD5+drLhfCxgJxFyHcW^D}MDI@^_a>N9Cdj3VjlgcCq>)Sy)S{cP!!7z4XB zobgZEaB^B*36nYkC-D>Sc7fG31&i+KG0`bsmolXGSjwX)Gu z%Zm|~WRXWsrDjr1Jiwknf+|kk1d9GPp=B`_ZS6zMa2ml*_K*!M@)F9}yX8q=&^rE+ zRR{zjj;-|(dwHb9m7Ae+CB@FZy=F+3FwYW(n{6Ew)<4yj4_`(`ofhvP@!W)ydYP5U z3TIkXeP_VO^f@NCtMdn3x`fdjiyl;I{l^@yo(_z)SmA`}l%V_u$~Q%mvr zW>qvo6*@JA&BQnhoam+9OaY}cib>+yf7zh$4 zn1d+i71NBWIufas)|{Eu>p?~xhM0+7CwwEAXMyyC)T6{T626QCGOH;tbuXw{u}Hh) ziPG^Ok%rS1#MCw|#@~GvpK$Xi`&CxRVb?N0`LqnSfF;Lea!g;8i)`ll{^B zL!SWxK|4aHsWWxvo0p&A^G0D=#H~`R}_{j^z7t`35BD7>JoqUQmw6C}YP-`i> zOb7!j_RF%7lGY@8 zGSkfS5eFc<&vGy8L!a9>huUXnKV;B*Z_D!zJh-o-Al>QeuD&T6>F#|{p^o9Q!Ba0L zgF1@k7UFVZWlnRt*w7{EV!$SNnl1{h^|xeH4ekZP4od9W=bPoAoON|%sZXbQ6e5KL z&X0FTUJ5iX;M&$K*rD4tBvl%CWIZq9ifQqe@*?i;s7q50Elo{XHVfv2g2QGZDPA-M z54;KRJ_yIYDKz#FvTLZeOLqw+R)hK1O_U+x)27p~sc-B+<-;+1Mw79#yQ*gSnT$$n zcQ35*p{=?PvZa@Wf+;Ck6XFQC;)^T9NGXe}m<=DbSIqkzq;3$*B^2V4ji0)3Cn(DG zc~Edo%rIi0O3fFtQFE4WYyu*hruiXOh4IiQ|hwfafiWr?dDXV}H?sYNmawm8w>ZhwzKgCpMZsMiP;k{;GD zE)fA9h|)vcEBWRvpT5dNGe5nr_Ha?hB$2~Oup@BKHe17gl~B77Yth2Axqz~E;YnO& zTa5e*5;KuWD+Jk+jtRnAMHgDUK~D@e*|7W_Y@l#}8%sb+r;=!m-78QR$>Wijp}GNT zoL3&)5d`X0Yfe<W#S-K(P(k<5U7}j@WKNlZU53aGVe5s^RZDmGOfRe>+A^a5UZ2Wy zf%K0LR8IIN6tl8B>8v)2%z0bDW^n}lx}u}Lex`u&*o5PA%sps=o?3{6ELgXe)f-M_ zW$;SDQW54ZU0O8~$&67&uJ%3;1urV5B_Jod4GqSG&OFWygcCHyj;c#_RIH)XRmV%~ zcEf3t3GYsIM#7?E0k1*=p56lXFS@n~>j&McW9E&zXs^&!WlKf;atzsU%0Pu9vl$QY zH+ELscyn)=tG@4_x6E#<-k+doYrGgR=VT9XcfNCyGS!ZFu?F(d4N3-T*xi z2`Sq_@nqOHlg^>NMS7w4Uq)=#NXogs$eOfZ*#dcGZ8e>nP<#+WUThZ=4ZVanRH z2bO!SJw~@=WHbe#E}6f3QYBpi)NwJ8K}`xWJw~!4=iUdNM9p;!Kx%;5h^4*78Lyl6 zXVN3i7+1|gSBwLR7tePRl$GjE7Rnc!PHzFK&zRyQ#kPTs~IlIVii?Eyer- zv-|$;#G4aW>90>@=Ay5$L))wGdAd!7hEahf!*4oxd0YaZe> z9n6Q11=*WhiqqDTZAbaz4(P%SXv0^++Fc0R&WPhf;)>1X#A#!IlhqU!wyf@?xyb?U(g_RU1hh zqy1GzP!t2V2UMuaANFRg(yhC-12nb?cZS)@)b^nT)Lc8W22i$g(`j+(u=;R_q<^<3 z&XSxGQ!R3uDz_hN_$J;KC*Z_Fn`ink=g>=P0w2Hp#VPBq@neq6c%0g!Jl~dK*oMC* zR#$`H{3C=AGj`UlX(%la@1S1dp6HVcV0^u1sa~+Depw7mi+7u2XwNbxm=Vg;ZB(<< zr}xY?E8tRKkGANHx+k7!bp2sXAhGs}DgiexI=mS&&=d6t)ILfz?V2AEncJ zGfPu;v6pHd7;$V3x^kGeIq%4d>e=dL3h+)#*FHXbPpd}QLDt_OSC_{#c-`q*1!bS? z?O()c-_a{~NC0^|Xl9;TV#1?N!l#Lj#iSm~E z$dti_u(6Rqtuj5KA04zRHu*XlU_B}gdptW$=dv$+3$UuxE5BF2A4qQ-m?Emy$e|n% z!|lrzU(T)EGozzTRPxEFkgYzcayzK25ndO#M*Py~DnTp7$~Binw85BrVSGTKq9!zr z(Hp6Nc^w2#P(Gshg{2^S?J%{XMoX8>kF z((%a)Ii1IC*#gC4(GMSnsk4TM(`=)6cIPTtfHwM`z( z;#oB+xc`u+5z$A}N;?K#@S#|&pb!VCy6|9vs2GdBIB-kC$CM|=2IpPSR=xK#+13Q3 zfy`%URzba3b&X+o_vIpNPl5pv=nFELQ57Q$yj=Wi|``1}D401S$ zWZ2wfWqNs2Yv<=P73bF(G>tk`kV@%jEIA@-_OvZKwud*RRpR^Ti(_sbb$x4U9O~=* z0%ufKR(5qxe98nMr#+O@<~Qmk`saBdc?(elznEBUIb7|m)h{Y}!xDD6rjx#S4nyrW z1A?66mV4z@m913O`nG+>w4F^WQT|qN60Qhqok=bVm-&(!d+OQ`Wt@}QKR{y)v9R=t zbQH7?_G_f<{S7QeSX>*c2JIj4aRRK6m}JpP!Tu?&{BY;`1!D2{&E*`Zi;w~~FdyV@ z!}GQ+2~tiNVpa^gYRTH;P_y9T+~4B(81B>S_0lc2oot16{3}IULhwN2!uC)qT@4Qd zlcm+pYJMP2g)Nh;Gz3olIcA;O3r?40`b}nADJlKL4kHB)*JKC~6jHg$_^D56I9@=Z z|K%VuKC@;_R=X>)s3?FT>@?h!r#)iUc5FjG*=cbAo~6XusC^zMSOUtOaH`vDT~dcu zyJ%0=^qFdxc&#pu0MwH5(%7(fx}WcyagUsKB~`m?cuh)(N(shD&Hv;SZX?%tw&wKQ zV@&qFW~a`I94=MOkHXYZRe@8>g~v7R;8Z_N3KqiX_o z2B~F#X~@}WOGlHCWzo)lg2bMKf}lKk~p3kz>pf zTeKz3PY#^3?&6kC#1*NbZtsU8A&cx5R_XG>z(!7z4lB_`)Vvaq#1%IeV__7}L;YH# zO!D}!84aEDwnkf2=|yC>8YJJbCbnUv^W%Pebz$;RSp%Ek>+uT1GJ+*9)#{W`AEx1w z-LdyE|7iKEJGvLvgPMMYR<`m*`{McWO|rZ%dL$cjqZ&(HCbE{fUCJL^v+XLNTR9wj z@ox92W~%gF*sr!RBS+~jb(#gE0qf!wy>NXx;2LjdKUQlK3#^xD%Hc(>QzQ7qkm zOl$dM2c$H_)n0ISYIb;x2`Sa?qP2_5)RYlbHhkVA@^H##=G|{Eq=xY?yh(Zi`+9u>I!8fYudoL$Tj5t`OstQ9(I&7DL^XJua4#LfaHwzoKH4n5z8FrUhck!Wlua z&A*QkCAuAMj+>QcewISKBOiS?dPFY_c@cmbX_d4qCDZt~CQ z%Q8I4{3VSS>9E`BynsaQRJRBNB|Q8;gZhU)Mq+5q5p+~qNmv@a`BkBiFor)-X`pB2 zuzIgZw4TWSMPD{Uk)~$GMEBon|~za+?eYKZWCRa`=x4ztu+{ zWz0%eN_l&Vu(G+Gp))H7lAT(Iq*jN#%Y=x-pL@tnY$>I5oVqSw<>JA{?5Nq-A4-XH z#Je*58nhS%9J0FXfgx?V`E(>#IVFP`laNYQY_gxyLlsz|TY74~N<0M%ul9L%Qj;sl+7e-TZ?kg^uj~ zO8Vp1GdnR($#3+1l;3;6Cd{CqaYPx2k)`pfpKy#5{*f5>^cFe4c0nleXU*IadGi8; zkn4J}v8=)66L*%qMhmQ*80dWqY9wd|?Su0oL~Z~-WN`BJYS@y7?jpVGv(na`f4 z*+oz+D>Pylvq#|91uMJsk^*VNWXs!t?Se2c)0UInW1by zl5a55!0x>VQR<~R#5ew#{k6MDm}P(R+(@SZ8?muu`PAdt*t7P>elDr3(us07fvy8d zv7v~|T#?~8fxEA#3hh(~nCp_hyhf}y@>As|nZ5XUdtC{E9p4#(^h}WA!wxk!t(;`O zCMbEyJn+}&HpECeg>M+{S1Gu*YP8Iyc?HRs3+mX3e;V>`r2a_iQ?h?zSH1_bO1~NB zP{CpMp_JaLIqIoaoc_4_5NNc{fx(vKf%xZgMRBervOw%H@wT3hHELn2l{pLJhxyH3 ze1Bu4A#t=v()GY|<+1+qlev=6%N7Y5#}hhS8dQnkn^>VD(5) z!WV{^^T#)~zn{JOzqFaIoz$U8Y<;p4b-M`o4rvCBJVw{Fo^`%-jaD>1hrRfG9TL_Vfbt)R2%vSEV)&$HN^YVhcXZc2}r z+gUI$uVhAun**#;N2b0GG2L0TIGm_n3k-&RdC=eRu&x3%yn_XW(HG=AzMw>GgzJmF zv^*Qf-nfYdL71s{MhG`6#LaRSmiFQObC+z!vD*$;K+b(!;lw7vpuaRKZh}2V-)DKO zp@+?e`^y!XZyBW!U3olr;$pA8ku^!|uO0 zl52UxJSoy>Zrk`#3QzKM7~27b&6aflb*gu*9P?lKo-sFU)Fjq&pkaFIsF9# z1~pGwyPZaZD0xXf$qoU8eoCI(sQyyr#Nh?HokY5|AIM(>v- zDI<_=b)B7-{UKO8s!xz0Hd_J%VdgAe$d?(OsvlNL+4hFu<0TlDRE?&(e`744`yJV zzv<7UO=7C%?;tB@xIMd7;r#CPQLu}410HR>yrW=hLIe76nd5-S zMiYWJI8=cBo8E2T6D_lKSDdR4G83cQC;Kh)97?Lu@V{*N1!~D_Pg|4^5MAhhHL?q_V(efo1#!R#E=P66!DkjwUJkoKF}Rb!dMf6HvGJva(bku}Iq z>X-Iql=0WTS(aQA-xWR|_nf;WE*S4nR(*UI)>PnS_r<%zRaEb)q3^{0E8{uAtdzSt z%%e7_i{wZ?VpP`~P=%qt4(pPrm6gw9#8tWU6CT2SMk{rSWaXNH^-i$DFBN+CGUgDd zD9v^g0Uj!hBzj5i7KhhYwW96g{y0f#_oMV-C)Gr>cff`#mrHznW~PGfGEmztJfGlD z8(bCUD$(C$A8*Y$FZ`jsj=C~@+G&4Z>}MsB3VtJn6RA?D5|%9~Uq>_a7#&SgB|S~g zy$Z=KVPOwkl+{5KlWa2*R~WNI1kk3g>Q@Yf#!||*pZ!ww--0X(INQhVQ0Y>jwF?0q zp{u;GZyWwfQ;`C z?6WZa=uxRl7`tH_dG;+&v-7vVdx@@{i=_B!NQo$|-Y`?7b&by~ z5;r2fmF#2`2@wjo8|6e&IDInrK|qz5PM*x>%zeAG%q7f?>KRSr?`=mIFbOb0HEzQ> zBMUnOT;NbnTEkEZ+smsD#EujqIjrF$Pr)Vwj9L5F1~3fZvOvq~zclXex`MTR^<7i{ z6s5~vUcE>8X0e;kivx=*sJdCug7u+Lv#R7na|m>EW;6WEp+Eg-_mEl)9x#4h9R_yGBj41#); ze$^lI@!|^HnzF8bEzd{sk-{*WgzoRox7;R^=YtV#JUJ}jCe}R-9^Y8CxuR3r@%ksa zJtb*io~R;*n_OOhX=12mbz(;k$`|$27BgJ0pS!tuM1Ow^ocaY?P3AemR0)E>7sJ5Zf{= zPaVoUgirnaA|kt4V2dbck@{z;8}6RO@tPI4C1)EQoE0^n%wa;32J&44Q`%#N6aB8C zs^kE_VT#fVK~01RzFdrs3)BFtY_QVbnQ&b5Qb#YuWO1_zJ|(^!ke;yL+j>p6=U$b1 zrDqC@yADZ(GblX#zHP$Zd85@g*vGneDe{A)0<;|Y$MR%}b3r`)Ie+J08qDq1wU=6# zutjL5sfeRS>vues@SS?h5vIhV(YT9Zk}QFEaqeVowFZxSIE;;~)`ral9cn?Dnaw>x zVa4SV$j{krK3Q0<=Xs(S_qU7F%$Pg_^~?FU5pUN1(y&(**ggK~Q}-70-meYQ98w~Q zGQ{iJhBa>94Ed*7JM>eN*BN5uglEmQ=?OQ$Bq0OJYOng`R*{TgAqvUD0Q>2J0G5u2 z`REj6SF^XGd)y^P7Js~7D61X7{kAAnxh{VbRG*0Ed4BR`u-Nve5>N}u9ZKw?az?sW z^Tiy#srF&knJ{_dF56PVg0Jec%qW({S%_b3Bw1}wzM*w3j9<5bUqj1a5tI#7F>i=> znxGfHu4AYQnP@W&lmm)M3pMbkXkp3>X)R#tSf?VhxM{agHU>qPRUt7z2HED)0!@a#{ea|__i!xK=M9WcjOPWXO;C*Y}e;-5|C_N2pg@J7temn09<24%WD07LYEpIrQ!acumu8i1%I0Q_195{CUt zW$gdK6;_0dtTjQMNTm8WWWU7Nw7}F$xUn*q2%eZbnYo z`19i%CviOllDAE2<$alq_5hgKfGqGcFA4{$=(R}jmg}2o5zGCVWx3YT zyvPlGj2>e69?dg$7)7+9`f8s1>Ys1fm!-+i?gW@RpU@vDCO7vd>$!H;lT0dHm_!~B zQZE);sc<-U#7ub^M`dX!T~VwJEhxTs%&=&uV(5KrKI_^KrM@O495?m8-iJ7-@@u#h z!{I^(rdHnyin4;T0AT79t;EXjq|2hh<9dk|()q}8*CT3Uk|`K+`Sl4W1H<>6fpo5Q zh*1Azp(F!+IF3Rmb`51@*|za2>Ab%Plm~Ey=}8#zo*~{ntTgt(rRP%hlaahA0czXBu?1ZWwRK7J-%-ZsNH3&h4t^vjr2I&Bw8nxup5!&mVsbpR zOc?kEhNtwEyqaISjmZZ#+B}-Y#;ovP{VfpabZ&D=IR-@sK-JAu3@Ff&C z%RXqLn5{q6%V+voVm}AKFi(P>HdZBQ1~%psdU7RXPZr4 zqp5Y3nps1y99F~OeVZ?{oD;Gd9kpFOiCwwVbbo1NSJPO9R`93T;t!`0-(4FdY)TRa z5aN<{nVT&O;8v|_F*JFGtjWQeje|&XH0i|jq)JcbkMR?0;_Tf=S^JC$XT6-0ma(y(c zihRKTbHA_V`1E5tt3I}$CoB4nkk+Y)1-CexVGsiZcQ-Il$U|J+!-#$=uby)~A!jPe zJK_oI=lv^PLiD^UcTKKvMXWA=wY2tBOnjL?n%E0yoi(i}CmxjlgU|<+J1ACEJnlrm z_O=F!T!f8-QaEu1A~4qUx!B`BTjlWr{}j8sVvVTFVnb2YFY#KB@Ao&(QhE*0$Z$AD zBDpF%K92K1rFGzHcMfeDsb>@Bw_$K6ybBgWHb$K{LR`bn|kQr#x=>VB$w_4m%sSZilW>$Y@@ln9T9$V<3Crc9WsEu zPPud_*j|b#ONeD3MDXcfGHmuGb4A#}0evqj-FwNv3#u?lEgjFNwCzMoaj6odpXn$& zwffOpxEH}aF?qU#-dYKyOEjBgK__^RBU^vLi4-hRLUu8>2pDt<}WOBlv*x9x`6okwdVOs~iJRHMVZa zhEy4HdP-5MQf}`aPD`Q-y6qE>4VCBxTwueMC=E#>6O)K=%-RWWo7#%w1bN4uZa`B)2O~!|6K%E_T?|^fnkfmblO4V$%wR zh~VjHWp=u-|9T0i6*s=E^(6o77UFZJqM zvhZVLF8NfMDc|FEtZlh|=Z-(`M0yHjB7(GYmvKn#uKT+Nr LrGhiQztjH(!et|h literal 50142 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 diff --git a/docs/_static/skills_list.png b/docs/_static/skills_list.png index eef4a69c2eecb8b3e8af30cdbe577667364d30ab..68670d4642e93af7590b25b855c9ff5f78c69210 100644 GIT binary patch literal 51794 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[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
uS}OeNW7w1HGD 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
g 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 L9aSZ77W{tzIr_rf From e51e74611c784d112a2c586ffc746ce6e4b8c2c3 Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Thu, 4 Apr 2019 13:15:04 +0530 Subject: [PATCH 45/74] feat: Modified voice layout. (#2144) * Static commands added * Queries made clickable * Removed toast --- .../org/fossasia/susi/ai/chat/STTfragment.kt | 10 +++++ .../recycleradapters/VoiceCommandsAdapter.kt | 45 +++++++++++++++++++ app/src/main/res/layout/fragment_sttframe.xml | 6 +++ .../main/res/layout/item_voice_commands.xml | 18 ++++++++ app/src/main/res/values/array.xml | 11 +++++ 5 files changed, 90 insertions(+) create mode 100644 app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/VoiceCommandsAdapter.kt create mode 100644 app/src/main/res/layout/item_voice_commands.xml diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/STTfragment.kt b/app/src/main/java/org/fossasia/susi/ai/chat/STTfragment.kt index ed3854beb7..ad0469ec1f 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/STTfragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/STTfragment.kt @@ -8,13 +8,16 @@ import android.speech.RecognizerIntent import android.speech.SpeechRecognizer import android.support.annotation.NonNull import android.support.v4.app.Fragment +import android.support.v7.widget.LinearLayoutManager import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Toast import kotlinx.android.synthetic.main.activity_chat.* import kotlinx.android.synthetic.main.fragment_sttframe.* +import kotlinx.android.synthetic.main.fragment_sttframe.view.* import org.fossasia.susi.ai.R +import org.fossasia.susi.ai.chat.adapters.recycleradapters.VoiceCommandsAdapter import org.fossasia.susi.ai.chat.contract.IChatPresenter import timber.log.Timber @@ -37,9 +40,16 @@ class STTFragment : Fragment() { if (thisActivity is ChatActivity) thisActivity.fabsetting.hide() promptSpeechInput() + setupCommands(rootView) return rootView } + private fun setupCommands(rootView: View) { + var voiceCommand = getResources().getStringArray(R.array.voiceCommands) + var voiceCommandsList = voiceCommand.toCollection(ArrayList()) + rootView.clickableCommands.layoutManager = LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL, false) + rootView.clickableCommands.adapter = VoiceCommandsAdapter(voiceCommandsList, activity) + } private fun promptSpeechInput() { val intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH) intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/VoiceCommandsAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/VoiceCommandsAdapter.kt new file mode 100644 index 0000000000..79e3353ce9 --- /dev/null +++ b/app/src/main/java/org/fossasia/susi/ai/chat/adapters/recycleradapters/VoiceCommandsAdapter.kt @@ -0,0 +1,45 @@ +package org.fossasia.susi.ai.chat.adapters.recycleradapters + +import android.content.Context +import android.support.v7.widget.RecyclerView +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import kotlinx.android.synthetic.main.item_voice_commands.view.voiceCommand +import org.fossasia.susi.ai.R +import org.fossasia.susi.ai.chat.ChatPresenter +import org.fossasia.susi.ai.chat.contract.IChatPresenter + +class VoiceCommandsAdapter(val items: ArrayList, val context: Context?) : RecyclerView.Adapter() { + lateinit var chatPresenter: IChatPresenter + + override fun onCreateViewHolder(parent: ViewGroup, p1: Int): ViewHolder { + chatPresenter = ChatPresenter(context as Context) + return ViewHolder(LayoutInflater.from(context).inflate(R.layout.item_voice_commands, parent, false)) + } + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + + holder?.voiceCommand?.text = items.get(position) + } + + override fun getItemCount(): Int { + return items.size + } + + inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { + val voiceCommand: TextView = view.voiceCommand + + init { + view.setOnClickListener { + val chatMessage = items[adapterPosition] + val splits = chatMessage.split("\n".toRegex()).dropLastWhile { it.isEmpty() } + val message = splits.joinToString(" ") + if (!chatMessage.isEmpty()) { + chatPresenter.sendMessage(message, items[adapterPosition]) + } + } + } + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_sttframe.xml b/app/src/main/res/layout/fragment_sttframe.xml index 0960346ea1..5b2d6c29ba 100644 --- a/app/src/main/res/layout/fragment_sttframe.xml +++ b/app/src/main/res/layout/fragment_sttframe.xml @@ -13,6 +13,12 @@ android:textColor="@color/md_black_1000" android:textSize="@dimen/text_size_extra_extra_large" /> + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/array.xml b/app/src/main/res/values/array.xml index 10cedb6391..c9664315af 100644 --- a/app/src/main/res/values/array.xml +++ b/app/src/main/res/values/array.xml @@ -36,4 +36,15 @@ Nov Dec
+ + + What is the time now? + Which is the largest country in the world? + Open WhatsApp + Where is Singapore? + Show me news headlines + Open WhatsApp + Who is the president of India? + + \ No newline at end of file From c34c1294696657456d2cb53631955b25f5dcad6c Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Wed, 10 Apr 2019 00:33:04 +0530 Subject: [PATCH 46/74] feat: Implement chat search (#2124) * Implemented chat search Created empty recycler adapter Search adapter initialiosed Realm search deployed Changed the card to display data handling backbutton action Search chat final Action bar * Made suggested changes * Spotless check applied * Made suggested changes --- app/src/main/AndroidManifest.xml | 3 +- .../org/fossasia/susi/ai/chat/ChatActivity.kt | 43 ++++++++++ .../susi/ai/chat/search/ChatSearchActivity.kt | 80 +++++++++++++++++++ .../chat/search/adapters/ChatSearchAdapter.kt | 44 ++++++++++ app/src/main/res/layout/activity_chat.xml | 29 ++++++- .../main/res/layout/activity_chat_search.xml | 51 ++++++++++++ app/src/main/res/layout/item_chat_search.xml | 30 +++++++ app/src/main/res/values/strings.xml | 2 + app/src/main/res/values/styles.xml | 11 ++- 9 files changed, 289 insertions(+), 4 deletions(-) create mode 100644 app/src/main/java/org/fossasia/susi/ai/chat/search/ChatSearchActivity.kt create mode 100644 app/src/main/java/org/fossasia/susi/ai/chat/search/adapters/ChatSearchAdapter.kt create mode 100644 app/src/main/res/layout/activity_chat_search.xml create mode 100644 app/src/main/res/layout/item_chat_search.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index aef5ff0738..cee1b26c6a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,7 +21,7 @@ android:label="@string/app_name" android:theme="@style/AppTheme" android:vmSafeMode="true"> - + @@ -97,7 +97,6 @@ android:name=".skills.feedback.FeedbackActivity" android:label="See All Reviews" android:theme="@style/PreferencesThemeLight" /> - diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt b/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt index 863ed4ed66..ca63ecfd44 100644 --- a/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt +++ b/app/src/main/java/org/fossasia/susi/ai/chat/ChatActivity.kt @@ -34,6 +34,7 @@ import android.view.MotionEvent import android.view.WindowManager import android.view.GestureDetector import android.view.inputmethod.EditorInfo +import android.view.inputmethod.InputMethodManager import android.widget.Toast import io.realm.RealmResults import kotlinx.android.synthetic.main.activity_chat.* @@ -41,6 +42,7 @@ import org.fossasia.susi.ai.R import org.fossasia.susi.ai.chat.adapters.recycleradapters.ChatFeedRecyclerAdapter import org.fossasia.susi.ai.chat.contract.IChatPresenter import org.fossasia.susi.ai.chat.contract.IChatView +import org.fossasia.susi.ai.chat.search.ChatSearchActivity import org.fossasia.susi.ai.data.model.ChatMessage import org.fossasia.susi.ai.helper.Constant import org.fossasia.susi.ai.helper.PrefManager @@ -70,6 +72,7 @@ class ChatActivity : AppCompatActivity(), IChatView { private var example: String = "" private var gestureDetectorCompat: GestureDetectorCompat? = null private var isConfigurationChanged = false + private var isSearching: Boolean = false private val enterAsSend: Boolean by lazy { PrefManager.getBoolean(R.string.settings_enterPreference_key, false) } @@ -83,6 +86,7 @@ class ChatActivity : AppCompatActivity(), IChatView { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_chat) + isSearching = true val firstRun = intent.getBooleanExtra(Constant.FIRST_TIME, false) gestureDetectorCompat = GestureDetectorCompat(this, CustomGestureListener()) @@ -151,6 +155,45 @@ class ChatActivity : AppCompatActivity(), IChatView { compensateTTSDelay() } + fun openChatSearch(view: View) { + if (isSearching == false) { + chatSearchInput.setVisibility(View.INVISIBLE) + hideSoftKeyboard(this, window.decorView) + } else { + chatSearchInput.setVisibility(View.VISIBLE) + handleSearch() + } + } + + fun handleSearch() { + chatSearchInput?.setOnKeyListener { v, keyCode, event -> + if (keyCode == KeyEvent.KEYCODE_ENTER && event.action == KeyEvent.ACTION_UP && chatSearchInput?.text.toString().isNotEmpty()) { + performSearch(chatSearchInput?.text.toString()) + } + true + } + chatSearchInput?.requestFocus() + val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager + inputMethodManager.showSoftInput(chatSearchInput, InputMethodManager.SHOW_IMPLICIT) + isSearching = true + } + + fun performSearch(query: String): Boolean { + var intent = Intent(this, ChatSearchActivity::class.java) + intent.putExtra("query", query) + startActivity(intent) + return true + } + + override fun onBackPressed() { + if (isSearching == true) { + chatSearchInput.clearFocus() + chatSearchInput.setVisibility(View.INVISIBLE) + hideSoftKeyboard(this, window.decorView) + super.onBackPressed() + } + } + private fun setEditText() { val watch = object : TextWatcher { override fun beforeTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) { diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/search/ChatSearchActivity.kt b/app/src/main/java/org/fossasia/susi/ai/chat/search/ChatSearchActivity.kt new file mode 100644 index 0000000000..54f73cf2b8 --- /dev/null +++ b/app/src/main/java/org/fossasia/susi/ai/chat/search/ChatSearchActivity.kt @@ -0,0 +1,80 @@ +package org.fossasia.susi.ai.chat.search + +import android.support.v7.app.AppCompatActivity +import android.os.Bundle +import android.support.v7.widget.LinearLayoutManager +import android.support.v7.widget.RecyclerView +import io.realm.Realm +import org.fossasia.susi.ai.R +import org.fossasia.susi.ai.chat.search.adapters.ChatSearchAdapter +import org.fossasia.susi.ai.data.db.DatabaseRepository +import android.content.Intent +import android.view.View +import android.widget.Toast +import kotlinx.android.synthetic.main.activity_chat_search.chatSearchToolbar +import kotlinx.android.synthetic.main.activity_chat_search.search_not_found +import org.fossasia.susi.ai.chat.ChatActivity + +class ChatSearchActivity : AppCompatActivity() { + + private val realm = Realm.getDefaultInstance() + private val databaseRepository = DatabaseRepository() + private var query: String = "" + + val searchChat: ArrayList = ArrayList() + private var chatSearchRecyclerView: RecyclerView? = null + private var chatSearchAdapter: RecyclerView.Adapter<*>? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + var bundle: Bundle ? = intent.extras + query = bundle?.getString("query") as String + setSupportActionBar(chatSearchToolbar) + + setContentView(R.layout.activity_chat_search) + loadQueryList(realm, query) + } + + //Initialise the recylerview and sends the array list to it. + fun viewQueryString() { + chatSearchRecyclerView = findViewById(R.id.search_chat_feed) + var mLayoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false) + chatSearchRecyclerView?.layoutManager = mLayoutManager + chatSearchAdapter = ChatSearchAdapter(searchChat) + chatSearchRecyclerView?.adapter = chatSearchAdapter + } + + //Take data from realm databse according to the query provided + fun loadQueryList(realm: Realm, query: String?) { + var result = databaseRepository.getSearchResults(query.toString()) + result.forEach { result -> + val searchData = SearchDataFormat() + searchData.content = result.content + searchData.date = result.date + searchData.isMine = result.isMine + + searchChat.add(searchData) + } + if (searchChat.size>0) { + search_not_found.setVisibility(View.INVISIBLE) + viewQueryString() + } else { + Toast.makeText(this, R.string.chat_search_status, Toast.LENGTH_LONG).show() + search_not_found.setVisibility(View.VISIBLE) + } + } + + // Handles back button action. + override fun onBackPressed() { + var intent = Intent(this, ChatActivity::class.java) + startActivity(intent) + super.onBackPressed() + } +} + +//Custom arraylist to store data as required. +class SearchDataFormat { + var content: String? = null + var date: String? = null + var isMine: Boolean = false +} diff --git a/app/src/main/java/org/fossasia/susi/ai/chat/search/adapters/ChatSearchAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/chat/search/adapters/ChatSearchAdapter.kt new file mode 100644 index 0000000000..ee6b3a9275 --- /dev/null +++ b/app/src/main/java/org/fossasia/susi/ai/chat/search/adapters/ChatSearchAdapter.kt @@ -0,0 +1,44 @@ +package org.fossasia.susi.ai.chat.search.adapters + +import android.graphics.Color +import android.support.v7.widget.RecyclerView +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import org.fossasia.susi.ai.R +import org.fossasia.susi.ai.chat.search.SearchDataFormat + +class ChatSearchAdapter (private val searchDataList: ArrayList) : RecyclerView.Adapter() { + + override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): ViewHolder { + val view = LayoutInflater.from(viewGroup.context).inflate(R.layout.item_chat_search, viewGroup, false) + return ViewHolder(view) + } + + override fun getItemCount(): Int { + return searchDataList.size + } + + override fun onBindViewHolder(holder: ViewHolder, p1: Int) { + if (searchDataList[p1].isMine == true) { + holder.user_message_date.setBackgroundColor(Color.LTGRAY) + holder.user_message.setBackgroundColor(Color.LTGRAY) + } else { + holder.user_message_date.setBackgroundColor(Color.WHITE) + holder.user_message.setBackgroundColor(Color.WHITE) + } + holder.user_message.text = searchDataList[p1].content + holder.user_message_date.text = searchDataList[p1].date + } + + inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + internal var user_message: TextView + internal var user_message_date: TextView + + init { + user_message = itemView.findViewById(R.id.search_message) + user_message_date = itemView.findViewById(R.id.search_message_date) + } + } +} diff --git a/app/src/main/res/layout/activity_chat.xml b/app/src/main/res/layout/activity_chat.xml index 40864c63d3..cdbd53e1f8 100644 --- a/app/src/main/res/layout/activity_chat.xml +++ b/app/src/main/res/layout/activity_chat.xml @@ -20,14 +20,41 @@ android:layout_alignParentTop="true" android:scrollbars="vertical" /> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_chat_search.xml b/app/src/main/res/layout/item_chat_search.xml new file mode 100644 index 0000000000..d3f9b3ee88 --- /dev/null +++ b/app/src/main/res/layout/item_chat_search.xml @@ -0,0 +1,30 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c323a49678..fb43a920d7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -38,6 +38,7 @@ Say Something… Hotword detected + Search Not Found ID @@ -512,4 +513,5 @@ \nIf it turns out that a particular term is not enforceable, will not affect any other terms. \nYou agree that the laws of Can Tho, Viet Nam will apply to any disputes arising out of or relating to these terms or the Services. All claims arising out of or relating to these terms or the services will be litigated exclusively in the courts of Can Tho City, Viet Nam, and you and SUSI consent to personal jurisdiction in those courts. \nFor information about how to contact SUSI, please visit our contact page. + ChatSearchMainActivity diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 5004b1afdf..df01e3ef31 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -59,4 +59,13 @@ @color/md_grey_500 @color/md_amber_A200 - \ No newline at end of file + + + +