From 12bcfe3a28479ce78cf32a39fc463888c3c692b7 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 6 Dec 2015 13:32:13 -0800 Subject: [PATCH] Add 0.9 release blog post --- ...nary-sensors-and-influxdb-support.markdown | 51 ++++++++++++++++++ .../lock-and-rollershutter-card.png | Bin 0 -> 10823 bytes 2 files changed, 51 insertions(+) create mode 100644 source/_posts/2015-12-06-locks-rollershutters-binary-sensors-and-influxdb-support.markdown create mode 100644 source/images/screenshots/lock-and-rollershutter-card.png diff --git a/source/_posts/2015-12-06-locks-rollershutters-binary-sensors-and-influxdb-support.markdown b/source/_posts/2015-12-06-locks-rollershutters-binary-sensors-and-influxdb-support.markdown new file mode 100644 index 00000000000..d739f40b554 --- /dev/null +++ b/source/_posts/2015-12-06-locks-rollershutters-binary-sensors-and-influxdb-support.markdown @@ -0,0 +1,51 @@ +--- +layout: post +title: "0.9: Rollershutters, locks, binary sensors and InfluxDB" +description: Version 0.9 of Home Assistant has been released. +date: 2015-12-06 12:29:00 -0700 +date_formatted: "December 6, 2015" +author: Paulus Schoutsen +comments: true +categories: release-notes +og_image: /images/screenshots/lock-and-rollershutter-card.png +--- + +It's been a few weeks but we managed to polish a nice new release of Home Assistant for y'all! + + + + - New [lock component] including [Wink][lock.wink] support ([@miniconfig]) + - New [binary sensor component] including [aRest][binary_sensor.arest] and [MQTT][binary_sensor.mqtt] support ([@fabaff]) + - New [rollershutter component] including [MQTT][rollershutter.mqtt] support ([@sfam]) + - New [InfluxDB component] to store data in InfluxDB ([@fabaff]) + - Thermostat: [Ecobee] now supported ([@nkgilley]) + - Thermostat: [Homematic] now supported ([@goir]) + - Support for [parsing JSON values] received over MQTT ([@mcdeck]) + - Bunch of bug fixes and optimizations + +To update, run `pip3 install --update homeassistant`. + +[lock component]: /components/lock/ +[lock.wink]: /components/lock.wink/ +[binary sensor component]: /components/binary_sensor/ +[binary_sensor.arest]: /components/binary_sensor.arest/ +[binary_sensor.mqtt]: /components/binary_sensor.mqtt/ +[rollershutter component]: /components/rollershutter/ +[rollershutter.mqtt]: /components/rollershutter.mqtt/ +[InfluxDB component]: /components/influxdb/ +[Ecobee]: /components/thermostat.ecobee/ +[Homematic]: /components/thermostat.homematic/ +[parsing JSON values]: /components/mqtt/#processing-json + +[@miniconfig]: https://github.com/miniconfig +[@fabaff]: https://github.com/fabaff +[@sfam]: https://github.com/sfam +[@fabaff]: https://github.com/fabaff +[@nkgilley]: https://github.com/nkgilley +[@mcdeck]: https://github.com/mcdeck +[@goir]: https://github.com/goir + +

+ +

