From 9af094e2782f5b8b0280ef4cfacaf0d995852c30 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 8 Apr 2016 11:12:48 +0400 Subject: [PATCH] Toast notification for bot callback result added. Xcode build broken. --- Telegram/Resources/style.txt | 9 + Telegram/SourceFiles/art/sprite.png | Bin 182666 -> 182781 bytes Telegram/SourceFiles/art/sprite_200x.png | Bin 248650 -> 248894 bytes Telegram/SourceFiles/history.cpp | 2 +- Telegram/SourceFiles/history.h | 2 +- Telegram/SourceFiles/historywidget.cpp | 9 +- Telegram/SourceFiles/ui/toast/toast.cpp | 80 +++++++ Telegram/SourceFiles/ui/toast/toast.h | 66 ++++++ .../SourceFiles/ui/toast/toast_manager.cpp | 123 ++++++++++ Telegram/SourceFiles/ui/toast/toast_manager.h | 65 ++++++ .../SourceFiles/ui/toast/toast_widget.cpp | 64 ++++++ Telegram/SourceFiles/ui/toast/toast_widget.h | 51 +++++ Telegram/Telegram.pro | 6 + Telegram/Telegram.vcxproj | 31 +++ Telegram/Telegram.vcxproj.filters | 30 +++ Telegram/Telegram.xcodeproj/qt_preprocess.mak | 216 ++++++++++++++++-- 16 files changed, 733 insertions(+), 21 deletions(-) create mode 100644 Telegram/SourceFiles/ui/toast/toast.cpp create mode 100644 Telegram/SourceFiles/ui/toast/toast.h create mode 100644 Telegram/SourceFiles/ui/toast/toast_manager.cpp create mode 100644 Telegram/SourceFiles/ui/toast/toast_manager.h create mode 100644 Telegram/SourceFiles/ui/toast/toast_widget.cpp create mode 100644 Telegram/SourceFiles/ui/toast/toast_widget.h diff --git a/Telegram/Resources/style.txt b/Telegram/Resources/style.txt index f1502116b..b3b5711ab 100644 --- a/Telegram/Resources/style.txt +++ b/Telegram/Resources/style.txt @@ -2495,3 +2495,12 @@ editTextArea: InputArea(defaultInputArea) { textMargins: margins(1px, 6px, 1px, 4px); heightMax: 256px; } + +toastFont: normalFont; +toastMaxWidth: 480px; +toastMinMargin: 13px; +toastBg: medviewSaveMsg; +toastFg: #FFF; +toastPadding: margins(19px, 13px, 19px, 12px); +toastFadeInDuration: 200; +toastFadeOutDuration: 1000; \ No newline at end of file diff --git a/Telegram/SourceFiles/art/sprite.png b/Telegram/SourceFiles/art/sprite.png index d919c9f3ac5bba5f98caf44b6beb46ada4eef47e..b9c7558572c4e1f867b07f008c7a0c043c99f6f8 100644 GIT binary patch delta 16663 zcma*ObyQVf^e;+xN;ilC%AurNq@|?0rMsI=NP|d7cT0D7DvflPaOm!QoA2-5JKnp0 zJvcDN*=L=#=bAk~bMEjs^v5{#%4c{?4klI}6;@t8)(?Cic;YY+c>k{}N(h2)csPwe zeBfr~VB#`nV`JjrV&!DwHDxnqGBGyhF)=mb=4RzIs;NOxNBIA>GL9LQ=l{A%1F~YA zH#~M65sFRVN3@2IXs}MJ2s8LGNr?@+u*`64a1GF1*z-()O`;yw*qYkEt_uE*_q*(n zBp4zk28X>Z$xrNCDMMREaNkl9J{dLEej|H@g4$nAePJ};NTlhg>^4zcUO#diovd4? z*7CP}@3ZGh#cX?CdO9z^)9AtNu+ykhMu^Y-6`RH1H&q*K$B2a zB^VhQsjaOQ!}ygJ8~e%7a6Kzs)X>)+ve41{-W?il>Gd-bLM2F`m))Fo{aQ2T zqb!0k&wP^;Jyu9yZ?9N^Z1ShipFdM?s<*D6x|>^Atatju*ETf7Wn_#V%-4vs<`@io zr{Lh?icL!TJ@rdjQjA|+P3`Z>ioApb5`6|htiOxz`6@ElHA?-ek)h=Jir7H`R{jsC z!Ma9v1-(D(2i+Ma%3dN-@kw7s!h;Af{TmalVt1#^@Lzg&dr66m>L5s ztsb-m>ClnXf$fo03v26tpwwuM+%5MNSrqIXCTyK!ufj}6A*^vG%2IU<94(yRc{znj zufBNB_4IqP@PFsMebQm+9?Y z7i973z^E537$7dLtYkgnk18(4jwV0f%GM0=M zEjaBiKw?qwo%dG=6u&hsPd3^8dkgoKjsbkhDl|C$aYko3ay^$W3*k)VYjn|rqlYFT zwGB%V4pX@{&OuK;2rl>b;s>4nd0z-kZM4yYBg69eUH=Y}j_*S>vpq341+3-I=c6x! zM`@BqlQtFiji*&)O-W6K^${}2TNgHa=0s^j@0YTLx)Vhl)`=O_*YGufYU#GU2^KTg%|96jh2ia%qN1C5@ znFd=|x2SB>1BsHY-YT1hz);L+oz*_Jhq?K+L%%z_(?IgS5Rws5Wr6g_F(|sgpQy%g zj?sAlGobd|{;Z=#$Ju>7@-&A3YJb&Y^UkfgWm%tl@kMdL>wUWANrRDMc^^bQtU6NZ zI}WJ-U_86V{tOxW{I5KS>n{dlL2=)}9!uJRU3mEuC+25tFL%IG203%u)4`L^Oec*p zO2Mj4pl!MjJdb(G1D9lc5SxZV%@eV*Z3CIyWTjSFUO_=@MuxnnXY&$bE=)*|h_NxP zoSdBh2@PRHP;D*8-^s~=Dbf^B?DdqFv2jI}ulv6*kA=^xU2%ENdrpz;+-k36?@o`&FHWS(=+{sQ0IhASE!!2|9n<-*=&O+Gi$=lP z;qKZail?_UlnPr>LMsc$Sl)m{K)@n$=9FineM*qE_P^{hES6H?e@BXthgvTVF7h+h zcYO;`KD;jC?5UZVYT(%yrc}*}x<9_pNJJ4|hnWa8JzB}{2m#|;+uI*(7C4${C2%-7 zIaSmEHKYYz7MAFX3+Ga`Hd@D)Wzbdp9Uu4WS?^r8|B;wDaIrfn>CzU@y+_!!d;56r z!7|8wJ}QFU5`7PMRG4k@bnZtMjSU{)=rwUnJ#ykaS($AV)V1*h;n4G3TFsUG{M0l* zm7dFu^{w37KczoX^9(Z0v2Zb>Sjbux^^XD2ywpdgq*(vFxkiElK>lsHr6^kvPbLis|Cw!VumaNy1LdZL3pp zC}7x)5E~miS7${8e)9F}*9%V|5>QErJbiMu8Vg|KAL<=7j`5oMYK-VoqK&RWoNeM; zQ?&m@#cnZh=pc$h1e##3*63JZ%WJxTf23vJQ{rE|W5w1>htn0B3_8}2*yO}AWE+YrN;DASl9Q#uaQXA+ @YNUbg@4#wJMfOA1mD=QFd zU`#=7$3=>vHV&JqCR5l27*}-vG<%sqQ+}XnV(?_i>A@9N zyHCJR)OYX0;i|ojc1SpxVSTYlN~RYIgPc4(Jl@dJ{hgZXjiHtNHyXO>>dHf|Q8pt~ zRy#U2M*r@eg-Sz>FoL9y7x3J#zPC{O(IaM1r{-7Sy|9at<8Qo5>l7W*{1CyV=j1rf zRQ}iC{o&<=C?87UsYu{=TZ_qJGd;Xpq`vQUBe$&haKIcc3Mn97O<{wxJ-4e z@tlI8Sti)LI1c~^QYgn0M1;^(O}EY-&>9j6C+N8+uquu?5t_~LaO#IEKP!z>{VZ5-%?}53_j$kMRO8-FEP`+oKx)V_Qu0J6nfG*qMa!HVYA<6 zCOk*pLgH9CKU;zmW)KO-$LBoBO+%ACW^xmKnfSJs3V1TlehhoXx3Jj6Dwof**gKP} zH*@6dFezQ7O)_@uJTYFbm}Y|psf%+%$9OWruV z4{|ymmR}{&lY~(;qDTny#WpwdfqwJ;;N6x!A|wEJ^-xD!TSiw`H&Za*($W&nB+6BO zgp#e z(1%Z)#gSg!4ET`;2iBHWRu;ClSk81+_Wyq4f?0~RygVHXi^5SPkI7P_0~mThlNYnG zVFHu=V<-Lr&*(@MM?3=C^hBKB9c}lG(RW-?T+xJ~Jsgbe^$&|+X88sv$SYoQ@_f$R zRz)QIm#pz4kwG}GikUd;ew&+{+i9&6Ha0FUw;o?hTl-g0(Kvw8)a0lh>E~)|X=(KQ z^!SFJUee}WZGF9xo*ot}9Tgf~VX>@yUB6Fq080N4O_C>fC4RS~yvoW-byyzP1LBuV z9eN%U7e_nOhf?){91B1OeeuCuRp2k>!m9;a$!N;_)>iV&F-cq7qogY4*Dt{fIJnMY zxZ7w(M`Lm{7Vq4h%H_TD76Q}zmjWg~AF-n0`gbs0Tv&Yki{I%%`h9V;*7lwoOlyiP zPbYB2FM1H-y1(K747xQP%^2rJHm;dR^6|5o5-&;T0&GZA3MR(KKY}5}!2LZfE$y1> z=BYaz?7;(G)@FYc*`;BHB;I79g5)FzC}H>*tMl{oKf}WZGoxVq_IDlq^C!Eg$Xs@I zxjt7Df`&`ntGqorxk?^szCl9C2*h6AQ^V^j+FoT5}C{`n^7JadChC{2@74NTZF($;s(_<1Qm3 zW6=0ci66SX-7f%T)8ZLF*rd8&<`Mjcx&8=5KT@s;t#z3O+u>^^;hU})E{kA4&mC{i zc%Zgzce>uMMe|?O5p{u<@JSV4ek^)ydg@r+!`-$JT`us>6&otg#m*b#r}5_PTSXNW zF*P+pQ>WwQ!hy|oFoBOxOq^U=8U_ms-ox6-lWe5k*WA)usp4v;X30{K-6oC8xj@x< zQsV5OF1h8^Y01dpl84sna;SRwa&ft);(>OP>%K{6Pp7h#8vgV3V4XI>N6ng?IqqV_ zp655oadDzPK0ef}*#o(&tze-8dV>!iK72*7{1%s*Dr0NQ3~Cm+u&=<6@Y&T-3kwS{ z;z#Zx2lQh_g>>v>E$3dEyWGqJp1lKm?EL5E_wP!sH?F#r^Md?>ro-F1Qe6K%njp?BbsQB#FWgG*aV-W* z45^y;vSVLJGE1*W;RH1xAES#>Emez(`N(l1g3yU1-s1aX%~;cMb0?Mpr4XU}gPM;> zzuW#f70pZP#SW&U))wo?RH`4-g$8by~1#d(H<>f;>D_lF%uSm&Sw5w24V3QN#lD(yM}C9 zfP`6;!FkK{kRkaD8Qjf(A@o#0b52^l?2Uv~TPY)v;#6i6E zpzHHCqs%jkHA6!gn|fEg5YTU1na4uinr?ZdDwQB;>>pIZ!Pj3oSsC?~#+_iih|G-G zkM(ldIrUry6aB9Vv%5hB=}lnL2Ca5W`64SZkx{&7FytYEC zTu#HlE_z;ojf0i7X?tgrgLOKAub$&7HBi8Z(AVCxk(Aom3S<#14e)zjUEB^LI3=$C%D9>t7tiHh5j+6% z`5=q;Zjj2Vtx%yZD$=Hz%}J-s`}53uR08zzw%iA`Po2#cwpbVrW~Qclgc@G_@`Z83 z!^54=U4+4_BdgH!byQNlvlpdGHS8N1oT}I|Z;7UrkJ3yo_-_qR{!YmkzkM^)&U8D<{pg@d zlf(C)X7w#__l@2s`%Dx|Drud+n&|MUg{2X@g-^~{dA0jXuWyC+LmFI z>(nAWq$9q?OZNTGuSd)PVYa&fC712eT%Y!!HJ8&UFZ7GDvZ%N?A~eIxcJ0}Z!OYZg z?^j_kRnEEj!)$-~ic*+qkbZjHa0n;mN|F6(i<2_k^L=u%#fDkoRWphrCP5@8W4NG5 zg1AD2`BG=}rmNI@PEG=_RCRK4qUP?C6506Dw=xPAt&f9NY~;X=lX+yG>x%ExqKUxs zCMgS4Vd6K((p5Acr_is%1AF13D|=J_FuV^f*oik#&QIc-QE1$S|B~z*Ib4HqVa5IP z@kVq6ORS#%js2a~*Yf<0Th8G56ouGix>9m>A`wI;nRGl-`%W+%vGeM15mX`5?crpw zDqVAJflrX&83hEdm-NOSn+_>J59qKpj4;Z;I(al>zHg{<>;^69y=%=v&?H>>fqEp> z=(j&x%HYd(glG&#UVI{==%hlP%&~!|$9oWEdc(wo2_DkK#AIFX{FceZDTL z$d9lq;+sB7#A@zV)kG((IDUgqQq|!56N&V2Tz<4ZU!v_@+w3(OxB^B_Q&YM)dW9n{ z*=cnyZucZm5=(y)KBi-Qs`u#7(80|&sWKV~-%x*GZg6-=O8?ebv! zJ3v`VTAJjC1PO)!B{ql-lJnU6U0u0?h}B)ZnP=$>dYO`vV$VbFeY=$?o6hGVR_g?w z@$m34udtBa;%^?V@+!T_{?lVuh7yx46RR0+IiB#l7U-Y3zReMLP6pn8>mc5up>k6Z z)vO^at9ZNntG?*NBY{cM+|t_aH76i16K#8T^Y|Vc#F50k@mbt%x;=ees>C9BBcjN- zk(7`mtKZC2=&$boh!8D>*VC5B%mYa7l{zWPx$6! z#+RG9LMXFpOKR3Icf%TwPF11pF6x&cwDH7A%|DraAl2g19JUGuR6P()@gkt`Gl^q@ ze@(3aZl{eA-6dV_10zqHRw8d|TT~l*FmU4mY8n{-(geM(#Fl1RUbP8g+(KE(Q<6K6 zHud!8@jP;#3xfeEF~m=aVIBsP$+`mak1#Z z2n!}yO3KQ~tcC$aA0rP1%tpzvsDxydl_x{Zp)sZ+zILKy7HUB`7fz+y0u`=p7u?aJ8Sl zJd0Tc=9Q-hu0%iO(tX4gnrfom%mvz|i6U|^erj)PN!K$ZsoZ$wr|R2<$#awo()d4O z*;O1hu1m4L^M>|*v-Qo@{_d_>Bdy;PlMG~y&t<#dMRargTzZ3^IpYZ*cl;BJijoTV z+;%vP7q4*gPllkEXD!5Ny*OFzJD*Q$bz!dL&}#{f&IZTB8G_E^9GnP(V2z}iQikt4 z&2;;$2!`=W@rF6sZReR3BV;2pt`ry^RTZQji;Eh*(P=v9r1iC$T!9i)&+l2UBalF{tKGe?NAr8oqwS8en(HRRK`sXo zp!@Y11|S57_hCcnf4thzbk>Xss!*syn6a?7-O)rXC`i8PS`vdOUP%?ht@2Lvx2Bzp zwSs}OL&tm*%wh2nPzS{)AVoCAEUI~a1pImcD-Kib`GcQY68Ag;r+{Y>|4O>42Yrl0VT$zRz*SwNDk&!0RZ|etKCi7sL(EaMt@L*{ zH^zj!r%VWL0zmu0sao#gCcals_bbzT?}j--)uan$C%L66YMRO%zNIg5a5`QAoIlE4 z?2Kp6FIonv_+3l&4;?Oc6k(KnK{-{JN3aFy4e8q zyZUe?pRinDSGgeQE+gSaBhRnEJcVsA%Bj?FS$l{A5UQuRtiB9w7)lGGO4VEs=GCQ@ zxZw~)v*9pWho;ixI86Pz)h89g_*H6u+M1g0pU!Pu2mJ0 zInC7Y)ZHnOH)7?+G)73@(IO^a2BSpkAKfpofOzdR;Bxq{upsrO&mv4#E?UrFb+$l5 zs^Pt$L~xsXa}Y;KcQOrgGuSJl=Hvu^f+B%yT{42fM6MK|lvw^3L)Z~(q@~$*}fy-xkXdbWG-Bk`r{=?H4{K^MN zls?QetoN9G`elUpRCqp!=vtoDkhXylixCFwSp6N%)g(qkgA>da&Iim{r^|#g7LRh4 zaR0&nEXsn#6gmC*Vv?+dEgBfeq?PMgsoadZX{rY68?PA)eACp7LuRZ@n~mk8h7l0o zer;$sUD`L=%`3o?>Tffk%P;ni^m@WC1KHa4%ANP?EY?~pXlkpRSE%(6@0cZXaaJ+b zZ)^<2zM$OCq@#euwtiA{OsSf^l`j$Ja?9J0Z}MQ;7lKVyP+y-gGc!}<~((DTtw4O{1J01Zk2H9|yRgCG5_v+y#C&W|@oq6t;NcZO#)`NwYnGI(TjotXnjS|Bofie9tC z#Etm#QTj(xZMK)FO*|n{7Y;%;_QQdhaO&+^AohwSS85q$^uS{`I!i0}6tt3>+n>HY zHgF_we0|#8MPJ4)#QU?^l$zh$&Xla{+h7e@j+GWanRI#R{ojq3(_Z*zKK!F+r}Es% zUVJceSoOJnyz@tB zuC4sA$0w5lG6?@k6i(iz)HeRdSA(s=pX`*rH-;S=?ngk!^Hbq5_>U$XMdR8@&ep1xZK@i3H#;W7C>;g8rW2Z8DH)13yn?N$? ziH%P8?~hvSKK5;V8_rNJ&xnodRM!7PGf^7R7cIoo9a85rs=p4yEaH}kxh({eledHm zG6tajw*DgL^<=Y*+goTR@MMRIin@H~NA+|PBK~}v`RtK8Z!Ldv>z#p2>Atq>PZ%+I zZv9{=&0Iock{gU06*sV(AfBVyWurm(h=VS?<%~&r!%{fuQSsmQ)M9IQ`xW{x(xcCC z-}ptwZQIJG!Qp$;Lq#Zf_M5f=(1axTX)Jjiw=E*wk(VdO1dQZWS}Q4WPw;r?z$y50 zhP)Al_+Ee*)Hbu+Sj%^6pjGmPiiUDo(_|E?jhBZaCMAKejYTz?;ns>PR*a+0>07 zWb!W(~2-2Pi} zu~PL#!(;VGy&LpY6cqMV8h4*>+nj?Tv!BZ$%?*o9yy=c{p+Ph#pNh=M`JBzMJHdt; zRHIBSbqso5st2^)HGtBbP3RIr?l8Bu9%qVTKeu_Kt+FH(mFeRg52!X^2Wu?BKfDr* zSP|^!5_wU86*1%W?jVJi?O6QuA-<;(`rf=M(6tN8rLzk8iIa%FmOy$!y*2F}+j>1* z%on9K!i&;ZRZ~0i{ud+Z%N=io`<^s&iud*w7zku0TxD*m-r0&}jL<`BXUf4P`)q8S zEBg>>1a?yi{Py-NEuf0BU_Y*NOiD36HRN1}L+<|YK^+@&|FQlyT>3L{m4>3D$wUN= zkt1d$p6jji zQrX^Z{#76BAm~TCB|MP~2+qsf{%_U9&TG=wgjKZY*9aoSmpN4zKOM)R>`&$o(V^m0 z2tCK*w2@eQ^1S&&UL74Fznol35P3)hXB}XFVC2C{e|-JJ@*q(H%Eq-BRK;Y2Bd-ge z60p)RnXEU7%t7|dom)6z4RBxCAr||y_{({im>dat+p%7D+WEKqvn8#|shTl&!$q%R z{f6>2+l;gY>33+)xw79y*7dFrLvGbkys{pGZ@RjgYiTqz27L(s5IhQt)7ZvH<5 zzmoLQ%I#=Q`^KrO5sqN`lAI|0hL6`+G4^}vjUtWMXGKy0BT+I8KAf_jbU%)yzBw`$ zEVAEYN`dO1vSs?NN>~M0X!OM14YIwAo@O%p=c*Hguwazn&@hz#kLbZU45n)c1_h_2 zJ6g_gUXioRa+3m%jDX}@V!DgQ=b?W0pRMpqKh)K>qdq~(k)GZJ(1aR%E7W%)4$nzL zNc)P?Z(s<&O1{bR zIE^?wLF<|~g`}%K**Og81mZE-fk#U;MiYn;iuAsexK%jcL~21UNFx)%M{FFB3c(7^ zaE#E5pt=;M#Ufb~bfH+8;6s1@yq)zVNAQIh(S!!!w&{s+hGa8*7P2S2^A>NdLXlF$ z--4H$wA>Oh3ybCqK;q*D$)=%2*f??sCDgE-8Z8g zq@|^=;h@B+D>hbEE!SWm5_mP>;*hd5BRDg%PqSD(5t5$~zlZxRLov4!vY`uk0KpWl z(Wcc_&?Py6-rBXK*fXNI*eP)%X68*8$MM#`{8NWEbl; zWR#S~2p2+XMgm=7fe;QE7Z;nll(4FfRBJ$@`y43pe%nweFW;oo9U-Vm6QF*I3@~)3 zWTF#-LOeI$7@WemD=_VDn)O8WB1g2_wxhQaTs$$a`Tn9atOffd^3u|%TU%R-HqkTP zJV4aVd2o1;_=OWhUlCtfUnl}zY0C^Zd->I?hXgaa6Ye#@k6qOD{%xg}r3`V@!DIL#zh$|X$5#)PR}G1X4+0@Y1g^8($s#(LTvNR5Z9N% z4|Cns`Zgg2wyZ%1ZvgsakYdxDjjtCtW3=fyn_3$-oHzQas)zgbn#DN`&o#Eo%?$}G z`o6z$BCJ5UNhro6h%0Wx>0=D3CXamn%Q>4j*M3!(m$3R!(DeBHRDqevvT_83eZBY? znMiz$O;%xGb%)g)f{Xi2QAAM@7i`EV+F^@hdISif3N8(p8@4;hor-mMO;A_4>!?mc z3B;vgz_7^FZM3oj6 z7mc4vQ-ch}(gnj{(XLOU>;P}$-~x-mU`(?2i;IiPJu1TQ?PGHo9PqZ(CTqFG74HPb z*3NIgm+E);*5@!_7ZrP2n4g|H8mB1mbj98dvv2ZoS)1EE9Y5P%%}lv(uGK2}rFSy< z0WpQblD`FaXhabVrcNZ zeY#f0Pqk^>^nKUqBVq)5m)3t7DpSUal*Hrk+O{DToUKw+Q|nLE_mu_#L9iFsyXDAc z*!@i}v-1&S$1?($nNj2Jyqwh+?#RpgxA2ouoq2F%gra=ZdfVK>UR8BcMO8J|dh%vG zs#omoZ9%HiK--h&_rr(t5PnnVqB<|~n?UEc-5M|I0nw=RdwB2$nf$AyB)6?C9ehIw z(fDX+XgEfTd>5GY!H|`I8WoQ&PxxxiSij}zZXa3!Xw~htHLUu2>C4DOSTP`qD#oJ< z24TKqVw&cVbAo7AzoAVC06SQmFfGf>icVg5ElWDecY)ZZbh^GxCASljsY{Cu*q2{S z0%`+TXZ{QhzGh@BvFkA0w4;H~d{;pRP8yDYDz46Q|9A`l>m+7rZ1G*I)?(29_Y{LT z2FZZ%YRct+@OPOOXofQ5(S~# zf43DKPj>{+bT_@25mT~K$q}(ltsXa>@Uv_~*k#yC>-p*i4!IV(InQy9k!%ZKfpaK< z$&1ll|G7%^8#=?)t#?Iq0hywr>MbW)HwsQuX2`0E+1)k@@8Busa*@?|M%akkSO#!u^@$s#ouZuO) zAWKbT(ypJ!32y~m|E#L2E`hh~6h&Ua~(|-&jEBwEfy$J3i=La3m86^j6v_qggH<;o1hsj^`JqbueqfZ{DdzYxR-;1lbVf7 zmg#44MExl1l(H>?@pX-yddt)O<++~Jk$BZ3Iu4&+y(4^Ul-&TY3GY+yw&DRz#umC+ zYkH)t9_Qe)p8Mka{CEwVtau$$?3g(WfN7*EV8>7LOEXhV^|JZ|d!Svop{~wHm{PfJ zCf#w6Ie1R_eMPCYw~B443&lkXMts5Mt=IVg`NA|3m#ivdcngGsPr%3>)mWz*ds;a)vJ5(2#n z;@Xna*yC3O6;(3NfGnOb09w>{OtOX4*;0!uHPybrAGdj_I0)$!l1pp=*M^#m3D|5< z$P^M(PT_AqJy_ni)oWW=U#R^M>wrgPJ{s;zv$$EcCgcee{ zb|N6|C7`vK`Mfl9Hl;jrnvzpjamWIq3kDqQD0)ipBH&EPP!G27!#ZO{Yjs<5vnMs7 zYgAC5p{S7h7q`K8oV0ni0-%O`dqS0<6(#m&Z4Ob5zTQgIUupNe+{13LTh$Zx6Xy=L zJy9^fhQ({X2ln1vAjqNnk$`5|l$W?U3Tunl9^U@rgyBT!#44+|Bd*}`mZnYI*6J6T z2r;CKhm?hWQ{U-yTol{q#S8~UZo;2*tms&=lB`-sk>m^ZQ$qIi_U_)TZT~pr?ac4r zzwUIqzkPG?b5Uzg0tZQkm2_iW?CNOQ%h^xeC4?4Ou#ywSR^jQXBqxM1n`mjVRA3By zG@3vXKxl;_hogg=g>!@BCca;pi?)hSl2zgkU^Nd=M6P9*#kERJP5qD4(V4z?yK*3~ zCKq_4de~nl@f!OEwsO3Z8tDVf#=MA;1J;ShxEV4gtR`}+RcL<%0;WQrRN2xDxET&G zIBiEx`zPn*z$2NB3i;%3kY*C69Df1BAWbmOaovkR@AgXgDSa*`qC0LjBKBx*21Qc} zDE8OSgF2T3FP5K{NJ~U}Unj9(thx--=1i%*b!m`u*rGG-S^8Ho;EikSbQ%t zpC8PcCU?o-b4wOFMEPu?oMfC{0AYqvBM74ni-#qCQElYHqc>iaiH}%h0C11z_(a`2 z`*Zx~_4(i+)@M!>kGGsd)8L)zlq@PCWD>6h;q zc1VldUx$QXFp9@yN_RH9O990q#6!cw)nC-0+jd)r!((-UPd+GAebzrSiNeq~pK_8cPxe zVXmxh>>Tu`d(?FQtYs#34qi8dDq<`DmDN$nLxxAC>|HQvMfwI#F%HOaFJJUyaxb0q zvqp&Pms@2mdp`2=98o(4N3CyT5iF-;14VKC zHptQ4m_Kj*kt_37+&5BAkN8DmT41)LR9P`0YLbf#R3KTPzHi7#lXZ}XhI$bhj&sCsjv&51!-LOu}HpV0LelHDST&_+6GiH2Q8cJUYM*F2^&R>UFA8pJdTCU_I{7Lp$> zF@WbE!}vW~Nk$rY>e<-b%ir6RSjd*)_kE1-y#npA zcgI_vjp0Dllw!VE=iM!)+$f!NJy^XkQ@doVo`i{$={a;utK1g zu!XM1pq3((7dmC@^1Po2$^Pn6MUCPRws=?oKGCySeR-Lv*#<`jC`{J2OT3AqyR;(x z5-h}m8x|O>>K__JjdJ=~Mg|>(8+mOTT88Qu7PRE~4>`bwQZvQmz9%|uUO&=Bc80qN zStU*X2~~VTf)*xYHcS#;9}Tc84pEVt1lgN)np437f=FFo!Rc$=-q&+`b8TL32ZR!# z`KMT(;Y04JD8Ms<&*kWJ|=c^ z;$HwPA?dQbaOFgvht;xkSXW6;@GZ>UuTY)#|V5vMw9$7>iUV_pcrw!4PL>gSr+h>nYvz+Pys*+NBYT zTJLQahK7(YWuwbl$gX3$9=|WHv@N{zkoOy+z78cHYE0a*^eriO>qBjf{HDEsmIV&e8035T81J{91 zb$Jo~Z%T;R&Gv?{28V{gc}{j_ATa}pfs+%Q_*a1e9|K9{wkufLxqlphVc>7SWRlxA z*>3IF=h)M0BJ>1729uJ?$o+da2(bIXTWf6fwD)X!m~!^og>+Wv`fai3KSsD? z-2G%hH5Q0NcYTEC@w{NrZm{j!a?EBx1BV>J9wYpkJr6h&{b`b;R1IM4>+Ab!W`=xM zP?R$ro==nTa=<`vmUvX)T=wkjY@7p}8tUo_MCNrrp~eaUVY%N!Lz~0wV;F?!)WIj) zApA=T_NuVJ0d8=v$aucmBn?cq{0|E=efhw`(HJaB49`6W;;}`=z+aqi6M;Dl{_6~W z;PWi_Z_kQ=M$&zvQ1ei8(Ac>YK@0pJ7QZI`U;E0(OI2(QB{B{rvZ#A56zT`iyZ2uLXkd#kckw117Ao?SsfLqROt;h{ln=CCy^EYlH1VdIaBf1mawO0m~ z@ga4v>I;Wg+_3S7>iT7v;4^pnJU2g2nMQbbR%7;Cy~aB>`^dH<3_w2q_!I+Q3R|9I zH;F^J)&e@X>%ps%ikZ7q>UT-aiRCm_x9=hI@X9MqEP8_gp1$_T!9g;-(h6tC>Tof- znNoZl$CpDIidHZLyeAazN!>zBiIwSHBMDU7j%-m$n=3bcb%B zwJbmBmFlwFgY-SO7N+NDUDCg3E$fF9FOEKUS#ay)I=m>)>)-=zT$^Dl=cgc!;Kf zK|6UA((9?|Z0dg=@)L%0{jWvkFAD1m|Ik4#vneU^Z0vo-zt&Hgal=iL`7RhnjFz;^ zD4WFO;-@&x@z{<+evzX-*t&P#q!C34;D0KK1ZMlQ4rj^kB{mvF2!r)GY`=>@+9eM} zHM_iDojv9H{wf+aeEGuq{f?-#?_d=DInt)j_lZ+N#KUv=wOwB{5r`4)5P5%%b9xUC zbpR;iaex_4Pc*Zm6DN!vV*;h%H%=7!W*bo>xsPuyOAc;{32vDI2E$9s8--8C4*+1) zHhog74kuCWGqJ3*oaB2D)9kDx#5t(13>p4ApJ5KMJCzjn-a`jgX|&>3@=kTXGPY2p zULi9!NB~XT3g~@Z=-})S!-9~OaDp@pH1N0)T-J6aH1WK6=$v1BXVEqGu#sqh9W{Xd z#XnGAM3LvxVjis>BRp{f!5^MxdFV9!W+r(%*wO?d+Miwrjk*x~NCfAB?s6zT3!Cv) zQxxhMq2Yml;}CjT#WCzF%KK(ob`}Rrd&i}WUf6SiXD9qUijGLMQTkY8#-ex7ue|5S z&lk!}%HdYvP05Y{IC5CE0gX|LPKCggW3Is?IY>ZR*fR}q7JgzL67cCd_0#qLx$C|x z2j66vNcvGjm@nm~_KpSKLyt&E6xN+RhS9{L5IwvJo8IiZ3zpJQ6j0|s5qCFDU)2}D zY!QW8IZ+L;OUOUM>O;=T6OZ z=QB43lo&!96P%6YOaXTOs8Mu2xes+_lK&YKj_QCS+IW4>z+=GV{*S2`uykwB$U?03>4-}vC{l|_A6ou9!#8uB1}zaBFe?SUr3g+} q;+H>gWQnYQ;3!B9|D8Q!!<2pW|BLF2`WgoOkrtO1EB|B=@c#h$(OIhi delta 16538 zcma*OWmFwav^I#lL*U>Vg1b9GLV^b;xVr?`#+?w{AxI#&yF-xR7TlfS?l8@J@3&^w ztobncG>e^Mip8ag;r+Czec+|=lSaeQiPBv8zHUTz%0WQvXG&uhM*OAX~!ZiH6 z?EGBp{A|p;?53Q|Tzsa+%!Vdxrp%^1CS1lQM(oCHCj2!ua2jy`zgot#AoKmdZqk6L z9PbT_8Bc&@8z_d-Acg|%vHFI^27s#@e7Dxc327Oh|2-JjYT=OVhfw#U-{E55{I1 zjFuWLB|C|it@^BOG$W%Ksr=^G-aGue9$7u@J`X8uh5?#H62oVk{jf(F+1a8LMiZIf zKbv2hewCH|1X^1&ka20hr>4>;iV6`f#u#5HUiLmDtD*N0I7?e$s-~XcE^f%4F+$YT z)VO$grzR(Hcz%BU^a&+6I5^N19sI7Xub%{uR+=@dX3fiiXNro70;#m~{Ch$%r>3Xz zsxsdxW(ir$vU!}FXlrX*SXvtHj%FGz@-s8rDglzRSRtsNjE#+TwpASkGF4So$H8m# zwujA7P*5O(u7^KjX06hs<>k@;{{7ol4*xwVsV{+E1;JVQ)}JKnS9$rj7T1*qdvc7> zyjfQ=UON(aczB7)QLwS9n%dRE=>Gn`T&4i`@j}y&A7aSGi{EX1D(Cw{xyi11?)i46 z0Sia#d`-M+8X+D4c48!Q#OH39Mnv{f(LBc2I!evt*5jqX;Lb`v7#3qtpA-le{orepaCN4@u!C5xq? zxELk0$A82uudxxL7JVY-Tr)2xEsbDlX=yWG4IkPguBMiVrYN;`y57UZ!(&u452SFK zk5*dl@;mKRdR&-+!{qnAJ*|XfEqG23seI9?CC<$EX-(xs9X6TA`^=0oVi#?!5RF+Z zoIrM6S+z3s%~+vbaPgC4z2(3ln&lNVGfT9pwRwe|`hN8%iPDhWXIgS=9=9J*qI}%` z-CQ4C*=^u^MA6hVH6b^dGHk`gz-LX(fpXmz3o9#}uCVINLb+6q!v&AQ1p33ds=Qgs zDR)Daz~p!Bd!2<{x!#{ji0(O)#NazxyY%?Z5DBtsTNK%MlB>aW9$Y*Cx4Wh5{`-ci z6`7i9E^m7Zdx)~kMjF*RNXry|BbhDaaKRc`7xBcug(fsp~ z_|hd2Udn>|+l{bfOlu*)hJTWatNDS5tb{_A3-={@eoflWdhKB=%`mcSOoTPg0hRKWt96i|O!^f>n zt0TDj&fiT!UQ$fAb82v!to@_8dLoLf&Z_R6-aVw}mH_gBlRacW*1}|0VVzz^)+ixC z;fKw5ZB|8Fm$Okr%rx575kpf$w3)?H(f)+RBk3uwQgudfZ|4^l#%E=*D0U%rt~-p+ z&B>^!s8INX^%_w!Ge=)uUMjzlsOk9AKa;2T73Yom@42c6EywD_wrIV2vMU6EU4ItN z=|}NUf_9gPM5#N#3`Z_=#vg$E850Z@_C81$m{mSLJv%4U-RoYzv}moK9l2Fa%ymwk zf+Pk^fXI*{d2*)Y>O8)*ByuSXzrR-KTPf9=Omq-R*5~tl$0?yGhzLr1$kn6A=+P@R9J5V4Rh$Yh=V-Wixquj=u3x`?{b+9|8=n#Z zr}YxTs3;?YBxyc7J?*eJp3})rMbs1M^Kh-KQON3cIQDj?Ez_2V7*vTUa?z}R|Ew^` zgdluoG?9Jm)M(U0_`3bGK4hEork)~YLdHhTIl4VYsO}gq*ZS zf-%Ir-}3WmT#pu{bahDy2??>YV}SKf@$4(vc1OBw3ZooV7n-+Z-1A{S>|Cs&QS-b~ z^;!Q3;JvZ*a!8Gx!*;d}Hw$JgJV-JwkY6u{=V>MS6+sqB$>WbCJq)TFwC6^rra)j+ z6dJ93+VAJ5hoZ8wH(e0gBO%|%+b|<+IWsd_&|IpjtAAEe;WUD$o+usv2h3R9SomWI z;E4(|Q*L}$x>0ENN<}{+BKl5D715HTD*@dH=QGnb>`?2$Ri0(H9nMV3)xwpb7j0he zb_#+?l&rEc-uKh+9P{6eaJRxHrRvt%FuS1I$jHg%7Zrt5fA}^KkKKQC=)hO0UFH)} zJ32P@j-K99vY|#4{)3Mf@Y1L8Z=qJqV|`GkrYP`1#PRdj0o+QPG##R!p~6cyMe*F} zg561k-(clM$Zl(4$%)*UD;+_&NkeFfd2nB=!C3j_?3Ox<^}Bmd<-^9w?L*uz1!cVR zi;JSt(%<8N-cF3fH~@sV$yi*%4o19L+?B- zh>_K_NT4O3DQEz*wl^jHQ2<->%j44fRe_o_QLX73zYB{tndMMO6)_f|e> z@dT%ehok6{O3zkSAz z1|Xjnn%v3({*Rbq50!mALqVt`U4k_`i!bBi_nsX z-q6X0DKg=s+BJMx;D@>Uh_cF}uoliL0Gdq1WP)-aZH2SOhHZo;I{CWsuCgz%xU(S= zx0wc+B#I-?3wfHl9-1Y~D4e0?@P&mit!}=hB8ENXch3SbwKN;JjV!IL^FS@n&utvY-At&hnnG21dHEluv7?qv zw6shLTZzIfATyxn-^$tgUO4+ykpkGE6Kb%hm|llyOzoPMBd5Wgpwhw@FBftU-bIQ2v5aR#pZw^F95bB^?ij5OG0XZtg1J#WyZK zKCd26`^y)4R#rqvA}c(uiW+T!_GY`BIGpi7DHmyn#id2u%|GD6BdBgF@T%f;9e8J-kodCQM+ zDok}qhJtW<-q>zlad8AFF!*=sNo~%z3HxYMnWwz<{Mo# zIc*AF-_Ku61H4YxjidaK^bwvtSQ~1VFGrvs0gQ7+hlC(7FfhRMsDLH`x`HUCA6Ld; zHyetS(`-0Q(MvcEw7?8$1SdN>V>x9L^ze%J13Zcb}*+C|v#18Ki+T~nq6I|9VjotuF~4}6RKa&>xG zlH|Y%G2`eH`Yee1LgOwgi~4YVgxX^N^(zNIKY!kHv=iTFRaLwcID1P=WHjDj>)oZL zrIcMEX%xgXpGT(-;=<7H^sO&Vt3b~eM4`Fi)4KPlxbKGrO9l7Vvmcg0B2BqLG-pTt z=om`og*|+{$)YM{Xz1%Lt6j8SYtf+T2>wY0QSMq*nO zWBPlljQievD0V7nQlD3w@yaBSl}VICwHhhXiNsB0G$h`zAt>jVlQb8VAU0r<(Tuv#%GKw9)&6XGuIge94 z*7*)mvkA|Ztm$sm;e2PBdRw9BGI8gYn2uV|dkm@kdZgZq6*=U;3(a^sFj)5m87Df{ z)-dRwQc$eCo?ccM0I4UxxWLte2{q^sN9g)D1+=g^3h zyQTGz|JXFUr(12RrGVDME;&6W0FJRYmyKECCmr}+{+-}l7a3_sS9N>V3J3aGZ|drx zBYE(v_E<>3eFFNR!QiG95m)r|u#DxVtwN#&{**d=j7==8=ex_F>4Bdz!bhD-d(*p; zXx*TPB4i#Gob6{3#n6QnG@&5PD@*ye*x`hVIJK|w<}RM=_<3$#imUoP%?)vK?$_yk z^sv5)p0E&6YFkZ5%!o@C`%72sNCR)8*2WfC^xKP-ZuPyxn1oUq!+9@6(t z@iwzCdAy88X269&uR=;hD-E>>GeGJ_GB>LauR$61-|~q(mxr!`@_}!Wx}%*T?sC&7 zGe3?qof(4<#;+#_y`W=1i(v%=1tmD(=Iq;wuunVJ=#r^>aYGxo^F-Kh!BCLQ=dsCe zf4k$UCz*J6+hSgRb$eMi_H>Z_u+M`3!|TIcS&*O0)Dj6~V{~|Unz{1YHACTDYHF%~ zM<6p=M|#KDZVxV3>(;JPO$<*@M0#w|>d=HM`G*W5P7eA1+PvtfG+v260vA}zB`)B; zvIV!B29$LVIOEwcXY`Qb;*Elk=cC1Wx$@d~>Bw4?QK95(WxFkLSu}*hKsb;<`bdV;DF5{Iw34!NSJQ45@vR`mU}|cH>w;xY z=$;VKOIuY*gKDnUy2dWeg?M!6EThij@lrzPs&9dL+U*}p>_Du)#{pF!cDx&?-eV5y zLw{tm3(W_i0SwiE>xVc~0AZ0KE1p|y0(}8QtFf@sB z_-=qDCu+Tinngjr>BG&zedG*fgM#I>oDc|HMzIJ zjRa9o4>u}0Izl!p8{Q)14>u z&jTx&0`S8`)|%Nu!rmmdW7(9zLN%*;3(H-3}#sQQ>X z1%~dY(vD_YAW#3HDCIdJh-A#IWl}E%5xjbJn}-G77=&alZf?+#|2)A7@WVUiCZ2koWw4h}A-e>Uf?-a@Kk94%OKK@U9 z4LoZ&H+@rTv)my%r&8Qo2EW7f-esev+ABLsS7;_mBQQ>a%q~0KPb&Cjb;fnAGlgFr z%zhw=n+$!pbP{Q;5@wSl7>#SR^pRzf_}pdWsFh%JR>sX3q0bXi;q7Q`=towhtE?=p zqJrDvdPJmdKcZ3~hs_-pSEN!{ZNDl4$^sG|2+wS0R+h*izyV`IL$|~(>JP>l96he? zqL@E4V-UYFPiHH-pDfW&UwR-S@Ev7fbK245EF)v4z=y&}?pu+zmz;ps=~OXRNTEi+dQ1Fd3V_E8yj}Xv6bD?Xypmh6659J zp?DkqOioM%V2_eEcpXaWhvY=vMv)chFCmAFm~AGgDCB?)3ygz-E8$5>Efkvq+St#Z zW#r{eml_>&Vc6?0Kt%&%g=`?f1w)#l>F{@%=(hPU*1bdq~hp+Qi$O0UF zb5i4LwMKjFpP0=yOXt|l9Q5UxiPK7 znf~u#3`AuMn5PU1b(fctg2Bn2H_D$2MUr=kS3OZ5z7$3jl7Z zpT|8)j?56>d{{El0jw1Y?KbsbFdQ4=ib?+0JteN(i+^O8$MKE})&6)^u%&{?Ncr!^ zX6g|OL%P62#LCR5$V$%H9IY->1c$0!s_onPT!YW+;qQqxJt70qDQYM*kk>6m0GYtBi zV3?cJc7fj5y>9&XokF`PuRkgZvo6Qv$?EH*-!$q#U*hU>%uqSB%{*fLq$r^ARn^e zuV$xFfKB3;cqjM{ob= zFS|5KSTuA5@>Q1(nZkLU!?jVPwq7mp7k6#90ioHijB$7vIHW=e4-fZ$34FQUR1CG_ zNQJ?dtEBD@QeCcL0`mg6e>-2g0Jr)={L0#Z(=wfwt5%SjWYw5SosIb+QfcD9m=Am1 zA`ysD2T&qWr*GJ(4DfDaunJkXDqDAQF6vVD8fk|ty!9knlkrllLfQ@S)QSzRAk00R zPQsvO{@@OnnWf*ZxBd=esm6cPu4@y?Ab$_~ipMG0SYf{~xTo`>X0uGtnP!_Cst#Q4 zb+= zz#l2oqeKM>VEaTTGb4DdlzZkF-5?v}R;gKy+}$$1P`EQ9#k%iiYJ4^6 zk;jdWn;?Y!EGvsv6n#nnefD4Kix-%H#NXN3i~Yjv$(b2xFoCt%7rlAtc%MdHXZsrT z$^@zKDBVQ^UmKC>6&cxMZRP@x@bUJcqpna3Elf>R$Aup+y6mQTCjh<5u4DdWgk5Ju z9~~W?=3OSu0;Yjb#9UnJYAKi` zPg7_9$KBRX%g8j?;BbALW$jr3Zit3X`MzV@P7DLiQ{FXs3A%u{>{eY^4cg)mso_B$ zsW<-2my&8~vz@b+*9H;;Wbpsdd+I0n|I}C+u+5qs3LoedD3lr zEh-QR<8a`__jH+#5$zCLdD6>z_nn_jYiEKrApsOf>%ANAI>({_`OXGuCm)co2T%mz zN1i}o!UMLRn2n#{B(UJbk?Dr`BvQmo#f-8KcMPicLg&Q z`YkGmvC+h_f)uJWVIIR3LVx&ldMFguh+BOCdjVZBgwt)hUL)*Nfy{#sBna&r&H|XS z+!0`3Y}J1dSD>F2%sJW}jM#~93BH@ySOIKIkv^ZJ!3{uh=`VQPxS6lp;_AaHD!S^K zTW)BW70qq_tqY$YcRkyWUrgXsgW_G3rX1o7@dGs9_%2huY-A+Z^EjgK{Z#g7<4OC2 zT`IeAUxwR?$8I04BYNR3?dhDBF`u~()k__n;N-EW^w=bdQczac-vxOlT9~)ufYD^g zF?yY{w$AJ5MNZ?hA5HFIF@+pT=56Xdg~)C$#zbF^mGpZam*B`=K4b92zYo>eO!Q%n z#kdO^EiHqR_2U+Q*(Ek&U%6d{*ZJoxuo{m~(1it;gZa4kK{V}oEf8~Mhal4Hr0r(* zW)*n(meU$C^%cjRN`^_@*C7aqvC8{Ia!YbL^y8%i)f;mFW`-~canD*ye-rE~?*DXk z8Y-Gm?|JoaaoDWp@4;2GMw#~2bU0SzyN)G#e9bFUm}$ECLfitI?ZC^l=S|e5NlWZV6Qf z)rRxA0qPy1k8jJ={$t+%^g!8o+9InOp8VKb_)>$nsGz_q~?E7N^VZG zH=D*M|@t~cV3}Z40@H;u<`l+AQ_B{9MBhLd|l{^Cbmbzk3Ioj z9;7fuA5U%ZBi~Zs-z+(e)%&-HSOWz=4LIqU(!Wnja4C?+cjD@gQvSh;B=>d*y0OlH zb@_+hc`^ZeKN?#o{;D8)d=G~;fZJN9|1uPqJ<>BzVdo0?I)TjDO7_^q7B9=5^U0q$dR3yGIaCX*DzA9ij znNRrIUk8|C`VAH($X!MD24afbrg!0>LKSLk*544hKg#lFWTkhWBY&j%qPk=D1=i>+ z4>Ja%QIpB1>5)u8CCU1&2LAHY=0b*ohs^J8Pz75oNCccMFgvGO|k?3r1_XI$r0W(DN5$2Zvp24$&tsePxZ%X1s z!=vI0`GTpiHYgAh=Er=mdzEwpr%D`$Is~P9Sn*HLvNYZO?SHh)drEOhvcZXm$#eOt zX=ycGtcQ|6FDpezxlP;C33F1HT#n&#hR$2bqU~{%40{*DS@dG(+zVtFuPg~ zrK+JJD;Q${7D2%HO8Fb`X#4$!5hr43*nAL;_Q-WZF zvqy_R>q3AEWxVKOWceTDA-zh1)Mnf`yb>w0blLxtH5mY?gWjB@uf@QjfBZP|AL8Xs zfa7N}`T%nSCk{Ewt-9R)I=;*KZ1ET!CPfa{b0S3@h4yb}UOB3!4`3Y+vZ)Ax}PT^SB(<9%a^21u!b1dqdj{ zGBP>=H|wok)36=z$8m+0za#pz^OmKUz{TtS9^5`T$1NsJqL&SmkNA|m63RhzuruNX zee0s9HD4v7_kqQs2B|L$KbmDR-^}PX&T3(;QI;_x4t^_#wLHt#`EyZUdMQBZntWD2 zhsFi-VdCQNtYw<3Tw37^e#itiK&;6xlOzrZO$N0WFW8?C4(57vvcl>eUcX9dHOw#9v5|T@|>G$3Mhph{;v4?upNx249sXtZA;8FWP1L0Zwxb~>5P5J_7_Xm_l znjSxkVgjoRiygZQV$r39*Nc_`C&%lH(2SqiNw#U8TwqD&k&uUjhU>ZVVw%_bX$3&A z8(?I-kfy}ffCX^6uq4^uPgU@vNhzB_*PwMlm~1+2z{_&!7P;gXX=9uueW{F~rAZ$l z?!OkV8U1%#!h5rSHU~{GAq5&4(nWAUFHf1VNRSV$!}7qUbIA+R$U`Q(>EKqRZo+Un z(K9kN)a&(szlXd<>)WcuQ8BOB1DK##;C391U|v)=mk1als>PJ?2nF{3kW%66Rzh4h zb`7yn#UYZY63PkA2JDq|qsQyUYt-^nB$F9Ry!LuTm1=O*`H9LI8tOYSSA0m1O26M@ zp;CLcg;`;Mmw2x+UEW2w8)JXZr5k)mEBHI;)Qy83S*hNKv&Oyo68`xu5P(ID4d3IC zC``Nz%b=GEulYvG!;M1MK_7U!V*mK@;|@rgK zca#uzbH^DrFhmGU@C`Ly`x;hhlBub2mwX5=vP$YT^5FV*Kp{nDT|_JnK^r#w{a!qK zEsGoN#1elT6y%HcOD<0GjS*YHuOwc{HuFjG?MT8TqO4p%$KD`toMVFAS41+uf~A*8`{QJ8;b?YVT^ zXZTAEhCLyu-11&f!i_BI*dnU0vla zq`k;kQClx`r5ZW2P~5u-o8#gvGyILMn4XCV?KR;Z({JlTa)+QxkQMjP6^%MR75Tfs7l1Qk3ma`^QAPpPVx~)jQSs~?ndm> z7GKVjdA!@*y=dcp4q-`if}vf?(2Q=|lWz-0=&tyl%`vgvI-6M=;l4My;znmF#l>Uv z5phs!7kAnUmm@{<^HvL)ZUyF|FOQIeqQX8WKu9LQnY`N~udOZf`uaLW^uW*%qGfK* zF19byeqC1~KgA_KUuh^|>gCn)0QWZrW%x7RTf6EdtF)N{x=-1=gx(^nv0#uUyOeJ5 zskm5gq3zb)gKgwprpX`g`+as&VxC&wm$4TvFKeq-M+dDgz0ahRK1g}d)zut2ECecr zfWli*QSy?%5kuR#U@8wZKcFh`T?}*PRkJA=LDh`1=(V~p5!<&qUd1blcyxi;w!Vx` z0iyAT2-wnyTpLtMeBTZ8IVois&1Nq4hcRIEJ%=Gk4t{`KH{OaVS zsA|sRlh4&yTx?lfT&!Gg>AfdylpE(gC0}H$=f&Lb`g|A1sg0$81uCD>^Wz;z+o!-7 z8kku-Iy!pg@W8V-3M#4>IsdpmT%u#(e9<>zUY4hc59CjSSF`$}ZouDSwUhR%nJ*7u zv`0sR9;Dt;2h6rImX<{YmTAU+;@%Qg;pu2=7emh-xq5g-)3`P@6YS5 zoR@f_sp?ZG2b|^(Fj{B!bQWVg>3bIG%*|*`$4q6ZFTOV>o4xv(uo}0x*z;~XdCYS+ z(@kCIelKqbtS8LiSDn$cC$~!50r9oo_vzjlDtk zhC!?OqsSCi@E0%as4syxSLA|tU^NzPHtRDC$$dmzMrpy)S6S^rQn&m+v&vW-tK9>z zIEvHoa%o)jo8j-W_+IK}^;$MsFGd-w=WPP7ic>9?toK0wT!fA3haglE^Ox&_0?S#r zFPLcs{9N)ti`jg&sXfBUfv9Vk19Y!Q_DNmrB?UtY761R)?67n7jc{cI!r<+fk6 z-1mCkoHb1p@a>|=q&;k7(W*A7E3o{cs`m8xcEFRpOqE>sAfrg>dK zR+xl@gr%Rw|B^u?Qf=}l?ys_2R7Bi#1%k?7fL%73Wx2|Ee^Qo9-mBH?3{A{nO)0mo z{$4xFySm8Z>Yv%20LuGERB6{Gov7ks4PBSNrRc;wrLWG$C<`4OWX~`{??i2?mYjID zsyIJ?t1d1sPN-*Lt`$uAjD#p{B_<@a78L(0UNg=;rr<7HT~R%lDN8p%S~$|HxDfyV zrQG6Tda5uGf2e8zXRR9OZ&R8(iP#i|lNt?L-ZH zkjeItx8MIO5qu4ch(Jl*cvgUt__XBbn>6LpjTIGp#uiu-fP&k=iEz7W{h%APjL6mG zl79u$^w*YxNvKMA+klb$)bThMvsnj^l(M#u$g2HQkvP<-@Xb;k2({U;9aCIoB$|*D z%uKI~9o%j8gM^A!wogb`MhlxiOMA=C2FrO|N&n&+W+d3|M8wC*RM8otwvi4H?Ul4$ zj0%oWLBNL{P`-I}+!+r& zvZI!>Mpf(OR*x2lkz&y+yekvFxw=}}=_j{$ecmKLdiTpS4WugyaqW_jpU&7(5+i!* zKI4*+EhXQ;a@J!J&S>N!VH|x%hVOV|ZolYIKw+7+JA9vbv%QX+WX;C1GG}8pa+_yS zSzAvBfXSb-tg9_<6`)tea&3R(*%o}-4WsPJt;1U6>sc@Q zJ0&L2Q{HGgvIUc5_AWvVZOmKjW}N~gcB3{t>E&(L3-bgz4qek9$bBy3A5J}EpC zXwS_g2Zm@Fb>Uv%ADvm)0?$rghT;`@`VVl*d~5-6ECKkuRPoa|BBX!+{%M1bWDcgD z@7?whSZNH4J;zNH&=cZa{=;siHO=rdFWKE7>iZYCyjV&(5yi#iqg({|QI+_A4$$%s}Ir6MuN9cAfklb#rGUqFn!bG;$2wWdjO>}mRzsf$*g%W8_ zc{ZHgalJ5NAhs2N+DrV z56IQ1T1u|*KOPc9@~nxkd8}cvku~Bs;x=~8-Sqh`MhX1L#7(HG2Q%%P zRsCcSdqss=3#z)h%UofFR=mgDBp#hNe()ji?B9{G#xQUqo&3fELN%=L@tR@*lgSNop-y2o`-2ab&SyY z#BMgACk$68lyA9Er6-~fwInRFdtFgh)ts&gchN*if(hyVtI;*bq90v(_?-ddCU*8O zB#@^_EE33IVh5Q;q%YU*X(m-5)xBSN0Xa?k*l(t9AAv^~bRLl1Ejp z8g9A)z~@nN$(v@J=5syJtr0ImFs%LhIVo$-c+9bFv8|o&k*e@{?D63~h8xx*P5md` zAlYTrgFkQJlHCc&NAC73K$*rE7#U--{hAl@EVb3p9_*o4q!q2(;g=tZ5>NGbl90AZ z;lEBSCo_7^+rJ-wep(mr`J}vMjZ?`&mS6>d^E6e%l<>Fd&dWp4$%%P*q|V{Nl3u9o zXIMjlH)CiOkAC!{INjWw;rdR-&^O)|@ zzo~cnQ!9y2psA%}uq_t<%pycz#`*IOJYIA0EA*o!EepeBygwYK(GiC)LJ(L<*e}n! ze0h(~yL5Vwj33#)G%MC}bw9h-7>7^HcM0CCOG$}Gl?M=EbxT5qh#ThqXT#bvYs<6hP^i2iAcE50|+WuDAr+3@^E+D6!8Kl0xWHFlP z?cTdq=OOcnbLCSR3kS&KQcW~b z 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 O-$yA0$@2FG0sj}!jW|L8 diff --git a/Telegram/SourceFiles/art/sprite_200x.png b/Telegram/SourceFiles/art/sprite_200x.png index 0ceeb20dd91c9c92a93d1446d4676f1b1ab4d60b..964c993cf417badca4126f56987dd31ffb711641 100644 GIT binary patch delta 36716 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 KT-G@yGywqhY?8GA delta 36464 zcma%iWmHv7_%DKhk`hXT0)jzzBhpd|DoA&C*I|nYC>=_NfRuC|TDm!OcOE)Cbl&0p z-}~X-Pj@X{3y;8_J@d>nznX?P!tNNt;u{QnZdPuN_gox89Q;DO9MO1p1^=HLhn;$?%-$U~^y$Vx*S$M%*FAJ}Dd_jBD5X!TolKL~Q%sYL z-cPJcb0fY!xc8)(@eXwmXL=k#`+{w?Ld>X%i^bI0wE%;M45j=qW1n0a{jzLnDE;WfL?^0WJiKF>Vn1ot7P(#4pY{7U zqXitPpCNbWt|_!kyP+BKX={A-<7Q{fcR5~idU|@UM&Z3W5usK7 z4EbCSg%)^?7xi4}*?7d8zxR6remzE#^N_qjU^1^#v^u2g;a^iz^B$Kh+bHx9<>x-W zT1w@;)v7or-jYz%YulJjW^$<4+n8{0ks51jJsL8{m6k&oAcvzyhZlLkKw!Lk8VP5a>H5m<3||@2?pN+zeeEEoxceUH4J;Wan zyp7LaefpK(bgYkGeeq)7TV(Y;$?ZJc&-?xRD>p*GPbrZP|DFJCcp#asyDthM%swd_ z<%wfuoRo%fKVpMpeV>4K<Shxzu_>mrYp!s42*;fU-WwMBlM7iM&N_&SXC+Y zDQU6iH`S5vj_y@&x{o_LlMi}&adDQkFnVsD#_+5C_i&2KZu4_zWl`Qs zUI!Hw!qwGPXIEDyl$%X*INjyQ%`>tnrqT_J{0!oHI3>%ATw z@4b5EONoaRbaBb;vPiQBBKVE-gtce0(A;jsYQO@<^<8fX+2JY&lZEDbb=J28b)QEW z|B&QaXk&3a6u{RA{Gfog@7s8Ax=h4|WcE$PniUV>?YW%)jPr~2ErLa#&)(s&04pxb zO_8sok5B^t2mF9<-@f5l4W>)8XjQUoJK5OS_#xss$G|!lX#Hh7Y0=o}OT~frLh_g$ zf9*tFO8r!RYSL8FV0rs|4-RJ)pk=#cx^#5ocT<<5X1m79*8o400d@)Pa3l}g544*( zJ30u>>UBMVyBpjG{L_`qL_r9QqFExtwB_@ywiHRN?nX&t4-twQ0kG34=b-+^% z^X-f!)0=3fYbRzs>t*8@g$_w9Y>#g4e6}ysDW= z7V>QWN%h6{um1;Jq7C1h$M$*yS1RH9f_8*8^_=^ zt>Q$zTqls5o15;dKh>MVgnmj%EUP!#eWBaBe>ZTmaCx=C)>i1HpC#XB?Unag0l}PQ z$l-a&4ctd(7baxbj{Y8|`*VG; zFmmseMUUQRsie|E$JGq7Vf*J>Ma&nnrxrKZnlnuEp4rilP8wZRyfk6ni+uzHm9o@H ziVJKs&zDtcKk8u?pXre~?W=6E}bNSoZRiyBq>(Vg|Aw-e5DROx+O~X^0kr22taqd#h zE2P?<$&zmn*tDrfl((QCC5XP-i~qt5M!j{PfQcwvw&3$^7kgJWy^{nxo?Jm917Qv6 z>0b)8;7lfy?6VUI+!MS5yC3PqXU5tBED0gei55b*>ta|#oBDAkm6l5=uh`Q+SE+7a zi#j@>@+8Wvk6-}|mz;$JPiCAZiw!V#c6KmQ_BJ-;$I^=^HoL~D>cEx_wHiiy`Q2e` z&3wjZPl4I6qDT+7_r8etJ$HiBJ{tbiqp+}%R@1G!1XVL;CW%ug_H3BhQft_+={AP9%IX6%eKl+IqJzu8rflEIp`KIP_) zcIp>}+ojiA3}-oP=4Km`%alGk>wZtb>1%&LI>u<(VzUyCp)wD~&qkAb{~ft=ZLEb5 z#+&d^Xz0f_;N8 zM2}(@P1k9g?C*@3zhk(bx}D#NU zK$0%ZH104oS~&7k)l}wqGbz&M9orh2cVe+;A(lH^Gk7C+ZP{@y@#JB*r-KyM?fUWBI}$&%U?^s6 z9~a9Or7WwUPOY;gIS76HaQo9jLgS9rXW=F7`M}TljXNE_HFtlao-E9x!*B3U$I~8t z{I7${ZJx495~c}DkdvHN@agq_k)8K^?7LMjzJ5H~D$d+~;%7S_+30xvZ2dT!!c-Y= z^mets{r)CwD`vF?s^d^0KTGQ!X0)(vtg0x+Q>c)9{OC@Y+lsiHVS)qEVf8phEY|J~ z^S*!6|9PP08Sz`%wtwtsaEr3GRs!#*>(@77jb4{313OmV4BNLK6TG&{Y2ZR%#Umhv z8}x;y{WoDzo4ZwK`Ly|Gf<8?HeVK|2{EgCXGu|KJmD-98=!!TqbA6qMM!7h5Y4K}r zGRVgcUdD)FP(rq1TV;*kHRk{9-StElul=lt&V0M!QdO(IO}=?8YkaXc2xrDceoZKc>Xh9=#$sIN!Mw-x-XmQ1MzQ@q;R7)I7{-J% zQ20QW1jDNILgcRtH?G4Zk~57fE6yZ-IIEYkfA^0Vi{JcrY)BdZn$(c&ICj;a z!|`?`oxfrB9T@ORzQ)#fiCcYy{iVOR@k;$(@;&?Cu&`wqhqXrZyO<-fTqae}KOWCmauc@#raK0Q|?aYWAI!uCyi0&iBg(YP*tq7GgOlKxj) zs$F1Zc}TXVH$OCT>C=vh;0yXnPkp9bK>O%*+1Ho_7JsX_a;`W9!}eay-^cshF_m9E zwhdkjYo|UqrBGl$p8KC|ArD=@Eg`NVs6u~6V|q~6*iXNZ{>$aPensjH>c56sX{qtI zkuv63HQ#QvV`{pQzggsZPorhXhey8qQy6bxAiB&8``TG|k(76^{@z|iyq1A>G74YR zU!JdmPOzc0(9w7U-7Yr9+ECo*3>nM| zF?+&@wgFVg;U-!FgSH!A2Xd4=$d`9zKk`Y;nZQ0x{+ibHy|GE05m^m{NLYU!Cn?p~ zJ&lVmbnhGGxH`gUGSbp~D=YatJw4mYS=eHO!GIhc9Xoq^T2>t`u)j-rh>eer508z> zxSdQ8NT$ZeQ$UVlW~Qc=*xwo5sxFL~pg3OW z)zqMt>#K`Ek<{U#A(;wA8X6jdek2&r@!ouYnq**{IMjeJi(I)+7F>KTA7aXD#J3Lz zYiChm$z@pje4l%UqXhdic6)JBIJVE6c(0>y`aMM)@~*5ue}ew}`4iDmT3Y(-*)#or zD_y^{v%@XU0MA+9-u|7L>7SLwRHw_128pGH*L$4|&CK*R`{PzHNPq6`e)HnxOUWA} zGqaQAehLZ-Bh7|6%8;0tN0d}lk_e=z*YUu}h?IpzuB$O|cTbPn!}ivH_3sGC>a{gs zgoR^l-&m>8ZwLj9B9Md_aQ&k^a)nsz*X<^LB7dm_@bmQi(PjQvn490bPbMfR*bAkK zL%r;;UtbSZX;*2p;o#!l&QEA)=zDeb;mOJS18$L}#$CiaZ{zooPWDxueSIcPUohoe z#7>Tz;zT^SP-}e|B_)yIWgAe{X=!)DJ6cLjddelG+s8bNPUoyD&X)g~4!2Z&q^Zi-2!}bKHT1U&erHzeAN7(X}DGm;f zMwPw6n{qP16aV~q5k@U2mLuWgBNqIKbtsGmS`{w{c!K}E}iHb;?^uBh@(bGNGK;K zXT26|hpsP}xT;y)2?pf7NrKUWPHTsvV>2@%#^S`02i{_PlV!{+-pW7OaXtHypUO-* z-F9ahIua5R0=8vAD@*?zDK#}UH37HNo3DGMoE+2oIbhL?;Aw-i zv!VUS;L{`5TG$L8$})lJ;lqbKyu8v!HFJw@PN1Lk^=1D0^$PnV-Uv1WC(;Q96D=qx zaCUPW9vyvnbS9!3-~rZaw$`n~Su8s<^GIna8zso+cht1LyBoGucYK@bK`hmX-n-Snt;DUOL{M ze6Hg}qzvBW=g*(-bmB0}CartpxdWG$3~9`9$TQMwYlU~SV3?Sgy~)CEGs*q3;k2v! zi!Bbx{Z2^4=NV7sS?dKn7IK-^qh;H`fB z{%t&y+K-Qq&%?(zG&c5VxUw68FrBOO5K5Kh)Zex{K(*c>+~Ygl?>HTAG;RDIy`#-H z-c?r@nad{k)3H6Trlr3he)x8n;`~XG&X4vpZklC!<7c;{q$Xpib=xEGupas?ub3i2 z5!)jzBNH&iEZeo?x_kh+o7>oAf_exG3u{196JRUEusnJBQi1Bt9fn0v+7lI4>YYZQ zv`8O5jEs!*?O7cv zvLaJ|S#`dDZkB#&X+>x^f_Is};d)v$tW8?2dNZYcN0O8SG8~wk?5ebx-oGgDoIX5s ze#D~jN?AFKPZ@o5eB5cF(YIkIDLJ|C-)c{V0VxOZpNtGYz_J38`ZF^#g;Ght{tvsl zI0;PZXHK&J!q?(41OeA=_w6JY?K%bGSja>?1?$hD@cvr!Fb zSqP9;M#Mpn=BqezRS{AaCvlgj1t}6emqpCKogBM5ec~67S{S@$t^ZWMMtmBk_SW|$ zkwt&$P0GPY9ZJs|vJgB6h8x4K7dE^x5+GkZXBY0aJ>hGSP!5L=kBt0Aq({ANBC7`t zJYS>aH4=62852jYtrzk*Jr?ilrg9W*dDhDA*mpi0KTz|71XI9X=qw7(#MMnD4z z0k|)es`lR2mJO&m8;M_018I^tkz#jzjZT?IYEB^1kfNrU_6X>B%3+)r8v;t3e6LtoXeFPD#O7c46+}Dt=V)+; zJ3i9J=wn!@U^QQsF{R=gxR0lmAzSj+uiR;4r(`m>$7YKCl@3?*%#(=70>h2{IOhv2 zKH06~1ZVeN1FK*uQVtn8D=Vw{odb?`*b5FkzpiNJ6MW44&rcW}#K;~#wD1cVI@5mt zeuSUYUP~(xT?YLU^(#3a&Vw5BRMTNt%)aiv@%&`7c0D?b*eO~n`KO) zEz}{%)=iPC(l`xcZRRJxG5I2nBty^6`@mj-J>ST|*Amr$lss<*as*raWWd zU~b*krb-p%OrE!ODa$)^S8C1h5@ks+Hfv(kdK1g7szUd#^!isI-^swTIge{1kL$(6 z*t(HbMmY2-u07pb3;IPd(doLryB}Aly|dhA$u1kPj<b6Z7a_L9O`P7!Fo@)vTmQbFkxGp~S?$AFCvr{d)|GANR|| z3^$r;^fjDArB|#zKG(K{f2Vibx9BE~GAf5x2!&@rgA+BbS}*!D+wWI9dub4uSfh;p z`q}r4o6_Zwj^&L+qx6%dnN>%FvdPZg-c~u^Pp~gN<_YJ1%p@1yyBiz#1yjBHm%(X} z+)vWW9VkK#?cA$(ue0=xUh3@(_e18@&A^94XR*fF-z?8iMCxFX*5VavF07>3bo@OO zoLV$%F(4%Cb7iVaDhbL;YO&bnJ3AVqJ*E}D{#2Tb^)fiW>ncbai&lKZ`P3t0tfT!6 zq3G3lshhhZ-v_VwZLTWAxlZT&!X2J!GcR+&jH8bQPQ?EP`{Gkv)z)WsFp zRYL$^Iys?==O37wnyS8i`^v|sL8u^@aq(S-%W{{6J-=li_r zl|>vk?ZtHUHcoLu^{TVZC?3aQQZCTvUjIAurWSPk3QnyChbxBjjLAuPGc)E7A3hix z8*>=7e#BSu9+QU0qAE=(t;jzseY~euMkh zJRG{5BZqPcrshXSm5|+yR+q#}? z7o2vBq&0YAB_heRsZdw%6PZtcc6dB~H*;Il;ild%qCRpwe=pl?Iw&@^f!vU!C7%2@ zVAnhxD8ll*n3Gju)>#_N^}f5v_FTQNvGdDf8H)`YrbWl<0Bu=2r$4u3Z;cEPsqKjp zKY+P8t;Sev%p>0kr2@1pxZsUIAa;dQ{bb+cX2S(PNJ5g5^Jg=2bBN=e>39HZ%gp-6 z0%)-*Yx^QT<=J2*3EFI5!%_wNnv5<)VaZh|m8YQQFKlJi5Lvd-a14^w0=7yuj^6!( zK^AchK?Vx?vBu5*rU&!OUYGmpx^8-`@(^FkACq<1v3_1^L8zGWi#LkGxwCy8a4-5% zxA<+y;`k*%N$pYtb92hl(wJacVd2%#Eq=+Ro$ER#a3_3pwW$$;-I7 z@B*`gMZ4-j?QCHv8`l>kYIn945Hmow!A~jq`1rJLb@lWxu(O9(J0StbY-#et251S0 z+yjGyP3h9X02Wv6gr+I!D?f)ELe@oaTAufE2xPW4S@CvQy{zOt$I=cWR7Z&R`RsaU z*B0$H-|YCar~HtxXkdNPL--NlL_DInF`A(}mqSzMF_d5^OhMom8|KdGOG{U$yR0PF zXzr3&H@!er0=v}p3mfHCbXL+u7Dx=YbM9XeEI%aLBHH{`g@( zB+u+$J}Kt9O+F2`8@G?5XSijlHq({?WzdSfeC0uCfvlJy_xFh)t=ZbZ{>Hg!jkNa%N8|; zcN2EVUy0PaU&N+m4U2DcUHK;#8RQ63r|XCfIm+}b2V%Q=nV;aL+(V@7>Ko`g{#}jU zsiR&`9NOjdu!hVz90c(khxGxR2xn0a&KdjFfz7%bNp*at5iTFzAF}s2^1jlIO;p_Y zmPtR9A_^m8051VX%*3L7H&Mvt1(@!8)eko7UlBz{3Z}-g>!lRi6FI))wV?#>`~->e z#lS8nQGE~ldw(Fm;ZDiM&I4<#*|4@19~1L+t_(KhAxCny8Qx%;(A4eR*XfFG(hOJ^ zKsnVS=7?a0H355kP6gN4@!#M`>w`4uY*ISAkyQTAO}u@Qy@-WJ^%+b2unCWOGuE%N zoEST5QUT5P`I`z*HpW|Zby*3Crf+vCBfp#8Twejs2e2%l3=}_69(!~3Xd`1|$9=vG zxtX=|71lE7H%^eVB=T4PY`O9N_fsyKEA}XCHg0XfB37m4Yzf$lp&e*Hvd!YY*6q9= zN&C|2<{fZO9M#VjGd=7jpcJ&yj0sgKlv}QT!%i#yd$Q32BYU>d_H)l2X*Mbp%KC@# zrkCEk#t0(tSQ$ysNv`~H$-=s&G~3$RfB_1&9!4XWEP=(ZBqQ?g83_POeS&ndu-M2+ z?gt%;TGX=~VqeMEu2w}l1#SEb&_xg&*|^is!mYq)&tuad3Wn#%bZ;tgf!T)#Id2Eq z=qvzkoUj=h5j|DEFjI0X&T?Nkb6GMLe)(l>kmHMO4pCHyY*4rSAGr8kjXoL~lvYPP zw^>w53c)L2%K{2J^@QHxo~^9_?A#fM8!|ifkXc{CLr1aku`$cQ-*HlUjIzBUB8SET zA#vTGA`I-WS+J4)j(Aj$3_po!3ob|QeC>TQ#>wus-}55T;j&}>YH$%)4_umHUthGh z^W*tNMMb@XLAA5ATt3%>8M2a0hs2Sc73Jk$lls-N6e*5S9=kKuu#>#JJQuO-xDX#m z@0(l4U@tQ3sRa?c*Ybm&V>`&6}@JB}#itZjmqb68hv z7L%&{v#NIe^TQ3;yjWP)moMl;!^40AH|@AO0THKS_R)8gcM7Lbd)$8t7ATWt*IEl( zTiQ`g((fwovWOg;G{;S%=$1twawNhYZ)*EF<T7+^|+f7QeBbU21<6$)v~;}zSTUNmia zV)bnj^h#U3pNNYrfnxtImY+60K4lew;(M;c8y{=}p6PdzTiMy|QMGfud}*cFu(SO^ zLu10NHZxONSe7viB`7SM7!ne~`BGv3YXaa@3VYr-^~cnxP>=ZYSc64IEyY#ujc>6K z>)w)Zk(*Po%jqjsXml6ZVRy1`$L@SEL}aJ98uHabvw}!eEJxrLYtzp7xEmJ*%D%`K z4Y+a94;A6 zgzT~B`o9EfYu>Y_#Mzm0#?awxK`dt08`R`pB~VXL|EjbL8>$6>Rtm&^)l=_XeDcreGC0pWIW!{7jO>Ds@c+(# z1>~skUP7-8kIkRsCBpO9K0YZ0c2e2qJ=OH)F;?MpyOXOhS)E z0kvaHo3VA9-vMlclU>FB*E&8WJ#qYk6B9+V$AABdqEt>@)3@t6xFKYJ?;&WH<;Q|t zA2W1zSJchHu}N@l=aKDQt@DYD4qy|nO$^tIPs{T(e>|vr zN~J-v(MN5Jbr2o2O>KQdc#oV}S=rjmuK$^{-GMoi-FLrpeMXAZJ@;8lF2#U{+5rot z-@hTuC`8Q^ogxxlFX`*6J65{o)WUyxU80`NXrO;N}WEB0P z#yCqb{zK@jdo$z-#Qcw{FbPe)*GV8I!+ z{4s>$%t`f;4$~H)yNtJ9k@x}y2TrWq@ArO@#$P(J`SFyR7}8On?haYo4_aeG1p+<> z)qwa}Ok!oL&?G~v09O9%_e&$I1oS1sG`J{<4}&dXX9eoDAOHuHky}}KH=lUN%-C6U ztSJYeeWkC3_Yw{1D#w_j9MM_W%gf3emBE?S(DQrN=%{x65HRojYw~2;Xo8~e9cH{p zAuG+(cNv~GR)-Gd^8*!R{SE&g4tbZvUyetYdE9^4KKfa1WnAIRF$zYWNS+VU{tWC^JEl zj|gkz!KWJ8jHLQSrXCB%{M<>@Rf3697mt9=8$(NWD`BPUs^LCF*5HL!X~y#hTrt1j zMde03i5!OFj1|1YmLZM$xsp^Y-YPt($%G_wQ82lK-BN_MKQ5NJ3a`l|n)K{OA5d2% z+%v5DlIfL`X<65`^)=cp(Jz6T6%_j=nHC0S<;p)DnKVsmQ-ge3mUKlrw^35ASB}rBS7&6OZXkegmr7ODQHw(~{cWQNjc%IA<)r>?%GROk@ z$iRmoRxOe|!^2NS5O_T9Rg37Db`g7|Sn9Azik&UZ@lQ3dW2J(Uu4vSK(u>90DGn4; zRV5D;YK|oZ1n>5(w~2p?u-eeZ5Z|mPW+M+5Z23oN7BA`)d-%Y&DKSSq(^q5!VHQ~5 zb6|sTF_AHXi7v0G_yn=w8}+gUNvY~MI5^CoX@B_elN9On?p>s7uYf+e{cJjqDRQC; zf(P2#t+%br8TlO3I-wfb;^K{r-egHYwh0n7vo-&A58}&flq`jmUQA=z8Ko|AR2f7% zHHr`~7bJ0}>d{7T{vs+HLpa-a|0qd4$?7x0Poz@TO<=nLWVSgT07M|gyVvW2mThin zNqJ;PO-L(3u1Xs!z(9OKh6OB#_N}8Kz{i0g4n%_t&463Y_J=GI1)Vy!^I$9BZeMzY zC&DdT^xl4~Jj=BX_L;SMv#qV3AmbCjY0ynk@CYvNq`&ef6Vp|!oI}tOORTuDtKkuy z%a!TN)F=!4BlIhLU>4l(u!VEmOz{xViOsk%$k zBo{b1x3;g?L)0ycmAE}bP; zLk?eeW5xE$BPe~Jf8rCXehp)lx+95>*P;*HgzcGXl3^YTE30KNj$3;KYMm>~$Y5Z+ zHUB^ut1$UV)Mu0ju=uR!8|wGG=l(+Cz~ZACM0t!C>HzK$Lcv|m&Gb!v0}FIm#{=s9 z(?#>Z)P(=c9JgQmjsgF9Id8I>Mp&qn6T6?&_cX|ga-{Bt_oA$R^+wrgm@&jigK#Fe23I_{!>Miz&Ox(_NjNkAZ}LdFc(TY(v|jS)d_%h6c{|iT#o*3;bsJ00u!4ZXlp=8Hm{714tihv^gce#_H1n|nEqZ3uLHss;7<(> zO32DW*uaU{o`#1gHZ9#8AMbxGAiL=#jiybNR|=F@!nU?MJb=S&mDwEj zeK9wdYs%^YBm+|md{ChMOn^GcvRFE~m;_(QhEW>;Y5@GO1$(JVVW3cfrhpUg{xTxr zQ=Pj*D|6PjR#&n96j7?!9;mGWc5#kC!Y+>AefZD@%Ig^mOUS0Tt+n;Itp3a~7f#mcfS6`Sl-TDp}?Dwb}zgXQ;R zyg(Vnpx6#V*{OoJnm;Te1Y7wEii*spD{W4_8{V;ISR{;$jJ(y;gZiVMDgcAFJEG^W z*4}E0jVKHTlPOBtmkEt^+k(whF(#{Jh4d>pV1|&Y0{xzhOGsF_z<6f(HaBqlvY$SE zT3KDawZ>W&AB&3C@1ft#w|k?dsky$fK~cO5d;qY(N#EElr5MEkEj2bZEp^+Q1Gd?G z0}RYN6u!N^{SAQxn7kN?0-}twm_jPQ6%3D9vbGiNbUQ4((mH9dg<$X2)xht z@85@L6i7??4kL}g98}HPngZVG8XpP;ii*4+Y$1OH7P?Dxy2ipG+vz(0fS>*Q^~LYF z?QLsifyKLDtIYCt?_j5G@jk|>nb@;@t8ND6oJShc-|FnOS$*H(^=In8ut$IPC)YddLY2LLR zE71Jbq7!pg9)$*av$S2Ym-Sx&2?U=x(iC;&6cpfZ^iRHg`7-#{x7N`3*0b7ds?f`! z4}^)rLN;I?2|BKHe%?w2>4=Dw6tQ0$8;KRVv{S>9H`bi2J?-(s$pAyDt&}dx4Vatg zijTORO#&Zcm_$-%p`s%A`utCZ2tIW^-brG-At#Mzw&k?K_|MSr2X4_Xh2n zR0DC3bQ-N{tNo!5W{5*pPR=(FHULkyu(V9i%zU~OreEA%@* z?PGM$rDXfU9x`vU?=Yvh#Z?M4WEx@DuPjDolh0ULO~9@smsv{8owViy$&}9SZbN9T zH~#&H5AQ%4;UC-yU@91Ilm1cl>2lbB{bG63-yc~{$Ii@^MCMA!;@h6CR%V@_xUq8f zf{;-C@X&>x-&cHh-M}XWmVa(Mf!-#EG1K@)Uvyx)eVfpC9>Q6{f*yZ!x2v_wTP~zh zcYnyyPLbFr10DvD3}EbYyf+hj^G>D*=Ipoug1bO*INr?((}j-j`1Pe%?sY~_Wnd!c<+LX+7{)+ zv#vEY7hw>E$aM$^IcMYkV?UVJXYq@n?c`c^pH0**$1~SY z3~0$*Z4?d*mQIP*g{V?wT==(jX1^A!RILp| z`KEP76)5qJm6=d{l*uwutLFT*OnCoFWDu>b4kr_A&0At|NowKyFMEl{ikGx`V@qO< z_uVo6&iY}!yppFCCu0V-Jn&zvjJ}2Vp*+g3IeShQ_!kRVMYkJUn10Mn8yMMCVUDXh{Wei_i!k{#2fOoJRzbFbSW=4)MI^JH6YlU; zc^Xh66~pVU>hIU7A&s;$!Y8Zw0M}@sP%&2g&ZsS5UCd(tZVnu<{6Bn(Zne5DXucSz zN8pI>1S0wcEzkfmK+O^id1UY%_8b$kD$-Th6IomMCIi0^k?KZg_vqqdax9^9q9R>= z$e{SMq`M*kqbx79bx%b<+H}QqZX6)WI6}KBXr^mte!~EUxJ=(vkR z$-S(-lAyfO3g@qc00s=1tB8!5r z&3DF2n@jc%{?-j3BqdJ5%P(Y6J6?&>qIVR7mt0&IQl@vOyLI>rPczU#-nLVK_c`pe z$WUB6q20es@@6M?ZTeZC3bMts5QrvZ0Bj3@o>=I)ai}}f$xF#v zvjtA)X_yv%qtAHg%R2ZheAEMcAp*XrfD?Yj$ctCqlY83)QH(5{ep6}i`CH%kym3Aq zkF4p;pfe(kNj1v(%d}&d32)vvxj!0eT!+%<35FM+?TNOR1Q73+QJ>NQ_%C6-E9 ztAk-4j#YHxp7^m(iUo+WTKn)suCtC%FZEUBmjYAje1X)`Pd+!qnJRzMM6t*oAZG6 zV2aZ!gKQ_bml9T;)K7c7zin{xdCe9iYx{dk4pv9mxG*p%>bysKmM;p7PIggY{qm$> zVlvNwWKZLuR=QwsfaQ1Tj64hgk7h50h4#Z zYsUFa!jAzesS&i5dXli%c;}1aEQWI$bMA#13IZSJtYAV`=VP5qCWR{Ziyb&H<5lFU z)(fiddGvGIme_Yp>xh(RGc#)cSet&n&0p(EUupLPs*{jNzv1<^tJ)`OXiw({SMAh% zv+s%bOP6o@D(uxbwDtJWN}flHQ~@TT_ThtxP1m_+P*4y+;iCZ*5`b!@<>mDRZ7XM6 zhB6v}|H#SDznlL(7BET|vGC&C5Hjjhg$zT7U9-ykM%t3bDeedctIr!$;I*sz0sqK+U#|68%Q*s2b8!7Q2&UD;j)=JVDGQjWe27gCvPfV;pDe* zz2n1TW)7)*phYhZ@hGRd)+r`Ky3wpIy4r~K7HRuFnUL+Tc8?y;IMhO+{@m+6d*<(M z(1M6b+2$b7x^(~UG!%r@+G-OWYuy>u$9n>pILOT&&(4Fytsa%Fd|g-=0no;V+#uj_ zO+AYODT!0M>A89@FcT~Os$O36WISj<%>Y|M0*ELClx%1zkf4Y+^GY@WenT&UiOz1M z-L-+#Sc8{BnrOs0Zmse9QPKG6>DBRiK$H$BbbggCeb3{CSixj@at>n7Liwzg1xeiG z%XLLEU}LrNj7z%6UVbpp(a{0*Ud67RuUjv)VrRd%Je;MJk&|QITj>FIb*L|@WtF1} zR`HTi8#=Td2G)vTuDN1E>$%$$_U$?|UB z_rvtj;o<(A*WTdN)F1q4eK5lyYmrezDF*x}0H$on<#Ryr;wZTv0Ij-<-CB^&djnx}_FLcT)tn`MF&X7V7@z?d)E+N!^%VHA z|E6t3PZ@gA+t_Yd=CYL)S7$%@dACqcymtmEQ|VdXZ)d;6nBNCi!#XWt560%_j1I6v z&d<*y*vX?Rz8mj1V#W3=1ZSa+%uBGpNVCA$l$#RLgo$8mn_ex_3lPjxI3_TYNwq~z zLBZ(y@(j55wd}^X;SqrTK^(mc;C^!+PRH6=kgHS!(Idx5v$DzeUQZZY#n?59KkL-G z9{GoWoWeU*)z=0FPe7<$D0NvR6(C9Mq<$bYjbl+7uoCr-U5?`rKJ2*E7MPwKPrG=P zmkJi0jt%-;CH#O4>vem0Gf(U$KAD-4xX-75oA1~G%Lx36n|KG#rqW^H2NWI<85Xd? zYKzBG__qUSx%3Q0eW%Glq;Ul~CdGF`QD7mZJVP~?&_)BMk*=BDbhm$BG=`V7Ws-)+ z%e7p>`o|$(IOU&y>8gZawPGP>X3O%NIr~Kj4~L8vGeiL3_%icBdLT)T^MAF}(V@9D ziv{k-fLsHRd%C*2huR||&#-mhHZHXVPu9BG0i_qDqHSyn_z?HNdxEMy6TxAU7Pvnr zeAFNjm`-yH8F*fj{q>iCaZ#c_F)FrqI5{4W-?zr{wv_gqx3A6%Ualo)f%@Q1#iOb3 zFC1)j4cYA(;?ul10NQ%y*ya;YF0$gi&ruFs#cj~b7OtPMhW?3J-ht24?oW*5s$uiA zP%7_#jc95a0GjPtPfE(29;k{(^p9qk@Z2ut{se^@4Mu_ie$(U9H1iAo;B&7p&C-%@ ztBNsS`|kimScMUd_5#vxrQ*8P7{X{pyMbX{AtAFwxHVJ#wazf_FplBP2Jk^iEytlHN2g0z55x%a80!7r6|!uidtk{;^vwREWJ)c9?cTrZ!~ ze(w_%)twHh%7bubZM65)D5t5BR!F93oJzHph%G{jentrTg6#dKo;|+3btEy4xrMC3Px(xQb9f{H&e%&nq0CGI!Ab!ls8Vcq^Of6idEl0N*qs{jSOhC0|5^xn2{(Dr>}Uzm^q1e z+AO~@Q#LF5iz(xA%dcFo(>$k^Vy5z~`Ef&~@5$k;N(_Vb7)-TzOttj5WIiN5Wd+!B z$RBsHl3yaTQQ~{fPus*qpcw8fqEy5CWC3?tLNB#O7lGih6jZY80g_UB5Ub?g+najG z$*V=e$;s(8h78N2)#(dMin-jA<5BvDHP+g+_poadVVu|@JuP=b%vJ1~$2GoE1s!t| z3y|8pt>VbQr}*#kq== zsHtO+;5Hrm6qC=?7z+2c8PSKadA794`G>6fgMk0k@_Cjx5pdI!L|Z6MJn8R~5m0#_ zw>qbYt(ce%FZ9G`jVitvJLC9bMFOq~rIypw1Iy^bbkoQCuUCFRI!$*RzO=$unwp2V zH`P>UZXa*J{j8S*P?onsU5KEr;|3zgbZr95`E_z4WJXol)ia|_rL1L#-0&s)>7v7= zMdb}@_1&z&(1^{_QR1bi&DyuG!5{|{_$r6IE5c!R$+_V|lWex3gyLN{TA^N2m}qkl zdeQup*p-zqJw91Iw=-EaUc=cRyUvAb_|t~ZgId9$_}Xjt8Wey;B^S77e4jkiS2F}S zuFzk1cp_nJmcR2Utx?NS^*TP;ck-ZPa{H%ged(Sp{t~445C7*yzO|U*7fmg43eK1+ zNnwMqY`9{gQH^%ZTfDkJ=_~zfqW`KZ%!%!LT65cT z7){NvERQj1wY7GwK(e^?9&PlM2Li%lR=}aZpw`iiru#eF66q?=?PT5CRl&*J(VnkO z75?6xo`4K(xYRmHyhm{5Zt%fz3lOqaK@$RwlB%Ab3b=d%TD|}^0k};C_M*IlGOUUx z88o2u9;?#KxtXzEc z;XLoXCl0mDJrehV*8up+KF;n~TDN~Hy#-=+WPP-khX1adk}(=`eLx*y)Xt8$5cueD z3Wj+QgAH)^b!%rp$Z)n$j=5`TuBWr?&xD^w%X)8y8Fa5fco-(RwQF|}h!2bW8mz01 za0AvsEVL%ECNMd^)M7{MG#>%F$L+0n*X@bHaXJR=9D4z3SoE(j|9C;Z2A4m<^Ly(X zTj4}(@2jX~UNcLEENO~rcM8zBGfFI`NBV*ywvsbsEC28IYwjnkz`)ZbIJjw}!gpeS z?2J9muFSwXFtnVY%8biA>AqGR2yh?=q_10;9Be8qz-j)46Ha(t-qV+5X?NG;djW;~ z@5TRB*H?f=wYA{_Lx_}!FpQLhprS)}sgx)o27-*VbV}z2K@e$BhekpSkd%%YKuSOa zq-y{Ll2o~Rix2ya^&GEkgn&I;cwR)gM-uj6iw0iD(UGPyymOschRR3rO1or7BI4}V2=!Xv z{M&ez(A%z6TJQeozP(ldDW)G~)mqDAV@;VSQbJy8zrZ(&jW~-u1-Ck!yo_L|2zGpZ%i{>_-U|O&XEwM zp=7fA7bbD-m?DB|W`|m);Cib$Nbz?tc_Qa)^0Y<>MuByA$*eVW0`f`suhO*Ky#SMKbc($ejC3*1qH*zVze}h^;9pd9bc2`YV)c9`dyg#@NYVV z(~mF48?gzNt8eckb1kCBe#P}sg0y?yT!R|;+~{7+UD4gn@ZXw<-0e0;S}vrIzeTa@ zckNle43#DxyQWXV7Uq}SLhB3i>=x&ksU1W64S`SXw76T8f1~xHlv3BZ zVE)YklN?frY?x`!7Q&7+S2z;9e!S%dx!Tf9hVEbzrsz(tedzIBPMp z86H)<1y%Fz6P;~y4y>0@z}bJ)ybaw5iv+<;K!hR+L9T%ovb2tJ?ad{PUp{wLAe@(J zsgz`!m_^xq@(U8@Xh$s;Knkb-Ag%#y^>Uk8RmCogLSqN7xaH)0vGwc=RXQXd+k#E! zT2rJ>U9co`4H6pjm>gJf^}8nkz2u%@9k~6uQ1ukjOtI*=iuq3G#q$t-u7#RZa@WRv zBaaXpD}qt5P!|1oL+;~Y9(u|`K50~>W!vu8v+%dn^Z6-gM`z!s1O3Ly90iYFs`;em zEibKde4F4-*4SEc14c)bO|rR%V`8p`yZct4C~~=CN$S4u{{DI-1%_H^i>=JwWp^ff zr-7-+R*a;ceyrypE?e^iVhej78$mmM`QwgfXTSXMUV5>`5)1e~D`5Pn=DN_wLw@-p zx&62cPWp>qo}Zhnee$D2f%g&>NCXE1{ zl7&rCUF+cw&!ivj$&B6P`3+i$Gq zcL=b^>~`N3Gmy4f?T$k`u0BI!0$`S?1JAA1r9s(YuOVfvcU;C~O~5Ii1M2HqnmFr^ z9ttolFH=*)DV_UzH?Qps5_Q6$va189oHit`A6RULMjDfGS*&JShka~#F34-0r2x=3 z&b&^sT-}oRJ+_Aqf?!B!-4-6RTCPNgWl(>u&Ha!(JoTy;mgB?; z%HW-MusVSFX5$F@OEy1#}XGoYWlJ9ySSsnmo&?#%J7JS)oALTEC&n;MDJp_!Q?( z*YxN6QNy#T6xCGCp2Pq4Li zbj+=*1KA5{MOaf-N}!%uSXm`xWawyUP$SWTAKlMbu#Q#p1T%oL5~CSYuuJkT1&oYY zHtw4a(ShwaG2Ovjw?0kcJpGF-w)^(KPEBP|4bjxnXdtEcW?|%AM~JA5JlUxMC7EQ3aN70{GU?vR_!F9UtUD zWkgJjgij<#PYmuDt811re*7=amwAyQYpCg%Y+OZzO)`c;e{b+B_0f()2d490e|!#Y z6g3f$hlfZB;3r;u5t|W6Q+5$#z7U~ErcFsOq>dz<6yJLJb+HgY#9?F%?@z>QA`vuvQ z+3cwf$d6<9*?;avaz!)hTX7aK>PvqSRU*S1rWpSnc1uhd)))Jdyg-b`>ujF+j!6K8 z-~IpnQ4mbgt)kEvEgh_EUr=jNXbwl`5!UMSp6cUZj#dO>vz#%uU7npx-P((Rumt~*uDonN(Yc!mRX1d_!g zPQr=RSFD3JRLc}dF0&-7AiJX3+Ef3u;QsaEyPuzoG582jIApYm3uXvdi@$|Tisc4I zFf&pcsXez`VrJRGCHflHa<2P`r1J9DEeN5{d+m|b7tul!iS{Q8Z7f8_U_`hJWcWQ< zPS8=@YkvCl>FGd_m~j}!>0{maEV3Qpv5XWn(~f4obQ9&V9Ij;Hch<{0c5YGMpYOGL zaXl9-gME7M3ikZfchUBLyCy;n*HPH|fd*;**VQCJG50sZRv~m07tVr&W@n|9IfYz? z_qN+9*78T_P!#N(KlkMG4ay>T^arH^g&5WjkvOt9s_Ny(OV{?^5O~a&?}7%K@l#}P zKp64?Hg1Uc z!}bWFdTH*)W`)P9oosw4zpUEm-?!XkKinSh?l;AQ=M zZe@CRj0Fy35O#h(S}%VBb<+O7jqy)S4_jp%nVFhSeFo!P16_k^U8h4L%x354XyN@F zMvA&dN_VEn^7-#@!6v{uOi*tYP;i>A1|ZU~udr;gC4VWpU)u(5tO~fJ9oTQ~?+cus7;nR67-4n(|mOl8OQRz)hmpe~off^KO z?N44IzP%-iO+ck`w@YTKskuj65OvSfOFd8ezJAl-HtqVMNmrJiep)l(1FzvRKU)0w zq+iVA+Z0Myp_MN0t(NHAvl+zThx-NyF1leIpD=YRHdblbVpcQE83;9;W#6^i)&NK}v9zb%&R=a%0Ax_WvGb<42`_ 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 diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp index ca7d158b5..b0ba36dd5 100644 --- a/Telegram/SourceFiles/history.cpp +++ b/Telegram/SourceFiles/history.cpp @@ -6301,7 +6301,7 @@ void HistoryLocation::initDimensions(const HistoryItem *parent) { } } -int32 HistoryLocation::resize(int32 width, const HistoryItem *parent) { +int HistoryLocation::resizeGetHeight(int width, const HistoryItem *parent) { bool bubble = parent->hasBubble(); _width = qMin(width, _maxw); diff --git a/Telegram/SourceFiles/history.h b/Telegram/SourceFiles/history.h index 2f9df55a5..82ed36eac 100644 --- a/Telegram/SourceFiles/history.h +++ b/Telegram/SourceFiles/history.h @@ -2679,7 +2679,7 @@ public: } void initDimensions(const HistoryItem *parent) override; - int32 resize(int32 width, const HistoryItem *parent); + int resizeGetHeight(int32 width, const HistoryItem *parent) override; void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const override; void getState(ClickHandlerPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const override; diff --git a/Telegram/SourceFiles/historywidget.cpp b/Telegram/SourceFiles/historywidget.cpp index 69773efc7..31ca53fb0 100644 --- a/Telegram/SourceFiles/historywidget.cpp +++ b/Telegram/SourceFiles/historywidget.cpp @@ -25,6 +25,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "boxes/photosendbox.h" #include "ui/filedialog.h" #include "ui/style.h" +#include "ui/toast/toast.h" #include "inline_bots/inline_bot_result.h" #include "lang.h" #include "application.h" @@ -5210,7 +5211,13 @@ void HistoryWidget::botCallbackDone(BotCallbackInfo info, const MTPmessages_BotC if (answer.type() == mtpc_messages_botCallbackAnswer) { const auto &answerData(answer.c_messages_botCallbackAnswer()); if (answerData.has_message()) { - Ui::showLayer(new InformBox(qs(answerData.vmessage))); + if (answerData.is_alert()) { + Ui::showLayer(new InformBox(qs(answerData.vmessage))); + } else { + Ui::Toast::Config toast; + toast.text = qs(answerData.vmessage); + Ui::Toast::Show(toast); + } } } } diff --git a/Telegram/SourceFiles/ui/toast/toast.cpp b/Telegram/SourceFiles/ui/toast/toast.cpp new file mode 100644 index 000000000..23ac4f737 --- /dev/null +++ b/Telegram/SourceFiles/ui/toast/toast.cpp @@ -0,0 +1,80 @@ +/* +This file is part of Telegram Desktop, +the official desktop version of Telegram messaging app, see https://telegram.org + +Telegram Desktop is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +It is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +In addition, as a special exception, the copyright holders give permission +to link the code of portions of this program with the OpenSSL library. + +Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE +Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org +*/ +#include "stdafx.h" +#include "ui/toast/toast.h" + +#include "ui/toast/toast_manager.h" +#include "ui/toast/toast_widget.h" +#include "window.h" + +namespace Ui { +namespace Toast { + +Instance::Instance(const Config &config, QWidget *widgetParent, const Private &) + : _a_fade(animation(this, &Instance::step_fade)) + , _hideAtMs(getms(true) + config.durationMs) { + _widget = MakeUnique(widgetParent, config); + _a_fade.start(); +} + +void Show(const Config &config) { + if (internal::Manager *manager = internal::Manager::instance()) { + if (Window *window = App::wnd()) { + auto toast = MakeUnique(config, window, Instance::Private()); + manager->addToast(std_::move(toast)); + } + } +} + +void Instance::fadeOut() { + _fadingOut = true; + _a_fade.start(); +} + +void Instance::hide() { + _widget->hide(); + _widget->deleteLater(); +} + +void Instance::step_fade(float64 ms, bool timer) { + if (timer) { + _widget->update(); + } + if (_fadingOut) { + if (ms >= st::toastFadeOutDuration) { + hide(); + } else { + float64 dt = ms / st::toastFadeOutDuration; + _widget->setShownLevel(1. - dt); + } + } else { + if (ms >= st::toastFadeInDuration) { + _widget->setShownLevel(1.); + _a_fade.stop(); + } else { + float64 dt = ms / st::toastFadeInDuration; + _widget->setShownLevel(dt); + } + } +} + +} // namespace Toast +} // namespace Ui diff --git a/Telegram/SourceFiles/ui/toast/toast.h b/Telegram/SourceFiles/ui/toast/toast.h new file mode 100644 index 000000000..b6c4f6512 --- /dev/null +++ b/Telegram/SourceFiles/ui/toast/toast.h @@ -0,0 +1,66 @@ +/* +This file is part of Telegram Desktop, +the official desktop version of Telegram messaging app, see https://telegram.org + +Telegram Desktop is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +It is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +In addition, as a special exception, the copyright holders give permission +to link the code of portions of this program with the OpenSSL library. + +Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE +Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org +*/ +#pragma once + +namespace Ui { +namespace Toast { + +namespace internal { + class Manager; + class Widget; +} // namespace internal + +static constexpr const int DefaultDuration = 1500; +struct Config { + QString text; + int durationMs = DefaultDuration; +}; +void Show(const Config &config); + +class Instance { + struct Private { + }; + +public: + + Instance(const Config &config, QWidget *widgetParent, const Private &); + Instance(const Instance &other) = delete; + Instance &operator=(const Instance &other) = delete; + + void fadeOut(); + void hide(); + +private: + void step_fade(float64 ms, bool timer); + bool _fadingOut = false; + Animation _a_fade; + + const uint64 _hideAtMs; + + // ToastManager should reset _widget pointer if _widget is destroyed. + friend class internal::Manager; + friend void Show(const Config &config); + UniquePointer _widget; + +}; + +} // namespace Toast +} // namespace Ui diff --git a/Telegram/SourceFiles/ui/toast/toast_manager.cpp b/Telegram/SourceFiles/ui/toast/toast_manager.cpp new file mode 100644 index 000000000..e3c37aebd --- /dev/null +++ b/Telegram/SourceFiles/ui/toast/toast_manager.cpp @@ -0,0 +1,123 @@ +/* +This file is part of Telegram Desktop, +the official desktop version of Telegram messaging app, see https://telegram.org + +Telegram Desktop is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +It is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +In addition, as a special exception, the copyright holders give permission +to link the code of portions of this program with the OpenSSL library. + +Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE +Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org +*/ +#include "stdafx.h" +#include "ui/toast/toast_manager.h" + +#include "ui/toast/toast_widget.h" +#include "window.h" + +namespace Ui { +namespace Toast { +namespace internal { + +Manager *Manager::_instance = nullptr; + +Manager::Manager(QObject *parent) : QObject(parent) { + t_assert(_instance == nullptr); + _instance = this; + + connect(&_hideTimer, SIGNAL(timeout()), this, SLOT(onHideTimeout())); + connect(parent, SIGNAL(resized()), this, SLOT(onParentResized())); +} + +Manager *Manager::instance() { + if (!_instance) { + if (Window *w = App::wnd()) { + _instance = new Manager(w); + } + } + return _instance; +} + +void Manager::addToast(UniquePointer &&toast) { + _toasts.push_back(toast.release()); + Instance *t = _toasts.back(); + Widget *widget = t->_widget.data(); + + _toastByWidget.insert(widget, t); + connect(widget, SIGNAL(destroyed(QObject*)), this, SLOT(onToastWidgetDestroyed(QObject*))); + connect(widget->parentWidget(), SIGNAL(resized(QSize)), this, SLOT(onToastWidgetParentResized()), Qt::UniqueConnection); + + uint64 oldHideNearestMs = _toastByHideTime.isEmpty() ? 0 : _toastByHideTime.firstKey(); + _toastByHideTime.insert(t->_hideAtMs, t); + if (!oldHideNearestMs || _toastByHideTime.firstKey() < oldHideNearestMs) { + startNextHideTimer(); + } +} + +void Manager::onHideTimeout() { + uint64 now = getms(true); + for (auto i = _toastByHideTime.begin(); i != _toastByHideTime.cend();) { + if (i.key() <= now) { + Instance *toast = i.value(); + i = _toastByHideTime.erase(i); + toast->fadeOut(); + } else { + break; + } + } + startNextHideTimer(); +} + +void Manager::onToastWidgetDestroyed(QObject *widget) { + auto i = _toastByWidget.find(static_cast(widget)); + if (i != _toastByWidget.cend()) { + Instance *toast = i.value(); + _toastByWidget.erase(i); + toast->_widget.release(); + + int index = _toasts.indexOf(toast); + if (index >= 0) { + _toasts.removeAt(index); + delete toast; + } + } +} + +void Manager::onToastWidgetParentResized() { + QObject *resizedWidget = QObject::sender(); + if (!resizedWidget) return; + + for (auto i = _toastByWidget.cbegin(), e = _toastByWidget.cend(); i != e; ++i) { + if (i.key()->parentWidget() == resizedWidget) { + i.key()->onParentResized(); + } + } +} + +void Manager::startNextHideTimer() { + if (_toastByHideTime.isEmpty()) return; + + uint64 ms = getms(true); + if (ms >= _toastByHideTime.firstKey()) { + QMetaObject::invokeMethod(this, SLOT("onHideTimeout"), Qt::QueuedConnection); + } else { + _hideTimer.start(_toastByHideTime.firstKey() - ms); + } +} + +Manager::~Manager() { + _instance = nullptr; +} + +} // namespace internal +} // namespace Toast +} // namespace Ui diff --git a/Telegram/SourceFiles/ui/toast/toast_manager.h b/Telegram/SourceFiles/ui/toast/toast_manager.h new file mode 100644 index 000000000..d8d98c208 --- /dev/null +++ b/Telegram/SourceFiles/ui/toast/toast_manager.h @@ -0,0 +1,65 @@ +/* +This file is part of Telegram Desktop, +the official desktop version of Telegram messaging app, see https://telegram.org + +Telegram Desktop is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +It is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +In addition, as a special exception, the copyright holders give permission +to link the code of portions of this program with the OpenSSL library. + +Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE +Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org +*/ +#pragma once + +#include "ui/toast/toast.h" + +namespace Ui { +namespace Toast { +namespace internal { + +class Widget; +class Manager : public QObject { + Q_OBJECT + +public: + Manager(const Manager &other) = delete; + Manager &operator=(const Manager &other) = delete; + + static Manager *instance(); + + void addToast(UniquePointer &&toast); + + ~Manager(); + +private slots: + void onHideTimeout(); + void onToastWidgetDestroyed(QObject *widget); + void onToastWidgetParentResized(); + +private: + Manager(QObject *parent); + void startNextHideTimer(); + + SingleTimer _hideTimer; + uint64 _nextHide = 0; + + QMultiMap _toastByHideTime; + QMap _toastByWidget; + QList _toasts; + + static Manager *_instance; + +}; + +} // namespace internal +} // namespace Toast +} // namespace Ui diff --git a/Telegram/SourceFiles/ui/toast/toast_widget.cpp b/Telegram/SourceFiles/ui/toast/toast_widget.cpp new file mode 100644 index 000000000..69c98ebda --- /dev/null +++ b/Telegram/SourceFiles/ui/toast/toast_widget.cpp @@ -0,0 +1,64 @@ +/* +This file is part of Telegram Desktop, +the official desktop version of Telegram messaging app, see https://telegram.org + +Telegram Desktop is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +It is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +In addition, as a special exception, the copyright holders give permission +to link the code of portions of this program with the OpenSSL library. + +Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE +Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org +*/ +#include "stdafx.h" +#include "ui/toast/toast_widget.h" + +namespace Ui { +namespace Toast { +namespace internal { + +Widget::Widget(QWidget *parent, const Config &config) : TWidget(parent) { + TextParseOptions toastOptions = { 0, int(st::toastMaxWidth), st::toastFont->height, Qt::LayoutDirectionAuto }; + _text.setText(st::toastFont, textOneLine(config.text), toastOptions); + + setAttribute(Qt::WA_TransparentForMouseEvents); + + onParentResized(); + show(); +} + +void Widget::onParentResized() { + int width = st::toastMaxWidth; + accumulate_min(width, st::toastPadding.left() + _text.maxWidth() + st::toastPadding.right()); + accumulate_min(width, parentWidget()->width() - 2 * int(st::toastMinMargin)); + int height = st::toastPadding.top() + _text.minHeight() + st::toastPadding.bottom(); + setGeometry((parentWidget()->width() - width) / 2, (parentWidget()->height() - height) / 2, width, height); +} + +void Widget::setShownLevel(float64 shownLevel) { + _shownLevel = shownLevel; +} + +void Widget::paintEvent(QPaintEvent *e) { + Painter p(this); + + p.setOpacity(_shownLevel); + App::roundRect(p, rect(), st::toastBg); + + p.setPen(st::toastFg); + textstyleSet(&st::defaultTextStyle); + _text.drawElided(p, st::toastPadding.left(), st::toastPadding.top(), width() - st::toastPadding.left() - st::toastPadding.right()); + textstyleRestore(); +} + +} // namespace internal +} // namespace Toast +} // namespace Ui diff --git a/Telegram/SourceFiles/ui/toast/toast_widget.h b/Telegram/SourceFiles/ui/toast/toast_widget.h new file mode 100644 index 000000000..4ee46f599 --- /dev/null +++ b/Telegram/SourceFiles/ui/toast/toast_widget.h @@ -0,0 +1,51 @@ +/* +This file is part of Telegram Desktop, +the official desktop version of Telegram messaging app, see https://telegram.org + +Telegram Desktop is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +It is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +In addition, as a special exception, the copyright holders give permission +to link the code of portions of this program with the OpenSSL library. + +Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE +Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org +*/ +#pragma once + +#include "ui/toast/toast.h" +#include "ui/twidget.h" +#include "ui/text.h" + +namespace Ui { +namespace Toast { +namespace internal { + +class Widget : public TWidget { +public: + Widget(QWidget *parent, const Config &config); + + // shownLevel=1 completely visible, shownLevel=0 completely invisible + void setShownLevel(float64 shownLevel); + + void onParentResized(); + +protected: + void paintEvent(QPaintEvent *e) override; + +private: + float64 _shownLevel = 0; + Text _text; + +}; + +} // namespace internal +} // namespace Toast +} // namespace Ui diff --git a/Telegram/Telegram.pro b/Telegram/Telegram.pro index fd33b1518..92d8a51a4 100644 --- a/Telegram/Telegram.pro +++ b/Telegram/Telegram.pro @@ -128,6 +128,9 @@ SOURCES += \ ./SourceFiles/mtproto/rpc_sender.cpp \ ./SourceFiles/mtproto/scheme_auto.cpp \ ./SourceFiles/mtproto/session.cpp \ + ./SourceFiles/ui/toast/toast.cpp \ + ./SourceFiles/ui/toast/toast_manager.cpp \ + ./SourceFiles/ui/toast/toast_widget.cpp \ ./SourceFiles/ui/animation.cpp \ ./SourceFiles/ui/boxshadow.cpp \ ./SourceFiles/ui/button.cpp \ @@ -229,6 +232,9 @@ HEADERS += \ ./SourceFiles/mtproto/scheme_auto.h \ ./SourceFiles/mtproto/session.h \ ./SourceFiles/pspecific.h \ + ./SourceFiles/ui/toast/toast.h \ + ./SourceFiles/ui/toast/toast_manager.h \ + ./SourceFiles/ui/toast/toast_widget.h \ ./SourceFiles/ui/animation.h \ ./SourceFiles/ui/boxshadow.h \ ./SourceFiles/ui/button.h \ diff --git a/Telegram/Telegram.vcxproj b/Telegram/Telegram.vcxproj index 976bfd7a0..a5e72354e 100644 --- a/Telegram/Telegram.vcxproj +++ b/Telegram/Telegram.vcxproj @@ -432,6 +432,10 @@ true true + + true + true + true true @@ -711,6 +715,10 @@ true true + + true + true + true true @@ -1016,6 +1024,10 @@ true true + + true + true + true true @@ -1139,6 +1151,9 @@ + + + @@ -1476,6 +1491,22 @@ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/twidget.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" + + + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing toast_manager.h... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/toast/toast_manager.h" -DAL_LIBTYPE_STATIC -DCUSTOM_API_ID -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing toast_manager.h... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/toast/toast_manager.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl_debug\Debug\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing toast_manager.h... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/toast/toast_manager.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" + + diff --git a/Telegram/Telegram.vcxproj.filters b/Telegram/Telegram.vcxproj.filters index 50641958e..7576a456f 100644 --- a/Telegram/Telegram.vcxproj.filters +++ b/Telegram/Telegram.vcxproj.filters @@ -55,6 +55,9 @@ {93203856-b459-49ec-8097-689d0feda013} + + {815de139-ef13-45d6-a131-a3556eefae55} + @@ -987,6 +990,24 @@ Generated Files\Release + + ui\toast + + + ui\toast + + + Generated Files\Deploy + + + Generated Files\Debug + + + Generated Files\Release + + + ui\toast + @@ -1097,6 +1118,12 @@ ui + + ui\toast + + + ui\toast + @@ -1336,6 +1363,9 @@ ui + + ui\toast + diff --git a/Telegram/Telegram.xcodeproj/qt_preprocess.mak b/Telegram/Telegram.xcodeproj/qt_preprocess.mak index 29f038dd6..266f75ccc 100644 --- a/Telegram/Telegram.xcodeproj/qt_preprocess.mak +++ b/Telegram/Telegram.xcodeproj/qt_preprocess.mak @@ -31,31 +31,75 @@ mocables: compiler_moc_header_make_all compiler_moc_source_make_all check: first -compilers: GeneratedFiles/qrc_telegram.cpp GeneratedFiles/qrc_telegram_emojis.cpp GeneratedFiles/qrc_telegram_mac.cpp GeneratedFiles/Debug/moc_apiwrap.cpp GeneratedFiles/Debug/moc_application.cpp GeneratedFiles/Debug/moc_audio.cpp GeneratedFiles/Debug/moc_autoupdater.cpp GeneratedFiles/Debug/moc_dialogswidget.cpp GeneratedFiles/Debug/moc_dropdown.cpp\ - GeneratedFiles/Debug/moc_fileuploader.cpp GeneratedFiles/Debug/moc_history.cpp GeneratedFiles/Debug/moc_historywidget.cpp GeneratedFiles/Debug/moc_layerwidget.cpp\ - GeneratedFiles/Debug/moc_mediaview.cpp GeneratedFiles/Debug/moc_overviewwidget.cpp GeneratedFiles/Debug/moc_playerwidget.cpp GeneratedFiles/Debug/moc_profilewidget.cpp\ +compilers: GeneratedFiles/qrc_telegram.cpp\ + GeneratedFiles/qrc_telegram_emojis.cpp\ + GeneratedFiles/qrc_telegram_mac.cpp\ + GeneratedFiles/Debug/moc_apiwrap.cpp\ + GeneratedFiles/Debug/moc_application.cpp\ + GeneratedFiles/Debug/moc_audio.cpp\ + GeneratedFiles/Debug/moc_autoupdater.cpp\ + GeneratedFiles/Debug/moc_dialogswidget.cpp\ + GeneratedFiles/Debug/moc_dropdown.cpp\ + GeneratedFiles/Debug/moc_fileuploader.cpp\ + GeneratedFiles/Debug/moc_history.cpp\ + GeneratedFiles/Debug/moc_historywidget.cpp\ + GeneratedFiles/Debug/moc_layerwidget.cpp\ + GeneratedFiles/Debug/moc_mediaview.cpp\ + GeneratedFiles/Debug/moc_overviewwidget.cpp\ + GeneratedFiles/Debug/moc_playerwidget.cpp\ + GeneratedFiles/Debug/moc_profilewidget.cpp\ GeneratedFiles/Debug/moc_passcodewidget.cpp\ - GeneratedFiles/Debug/moc_localimageloader.cpp GeneratedFiles/Debug/moc_localstorage.cpp GeneratedFiles/Debug/moc_mainwidget.cpp\ - GeneratedFiles/Debug/moc_settingswidget.cpp GeneratedFiles/Debug/moc_sysbuttons.cpp GeneratedFiles/Debug/moc_title.cpp\ - GeneratedFiles/Debug/moc_basic_types.cpp GeneratedFiles/Debug/moc_window.cpp GeneratedFiles/Debug/moc_facade.cpp GeneratedFiles/Debug/moc_connection.cpp\ + GeneratedFiles/Debug/moc_localimageloader.cpp\ + GeneratedFiles/Debug/moc_localstorage.cpp\ + GeneratedFiles/Debug/moc_mainwidget.cpp\ + GeneratedFiles/Debug/moc_settingswidget.cpp\ + GeneratedFiles/Debug/moc_sysbuttons.cpp\ + GeneratedFiles/Debug/moc_title.cpp\ + GeneratedFiles/Debug/moc_basic_types.cpp\ + GeneratedFiles/Debug/moc_window.cpp\ + GeneratedFiles/Debug/moc_facade.cpp\ + GeneratedFiles/Debug/moc_connection.cpp\ GeneratedFiles/Debug/moc_connection_abstract.cpp\ GeneratedFiles/Debug/moc_connection_auto.cpp\ GeneratedFiles/Debug/moc_connection_http.cpp\ GeneratedFiles/Debug/moc_connection_tcp.cpp\ - GeneratedFiles/Debug/moc_dcenter.cpp GeneratedFiles/Debug/moc_file_download.cpp GeneratedFiles/Debug/moc_session.cpp\ - GeneratedFiles/Debug/moc_animation.cpp GeneratedFiles/Debug/moc_button.cpp\ + GeneratedFiles/Debug/moc_dcenter.cpp\ + GeneratedFiles/Debug/moc_file_download.cpp\ + GeneratedFiles/Debug/moc_session.cpp\ + GeneratedFiles/Debug/moc_animation.cpp\ + GeneratedFiles/Debug/moc_toast_manager.cpp\ + GeneratedFiles/Debug/moc_button.cpp\ GeneratedFiles/Debug/moc_popupmenu.cpp\ - GeneratedFiles/Debug/moc_countryinput.cpp GeneratedFiles/Debug/moc_flatbutton.cpp GeneratedFiles/Debug/moc_flatcheckbox.cpp\ - GeneratedFiles/Debug/moc_flatinput.cpp GeneratedFiles/Debug/moc_flatlabel.cpp GeneratedFiles/Debug/moc_flattextarea.cpp\ - GeneratedFiles/Debug/moc_scrollarea.cpp GeneratedFiles/Debug/moc_twidget.cpp\ - GeneratedFiles/Debug/moc_aboutbox.cpp GeneratedFiles/Debug/moc_abstractbox.cpp GeneratedFiles/Debug/moc_addcontactbox.cpp\ + GeneratedFiles/Debug/moc_countryinput.cpp\ + GeneratedFiles/Debug/moc_flatbutton.cpp\ + GeneratedFiles/Debug/moc_flatcheckbox.cpp\ + GeneratedFiles/Debug/moc_flatinput.cpp\ + GeneratedFiles/Debug/moc_flatlabel.cpp\ + GeneratedFiles/Debug/moc_flattextarea.cpp\ + GeneratedFiles/Debug/moc_scrollarea.cpp\ + GeneratedFiles/Debug/moc_twidget.cpp\ + GeneratedFiles/Debug/moc_aboutbox.cpp\ + GeneratedFiles/Debug/moc_abstractbox.cpp\ + GeneratedFiles/Debug/moc_addcontactbox.cpp\ GeneratedFiles/Debug/moc_autolockbox.cpp\ GeneratedFiles/Debug/moc_backgroundbox.cpp\ - GeneratedFiles/Debug/moc_confirmbox.cpp GeneratedFiles/Debug/moc_connectionbox.cpp GeneratedFiles/Debug/moc_contactsbox.cpp\ - GeneratedFiles/Debug/moc_downloadpathbox.cpp GeneratedFiles/Debug/moc_emojibox.cpp GeneratedFiles/Debug/moc_languagebox.cpp\ + GeneratedFiles/Debug/moc_confirmbox.cpp\ + GeneratedFiles/Debug/moc_connectionbox.cpp\ + GeneratedFiles/Debug/moc_contactsbox.cpp\ + GeneratedFiles/Debug/moc_downloadpathbox.cpp\ + GeneratedFiles/Debug/moc_emojibox.cpp\ + GeneratedFiles/Debug/moc_languagebox.cpp\ GeneratedFiles/Debug/moc_passcodebox.cpp\ - GeneratedFiles/Debug/moc_photocropbox.cpp GeneratedFiles/Debug/moc_photosendbox.cpp GeneratedFiles/Debug/moc_sessionsbox.cpp GeneratedFiles/Debug/moc_stickersetbox.cpp GeneratedFiles/Debug/moc_usernamebox.cpp GeneratedFiles/Debug/moc_introwidget.cpp\ - GeneratedFiles/Debug/moc_introcode.cpp GeneratedFiles/Debug/moc_introphone.cpp GeneratedFiles/Debug/moc_intropwdcheck.cpp GeneratedFiles/Debug/moc_introsignup.cpp\ + GeneratedFiles/Debug/moc_photocropbox.cpp\ + GeneratedFiles/Debug/moc_photosendbox.cpp\ + GeneratedFiles/Debug/moc_sessionsbox.cpp\ + GeneratedFiles/Debug/moc_stickersetbox.cpp\ + GeneratedFiles/Debug/moc_usernamebox.cpp\ + GeneratedFiles/Debug/moc_introwidget.cpp\ + GeneratedFiles/Debug/moc_introcode.cpp\ + GeneratedFiles/Debug/moc_introphone.cpp\ + GeneratedFiles/Debug/moc_intropwdcheck.cpp\ + GeneratedFiles/Debug/moc_introsignup.cpp\ GeneratedFiles/Debug/moc_pspecific_mac.cpp compiler_objective_c_make_all: compiler_objective_c_clean: @@ -103,9 +147,141 @@ GeneratedFiles/qrc_telegram_mac.cpp: SourceFiles/telegram_mac.qrc \ SourceFiles/art/osxtray.png /usr/local/Qt-5.5.1/bin/rcc -name telegram_mac SourceFiles/telegram_mac.qrc -o GeneratedFiles/qrc_telegram_mac.cpp -compiler_moc_header_make_all: GeneratedFiles/Debug/moc_apiwrap.cpp GeneratedFiles/Debug/moc_application.cpp GeneratedFiles/Debug/moc_audio.cpp GeneratedFiles/Debug/moc_autoupdater.cpp GeneratedFiles/Debug/moc_dialogswidget.cpp GeneratedFiles/Debug/moc_dropdown.cpp GeneratedFiles/Debug/moc_fileuploader.cpp GeneratedFiles/Debug/moc_history.cpp GeneratedFiles/Debug/moc_historywidget.cpp GeneratedFiles/Debug/moc_layerwidget.cpp GeneratedFiles/Debug/moc_mediaview.cpp GeneratedFiles/Debug/moc_overviewwidget.cpp GeneratedFiles/Debug/moc_playerwidget.cpp GeneratedFiles/Debug/moc_profilewidget.cpp GeneratedFiles/Debug/moc_passcodewidget.cpp GeneratedFiles/Debug/moc_localimageloader.cpp GeneratedFiles/Debug/moc_localstorage.cpp GeneratedFiles/Debug/moc_mainwidget.cpp GeneratedFiles/Debug/moc_settingswidget.cpp GeneratedFiles/Debug/moc_sysbuttons.cpp GeneratedFiles/Debug/moc_title.cpp GeneratedFiles/Debug/moc_basic_types.cpp GeneratedFiles/Debug/moc_window.cpp GeneratedFiles/Debug/moc_facade.cpp GeneratedFiles/Debug/moc_connection.cpp GeneratedFiles/Debug/moc_connection_abstract.cpp GeneratedFiles/Debug/moc_connection_auto.cpp GeneratedFiles/Debug/moc_connection_http.cpp GeneratedFiles/Debug/moc_connection_tcp.cpp GeneratedFiles/Debug/moc_dcenter.cpp GeneratedFiles/Debug/moc_file_download.cpp GeneratedFiles/Debug/moc_session.cpp GeneratedFiles/Debug/moc_animation.cpp GeneratedFiles/Debug/moc_button.cpp GeneratedFiles/Debug/moc_popupmenu.cpp GeneratedFiles/Debug/moc_countryinput.cpp GeneratedFiles/Debug/moc_flatbutton.cpp GeneratedFiles/Debug/moc_flatcheckbox.cpp GeneratedFiles/Debug/moc_flatinput.cpp GeneratedFiles/Debug/moc_flatlabel.cpp GeneratedFiles/Debug/moc_flattextarea.cpp GeneratedFiles/Debug/moc_scrollarea.cpp GeneratedFiles/Debug/moc_twidget.cpp GeneratedFiles/Debug/moc_aboutbox.cpp GeneratedFiles/Debug/moc_abstractbox.cpp GeneratedFiles/Debug/moc_addcontactbox.cpp GeneratedFiles/Debug/moc_autolockbox.cpp GeneratedFiles/Debug/moc_backgroundbox.cpp GeneratedFiles/Debug/moc_confirmbox.cpp GeneratedFiles/Debug/moc_connectionbox.cpp GeneratedFiles/Debug/moc_contactsbox.cpp GeneratedFiles/Debug/moc_downloadpathbox.cpp GeneratedFiles/Debug/moc_emojibox.cpp GeneratedFiles/Debug/moc_languagebox.cpp GeneratedFiles/Debug/moc_passcodebox.cpp GeneratedFiles/Debug/moc_photocropbox.cpp GeneratedFiles/Debug/moc_photosendbox.cpp GeneratedFiles/Debug/moc_sessionsbox.cpp GeneratedFiles/Debug/moc_stickersetbox.cpp GeneratedFiles/Debug/moc_usernamebox.cpp GeneratedFiles/Debug/moc_introwidget.cpp GeneratedFiles/Debug/moc_introcode.cpp GeneratedFiles/Debug/moc_introphone.cpp GeneratedFiles/Debug/moc_intropwdcheck.cpp GeneratedFiles/Debug/moc_introsignup.cpp GeneratedFiles/Debug/moc_pspecific_mac.cpp +compiler_moc_header_make_all: GeneratedFiles/Debug/moc_apiwrap.cpp\ + GeneratedFiles/Debug/moc_application.cpp\ + GeneratedFiles/Debug/moc_audio.cpp\ + GeneratedFiles/Debug/moc_autoupdater.cpp\ + GeneratedFiles/Debug/moc_dialogswidget.cpp\ + GeneratedFiles/Debug/moc_dropdown.cpp\ + GeneratedFiles/Debug/moc_fileuploader.cpp\ + GeneratedFiles/Debug/moc_history.cpp\ + GeneratedFiles/Debug/moc_historywidget.cpp\ + GeneratedFiles/Debug/moc_layerwidget.cpp\ + GeneratedFiles/Debug/moc_mediaview.cpp\ + GeneratedFiles/Debug/moc_overviewwidget.cpp\ + GeneratedFiles/Debug/moc_playerwidget.cpp\ + GeneratedFiles/Debug/moc_profilewidget.cpp\ + GeneratedFiles/Debug/moc_passcodewidget.cpp\ + GeneratedFiles/Debug/moc_localimageloader.cpp\ + GeneratedFiles/Debug/moc_localstorage.cpp\ + GeneratedFiles/Debug/moc_mainwidget.cpp\ + GeneratedFiles/Debug/moc_settingswidget.cpp\ + GeneratedFiles/Debug/moc_sysbuttons.cpp\ + GeneratedFiles/Debug/moc_title.cpp\ + GeneratedFiles/Debug/moc_basic_types.cpp\ + GeneratedFiles/Debug/moc_window.cpp\ + GeneratedFiles/Debug/moc_facade.cpp\ + GeneratedFiles/Debug/moc_connection.cpp\ + GeneratedFiles/Debug/moc_connection_abstract.cpp\ + GeneratedFiles/Debug/moc_connection_auto.cpp\ + GeneratedFiles/Debug/moc_connection_http.cpp\ + GeneratedFiles/Debug/moc_connection_tcp.cpp\ + GeneratedFiles/Debug/moc_dcenter.cpp\ + GeneratedFiles/Debug/moc_file_download.cpp\ + GeneratedFiles/Debug/moc_session.cpp\ + GeneratedFiles/Debug/moc_animation.cpp\ + GeneratedFiles/Debug/moc_toast_manager.cpp\ + GeneratedFiles/Debug/moc_button.cpp\ + GeneratedFiles/Debug/moc_popupmenu.cpp\ + GeneratedFiles/Debug/moc_countryinput.cpp\ + GeneratedFiles/Debug/moc_flatbutton.cpp\ + GeneratedFiles/Debug/moc_flatcheckbox.cpp\ + GeneratedFiles/Debug/moc_flatinput.cpp\ + GeneratedFiles/Debug/moc_flatlabel.cpp\ + GeneratedFiles/Debug/moc_flattextarea.cpp\ + GeneratedFiles/Debug/moc_scrollarea.cpp\ + GeneratedFiles/Debug/moc_twidget.cpp\ + GeneratedFiles/Debug/moc_aboutbox.cpp\ + GeneratedFiles/Debug/moc_abstractbox.cpp\ + GeneratedFiles/Debug/moc_addcontactbox.cpp\ + GeneratedFiles/Debug/moc_autolockbox.cpp\ + GeneratedFiles/Debug/moc_backgroundbox.cpp\ + GeneratedFiles/Debug/moc_confirmbox.cpp\ + GeneratedFiles/Debug/moc_connectionbox.cpp\ + GeneratedFiles/Debug/moc_contactsbox.cpp\ + GeneratedFiles/Debug/moc_downloadpathbox.cpp\ + GeneratedFiles/Debug/moc_emojibox.cpp\ + GeneratedFiles/Debug/moc_languagebox.cpp\ + GeneratedFiles/Debug/moc_passcodebox.cpp\ + GeneratedFiles/Debug/moc_photocropbox.cpp\ + GeneratedFiles/Debug/moc_photosendbox.cpp\ + GeneratedFiles/Debug/moc_sessionsbox.cpp\ + GeneratedFiles/Debug/moc_stickersetbox.cpp\ + GeneratedFiles/Debug/moc_usernamebox.cpp\ + GeneratedFiles/Debug/moc_introwidget.cpp\ + GeneratedFiles/Debug/moc_introcode.cpp\ + GeneratedFiles/Debug/moc_introphone.cpp\ + GeneratedFiles/Debug/moc_intropwdcheck.cpp\ + GeneratedFiles/Debug/moc_introsignup.cpp\ + GeneratedFiles/Debug/moc_pspecific_mac.cpp compiler_moc_header_clean: - -$(DEL_FILE) GeneratedFiles/Debug/moc_apiwrap.cpp GeneratedFiles/Debug/moc_application.cpp GeneratedFiles/Debug/moc_audio.cpp GeneratedFiles/Debug/moc_autoupdater.cpp GeneratedFiles/Debug/moc_dialogswidget.cpp GeneratedFiles/Debug/moc_dropdown.cpp GeneratedFiles/Debug/moc_fileuploader.cpp GeneratedFiles/Debug/moc_history.cpp GeneratedFiles/Debug/moc_historywidget.cpp GeneratedFiles/Debug/moc_layerwidget.cpp GeneratedFiles/Debug/moc_mediaview.cpp GeneratedFiles/Debug/moc_overviewwidget.cpp GeneratedFiles/Debug/moc_playerwidget.cpp GeneratedFiles/Debug/moc_profilewidget.cpp GeneratedFiles/Debug/moc_passcodewidget.cpp GeneratedFiles/Debug/moc_localimageloader.cpp GeneratedFiles/Debug/moc_localstorage.cpp GeneratedFiles/Debug/moc_mainwidget.cpp GeneratedFiles/Debug/moc_settingswidget.cpp GeneratedFiles/Debug/moc_sysbuttons.cpp GeneratedFiles/Debug/moc_title.cpp GeneratedFiles/Debug/moc_basic_types.cpp GeneratedFiles/Debug/moc_window.cpp GeneratedFiles/Debug/moc_facade.cpp GeneratedFiles/Debug/moc_connection.cpp GeneratedFiles/Debug/moc_connection_abstract.cpp GeneratedFiles/Debug/moc_connection_auto.cpp GeneratedFiles/Debug/moc_connection_http.cpp GeneratedFiles/Debug/moc_connection_tcp.cpp GeneratedFiles/Debug/moc_dcenter.cpp GeneratedFiles/Debug/moc_file_download.cpp GeneratedFiles/Debug/moc_session.cpp GeneratedFiles/Debug/moc_animation.cpp GeneratedFiles/Debug/moc_button.cpp GeneratedFiles/Debug/moc_popupmenu.cpp GeneratedFiles/Debug/moc_countryinput.cpp GeneratedFiles/Debug/moc_flatbutton.cpp GeneratedFiles/Debug/moc_flatcheckbox.cpp GeneratedFiles/Debug/moc_flatinput.cpp GeneratedFiles/Debug/moc_flatlabel.cpp GeneratedFiles/Debug/moc_flattextarea.cpp GeneratedFiles/Debug/moc_scrollarea.cpp GeneratedFiles/Debug/moc_twidget.cpp GeneratedFiles/Debug/moc_aboutbox.cpp GeneratedFiles/Debug/moc_abstractbox.cpp GeneratedFiles/Debug/moc_addcontactbox.cpp GeneratedFiles/Debug/moc_autolockbox.cpp GeneratedFiles/Debug/moc_backgroundbox.cpp GeneratedFiles/Debug/moc_confirmbox.cpp GeneratedFiles/Debug/moc_connectionbox.cpp GeneratedFiles/Debug/moc_contactsbox.cpp GeneratedFiles/Debug/moc_downloadpathbox.cpp GeneratedFiles/Debug/moc_emojibox.cpp GeneratedFiles/Debug/moc_languagebox.cpp GeneratedFiles/Debug/moc_passcodebox.cpp GeneratedFiles/Debug/moc_photocropbox.cpp GeneratedFiles/Debug/moc_photosendbox.cpp GeneratedFiles/Debug/moc_sessionsbox.cpp GeneratedFiles/Debug/moc_stickersetbox.cpp GeneratedFiles/Debug/moc_usernamedbox.cpp GeneratedFiles/Debug/moc_introwidget.cpp GeneratedFiles/Debug/moc_introcode.cpp GeneratedFiles/Debug/moc_introphone.cpp GeneratedFiles/Debug/moc_intropwdcheck.cpp GeneratedFiles/Debug/moc_introsignup.cpp GeneratedFiles/Debug/moc_pspecific_mac.cpp + -$(DEL_FILE) GeneratedFiles/Debug/moc_apiwrap.cpp\ + GeneratedFiles/Debug/moc_application.cpp\ + GeneratedFiles/Debug/moc_audio.cpp\ + GeneratedFiles/Debug/moc_autoupdater.cpp\ + GeneratedFiles/Debug/moc_dialogswidget.cpp\ + GeneratedFiles/Debug/moc_dropdown.cpp\ + GeneratedFiles/Debug/moc_fileuploader.cpp\ + GeneratedFiles/Debug/moc_history.cpp\ + GeneratedFiles/Debug/moc_historywidget.cpp\ + GeneratedFiles/Debug/moc_layerwidget.cpp\ + GeneratedFiles/Debug/moc_mediaview.cpp\ + GeneratedFiles/Debug/moc_overviewwidget.cpp\ + GeneratedFiles/Debug/moc_playerwidget.cpp\ + GeneratedFiles/Debug/moc_profilewidget.cpp\ + GeneratedFiles/Debug/moc_passcodewidget.cpp\ + GeneratedFiles/Debug/moc_localimageloader.cpp\ + GeneratedFiles/Debug/moc_localstorage.cpp\ + GeneratedFiles/Debug/moc_mainwidget.cpp\ + GeneratedFiles/Debug/moc_settingswidget.cpp\ + GeneratedFiles/Debug/moc_sysbuttons.cpp\ + GeneratedFiles/Debug/moc_title.cpp\ + GeneratedFiles/Debug/moc_basic_types.cpp\ + GeneratedFiles/Debug/moc_window.cpp\ + GeneratedFiles/Debug/moc_facade.cpp\ + GeneratedFiles/Debug/moc_connection.cpp\ + GeneratedFiles/Debug/moc_connection_abstract.cpp\ + GeneratedFiles/Debug/moc_connection_auto.cpp\ + GeneratedFiles/Debug/moc_connection_http.cpp\ + GeneratedFiles/Debug/moc_connection_tcp.cpp\ + GeneratedFiles/Debug/moc_dcenter.cpp\ + GeneratedFiles/Debug/moc_file_download.cpp\ + GeneratedFiles/Debug/moc_session.cpp\ + GeneratedFiles/Debug/moc_animation.cpp\ + GeneratedFiles/Debug/moc_toast_manager.cpp\ + GeneratedFiles/Debug/moc_button.cpp\ + GeneratedFiles/Debug/moc_popupmenu.cpp\ + GeneratedFiles/Debug/moc_countryinput.cpp\ + GeneratedFiles/Debug/moc_flatbutton.cpp\ + GeneratedFiles/Debug/moc_flatcheckbox.cpp\ + GeneratedFiles/Debug/moc_flatinput.cpp\ + GeneratedFiles/Debug/moc_flatlabel.cpp\ + GeneratedFiles/Debug/moc_flattextarea.cpp\ + GeneratedFiles/Debug/moc_scrollarea.cpp\ + GeneratedFiles/Debug/moc_twidget.cpp\ + GeneratedFiles/Debug/moc_aboutbox.cpp\ + GeneratedFiles/Debug/moc_abstractbox.cpp\ + GeneratedFiles/Debug/moc_addcontactbox.cpp\ + GeneratedFiles/Debug/moc_autolockbox.cpp\ + GeneratedFiles/Debug/moc_backgroundbox.cpp\ + GeneratedFiles/Debug/moc_confirmbox.cpp\ + GeneratedFiles/Debug/moc_connectionbox.cpp\ + GeneratedFiles/Debug/moc_contactsbox.cpp\ + GeneratedFiles/Debug/moc_downloadpathbox.cpp\ + GeneratedFiles/Debug/moc_emojibox.cpp\ + GeneratedFiles/Debug/moc_languagebox.cpp\ + GeneratedFiles/Debug/moc_passcodebox.cpp\ + GeneratedFiles/Debug/moc_photocropbox.cpp\ + GeneratedFiles/Debug/moc_photosendbox.cpp\ + GeneratedFiles/Debug/moc_sessionsbox.cpp\ + GeneratedFiles/Debug/moc_stickersetbox.cpp\ + GeneratedFiles/Debug/moc_usernamebox.cpp\ + GeneratedFiles/Debug/moc_introwidget.cpp\ + GeneratedFiles/Debug/moc_introcode.cpp\ + GeneratedFiles/Debug/moc_introphone.cpp\ + GeneratedFiles/Debug/moc_intropwdcheck.cpp\ + GeneratedFiles/Debug/moc_introsignup.cpp\ + GeneratedFiles/Debug/moc_pspecific_mac.cpp GeneratedFiles/Debug/moc_apiwrap.cpp: SourceFiles/basic_types.h \ SourceFiles/logs.h \ SourceFiles/apiwrap.h @@ -396,6 +572,10 @@ GeneratedFiles/Debug/moc_animation.cpp: SourceFiles/basic_types.h \ SourceFiles/ui/animation.h /usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.1/include/QtCore -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1/backward -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/5.1/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include SourceFiles/ui/animation.h -o GeneratedFiles/Debug/moc_animation.cpp +GeneratedFiles/Debug/moc_toast_manager.cpp: SourceFiles/ui/toast/toast.h \ + SourceFiles/ui/toast_manager.h + /usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.1/include/QtCore -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1/backward -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/5.1/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include SourceFiles/ui/toast/toast_manager.h -o GeneratedFiles/Debug/moc_toast_manager.cpp + GeneratedFiles/Debug/moc_button.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ SourceFiles/ui/twidget.h \ SourceFiles/ui/button.h