+ diff --git a/source/images/screenshots/lock-and-rollershutter-card.png b/source/images/screenshots/lock-and-rollershutter-card.png new file mode 100644 index 0000000000000000000000000000000000000000..da4a523f22d0ac62af4f9fb7726ea383752b2f12 GIT binary patch literal 10823 zcmbt)Wl$VIv*6+^K^KB+ki{*yv$(ql3GVJ5SO^dxIKkQAgvH$mO;4+)v|IPft%TFE6*Zw~vpHmzS3p7Z(o?4|{uik&%(Ve*MD3 z!$U?!-r3&HZ=SfnzwhhoTV7t~v`iiu84-2PIyg9(pP#?JzHVu5Zf|eDxw(mtkH^Nw z?(OXz7#M)V;ay!_2?+_PsHn-w$#!;j=jZ2VXJ_Hz;cRSd>+9>2lam=48O6oLfq{W- zZEcyEnZk}4G&D4ahlguxYaJaOl5W}h`ufq)(IFuro}QkVn3xzC7)M7(Fc=Kto+B$O zD=I2VNlB@qqLQ7R?da&ZySv-e)KpMV00x6+XJ^f#Dgc=WLqkL5<>ggXRe5=N1Ox;p zCnueqowc>KoSd9dQBk2|m#3$vi;IiX)6->TWoc^pVZaWEiElqS69cz#wsc*e0_a+czA+` z&z6>!4$rRn?b3~mj3gu^l>NT@`}>=im`qGe7(&a($H(=<%lP^E+7AJoo}B0c(rfz z^z_);+Un`)CCuLV_3U|PG^eJfuI!#7W$pp8jsyCC>4cV8TU)y~ExXpv#Fh2Qc;?j) zF0o|KMizEECDol>-ERN7m{~tU&)mkz-qy|gX%$x$Gj%mEw?&aLpHw+uU)UXz*8xa7 zxIfx%8eauvtg7Vnjh{Su4PR2_Z{`iHRrbz1mk$nfwXvBeUEMui9UnyXZiwcNJHf{q ze-!WByxc!N*YDhyt=~!h*!Wm7*il{Hz5kfAbUU)Rce=e+)-|hCG}YMMXP(z4mDFsK zUbp!BId%T_cz;*7daZwK(yL~o?dPCJL7RU;^XHNV&f?9<#Z_qQykW&$X?^RrvYO|| zhlRDx{ndrq%8G)rA1XLSRR92(T0vS;+jr%(=hMIU4hYSEEh8#J{15s+HtWqlAxTlY z0`Xm@ZD;Wus2}hTnen+r6vy7lHfXb>F%mjGIL(ZOb%)mXDlQa%S*V5YKV2y~?c==e zb!DtmfORo$$!>yQJoEV5E@wUNTP8!f28bep_8^}FwW`Dc?0RctI(C}3K7#x zSEmAgv2cihaPBo~=ByGS{)iZ~5ar{3uwIjH)N)B*=)&3*RE=#Acn|A$gMw`*CEnV- zQ_Pp8q#3WdumfO(_Kjk{ho#Sa#tO>JcGHXt@+VJtOT8mtGnXM5pNrfZifOiHLqA|> z$OijtmGV>;FZziQPX%77%i`*Eq1_cYbFere!EVy=7GuwNXu^jW*kaO(M*Fz6-aXGb zhgU%Oal13td>;P^^d-N&RLw(QG)pQlXts;|wl@nDRikT7$CL2WF*I0ZsF`$NOOP8~ zSiS4lh2&Re#&sUhNWAupv(pn#_>P8T*EB+Q#@zW;x;h0XXrzJ$rov{yP8W}70asQV zYK1fQY#@PZ=fMQ-Ws+oeedhw@IQ38hgJG=b740X1AIP`RKs-mGTcuHHT|pPR!oGB; zCr@Vs-Jm{wmRS(!M>#jQ92%W=NU0Nzpz~^m53Eo2`_1mfzh~e~4OulX0rjPv?wgHp0=) zP>s>=t9>8m)1y^X0}sxO)~I?%=|iT1t-^-CA_G@q2B-m=qGg#W(U=~^`cKB66RXy6>(?6p>NKRKJ~>1%4mF}P3C;G*HjytS1D#1Gnu`2JCP3iL<1@{qMvLMJ@`~h!;0c%#ecViFXtH)nlt9%%qx$bvfn~0&y|ia z!F`6Aa{Z@_ct8$qFL<2>1cHZP&kakqJEdjOP>pJ!`uaWAo=EP^Z<8a(goL7~aclf1 z@&Q@c#vR*#xH!5u7Vl{qA{@)7wHVi5v`TIIS6!OsYm5YF7J@|>gX!azl4V+dY`gU) zH4HETJZ$kxes{?ZjNqB8zQ)GB|9y_t}-^Y z%oJZ}Tke6Iq<1;fzY5%-cZF2E9sx62ElM$8lM;MMk6E}sm?oNL z^B#QRip>)ipz+_6xh<9_9sLad5%_L!B_T247lfE3D~s zL**velC=eQZR)t85MLt-8NPwM<)y2X2puH|A9P88H{8q>Jr>uOYINRwMf8wkQ3uAW zF~-c(%e+>~+_al1ya-hDcbk}kvIZ<|@X^6;nB!9xD;TNclspqxM1QzLI!7qT_D$*O z_Q#^CTN|wpD%QEgF9ssWU%pt^92b9b*X6ch3A$IEB8kZ~u%*vwY0k+w8{6((F7(Ky z@-%v48`FJKb!%F_?a0ooiTBj`AWFT2?cDR8W~+*?Y}%yhK)bq% zvkBUne2~5B-dxk1($q7l6r-nqvf_HlA+hp0lowOk}zo?8`*E8XKAI^jO?((P)o9 z7uFbSm_p*cCsvv86lx{OzkuvBMZQC|Z!3nWg>7W#{1^})b{{PgP?GcEkzB+YE|3L# z>|9>;yn3k6x&p|Ka9*JUXsk1o{IQs-LU%@CCAt#R$`t~xpB1?lI8XL(qPS5P->1Hv z$@CIHHdz2&liPE$J|G(_z)l6%8kt`AUbk~~^fnG2Sr6qFVL2;Wm8XRt zmd@*~k~cQ#je8_Y6{c>EtO**?5dax9;rnCDx=!tL(wettTXAM%*319o_sPF`8U7@Syy8zoKN z1`IdT^ukl=$$xp&ot>w_&v#e*O)hPw6T#D3*1EBT%bbS5j)0q|$J>*8 zu$VA+7_`02LBaX{2Fw#}tE!%(ENvup>) zypLiO?ct9E*H27l?AdRjg2o!!V}}xB9H&n(WUXVMFK$!_n1x@d)0gk2-HM+lp7qq6 zy}Z`_uZ~}H&TXi~(=tRSrtObbSiN-2 z4yt}N6|$P8{h7z0J(7s@{$-nW^fy%Z_xZ;Vd$JQhR0V#4){1{VIN#R}!SB!?9Y80l z+$r;eVQtOK>LhCi5iz4c$C3!1(H0YKr|LtMccBP$;f~tOGbbj&$Dqp_e2Vo}k79Pw zd}28(Y*EuX&+(3u`wJ6sKCAH#6}dmY7?%iTrywvtwpwWdStK}x19ZjXMs;D%{GtO9 z!@ej)`QS{aVyHY`h-#wHsu-dZfdK4L-+c2l^=g33Gk0*$Azr9=gcZm0-Q{#WKwry> zy!&$Va%(y02QOjuINU9f&zxFo4z&SZ!Y~DqaCUp2wExqIUfohbe~Z4wmVm@6)3W$` zlHOeIod3)qc$D4V=SRtNN6AyyJvlKE1#T9h$ctErFZoV(NTA>3bFPm~6&p@&%gg0@ zi7MQGdr0$nMCwOi&YSg26i-Q{26cA@h}Ycu2LAVg(!(@u+@dQw>pl&6G6h~4sco+> z@Srxr^CU?UFHs~`CNF**IoPoCYx?2lU;CeCXxQYwCvel?$J;oj4N&IQZ2VU#O#7Np zx$qD^RE~~aH_B>xDFhbN-+mgxDVE}ALgfPj2~%fl=g362oYk>#c%Zc_WQ)3v?kgUC zOs-4|loQ_W!mcg9KZVN`q`_2uUZ5EI6{uq0eof^pz}e8^R83?W_$LFt8SI~;{Ha}j z{iP@VD;yQRdE$<zFjD;J&N@b2L z1;Xe$Ddwbp=zqN71iBd$tSPMOh zrf$fmLKTU(F_}vYZ*2!ynK2?6q$`P2i84~$u1EMU+ZpP&4!)0!G|VvACt{$F!&8Jk z8~@Ok!!Q8fE7_X_9qOox&sqAR4DX*tt4t2BNHTFrpeAC|4H*P`#>X4*kdgNh7~*>S z8*8RV*fGGmHVpkKkU3(*rdW*_D$w%F zZp}hS5FT>j1&UjgJYwZX#}dbU%`|1kXMRz#9UKBasvQYlnGqXyx=aqi8bTRbcD1rP zzoY!R+z8+Bw+zY60X13LIDA;RFef~ zZPCR#J=P`#eJoX{y`x6YPjCCO9&wdkM#S*6m$ zwimjB$@Iv|7CtlLo@WFYFsx$GPwi+Qf3P_Ao!5mAvtRMu6`1E5Tf#QX*JWuQ`g2f7 zPRVw}W+FzJmjTL9ckT2OoFa70cw-=0kBJXSUb#dX|H;7f^a1_ffYM-&k{uRO^UkLQ zRLim2?9{a$4}?X3{$NPK2g{wVe3SEM!oZ*80CIQMX5#1SbKltFt&FZBaC6zXt-B|7 zLF&Zp`A(gF@;XE#;Na?OsPD%`<$rt;lg~8Hd3T3IvPwrykB=Z)AG`S~Xxcd<;p;H| zH{8t733A)(PT}p}M50-88=D?i8dgz9?sU>fC*v%6xRWa%k)iA?8<$v4;~N_%t`A?{ z1Zc{wlm;N(iV+B_lRYP+NDx;a(3>t6y5GS zG`)#cpE^)eYfLCh(CxnFrwQn;Jl87m7Jtim9|J~SK@^LX&ROaOKrDh+DOx__4438| zDxddG&wa!fdNs-)t{a`Jf<~Q<`Z%{)d|fK ziXS(lX)Y7NHMEFa+87tUJ z=U-ele3P|wI+rOVmahS=CJ>T*g}CBPWAUXjowhcX;6DsMUQbP`u)HW=P4M+`DO|SR z2ZQ@+R?q&>7h-!Tu>tu=d~GRi4L!7-A&JPAd`i2R=`rJUhG3*9?Dr(&>^?bc(AUmy zkKMzi$W~$XeP^l)hyVi^`#bw&5NheWbwVF!Lad6ydFOOtZv`b%-0usr>HRs8d4n;i z+pn;RaRh9P9|5~OEym_VXoZ*%;M zs!mOJ-u*t2j0y;>wbrhwYWwr+F%}G)r-vK5$0p0te;JxK&{IY#P)q?Z8av0~hGPF1 zMZ;z2Lm1Q?0!&$FEmK;O2%+5UEEWw7_1LB*g>$lfdfjcWuf@Exdw2Ya@f+R% z8dL;}%e;YxE|X{O&u&ewwkF>FF!mmQPFCC9>qdE%W@=JcA10RTBmRo`0o2fc_9N-D zS_!lgokcHvuAjm#C;UQT2s8}XuCK>dDGd>n)Y(DS^;F?mPoIkMHQP^@t_yL)uHF+u zlaSZucAfEh02&X4Ta$rEcUiP`C^EZ(1s3M(Y$mNWCvyu#jh}->^hoscIGSSW5ks6e z>u9M3y2-BgbGDE&IS3+_G-F@E?#tcL^4kcbc(f-<@^5F2Bz|S`TmZQYcrQ`!Jh-me zD8eLR3^&5n98Fmaf<8ic3XG5!;@ zHk7^z{yR4TCRE-m@Grj`;8Y-s*qn^efc>2o_pb|!^U#p*_Zm0-ym2TCSu(g#! z{Sg@bo{_V?_I6D;+XJ4u4f|Sdo$Qyed0%)TR%^9i)X1@VBqizD+-B|NulwAkY&$Uo zjHsxoa4;U6DJ4Ei&CpCs_+F-LgFlkSjRefFuQN6O}>6M(Ud&Vli-K zt@}#$?{30mEd!e2n=b17ybt^H$s)uo4C5 z^|~~;VES^vPGl^EPta95s~iFLWq=0GIhjcS*M2*vhk~b5j5wc!5k1DZ$3ndE@VFM} zB;6RLWY_-xC}8btk?D-dYTh4#kEgF!5e7lY{0k9$P z(w8(0-KkIsD8Vw$OJb4pM$$2bQXbu*lEWJC(CUehkW|jb;BHo4{LH zL&-PR(|ZF@U^?}pkxxJV^v_4p20)~ykbj~R1i}p&cM>i?SK)GEidJGE4rH_m3H}hU zidzOx9y1G;FRF7rtd}3-A19p?Z5Om9y2mX-KV$C)Y6^~mSLdJNE{Yx<=j$G?e zk7p_71CQwAQ&(zt%$hcT2?$En{R>Os8j*Pn6{Nvm&ttRVnyXWcL=KiiZJ5BG(v)HG_dXiawsv z&Vt66Vge~Y?pMp&TBNv*Rsjn)!P8|OoAVbqA@>2xlEmV{fuW(pEX9Xzf4$0yY3Lv8kO(VC=@_hIs0u7Wf(xdBx!rcZ_5FtZEev%%wtG5rRG|<3-y=_uH z2s#ZE_x}w{iJz{Ys2N!S1}`_02eWfcY?YiGfUBN*)4J2(fvJxoY%KF&N$`sQkWi*;5-*1LIZ2dD;6LJ&7a z4h0XV-2Y{x{%>7WWM$VYT7W%sgP8(lFh``Gc1k<69(MH>#q(I2sTObKOp8>6?t0!y zlz7*Zi+Fn53+QRo5pmi$V4?fZNbDsV$^Q*7bDm5nL(rEW!DMXA#_*qv|FQR2@;jk2 zAy}NQ*Q3x-xnxd}@1_>xyR0{VWC6b)WKDrizkmw~VE=76L=P!8uIUiL=wzK?Srn*~ zlq4%c_t(E31GFwPvq_8e+oT~#UA83ib3)E9UU&q!FGo780k#5|8ow^|CTz=I_x>D8 zq1~9CfU2FpM4S8(4dqU}ATT{e!n};yy8%5vy^mn2A;jhGHV;2Zqfp~i>QOU#R3QV( zUXe&hYqe^n$Xt@MezzLOj4{w|(3&-ceuY`Lg#Y!VhafIW;&ZrMzr?vzls)l5!DukEHq z0r#efib5 zrtZfB%w(EULq`HxRfKLU8y^Vi$gGZLa~BcJ-?U%^Rexgjnjpic)MU-CPtsn?U5uDa z$WSH0bja1Y9y*m~^?%Dv)Z&Z`@!lap3WQ??{YM!6v-xDhT0U2P8d_?K^b7#&Sm6>F z`DsxG#{IWJ01(8xjGFyQi9}~V!zvHteFns8<8p9oE7TTBi)Mrg`mcW;wWJ6D%2;4G za;c7_a(c?OQ3Fe!ilD_qB=mIlldag98K_{(8TlPHs8w+QfZRtr`1PoXzwY5Y%M?2? zfiLeS?>>d#RgmUT5H1BsvZNTRXi}lkPV%Q$vQ3JZk+W`$wXT~~vc6$VRQzZtPvPBi zWy90!D}_tDSin%9eAfotSF7DpEb1i1qdSzr=-%vIfQ-*vE4P3D%Y)&dfPa-{-K$|2 z!eM|oNMRr;9{hY`g!cL}!_w7td5?b#F0)Kd)Bc6SP_KAS-po$Nj>m7w$Nio?;{)w9 z0u$`MrvjhXJHvwRTzu0U`VJD7Ic&S*49UIJ0E}Q=ook^dYjiP_&k^FCv%| zO(9Y>y0H!cwgH`3|IszzuE?g=?{qkwN_>oUFS7aD=2ilQd})qI2q#Q;M|PV0a*4$0 zuOHRQdtgJtVYQOaXXN=@kc9KCvKLm~s!+ldv(k{t!UY3?c%FeW5H5{nIQ!S|GrvEH zbFDEaiAUIO{K$ox*!9w^f&AMb*XHDv-zrJlZ_q$72}P$sNfq|!UhJ48Rv^=fyycq5 z+t7Es8@cvrHfoGDE`+3aj^RwU)6PhqDyyqvv*Et=uPZHt!B(llLSMz*j(3Ub9&X^^ zJkis2Ajeq3{q;G+9Gn+DH0uMJR&|gJ!5#ga^g=a@17uDn?eq`=II_Go{0Sb)Rd)+k zmO^-_QgWbaZTsfl&+HFS_M51HkJ4z@v-T@?Q*d?2ejQXIOxvjD3<>i4B>t;375|JZIc&~KWjf+Bm(dh+E-XUPfqX? z3BgOs7oBJNX&(H=tz?)UuUoxBQWz~?Y+)(~;8TxWFv{_+iIoHIPR`?0A5ul>1>V4hh>NbzUZN7LEh4yrf^yd0sv)Jxuuc&00~ zr(KEStvFXTC7Ov#9^T>7>#z|(R`^BwD;Ka;$}mpUO~LfhuXVwN@T5N42Ac_iiZ<&t%uwynIx*lQZ=q0SSu=mYXgBT5lsm2Z=;f4<()qxH+U z<0+$*^-=bt((w17|FlesgZir4D=Q~#3!D_>WRD~9XlZCtWEo`91aWtBDb)Ww6m{sA z7naK8bzI~0GXePYp%|b_(R3kxwqX>PH-6|+k|z{j4MwmlP8xRVb2!N}k5J}lKu!t8 zZT1Ly)ucj!&NetH0?L1_sB)^<7#U71c>-4KSG%R{!PRn{A2P3L#*MQ8v|r_=P=5Ab ziKLlV^T8~ijm12I+SfF^hSdvs8AZJ)+`o#U}*{Is%ng{}#e@l4J(| zvcsMW0`k6Q+5dGRT65E4Gm`ok&Aax9L#mm~is1`c3(2$hqamjx$HZwxEsDfoQi}rj zy;8XAsy{@K5r)^;a5|FU|D6N|-Oe5+<#lcY-EdU&8x4P^VUNGbiNwB)vhD$hRpL`RAiUt)x8hagho9oj);Vs zYedCapkz%0HLv!~U!|knuivV~Lw<1$D~Si@Y&`AI=i=TkE`}3+5Q|xd=BJQi#Jv^k zg?b)KG(vUDb9*n%fTGt=Xk$30V&fp8+hd$xa6Q#aXfqn@X}<@hjM|KYW^&YW!FTt>hp=Zdo%dg;Zn+PdK)(K= z6nyGU;^FotZ57spprGqjhwTvf{F5v@Sqg~oE3);OCmsC}id|WBNPU_-3*;4w3GbhH zC-Uw4PrK_iK7zVQW=a~-U7 z;dy|;G_j2b_#jcaAt7NRJ>f3_d(IH;k8i5C_*q=uZc84y(@;vItDJP_kPD{a#=hemsBqzn9Q+zP+;f z?a(z9dCa>s2*m4F)^bRO1X|+hk0HUQ`TpIhvL2$u?Yq)IU2qr^h>2LEP+NS)?=h?t zQHspwErA_(QB|?0sdT-3Qw83+^WHEu3yAyuPDLcYr#P4v_JT;hV$1TewkrIeM9jrX z2yg?qyrj}mQ9N}~m&%|*&D%`P&ehAUW`hqymXC)>LoZUc>XBwyIqe7k2-em)?IMVo zbtr6SYU!3ncZ#teK`?uYedWYSINO8|&&n$!{493z{^1S(sH3TYdjLfwOzjgg9`&L-K zkVw_)+MR48KuFiQY?|%9>`RYTx&x3x(B4p}?>4_6kZE8rM9dMwya_Kfkcf1cha*ul ztY!rQELFVRBy=ta)CnupsO~dnLXI{nA)I=ZUI5n*^8nld=Aze7t_G?2-}OjIZ#)7F zSjUX>0gZE#0PEWXa*59YKXD%Bng{>{{QR*mC{=&3Xd^paCvpJCEgoF)7K54}?}sSp z)@kqAuzNOjigdGT!0pWd1|D7nYX_nFEOosW)TB=i=K=U2)OA+6{W~iJkbTYDZR;GW zSekgu0wm0{Ow@!@W`Ko`izKF;G-uI9F~oIHEl;mtv_%g&a{6<~&%-M5#~XYD5x?Ua zH8*q)y7HuG6?&OSdQOai6rRwGTWl*3DG;^$=y~p5;i#-Nby*~O!mtWDnZ?8Gieo4+ zB`~FfmLCW~VQ_vA<62VcDMh7yiHmNrxZAn^DjIZ5U6zm2*+bLs)DhDGEgv&$L{#OZ z*oan!AeH>+9s-YCBu@nfXM=>HKvzc){D!QfX?^dt1dbLfU4lxrk692VI*3Obb zm5o|-=yn^7=Dj&%LF;%rCEDDYy3&pFbRpyp_oFcb6g+D|5ID=9Cm=){Ip`OzQ5D~E zrT5L%!PEsqIwl$IXRb?*q0QU9CXj(vG6Kxo`NO4m>ARHBW0b<_C?$a~s3#t6zgYQr z>!_?HrmV7AOdb;Muaq;y9h$%1+oH7Y2gTnNYzTGhoEOZz1>y zH$ifr0JPn^gX^8*tOqok**(!EFdJAhEG>%;!;|{7X0+$N78LCi4dEPN!hg*IqMXb; z1D#zcsoVM4f}}s1wnXtD9AU&H3>~*t7jTgP3ba-M%FXFLm~74v*9p6BOjhsX9yf60 zX|Fk#gZ%6PTlc2&P}dS2V$4RF1f@ifha}jSi59aI0OGo zk4arOeGb4J?*9`9(|27A(8_lK=ouA#l zIK{KveNkV<1gNR05Qp9 z5G@=gLyvd%Z=z-*E61Q?rTDkIoOd8?nd=tbngz}9CTh|ywq&t}#CJvK>n~;GKIoZ0 zq!5d)?)hG}1kNuCMmI(pD_f(&yN>?3(=p2UK2ZO_7a`n1ipKbo2jH*PtMyDqRUN3;QpJignlk literal 0 HcmV?d00001