From 97e5577c1b7680414cc2ffee0a473d8a3d7a3c80 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 12 Nov 2017 00:14:58 -0800 Subject: [PATCH 01/29] Update _config.yml --- _config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index ceb7d51b75..3c544f2b40 100644 --- a/_config.yml +++ b/_config.yml @@ -140,11 +140,11 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 57 -current_patch_version: 2 +current_patch_version: 3 date_released: 2017-11-11 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. # Major release: -patch_version_notes: "#release-0573--november-11" +patch_version_notes: "#release-0573---november-11" # Minor release (Example #release-0431---april-25): From 32ba18149b4b6806f81372a9249eaaf3c1967963 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 12 Nov 2017 10:57:47 +0100 Subject: [PATCH 02/29] Add Tor blog post (#3949) * Add Tor blog post * Add social image * :hammer: Rewrite, corrections and other improvements * Minor changes --- source/_posts/2017-11-12-tor.markdown | 102 ++++++++++++++++++++++ source/images/blog/2017-11-tor/social.png | Bin 0 -> 103752 bytes source/images/supported_brands/tor.png | Bin 0 -> 81151 bytes 3 files changed, 102 insertions(+) create mode 100644 source/_posts/2017-11-12-tor.markdown create mode 100644 source/images/blog/2017-11-tor/social.png create mode 100644 source/images/supported_brands/tor.png diff --git a/source/_posts/2017-11-12-tor.markdown b/source/_posts/2017-11-12-tor.markdown new file mode 100644 index 0000000000..32b3541598 --- /dev/null +++ b/source/_posts/2017-11-12-tor.markdown @@ -0,0 +1,102 @@ +--- +layout: post +title: "Secure remote access to Home Assistant using Tor" +description: "Using Tor with Home Assistant and Hass.io." +date: 2017-11-12 10:00:00 +0200 +date_formatted: "November 12, 2017" +author: Franck Nijhof & Fabian Affolter +author_twitter: frenck +comments: true +categories: How-To +og_image: /images/blog/2017-11-tor/social.png +--- + +Routers and gateways provided by broadband internet providers are very often limited regarding features and configuration possibilities. Most of these limitations affect the opportunities that allow users to set up port-forwarding, DMZ, and DHCP reservations since the suppliers figured that average user does not want (or should not) deal with these. Making your Home Assistant instance available remotely (and securely), in this case, becomes more difficult. Are you one of those unlucky ones? + +There are a couple of options available to achieve a remote (and secure) accessible Home Assistant instance. However, almost all of them require you to: open one or more ports on your router, expose a public IP address, and require you to reserve a fixed IP in your DHCP server (or set up a static IP address). Examples of these are: + +- Combination of [DuckDNS](/components/duckdns/) (or similar), [Let's Encrypt](/docs/ecosystem/certificates/lets_encrypt/) (SSL), DHCP reservation, and forwarding a port to your device running Home Assistant. +- Setup a VPN, which often requires more hardware and software. Additionally, it also requires port-forwarding, DHCP reservation and most likely [DuckDNS](/components/duckdns/) (or similar). +- [SSH tunnel-ing](/blog/2017/11/02/secure-shell-tunnel/). Which still requires port-forwarding, DHCP reservation and most likely (yeah, you've guessed it) [DuckDNS](/components/duckdns/) (or similar). + +There is, however, another option available that most people do not realize: [Tor](https://www.torproject.org). [Tor](https://www.torproject.org) offers a capability that they refer to as [Tor's Hidden Services](https://www.torproject.org/docs/hidden-services.html.en), which allows you to securely access your Home Assistant installation *without* the need for all these things. No need to forward and open ports, no need to expose your public IP, no DNS entry, no need for SSL certificates, and you do not have to assign a fixed IP to the device running your Home Assistant. + +The most amazing part? It is super easy to set up! + + + +## {% linkable_title Setting up Tor %} + +Our [documentation](/docs/ecosystem/tor/) provides an detailled guide about seting up a [Tor's Hidden Service](https://www.torproject.org/docs/hidden-services.html.en). The setup is straight-forward: + +1. Install Tor. On a Debian-based system: `$ sudo apt-get install tor`. On Fedora: `$ sudo dnf install tor` +2. Modify Tor's main configuration file `/etc/tor/torrc` to include the following lines: + + ```bash + ############### This section is just for location-hidden services ### + + ## Once you have configured a hidden service, you can look at the + ## contents of the file ".../hidden_service/hostname" for the address + ## to tell people. + ... + HiddenServiceDir /var/lib/tor/homeassistant/ + HiddenServicePort 80 127.0.0.1:8123 + ... + ``` +3. Restart Tor: `$ sudo systemctl restart tor` +4. The Tor-generated hostname file contains the hostname you need to access your installation. + + ```bash + $ sudo cat /var/lib/tor/homeassistant/hostname + abcdef1234567890.onion + ``` + +## {% linkable_title Tor add-on for Hass.io %} + +[Franck Nijhof (@frenck)](https://github.com/frenck) created the [Tor add-on](https://github.com/hassio-addons/addon-tor) for [Hass.io](/hassio/). This add-on makes the installation and the setup extremely simple. Go to the **Hass.io** panel, then to the **Store**, copy `https://github.com/hassio-addons/repository` into the text box of **Add-On Repositories** and save it. + +A new entry **Tor** will show-up in the list of add-ons. Click on it to install it. The configuration is done in **Options**. Please refer to the [Configuration documentation](https://github.com/hassio-addons/addon-tor#configuration) for further details. A possible configuration could look like the sample below (which is the default configuration). + +```json +{ + "log_level": "info", + "socks": false, + "hidden_services": true, + "stealth": false, + "client_names": [], + "ports": [ + "8123:80" + ] +} +``` + +When you are done, press **Save** and then **Start**. In the **Logs** section, you can see what the add-on is doing. Watch out for an entry like the one below, which will tell you your hostname on the Tor network. + +```bash +INFO: ----------------------------------------------------------- +INFO: Your Home Assistant instance is available on Tor! +INFO: Address: abcdef1234567890.onion +INFO: ----------------------------------------------------------- +``` + +Don't worry if you missed it, restarting the add-on will display it again. The details are also stored and available in the `/ssl/tor/hidden_service/hostname` file. + +## {% linkable_title Tor clients %} + +To access you Home Assistant via the Tor Hidden Service, you will need a Tor client. There are multiple clients, for different devices and platforms, available. The [Tor Browser](https://www.torproject.org/projects/torbrowser.html.en) is by far the simplest option, which is available for Windows, MacOS & Linux. + +Simply download and install the [Tor Browser](https://www.torproject.org/projects/torbrowser.html.en), start it, and enter the "dot onion" address you've gained from the earlier steps (`abcdef1234567890.onion` in this case). Voila! + +Some other clients: + +- [Orbot](https://guardianproject.info/apps/orbot/) for Android +- [Orfox](https://play.google.com/store/apps/details?id=info.guardianproject.orfox&hl=nl) for Android +- [Onion Browser](https://mike.tig.as/onionbrowser/) for iOS + +## {% linkable_title Cranking up security %} + +The setup described in this blog post is easy and relatively secure, but anyone who knows your `.onion` address can still connect to your Home Assistant instance (Remember to use passwords!). With all of the [discussion](https://blog.torproject.org/quick-simple-guide-tor-and-internet-things-so-far) about putting your IoT on the Tor Network, maybe you want to add an extra layer of defense, especially if you’re going to be the only one that uses it. Tor offers an additional layer of security, called "Hidden Service Authentication", usually referred to as "Stealth"-mode. + +This "Stealth"-mode adds an extra layer of security to your Hidden Service by only responding to a client that passes a unique secret cookie as it connects. Obviously, this requires additional configuration on the Tor client applications. + +Additional information can be found in the [Tor documentation](/docs/ecosystem/tor/) and the [Tor add-on repository](https://github.com/hassio-addons/addon-tor), including how to setup the "Stealth"-mode. The Tor Project itself provides details about a variaty of topics in their [documentation](https://www.torproject.org/docs/documentation.html.en). diff --git a/source/images/blog/2017-11-tor/social.png b/source/images/blog/2017-11-tor/social.png new file mode 100644 index 0000000000000000000000000000000000000000..505942a3df497e65bf1eea2ab0038260b3ee159f GIT binary patch literal 103752 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

W+Uq1tnvE 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 JsgSPU{{v|y$O`}f literal 0 HcmV?d00001 diff --git a/source/images/supported_brands/tor.png b/source/images/supported_brands/tor.png new file mode 100644 index 0000000000000000000000000000000000000000..e140efef53429d6ef288ee55b8795663fd7247f1 GIT binary patch literal 81151 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

!9_UFVb7Yn6c3rtI3je4swDe zsW@EXsx}izI9&GlL&P@&T}-plA+ZFOvmW#4Ih@+UL$aB$Byirwy4aaA{b_3e~WpoN!ab3k~By3%T0g0@|>6ui?)axRQvM8!z*nfoydQd4g}#x# z5uf}(4v<58-Pk)seYyTySUtfbQTu~^zuk?{>>#-4gJfM^>q>>6kN+YjP(Sv4oO@CH z7D%IA3|BJf-#B@V7}CJoGzl1WVo38p)@@){wlC3M`}>&rZ10~McQ_^}LDkrxWH**n z->U`1O+W^e4mSx3l%03xWh*9fvaJeuR2;wNu6Ci`12-=Q-(ZcxmTK0SbDN+*(Z-5K zZus;{GJ7`zHmv{u-&98d1#SW>o+aEL2fV)y2DL!^tfg~PzxdYQqGCFFK0Y@nRhs%d0Zg-9IcauZ&i56evo z^_~qpzC1tHk66+3f_UoTZxX!7&!hEMzgNpE_`kde+LOhi=gKH1dV4Efj^1|AnBMng zL*2<_=yJV~S9_1ph0QJx*zs78ZeuvdQfQV7QoH1wfk<4Gh-r&A?=%#&Fk5~;!vWZU z=*D4>d}DfKSA4Hcxs4`s$H%E@VUv+~E8Qq)6oOxGYc=C_J=s@jSePxaA@LkytP?x) z*b$Mb%tGAhlvKLdU2meuKeLZBG)3OpZKjm1lJlbNqX|~~ zgDWttK-`t*JYj;J*ya|^2rc{CHM2NR?x>tsvzARhjYV9U1DjB#2Rfa;5ui~umm7%- zRAUA%yS#qcr~8suoi$Hh5v+YLPWpM|cXhaWR(9oPd)zM<>dEq7K&Ea{eJzsYP>hrbLpX!yjI=@g`H5Ue%jrF7h-2X5t>JV zMe9q z_43bm8}%i70v6-@6Yn#2RQ;am&MC%{hhO0WyIt5)M-Abd&?C!>I?20o9zAHGq~$Y< z=si25`c{91ZWFB82+Ic_|MMBuNgBLfM-^obgvPa=bv!DW_Teuv4++MqQ-N(Ra+Hp9 zEZIzoeUJ7#f_Uj}eIx;I^5a?bT20M|UW?IrqbCQA^kMbC@5Ekv_bLq{+Fs}RPx(jQ z3D~_c&ZC>07tCUq(DQ|#4*mCg8#tKK?BCDBgQz>G>JI(lD$?qWUdSC%F_-gRhLaCM zvn|Cfo=o|919&UG{Vy2#Z&=p!#yAF}@|`w*Q?gXoMeXXbTSQ_mL$l}Gb?+M`jXi#y z9~9G{{$~4{budXYSk)Fg;~*6!&Tl2Z{0&osgUGQ(j?~iGH)MkabZ*NJW!xum?i{(` zZ8fMYlvlk8H!i#!u~l8G+2DCwu78=e3s@!IU7_Ims@ClJ2y-m{1NQ^q0O|q$O^|HW z*zxf31Jj|6kff#eHnz4dO}`chdM-9z{r)a@{bTIi#Mh#IRj0F!q&It9^mCI-J;VsP z%ddbY?8G-P9(ii*1bF)LoZ}4bH^bwcI6Pt7S2I*7G^2ICe#d^?rm&bBLZa+t#Kco_sn8BhAzg5AeYSw2VNZ6;@XTj_b38TWsnnW%v zE?11sXtixtpN(?vH;YT2`iYu;BcyVy`puDddt?NB9h1&pk~zKo#>K*P5D@fKrV|Ey zfXE9p2e#m-h@RGl>b=*Y5=XQ1tWTw`?GQ|#k)NWZmJdHEz)(#R*! zNc?(f^&&;(u4A=tY)$MD`Nt{40Y9V2tNqSB)1BskXG)L_2Zn@e6oEoK*IEq4)wRbV zO*)3!husMofaK}A8tvj&No5SXw2zl;*sCe#7Mu~Sa~lZtT&rF?irFR1ubhc*=zaZY zt#EWH*2RV%C<@OI$a19MVV%%!y?KKQ@A+6RoFuwjo9r3@4v6K(@8a9-M@{&5DA&F| zcI35)O&_-_3!QQ-{`HbqT*xpx$?f~_QP=t6Y#Mx>MF1iyCtiCC9d%GTVn9NJ1amq@AP#-sJ(>W-xGXJE)y5@z$rJi{hHq=BMJ=8P#C!^gyWB^a zr=*l^)_6ib!S4duK`kem8Ie1IZJaA(&q(|W>RGJAkYr;97sm|^$Vb2-vy}Rckc7Nj zf)jR3K2Ae0x|8T+@q>Py?E%f=YvmHzR)f+v;$R$|!<-LsNS$HLdnm3o7D${;Yup1& zwovOMky@d2$7G_;QSTX?h$t^;^+{=0G4Go&I8>$oFV4nV&K%o%!6nbov_4(>XV@)^ z{5J#H%(Sd)E)ce0;DjZ}om?J{z$_M1Zx(QoE;{cPRw)nK7T4<*aIsJzC$B3ni1Q2; zGb+X3So$t!ON2BoIX^WAUJ0kNOqvdAU zt;!sSK_3c&T;zN0s}Tj@ncaY;hG%21Bt8L<<6C@@VSd&jhI;EU9eZHPBh;PJpjLIc zhGJ~x2xa(L00R}-ZQ*RJ2hujA7W*wXAz`;lF(-T7j~j5GJ;S;%oDbH3{;yrXw^h@# z)3CK&ov-)sillLxYliFuQ5Y`IIDiY`WqS^+JoO&1^ot>cejDRsYT?J!U4;uuuafMzMXD+}=oqV?@DWEsUok(fv6GU7;Kf~fazoNm zB<0@Juy9Ae=tF+#JqSpwpIuD8Yerfz37#u7p$NUQ)qY|TR20yJ>Fk6z#lSU?4BB%ydj%7`*mh4GgIv2elY@~{^kR%Y-J=8nZgGkBts-qFTVihS2~WVi8!hZ+;myr!wZ z6W#QV*tD4~C57Gh232ZAdRs=>PG6|3zfXC)qsdXUDI^8JGXVI~gPpbY+?06?T6gI! zNaB35OYhf*5&}}Xf9I{{S!HGXkqujZmi><*-y@NuQPj6UQX;n2*0&E<3G`c}pG_`) zO|Wib_{rTLvT#D@vyeQidn7vIE#EWeF|&`310YTcoB8pCaJeN8&2Ub zS#uoi#Y!i3dOOOE*F_kZm&ik#GaZpW-=r9gBFl|=gk;o_l}FhX*S=ol92&db`Y(!E zgG3y8l?tlP8FHlok_y2bnoGWIFNc^I6Pf5oxCL8S5#m!1L0d~{y(wy?i|szc!*1h( zE#`rPdKK-xb(n*C`?N>9wEoT(yNku_Kf|=IfnrvxMA+>p^G;TknKz*{k z%qtHpF$KHJyguyh;CZ%2bw5m84lm%hZFSg#fW6nn(xlA((wWPQoP_5@7Q$ZIPT88m#V=Ka8{=$a`FM3fcgG? zz&ZJ+lz%exx6i4+$hvlHya=iG^HaBAU3t2pJe6dabV+nMAnFH6SKZocNCkn+mk7Tp zPmjw|vy`d#-vvwY7&WXoO?RH5y{#e;muq#eSba_dtg{W{dWdbk+l(>iRYlMd5X&wX zbG}o6G#>GF{JB0!E|x%p|GR%Y)mY3+N7eYb%vcK@`#SOR{BRpb?vupV z0b69u2ycMk3WR+Q1FRo7?9$@N_H$T&L_VpWKI!wTf8&HdOL#}(;V+|){52VwL1wy` znX;PmjQG6JE8Cg?rbQPeWahWd7eDffZSa>}wp#Ftz0q>Vsy{0K+$lr2{q|Y#TQ}Rp z1rG9e3YRHjUd%irqNe2t(3j-(sosD{u)|gQ>E)fIehOC>GV|&Jlr8W*tsHt9_g0bz zq^Qy*;80!FunQr&ea#aR3MV-4{hFR%(pYgd+sHZM{#C9R42nDNuYZ6#`}B(SauDJB z#$6Ej_NlI2RvGUv$EIQ*Lg{{=h(6_Fl-@`D+3Pac%$&ORDSg`vj5Uf*-YV^wv7U(* z`I#{_$3?w_A=PwL`}XUS+Sm$dm&29uk?r6Bf8v6Fciu|N;^0%cNz}KzMgQow=09-snFlQ6wQYIa+o->hiHX5kbDc5H^u?Yn|4x`RAULCS3fCbRb$igV%=eYoEBh73CVS=qqxeqjEBjErn|nuyD| zP2}m7HZ!~TJ4st<&ot`r~{;PXa23?+tH5|U`_)%dVw0~pKNxJ!)}FunvVBW0&XosPg3~bAw<|uf>g0e_nUIX>C}v6d zv5JiqW@KdagN^NgsTWBQUamyo1{|=loHq**D%Cz| z_xPLnG>&^}U8bfRUe!{lhquw{aZl7wgvBc%wq;5(vPg}R-@ZMig%`YhWpsY?K_$|I zA6tI$T{cyvGPG|`dC9AUooN-aRXWZB z^o>3>U{M(P+kfb#e9r?8j^ z!@rzn`m{ecM<~m2*Kr~K87o|XjXO)G8hL&Snv8LNjEU`$tBt}_bo}AhDL6RCY!Oo( zP-Q$4cbx(HWs7zz)yRwSNFHi&x$lib^wPXWbQi5hcI8{!7}Oyn!;CT% zWo~%$vRz_=#3`6~IK95|B~rMuk1mV~zY%YVTf&upXOjL}KC$Dmn||gL>Xx5#gs1ex z48dmaKNtKOys+tLZpPR4zvuBd&HQMZ^fsEWo~*w2VX(R;x(b+r{I>4^Z~AyB_5~J) z{FXsF>(2c0(=ikSjC4)XXw@L2tEH0LltueEgA~6*O3~!YgQ%cDdGC0EgCfdXmvOq4 z;v<#v8dIub@A!8bRmC|#3f^5_@0QVi-Y1WDIClPPWWht{#79ItBlr=lET?%YgY2%v z;eDrn=Moi=31JS7^5cXqdgDFr^!)=p1u2jh`J8quH;S1UZAa9e zndn0s*DXck0?E4wj4Iwayj*&^fBmcWkn{_+Y>@n^T5f^kWHl7l@yWDhx_*wSRv&gr zd1#=UJN!;_XmE2B$Gx#+4DiA75(#3IE+IcaI!xyBUQ22Kt}&++zLZmMVk^H9;aMNG z_b7YU-W17@P!dFj#1v2U^wJ>txT(BP`5PHo-&?7kQq&ll7kYiKZ)<{z2XuwtWTt<5trL9uZD5y`x>3qZ`R@gu5e@~Y^_@<=@OxjQYq0Tc)>DVy zl_~;Bz@Jrc2b+zp7}UF;)n2{QMAGTf7ttlgZT+AiBY-(H1*M&yfW4`~Qj zL1ttq1z7-?X}TiEFPcaU$?g)gWi+L<-0LdMLtnoI)-g#>jH{B6#P3*53?pkLrDMDw zlO%Xl@HzSMwE!D0ubJrgz=!H=@j`^SyZeRnSGcopfN#RTQ7u+>-$ycyrl0vIH{!Cf zJ|K(yw;Rrc?j$0AOJzc6X&UJu8ZQ4NHm2md`Q)@nWxh8?F>4C!^>@;>vd@!R9#{%8 zKo@=dwOM{i-`3a4b3d-g+xpCO!jk@WOCR?<<1V`F-fudO5DRY` z(ZIlmqfg_7+6KvH>%E%ALy2CVpZLHIlKeN!1%m)D(0tc2^fd|NY49 z1!2IG8M#KXto^{~7$X1qM}A9B0Q zD&tkVK@piwrisd;#QpgLA?1~Okv|4v+2cQ$n;|1(W9Ln1V6^VWX_`G?Y8~6Hb}>II zqJt04FM+hyX8vl~Eg>fAI?Y}m_DOrng^r9Z2gIISW7B_-`F6w`BNw548=*UzK=Op~ zdA98f$FS@vzYibU=9R&M!hDuddEB&!6;M=SGLRDzq5U~t{D3)^&h0kr?}+~BWtwLO zT;xA1smykdLzPQd5*<|Hh1G8m94|E59acpueE%%f}Ot( zJ_rt!A6s1R78hA9lO%ZkqnB~M@-zHfpm1O17JjU3@)`}JlS3QN03AQ=OBvIFpH^&E z(*gOmX%@Vs}?!c{PcTPf#MpOu8yPjy}hgJ&d0+q7}a_zseXhpFh0-4`QTn2Rc=4n z^pSl!S0i&zI>qr{Wmx@h@v!cx5*2#6Ws$~b>2?D^wUHS$D%qgt&|AmW*h}~{?t~!H z`88lP>zFkV<8C*)YUWvzG_cZ=&k6p~x^8X)dD>mh>|sJzMxgSodyjpue@9ktSPG;m zagJ7=My%3poH4nu%#s(Exdxa}LM;1A(kpf$~bCEaSKJ zs%(~JNL0;SV%u6T)|R zdLAcYV0Q%vFK&+@ej~&Ep@Ghpb@CpmxTz1{k8ScNNi!RbQO^A61?;zWmyPw&2N_bf zET_-*6J()^ii%I3KmYKz>`*_E6U2HJwfc5+*Y^AjPfk=kH&9+S4$SPw=w>DIk6YQ2 zEQkWbnk`T0M+gQV0q7kf{38Q~n40=uU8Zk8ng1c~b@WzH!mwAV^`YlEWoT=Ho@Rnr>GA#4coMg{*#E=x zZSqVuKha)pQgjS4{#pkb{+Xe)LfNT0&e9LaC!1rhj!pYknaO)(>A3?GClblx_izfl z$`XV zO{O}8hL?3{@RwU+Ob4q#a>z{G8SL%pAZl~hE^Z*qUW7bO!R|^tM`4~P>jfb$J;Kz) zzJHpJ^afKmMw%M0=XNYyTz`v4Uc-qo*?K*6w%d>G@c-)+c1EfG?^_FMGr3FEL65yb zkrer$>)WUmI8(D#GYHnNsN^&?_+BW}qoP{rzAaKvT~A4yKMkwE z7JV>0fzMDKY(1FgdO;^HBcr!zw3HC@$I69@0m5Od4EXluT&)B~2=v&32cv1=V6}nW zYbx>f?D=BZZOuIb=3R)&Srdh6l0ZZTBjF{#LO$bWpCDlie(^f5RDPJ-c&_oQU&m;X z7HM+PepS_0rEAYF)WGG1UZz5ZM1y;9|GDqOW&%z+B3yrm8g3hz%J*a18SX%k#MIT~HXT>JCju`Ae2e9D`|V zucM6{>KHLD$o!nsKvO{Z4C)VpXB+h`M2Eo^2e_I`FfR*xdE-Y$2(mJ5rjz(X$&t|3 z2OHPv=<+nU&=L}UiWiA|0E3A_DMZK_g<)JK|IEZt{n;s@nYV^9@V~V&+dbTSYy+z* z+~NA~&=3qIoDKwBlU2O=U29-nSX0>Cgc~xxoKHl7d33I!szMy$|p+wHVoA zs(UdIixRL@;IrU5MXyAWZ_stQS!3t+*7|u5iy36$1)S-FAUSxm`%C5`0d$%#Wih96nY47C9t(n_&oYez&D51L{=R< z4W24HW1ex8Z@>LIDK;OlR1ZITk|Mn#Vw*EQ7g^(_=DBMw#RMGa@cZm2)B2Jb1NODB z2230zoV$^J;sn|nmjc(Z-Wet4Vo%JY+JRzy%2Tuhb%@-uNuGyY7UTg-@q{5LL~2;= z@QNXZyB*6^R3&r{T^eoxW5^Yo00))(KQp=PN0zp-ZizRqr^zJsATwO+*T{G}_sgw^ zD%oPXGD)ivu?$Op5AqLM)sv+^(?W#vB+rHmPyx32ouA;;`QN2x+pjz(*fR6~JfSkc z(}Rb50d7V8#LYH1T)x(Lt$zlLSZ0v*p|Nr?%ON$$MwHRGJnM6%&WmzHA>lsCV@nex zT-@+mw5Ic$+S@@Oz_0ax_bNqX$!mE{Ny(e)em&V+wX{DfUDV7VPF1SZHJeFu!Okie+u#V#SG((eH7^G zn`7V{HRIX25Li>InhME}ts-x}`ro>Ll(BcbK*G*(+pu(UbMde1grqUMy0h))1Q^16 z0{r}ur#n9y(I0*Ft5V`dr7GRXoO*yodLq;s8>)XXoVgq!H7jg&Kd z;w7e0+SU-isHlW?e_q)%Hxd#eV0^#s2J~}sZ|M^tf{Z36@v*b}pd*fC!ou(plP2-$ z>ASBkwk*J~R%a0Nxg%Z^4i7@Jd~KDe_O7vTF>%X^;X^Vq0XinCMIROL9=Em9;$6ES z?!bMV(N<)eX9pvz*IZpys@WKg=H`&fyHK&S$7*p#7DE1&b^hW-Le8I_-(~&c*&AUT zXzB)Kx^Xo@szMr`Q5Ax<8I_?8@J_YF>G1f93a8z#m4s+vMvW4ge@1n=T)xxlPq)r= z-0bZ_O()AU6!vm7>d>U(Mg*6)k}cq#4X7C=OmakwWxRizHXd+B7kl!0#hNowQ7w9d zCuy_pO7_5E?nF&n*T3c81 zX{qDHaj|4dOmx4lMzX|y`(L|7lUa~+(#VJ|N95rHmS)*BG{Vb^&aJsuCh2mdW7g0| zxo;g@Vq=>q`UKvT4R6N9pM_Wkxm|!4Tx*o#Bdq9_U+D?wuWGTWS78tRP6mRAzmm=kD3b z2u7zsTP#}&@QdIr``$}xtakdrn^e=^@Ac$hyXCAu=+Ix*hKg_1`wVD9dd-YkISsv-J zxBy!HVbF*QHmzLO${xbQr!|cs`ws`(cYI*5A7Q+P<{y&>+$o6nY6(NT z?&vzI#b6yz9M9*PjE>!cneCFDbA+#(QpE`kf}dq&WgPY}$M+o1rinaCl}_CL(AcQ6 zx93`NkX9=4I-Dnxl(lxJ8_qD^L|BAbk5xVST^Y8#$3)6fg)Lwr@M*%92=}4!;+4{(I8iQR|8PR>6DGs&DE6vQa@jRt~h1Lr~-qlvSqDZ4% zL%Tdd&l{(7JK|%wi0^++<#T^8c!_Bbz;?DzT3UTi)_$Rz zzp{6Te;5#5FCEX(N0!J&P0g6A;h80q_-T9VwYzh)+wTUwB*CX{Pbs@oRy*g19?qaO zznO;?5fOy`cmp;dikK#@W3RP z9Wud8&0kCI8Kq}6|wEeC&iH+99L|0thO-@Ib45I zFwberB1L(gGEL_H4y)#A^OBIjPa~@4f2^%e%fHmf>a+%o_UbQL<2fxd+<1L4J!Ltd zNHJXh(e%Z!^DS>R?OgddGmWrPV44ch@(OiHG<;U^LTkIL`0qn zn!&kqxv$&>*Ai{4OLU^#>O9R{Dn%-!%T-6#o71J)#2%(Q)okN7zi56WR2z*MAnM9f z)!9dns`v#7t?>8b(7*SdlkUjwmF4vj$skWP!}35_KGtD8l68E4X^)7(ar9uuszUPRSd zwGowE67UyY_nss7Heg@FLklTQ%4h%Fb=t{=VqC-Km(nAuKc+Lak6ddPUw7^yz6r*8 zUMZi_J-f`v%(QgcRcQ}CKki&{Jvn+ITSQp!Drb~Cz{CM6+WYANwluxTD0=dK{Bn`n;UEA||^N{HA3oG@@;SIT>CjXUq{Kg||q`^Nh2(CZ> ztzkefv2V@X_C5!2|MLeyfz;>?>}2z^qfxg9*MYZ=WXH=$RLp2-bt!VOT!t+NmjVO} z1uw>?ox44FqSD}XQDNL3nCDPM;CltxfZtg7LwL|z4-#p(dvlF9>4Kjqs@=xVD^-uT z*M2iShQjHh_b%nlj;@Kmi(V>;wlSGOPU*2v*5G2tN|L5vzc<_3Q&cZ(ZH?z!VYmpt zQi+Y6s5C$MTN&6E5jT=%Kw;nX}N%! zbvW;FBW7(Kw(&A!b@f2Y^VR1!NXmOc)IYDS(a!YeJ(IxUmg`VkxK*{4uqV!!xgMLm z`O3PJ75Y?^lQ8Y6t$8O$h(%M_Emx||@4R%%B!2N2;@?!7r3G8_g+Zo zL&-(#h{H8)Nd(DE;z)|ta`n782_iHnJ7`JO6M}0t*qhDpK(9Knn<;M#+U33^u>#f6 z0P>@);79cbJD9;mI}x?9Qe40dkIk%UKsd{Jg7k%MA+Z9VrJ7L|FnlKaGi=RI^+9}w z$=oHgoCiEelu%B5bL}q*k*^}1PGg;x2NFMsiL1o*zBWhORxStnR2^ zhMt=&U^k0ccW@@1PvY5h$+1*Q;sOK2c6;#0iiJRTb||vcN2@l_f^$47z=5p)tqC&O zLV-R^&&sL=dY>hV(w9jAed%X#J!=2klKxdaEc5+6r@{8yQO1R^`G!F^s_ z5kqg05-5b=Ju*Q0^0!Ua^>D%Fcx$T9mH@CVbs;{?45%%5 zk=%2vAg*S1aCtzwd9Ka|=b2E0b46Ffb|7A-*}qB-^I#}tw!R3z^tQ7=XE|?VV7g?u ztO(?_*K2>T4n8V8BJpD_BezdC@fZUHoAE|ni{K(YbPfvFtPv7xrncJl+sg= z#RS3RbWM#KCwtRkm#)9xT zAIXt#j8B@ZbhAV%4yZdrAnEE|%R+2(@b}&Q{gDbAF23S*`fNYO6!buuvTvmKCl134 zBeDLcoOxE8@cpxDOyFOLBZgzplZ`P(xgqtRM?!HpyC2!1q1F-}HGl%5p|GP>hu1w3 zWl2EoDUAU@MA5zUC$;YxuqXVzhNiES9#`iB19f&bh-EuP{b~rj6=!!Bg2JV5i=8Hd z&0sZsQ80IK8b_=#u#}mbGa*%Pc_wi$W>RN2Pyz2O>WgRo* zo|iK>MHA^6gmaHkzHD#~9Q2$f^NB8JT2{@IG!&)C&j>uJN6ev1qBWxRiwG9^RqvL* zJ8vlA?gV(jD*EQzt6O?6m3<$LwRCG>?T8fsg;}+mw{DlV?Bty`2$$0$4GZ$gs+PU8 zx<>uJxKSkKy8d`=wd;$Dnq$gg2{K|V!u_i?oQ@sYdE^Wf@Je8mro$oOo&Jv@DaX&A zYF^P^t&(WC^aGjp{Wx&fQ;lqnXL7q6%r&?CL@lhP?nVHu_DMgqd0}SqXyJ0edTqyv z(0F{#UCZN|JlUi10vxlw9pXmNQ?&wcpap7x17(iqS2_B6B$EM1Qrcj(sui_at-9WC zuvtUJ21bM9#xSowk??u8NwqA&Vkn&W%du;zs1x|4o*Tt{AF&lKtN6WX=@od6`-f_H zfcjnCDz7>|EJ1?W*#K7)Q>j)!=+%!tgBA97b*X1vXr{9_w~ z>s^OR2|9tI^>LAG4v>FK0AJwl-KXA?7W9OVaP-UF?`896m)trX2d*X7toR)vEaWfr z`7ZuJzy6+2PCnaN+Cl46Wp8a4VFu6QM{>gZDwMPy5B+P`66g^;RpH(x-h&aV_DpFRua z-Z6Gq>lLtBSE$1Iba?H@^c2Na8vX~eq{Rzcd>54ai>-vEF;WRupK*s6V>oafi2>F6 z^G_sO_0E`jRKo>}*;F~$?rOf~H9x4Ey59|49Pe%#eUD>r4H8l;(EMiR;xe8zu(kw< z-TljJ+TiQu&XxR$t4Q>mUNLFWl`h5bC*xK;Bx132X($i0NcJgMtqrn8^Z$^#x|m^Z zVcc4n%RNx0uka-H^hHV=MNS^*>@Aa?pZZ*6Jr?@{rZAu5cQbpHrdq+ET5h;(^!?7K zcBULkt(JR-r`8Z>ZLXO;oZ9>fHVCw+I z@p&^6e+h#{h==}o_UT$@UeiG(ZkPMGrrYmipRPsI$(qorF$Q`ob*IPsFWvyMSbE3( zAs|~~1GSOly=1%^>Av~3#nnGQPb@A7zqK#6`znN)7P$(7Kn|=NkrEfzwcm}cKkFYp z-k53Eji@d@EGtqeIh?01_=a|R%-4BC-3-Z7jHQPt=0@}W1P)b1&iVtVm| z98AW#vLCQMWLdm1;~C@??fLovB`#6U{?~uwDNj8`eKMM^K)_s##BRQ9=6uc#GYqIN$DA$==_a$<@ z`HAkY{qZYvGawVJ<;IV4;^NHSh(lte;K4&-bya>5IzZy}s6*cm06XpAJDXmtge+hu z?jaROq2;Jm(H$Y82P7nJJ{+yi&T0@3m`*W`Tvw@-eSd5Csq=_|y$lB^)H;q%&dL}9 zc+Hyz%d-UwHX-@ovw^4&W8#raxs38~jGsNKnj}W0pj^*Lup)1F< zAwaP)_tspUgSt-#rlwUAS1)bq?))P|^v1dkBG0-w=CW5bKV>maaopQ>pv47$u)jH~ z9}L+W&$P4AmrN!Y`bVoJ@O#${{A~q+i)&PJQqXrx<1>k_{%n&s;?RYn50ns|BW6PJ z{TiKwNG{u4P0FJ`!Dyu|r3D6|)XfTm|; zTutQbop8?SOjU-GU24QSU{{z#yC$v#H#8mn*))(KQ_=(i7(EalH&hW1u;w6xPaVHm zvVPiW%$VlA?b!S~9lZ^YPWOH@oC}qKo*_p{`iP3|+W@+xWN`^qWHDL8{*S>MJ1vIUf=XHY>HYT7S~9r0%gJoSvB( z6Nq=F>2l3KRxkw`v9k@eS2dUe-pG3tS1tzH_?Zc|rZ805DeQwQ103zC=Qwihg=nAS zY@7$w0k7k`Fyraw72>rd`Ten##4U7WtZus{2p-+<6kpB@-LqYY@tz;pjl(=&|8{P> z^S56i(0V1wLr`&j0uaI^qKDBJCx{E`O6~S>v~cgp%;#O-%}mY>uj47wf0+5-(0s2- zXa)tC9DAQ();zJHRoy`isI%xxKBNX>}Z;(bn#e2zuY9Enoekl zwcbX0qiF1`c!LLthsSIZ82ps%)+t_ZJtjO*o@j%wnhR|y_Hlt!fg9weH;VXIV^P=R zzxZLMw84^j}tpw}Wgp^IyNe4vHJ zabY->iAw3lk~~pkAYywZC%y*GQ*(VHTUOrz@%uMw^Jrd^!9Y?2+VB-EHFeNdQNzpB z63Tp+#79%T94!9qzIqP2B1L?0N}SHFg1FUQmd}fC3jjSk^N@IXhWxI^C;p;7_q&Wx zlmYlDko}^VAt2TuvAM1%`PPOqwIfWDT`y>p3*n`MM*y{+3G~jrHTye15Q2&E)%9S7 z6K$Bx6jUq6>$4?oR+Z$7?L|q)&tzT2q!rLCLk3^vSMmQySrh3o6DDC@Is|=JV}HgULgcJiq*>ti zL(M$zR*j+IrMeXB)q*H(03M}oJhH62v(jD3cW((v{lTk zdQq`5-_pa)g10={zx)0RjOvl&;}~?Bc#NSsC1Qc|eeRB667yH@eTt2SiFOeK!#+te z2`qTY%p8qwe3ryt7-oTm#{$eEuU2Y# z(eOI#zB+bofrp~~B`5%~*TcOYxXS8RvX)VsevoGKL6tRo&bD{6{{tON48lF2b-5aQ zCUj}^;sXET!wI@rNr2SS$;nB8ce+gkmj3v@hUYRs?(x#kgenv!{6-`tNz87?!mr)s zSziTyVd+Y=p?q~*ZbG!&OEPUrjSxx3h#8OKuyS(T6yr1J%ViSFr)D9gU zdFeIlhCl!QXs2^af-=MDNQ6#Dfy<%Kt-5PXrxWXlOYGq0W^FOiL69|Kc@R*(RkPMA zFdaeV%co7Ii0&2G%7?ninOJMMa3-mDAVjlse%CM*S%bq-lbG}(4iNq&5_jN)d+^J= zTS{3D1Q_84?XZ*k%?!GoGvQgo$*FJs@u8Ye(%H^1`zl5WhzqTyH^x{8V^fq*C2b6m zgV%o#KBq-UQj~sRxLoDN!HdLU|GRaY$PBgWe7m2Rd7gR7(tYrQz+Dsm;{gzbk1W{QM^=-&uO1Jxp1o z4$N=XG60K08+@s~^f7<#A`#vHkFTeozpRU0RPccZt$9bZoC*e1u7F-K3+#{CWvqKmB+ZCFJ=M!q!M7ESj2RXPttg{Y@|*I ziS{$u?#XiS*@>09J-7Go-VJ_<`(QFr`fxZ)SPoX>_y(xs>h##P5QjNnyV1Eu6A6>o za)2ha8XU3=d4wzgQH{lTMkq5I(}~a6lVlFSNt?jkDZeUQ@~ra8%!I;S1q$m{-zT{r zO22vYSF$~OzY*ciAHv_5GHBCN%BA;XXwtGowTh=2@t%PaxloZY0CPZ)F|~x*JMkeBM49#*(m{CsLj(&7$&1>Dmv?X5OM@-}YVpZ_>;F&&~&w2zDx3 z+F116rqBT9IAiP1V2F~Y9s1=dA%U}ir4SA%;Md(!9#k0HS?*lSoM{)~?|b!w|ESp< zW2~{+DdOcQ2D$@2Q3V0^!pX33oF>1?NYc0;Kau!Q6U<+EDv)tR*(3Z#VRs2MM;Y4O zBeQZ*fpx0W15R@T4pY$PyRqFIb*qh-{)6*Xe4Cqtmwx<-A@jERcfjpV-O0MPiEMt0rHvS=SypUf3I)B zNFLWGPdO}Rjag*7Z}BeRZC_eVSMsaD9k10WXkIk|2>81%M9;O8Bpof#%w8bcGCV^U zoG{tZ#EV-Y-@%7lR}KB~i*R3nrC9+2NOX8=PW{y)vO^XsCPv?-X%8`8^->k2_@y#=bEXld~G$oSLdp?4E@-e?V1sy@35*Q-|nqV#u_v0S4RN)nwbeFLuDrtZ-n37j|P z+o73MqPT~9?#DkJRy8g{Hmu~ccP^^lPl62+I;C@usS8}@`*i?vSbGL_{c#hs7oZHa zyZ+NTP!Vy*GDfM#h)};Kr1vsoYqtfp@xA^fLd&W7gHTuw1R4E!IUFZ>ZQp!HO86(0 z=`{Rx^vbNlvdPKjsP>|FD8-9cb&8DfVPS{kC&o=T7o--Agj0P&5D-8phvouyTq+M2 zYRCCS6|8JQmleM*Nd~mp@q5OhvnY!?0R?U8628mh&|@`rTzbO$W2K}7QW@^=lUh)9 z*C7QW#`=)l&un1s4_r2@gubRxR!b+ux1CWg*$GtW!{go2^ArPwQ_6Z_M+x2DVJvRY zFq6>QXrE~dV1$QK#BK0QR0{g#6Rs}l+%vMlO+T`_xJ@5KaRnEVv*7yZQ?| z!h{jTN*_gEhXLv;h|NG#cG(1^n${CymxL}7Wb{+M^`klWsXtA7ZquLQ{?=UNcJV-) zeg!ud?yCr(agg?bl3}5Y58)#WwPd!eAIFrq`a}Mvh~Jowno93Z0493=^C1IT@EgJu zlW6eGseU$aTI~ub^dc-zbbG7Il&j1?gciwgZ~Uun$SaXpt5nF1a33rqy>Y^EIqSG7 znE)l}P?gL$Ugve=C8xmDej~d7tIWcakT2HJHlh;w%O`)`=iR@Qf|(OacMgEwRMhqE zl?=_zXCzJNMGOXu(c;TnDg!XFZwcRtTMqY~mDo=33O7bYMYTjatvM!iaf1rU`GgNn z(OhBTu{hM3#2Jxo%T#M=3|orwK;V6;Bh7^7C65Nm*J-`q`SYkja}wu@k_VfCwv@5B zBNm8)5AKNHPz zjC6VVBxyK&5cu_}ODOIyx3!}OkG-kJVs+5eSjlE|Bn3@w^($HfE4gt@L#4X9afv-< zXwt$-3!WfQ&DcYq#sZY^fAfBRd1nmO!YrF>07S zE}_Qi*JoSZ zB=&gm9A@-~Cr{aPt>>DGj<_OujYqP@_cVPtTl)L!A`^KXNJJHQmO8MrWLur@v#3dx z>(aZ_AN|@wWog`n*9t%-$4q>RboPs>NY2k}f=EXy>;KPw)lE0OpH}1Fj*he0zSVOh z5l(j^#lVa^S$&{{hQsd!tc=6h`-2neCMl zEH(9(mJ_|ohQa%r6g8O>A|krn5RJiV=Cy&|-Yuv^{-B?H2$bxBi!)~e{L3*+iBr}H zw{e%4Kcv9eb@x*=eUcDBjW+E#-1La%75IZ7f_|PO_ydti*Wy$5@uM!S+)RD8j49!f zob3&?e42TZl;r3D@xW5<4qFr;>b)zw+k6SW2n@Dw`IwAk|9Q>K-xU!aeBx|GpFvE- zm?qP7a0Oo)@FkN^6ZxFvycldfRdIgx;q7qs#;VJ0$1G$xV)obw{~-z#KtrGm*v8yF zc^0}I9ToF?nQ85B>h~*I09j`^S7@mNbZBRmClz;w z26PZyyD|UK22X)9Ir*k~`WwtT#Zxe}ggkSos`~+RbOBa9O8LIEtp9Vx>}6&QDk|Df zw-qBz<+&#U8O^a_AB^gB-j1HFQTKgZLW2HQ(-ZnpY9+s{NOvIV!`=f4aq;CEgQJbn zGRv&#!?sceraD`Z(4rZaIegax;cbUO{;hn`V5C+T6D?FzhgMNsh6{F*-=6v(U1|*3 z=edQne!ix;Mg0Ev5}A@7=ql1ugC=~LzVo2vt4nw9ZJ?9GpmaYb@jc^(g@iDf;7Y z-q5G-6$zetDw>QFSjylpLMl>X91c>h{wNcGze<3mN8Fpdh65zasU`*JcE{oktoHcF z@gC4P)|5xQe@U=-LAsmyv4|BA!)_%y!++%*cPHw&^=*ScZfLhgDkaD-9|;F&>2wEJ zI3{Es_s4P5r&{e@e{wxgnjX#26znKZ{yw)hG2X-E?Es~70@Fw8`k+1D#bBhuyHCN| z!;wNmYfm)7LPI-_j`mi!V_!Je)=uDgSk8Zs{l4!LAEB%cU|jVzDgb-G>mU{vm%&w#ss2{f|?roKifSN`AxaH^B{ znXKs7-bVp<_q%6j{rQQZHJVJyMVgGWjytm7u{X9>O64#r&20AEWCja5OX@FYvuJ}Y z0Bus#aPh!QmGkVGhH0FQ-cTJxP~(6WhYv0YY+o9veqN9X*0xza=j{SI#p7q81X)HE z9Fp5_!_&P9ilWG5;Kagmg%eSzx6Vd=f9{O(URw?7#qynF3?4^flNF5T{j97@-*A-v zW=t7MCpy!sRT4B!_3WM5oNt%G_pc3%22+ARKGcyfN=hUV$oB{>>Wgz@17-dp$0zze zE}QqTC4ut;vk|Pe`U@4Q*y$B@Ieh-QR0|@CJpy8jm6cwTMb&p~*$ zmn!}(P#}i#?z(mfrFK=A4S(hEtpLrR)kMLgnbjgbQ5xEu&p84Bpv0HM2A;m0c@GyY zj`)BIFTa$5k=+p{qNeLud}xmL;a4C}DVOgHl$O47sYs7#2_v3M(deYE**Qgj`SL*& zmpc&kpYJyqYz#G|p>HgHjP5s!<@!%Iv`E9QFVXbhen6+c_*%qpu)pDS=awxNm!hu0 z$V!{}T6pMk_xKoW{$Yw2ae#jn!}iVXLyhx$cFKtnFpRZIn3|S1Ieh1EavEAEd!q)} zdbAb?oBfsKcdYo9s<}c&E7#H7SiXaQJGa7!4DqCE+#j!%G@LX;J;uN@*53(vdv8H` z0f>Okwb$orr_3HVF%777{Gv3W*>Q1w4>g#d&BRlEvHOBMKT-L?YA%K~2jf2LRcy-MD&J(72ZRa)~HwXQdg1GhAiT;puODna0OMF3xA0Eth*&AxpvJ zo7T1PvEu*8GiBnHmrWezj$VRB3=pabEsXD<{8kSEIO_9xb*V&WzR~$9ZuC(Zgz9D zt$zU;n5{UoZLtQDr`p{9gUn5)tKQ*E=}O5~xa{YU^?$zz_ZU6maQT;__r#}_v#X4D7xH!`@x4I2X`<t-DQh#(RUv4})@-1Rz;CwAna;BC&z;!1~0zoo_z@gLCO}AR!N1_eJoOsvx z5B>|?KfU}`G6D}aaFj(k#x;ML!HfroA^=sBVM{l+T`Nrs7%U~T15eHO_A?^ogfIig?H zB$5NZ0CYPS?a}7`VHmp6aBa<$gc!;x<=M{2%F9{T*N1hJbd(-%wcIPce|@;9jVWB@ z+8HS+H=RiD8fU86PTrm<8wVCh5;pAH))rQ0Uj#aX!APCOMC?2)`70=Va2X-Bd5$V# zTnF!~=i~@N+|E0N%3|VXbD2=>6ehc|LbP5HpJV`0(6pvF)&AVa)2cDYl& z)N#Rw+BxA~^7YE1354$-0qOjGJH?S2$q{O}e)>L$bX;en2WL3NtF|?+QhP<|c$YWH zzcZOs)?w~CSiqP?%dOEHUxurr-Ij2?q!a6xL5Q?)qx~qmLkZw@L-2+5kJo?W23>Bh zg=k1q4QVmAgMNBd)t_aE@G>&p}1=esEPa8$NNsWq;y4spLotG z9ain#_RHLU^Hb1-83r2i$98;Ht8I{cwU704;q?7tVEunppP{NTpmWcU zoTxY1ZN1uW4FLtXO3>5K8)F4-{!6zHi1mkwZ>NVdP@$O#HrSqu z9>K<8@&^j!k9QQOgI&uv%KE3Ag`KHBXE|_#K_K$i+lI$tQCL&Wxm7VOo@HcY{1kM+ zE@Hl92IPz->#wUBL5nMN_ok-7qg#}xvfGD-7rDKjM#YPERk4c{hzZ_fl8xWk%0UY` zw-cd(RxY^yNh@W%aks%G{5H58BDQA?z9@hW(f*pbn3p$=H_8K)_s@`^4;vib{iMr2 z&derwC#3Kgmz@9?CVRjviZ2W#ow(^3P&t&)RND>j*$<*KGiS)mw7O@zbg?z@Gj8r$ zG!FU$WVm9d+p#2JS&u!Fk>G#S(_#KBSCyx{1k9SS)i>$dtsOhrat-7}OsbIuf;V3qE)O+{HR8vl$l@HfH=Bx;d%aQd^!`r^ z5LWga_v;a{h_ATYFZoiUG}L%(Pv6#6JECHUC`|752S(#d(M$!AQ>&$-`mqoqb%cxi z`^>igXGBDxdr^IWeqVCu#_&Vzrv9lZ%w#DFpP(kUkghIEf08hM%0M^r#zp~^r1(Dl zz(3zKJXu-w9;^JhNsg^E@)xbPllvAZ>h1Sc??7@p;Aj02+k` z7r(@YDY&c_^IMD9o<53Uaes0%-S~u1JC#O%J*l5oJ%Y#u9`E)k#WQ)d1U@96UJx(e zmuxyeSdS>YdCiTFSMZ-MDa@zskETAKr(7xVuWd|8&JM`FwLJxFIY}9EJ9FLx&vpn_ zDbfDfKnQ!@>NBRwgnZhr@BA(}sj5MzG4P>4)0us>LUo#(e^>akPiKkIz8%{%PRqS- zp*1S`@E$`OEFeGFY_=4$C#opA(q8(li7K&3+I5pQ)3iVUZ%)$!&OG`wZ|>K_$HGMl_V(DY<;MG!d_-cw_bhiX7fC}pT66opIhyX^H%QGugqi8e zN__IvwxbC>nCFT|Saz^VhIo6j1clwCO{{nDTBFV$zq_0M?_v{2dR3oV`NzP7h=Q+0 zrl=V3U;07f*uCZR@QQDLkDiy*V+j~)m2e*O7$s9936VpJ{-}Few}m1~{Qb!EOP*cd z6sg>u$(j_zOc!;0>qMEw0|SVU8B89QF0K!SXR9^gf5#$^FMukIpvv4Yr%osA6bTGWKcRrqL|tY! zTp{6!fS*eYL=g_RXP`;&?EL?xPowk1(Pi3SAwDpi+ZBtI7^LpiXQOj}iyWE9A4Kl4 z+c#!%dAjj+hBrD@bH+HV^oWlq@oU){lc>g0~`EP8$*H4<-8 zAL#B@*M%Vy!tHVjRW08R0v4&4w~kLl^yBku1D%WV5)S6bl!T!TTP_zxbELt}PSU-4 z{^m_(U>uT{#z`Y5WofrJa7`j1Ez{Bt>txRRRlkyBt?`LP%deL<7vlI~6}lYrjxoy- z`Q^ekpI=vB4CCD*9=?4jgsSp8*?fusUyzLMH6Q=#8m)%$-7BN@$4HKA$3!3SHUy< zb=#{b#;G9Es==I|FMQ)x&k8jg7WTKkenT$#azl`>EPyZkLv&}v%BiMC^h4J0f_jUv z*Mzdc+o$`dYS#t9w+5SwQ5i_NZQ4 zhhfF^aPgv3Sqt*a?@~9>QBkFmVRSU8d1TZZVLW=&ahRd?drq(^aR1m(D&8U0x*`jF z(k$1sp-^gz4(>2l1OR46dhc{+dw`PliF2ZKJhl+TapBxRw$arnPbXX;)_-fhf~61e|bvo%I6eC=k!m$M$QQZ74=_Yw7K|) zmIC=he5xGPPTP+^r;i|lsLf4-2{2iPZQz>=wt!DUZ?e~?0zGo3d~(m=(yt!p!hE@k z3!##4$oZY|ZUaRG^JF4+I5(D|?81(pJkochGXy6Zq48%RAii~}W&$r1Qv9xaz zD1y8=M;dryvX-ilvxrw_BZ#T4mHb@%}423CS{SIWeEbw*+w>%<>cN7 zTsUTegIQV^e#VDB$PYt{{@8~nrOPygBSapH`STGGjGGsg%9@#IUi1olyc&}Q7gv_a z6`Jxhu=!-`bEo$~{ee;xD63P)Fx3u<(Ltr(1@9mbYHw~wCLx) zdb;f4WO?r4vyYZ6LHQv`=kH+eHwaAs99NX#JqMN|yMtsKjavUiD^a-3t zaFsjJ7jPaOLCLu)OqB{bWJ`m>@91pM`lq=v--*z~N6(TDv^Agzhn^}H@_4>0{VK0W zXs-DR%QKk?yags=a5b?znZ>SE!(s%>LJv$xMo6pZGl zb}YNT86ug&qZj%NbR^wGAZ*VUT$756Ke_UoKna9#$tQJG7>HcC7G9S-)yh;d85w?R z;<>r7p-*zD^l97X>&cOS_zy9F3rr$>OPOxC0XlzvG)W906#mUityRJkm6YU#BVfC$ z;%R5Btwi%yg`=yH-Z^zw z<1fe}41IL#Bt~%0#@m~K04!*x+6q&qYR@+`O~A^rr|5S|XEp1Gl7p%}09Wa-LZg_} ze8sI+=2!H3?eZ_lJymC+SJ~JD{60SjQwxIKcpV-FlX2%*iQu53qCVr{Y57$%jkfLn zG}7qxk>WfLq_zt~`fQzsocTSBf|k5kaxhE7^>lcr=!IH*^W7oUvOv;wQ7F#sJ>F(( zX^0qxl)H6Ow0$=EM);bO=PE8c`@#0V$_IOaWRQj=VmH6j;jfYJD-qBTQzZKq5>H6V z@CM6bfxBX-BprT75JGM#@J*gZPsyCYEXuY!77uk?^cIbc{{f_4k7<5`0Rvb`giem9 zUXo_WAD!{WL;I_}1CmO*(p$KmZvJ+c{5zAv=qtkgU0%6hf@4v9!8ot)L3NAMH38U7 znFb-J{~B!Qb3YfnWMvz$+x|zt4Yw&O4p7*&Kx%aC=0+8QtWW2#Q&G1T1ot6~eB=k9 z`L}CXlW@TM85c^$P5M{WR+LPfIQQ9WR}|02(y#a_$_(|WF@9uvND&A~uaEFX_^&ez z%DU6Y-GjUf%JQ@K-_W{&IHM-l7@|o)KGM_UXR#{jJ=A5X9%u! zv9d10+;{{MZmBfVJ~xeRPt#?8o?n5oqOEd>&HlWHW8tt6nSg7{!uUvz2I^5GBEsNW zOrInE;2Njr6Ug-5-_bDrotlsbb>A%fiQIZAM*|a`-rk(uF$%n%_fV|6UUjcR*=uBb zOe-(gpU2r?u0+x1sA=@3*+IzIwe0Ht~B|1tFz4pIHj_wX)A zNQ#swp)^to0#bss(hbtxAS|7$q;v^LH%fOmA_4-^9ZD?SozH9W{rNt>e_-$4d*?NC z=A1KgYsZP@Q960Tc@iMHC?ZSewoh9XvEM^UmJ7wplGTZ58BJ*uSaT07&OH0QDlh5s zyo1_r!_{dPGD1jE>D{#c0EFzIfnfhSSJGe;Vx!jkDz2l%EyssP=Gv9k)6+Hfvvm^p z&i5~zi08o8Veot>4SX(xlug(E9rU;P3;plA-mB9>8-wX z2sYUp-}c$;7xXx&MJJ2md=X^*$v6JGy((Lpqa7c0ml(p-CK#7t{y_iFlS;ATMK-t~ z1W$wIrFj`+gX~-`Dxn%)?Vru>n+CUqyucGeAB4BQvEi%9`9m~sk)V;+q)g+P`zGlF z&SM`?Bk`K(pOr$IQw|7HZKqWnoE_&~=GoC8FKkt$HGW-a!J&xRJDz$asRNI_e-R}M z`SA8mjKfI&HYt{5Dr7wFJIGfn`Y4Ll3geM)HSUM&cGaM4OO$Xfd~-)2-EXh&c? zLupkYYZLtZ=6T@!w4<7C9^#z`y;cnAcGO>Ay*+2 z%k~v(EBwF~rFj7K)S`ihKT2!pP04^b^rI`r%%J_$AQ7>=>d#HK;;8*rAg~mUS$8)| zSq#1FF&{0SWXWbcK{FNn4Wz#pbNdsEdrqlgwNOM*rEwh!qm_Q!!x+sL+e9wa-A=#<|Z9Tc^-%CC=<>^7RlG&ba1T z_HuP26AwJXY`C6^Sg)E|97wq!Puy8H`F?0&^xW)N?DYIxsz034#pl8dbVkk8!Qpov6CH@G5Pdr`p@wvz?6ZMIM?#(HscQeTquS6KC^tF&%Jd z+VKzKvJ4h&)dt>G z6kQPCx9xoLD$QpP_da3Fi@q*!S`zk6$P+!ba~EsOVyrAR>Tw%!m0sQ1Yiq)OEd{}j zz3lJ*@DnvhlO+LFT-{=G>e{BOaHD1yS%LWZnI><$ba!)FNQR9&NTIuXk~CrghYw<2 zrTXi#<7?)w4cvv{CcS>qo>xvpXvJD*YL5pT5<+zbZc9XL^(BDIqk%HYuZa>J7o_#@c@4 zND@*~0eigvxLe_wrrjHME?b=&(yrn)kJib%7N3ytD%0aFs;jQ!@6!|XtoH`Zl0D&v zhd2WB9xnqT5)#&Cc(}mpg0m*AWC7A9x`Kvl{-zYCwQ1TXOri`Cv37*-V=enKjRy-3 z*hM=0bzIuqb@A+5*1-njtFz-Ce*o(9Y zjV^3B0)*Q1!H`Fm?YEWkc6>-Az*eAf9a|$-J_C`C`>-W<9?gtlQRcRvp53_KpyONp zjvt7<^U=Xfy;xhaVx_6n_DU^q1>?@CQRhC{0}c(>Mf&B|Uz*_aF~OPX;;=GOIOGdI zq|X$VT6_1jnMb!~7VV||5RPof=Q83fid2skbbg57>!V!>#sxxJ8b?MrDe{rrUnn;cyEf;fdM@ObjKy4xW zd0tM3@5{YlN5G{X1X5+CD&gv?_{U0M3ZwzEf#nqZJtSlu%8}Nf;D@aU0CqA*lTAF> zFJ0kDSFqstwyuaneKqOl$YUg;iM3#7zSM${H@GJTNzss?2_?#$*FN7kXLWRDbGwVg z!Aon@5Jy5X1<;25w$X&It|~=y(n$7Q*>?M~ z)tF87PTHQX(mjSmM!tX31GYqh*ZD(XS_e)@FBjNpILMM#tI@@VQl`OzWFQ^5V@bc0 z6n&z;{=*?cit$@iLSNn>K(3*MJZMHQ8bvz7-s;@t(T!GG=hDH?g=*jOlVjIO62Na0Vj%c*Hv2M^$o1=r0 z<#>&sCs~GSUi9Gi_tTdA)f)j%ryC2pO2d&JA5XB@)${~J@w*CV>_jdf%JJe^NAv67 zK17CT*@6M`2=R0sX$Sy<{#JpZFKw#|M}TslxF`28iYq>DP6$@KIHO> z^QOeTWi=rl=ix-J>4)yg3r(!8Gapv(5{bXw3Suzvr=n&qZBQn{ z9l&_(AkPWPhV!-gne?ZAIogs%`9bh3zU`wvc+8PrQ$rfi!c>{@o0V0k8ZV^*&wkZZ zMNf|k*)26rH29)_QFPuqw-TzhoyJ|zwa-wNw9vw-aD-3_{h9a@^$zej65z(md9Tl6 z?YO$Lv?rwk5%hTsf6iwM?pI_q(iWSuo_a|0iewPL_c>4q2_`dJIov@uzWTek*w^3R zNqkF~r>=`b(8SR<0ksiK8eiVjV`H3ms{U2s9{2UJ;FRF3jPEZ-20$7vwv{BkQpCu4 zOB`Pv*P^$A*BZkxKrJXJI_1vGwK}TH-L-O6OK#Sm9G@yGCDmq~662Oi`oR^asUObg zP!HB8mGofBh#7~8w*@`7();A%Oj+!Q%(eSs?hsLNbmNmWuSurs&n%iaNj%p<@3@#P zBFUD&``o1bh|bxd^qjpwtJ6u0aDkW_C%k_ek%Ec|0kmy~1KmcL0zh*K++L~lZeo(W z-qPIcD0?ibA>)#-veK?TO^y=^Ly@sSX#$l9*BbW8tT=ejh0JA943?;^doEpgu4OJ5 z&NtsQz>HPBGu67nUWxUj(nRGSj97NPci`^x=zWg4eyw=$+oGUc4mPLE$n|v%K<@0X zaO(>Q^TfD7jKm_i#C~ zW?p)p-dXXiIBgpbdo(H%wr-zTNU^73wz@rgV_9x1*Em%2$dPYD$dXFnl#1JWhRx~f z>(?ObJ|Q1wJ7?u+0VnE2QN`>=3S(&jf=|w*zXkaXmf?^3<-UI|L$;-QZ4m3w4Ete{UqL3Zp*OGFJYE0u_jdan7$jEuq{K59S@e4l=}1Al(r^@^@<%-hrI z6x86zs3@LC(6{kyU;y8mM?^N|*mvZJM%rIgk^H8R<^vDZBl#mhcHClb_nMjE3Lr** za%!^l?3P)bQ@#hMBmDMs(565zi#Tv8jW0@lrq(@FSLXj&QB`5sM?22Hthd? z*R%j@LeJC96}$K?H6e#GsvVDdFgI`)+>n2SP;)FoYuqKjqT)TqzgQ)h%2&x0doWdP z@suOGx50jq}8>5=ijsf(Accr^mu%!znSyAqDz|AHVIvyiFPlqtaNl-=XijDM_IvN1Nu*Io##oN zLZs!^XYSUs)fa8!PoAI+W_j?-!Wb2)S$Zp4PL^gVUhC>gIBraht(?}td?YL_6DyCv z_ci|PYKL@w45=BA>h<5J7az=cyXVd!5|5^!C81BfPfo&U1Ws=UiPP&_P$oa9Y+MRB zz(K@vKecFmC1~sUoGJZ|T5Kx#dHCvykjWDiRj!|*Vp6iQ9Z4Mw#_q>srOiL%2h@iJ zC|mB_`8iGc0dm5ITINJD|CxEb%zV$%!b(yiz|88}UyKAIsJLu+lo10X3;Mm&Ahu*L zr`sGbkeuSjf7@URe4zX|K(jvcjTnn$DF=+k@Lr0t+${4n93Zs>$GsPReo~VT649Q= zXFM;xFAeM&Sy+ewd@OdOjEefRdvw%&Xgx6Ji#PjXi)C;yN1;WRD`}C_?26WAONk)d z4vG#BsaZ~WBjpy~;sWUjP>Um|$KFoCkP?gaA~CrPoxK`LNeTGxue_##XleyIWSn4A zhy}nbVuY?9rpcd;Z8x^IqD+)t^WSFCLaA8gy!+2=FXO+YhLP{RjT1>GIdm5^WR@^< zk4sLDwy<*0%^qWIv^bC>=X2EVsgH{K_ct~nhZ>{7Jdp(4nD8yZT`{rhlv+oMW1re= z>;Im_R>4cyV-61Os;sV$=i{u=gLL=t~8EYsL+59zQ6t0XZ7 zkVg`bqc2(WdOjPK3urZ&h7fYt&r}Rl3V%TH=I&~_+BRd_csI>awDN9xO!7s`x~t1Yw=Jw*2N=@IBG2JC6UPwOUHv z_{MXeIWzO21VmdyB7ogLa{Kr>1wHIW3Z6a0mFvO$YM2A5wH&2qF#cP6dFC|;fLhWb zU_lv|IU-9-e_QLQ7*{9QGwmhs3NY>{6QQYwU^g*rG^;^ebg zwYU>7RjdN$MUH!RkS%cxI_i_01lIW@69q-V0u*N)N`JTCb;F)gXp+qzSA{30;f~vFBT34BzT`^c^LM@gC5-{4iQ39 z;vm8uZZ%R$A56+_2=g43y*c@x7ht6jO=%35UH667fg3>(V*h{*KIH%OCuW}ws4UMy z3XjPS;6CMj1GWNQ47%a&;;vtZxtZQO)8+nR5HMDl^|Z*dK1t zx@exYtD5-Ppgh(9xx#@Rs}#1G*o={!64+pfq=RNAmG8M8M*=OY(xd*{*Y|8|*3J5eSLEU{jga*{N_Jhac3a=`$aQL!TOC>O0g~SKV#E_lNfv3Rv z?ld*0w^poplfGZA1R_p zBy%-y4v34F&ntctCYTsBz2(kzK*j zZieZ)QZ79NGI@D56#L3sMr^xVpS#4-8E-ojS=AiW(IGYfa}G@&9}Bv~M;VBWZ;RS5 z_c)EZ0WnLXdWo5cSxqDBmsB>ikH5)( zR*40EZ<~JHxHygtDe+~Xo+j$G>z8Yry@eUuZ&#P8z{QUzwpx09&T!LYQf*x33Q#>V zwbV0Y&Z#>xOQVFYH)lvHP2dzfFB+Kyk)}yE9F@j>lqyKkt@7ZvQcfmLa zj{dZk(D;k+O07twI706upp;c8m2K1|mtl1>9+{eY_BZhEVqk{MmuR`3p5_(#u|N>a zKnNB}@g2@PuqB-ywz1KpcU<}9wt0P_XJAFlbU%8l*OhI)yP?G;I}A8i!0|wX^N12e zshav)G*rOeyWHXm{-;pk38oeB*3Hji&1`SBrf(=35Z6H0SOBA~0fXkh8JX`d59Jh? z&+VgWH#l<+A3#eSyMQ%4Irg)Wrxzcjp6@=_U@t|85I{a76Iac9gs&b(s=f35?OVL%AlWC5ZZ(k} z&?iUZ!o5}Crg65hlMf>jZ^NJW`WQ_YVi7}hHzqmxBVG#npOJ6BW_58NjkM;aH7;fs zmLuxS(#ma$)T{1QDdVZXBE5Y{~r1A05)&bgOqR{9gAL}dT;RC=T zAoWl{IHtsE9t+G?e_Lm*LB;4ao197}eSqUWn)G=fr6FjG{}@xNMCwnZb<4_r%0c@W z!#ELz(i;g4N+M}7P0d&u5Q&7hUEsC^#=_kwXqx4qf^n_D03iJRN$1;V8@lrk)<=pz z;tRPdgNTR)G??SY^B2;4CBjgl%f?k{Ahy3`s@UXwaJV{pK$f%^h)2<-K8&zPh+5pd zYAQEg<1?^Y&PI*ofhrrncUvWDS}h%gP83fOMoB8^n?e;(Z=;~$+nvW6Dy87@W@y(* zDFWZah=q{;^l^(SVyPDqV%MDd6LzC5BN1>{r=cZaxy88Id|-SWqc_geAM3fITn`IE zcWqp@%4qLuP#LL$<8nI4046hic=B4&v$F@cee9_cEdvF724!=t5%(1)J_{>fAs&3I z=|XJj3(>AJ1Ma_vko)DQK5HV+Ju)q)eSw# zO(Xp<%+8LTMN@znv>y&irgemrxU0^>6XF&H=E1}H^ad)17Q-V-sgL;cy`AYu0nPk z^l2?(vp(G*P*E%sqKtqRU&z<&-e>w`!!N+J1!B%&wqUxi`eY+!BbbGVhQ^u`(tbih z7`4H{94BUmSop7mXQJv~7++a)Jj7+wd(a(jhhQu7u(E9X2ue2&Ifpk{Z! zT(0dSFaP-7`E0KUh)dP)EiW&dP{jjrQ53`-6{sBy_)1a#3lIKJ(8rr8Z*yw*85LUP zRcZyc0490x$}n@*jmqbcyS-fmnW$enuD*OIIEZ^g`7&{>4iHVSmM?xlSawu0{Tud> z_Z}2_&E4g4Sx1UZS~T>G<^o8HU)^8L2ZZrQ0sy+<^wHPX;gF96a#um&ogC@ok_d)O zFcWSI9YeY8OXd7*Z)_$?1Ae}Dn|jpo>N~*fst8ce$=q9ZlO@O$ZLgZw|z4$LR`IB(wqQ4R@D(np~@2M6OkQBx*mrE{dpO)>fYAk|lQ=2d|uuy`p)TLggh;h%Sx1SoV{D=;3QiOn+{@)67i} zHDKb$1HvmjxTgRQY`;;04Rkn?DWMB2KoimQ`V0e3Re$k(NAU@L&zs3^1W-Ug+5Fmn zW(;U>TJ0f5nv3;u<(qVazA4r^U7D9K86^?Ub8nmDHmbUh+#Y!iCqq9%fux-f!XMP*>cffUxPX?@~6a(5!%e@<$~;D_=0rYpP{6qnm(T2YoiFRuI|@g* zzLs2%kH>)z+aEn_Ynv3pct*F#HpH>t|K-z?z@HB}CVox>6_`Om`;6Bwz(?D*Ma-eU z3HxtCs5m>fJE=tVHo}65vmL!7As)w+Vx#L@yDPhQrKF_?Uc?EtuzO$rQNFb6xp?+a zaN}zcIFPQO@8IrYCBa6=@uV`X(CjF*2Ix9>{d9$uAJ!zHpx@sQZA|H56GjQfhzrQX z^x0rMoY4gzi|M-UE<*CDeMgIEUTCMn4p-kGoq6lYhMic8vo6-8ia*_khK8OSF42zU zACMn!2_>5}0^80+y~&5^*~26Xu)JA3r`CbH>ts_f$gcTHvm?~nYN8eFELATa$Hd$n z7~HVUoB4S(wRDb5(cOAtjuY(=YB5lxsW<-h6i*6G2Ee(>%%TzV?~R#r_qaba%&CHq zxqR;$-j7RDhe!451F+z9eUC8JxU!qbH!-rlG0L#q>m>vw(erqXakQ6xF60IWguz2o z6P?NO9EIBVPyWR~j#IEb5MB-i`oyzfQw4-eN|qS7)a-qy0=na+a14k)BS1oJW6r_mrceqZ3W! z7A30Q>)$**+!_CTGfQ~@1R}Ku3G>(MZJeDFb*HWVRHohAXn5V#7a~szF6F z4{0Ri+JXF59_r!Y@u#9YtJL7ig;BFSfso_Z1z=2{Tl~fRck~3EgTalfH#nP&?)4?X zT=4WipzyLn%26Y?@9we&p}cyX+3^GVEEsw0HUAxZVQXkVq+j2ba+gvE391i?K>J!4BIP)hJ9!>q;&Ni~2*_1xg{8M$C3C79+I<9^Mvw6*0A zTo==usoH?i=e}+hT`Z)`*X+=RK0{EzSs>AvuL3*)mBYwacuwUBoa-NNk++kgh_ASK z5KcV9WxXZg@eNGFslSv*R{|X6hbBvta%pnH7iM~|^Vod%=6&*P`azR`?!2QNToZ8O z589Mxq9cYarhf%_f= zKaGw$`d>rr^bs3QCmzsCxS4XLUZ`Qv$XA*tG3i=7GV%gxEOa1#r$4!W#EtL|B<wFtmD{Dc z^OUew+X_41!G<3)-lc#;?$ID)Tks!6RgbCo0YJ7{+ee#$gw0A6>|j^{=y{`zj|Py9 zm4ThC*z9?V3cJCla5jI|B=7IP)~I%=Ny30vfvn0(v&BOn{3neH=a3&{v&wbR=i*`) z$B076>S9U~Uh6ckH)~y*Ld!EUgGs2A7%ka<_gJ+lE~(icv@$o|H~|bgwccmEEVo7% z5%uNz6={7J*wT|qTCAO{0W6$28ut$4L@_kVQtiSge;K!xQ1=v)3kn4XcE6s6qZArS z#NlJ=%))=^LQUJa)Uea9CBq&IKvQ|4v@E_nX#}_J!On&?lK)hWZ$koOCFNo3erDDD zm)tkkGyyo?l)==6_Mh)OIDcnH#AJB&;zM^@{!I(5=;t0{6>!yG-q7FE)4eNhfydcj zl%j0QugsDJ}q1hFY`2kq7Bl7LJBAFo`sd$+abfs zdU;Ia^5Eg9o6WSq2QQxz;l79V4^1Q{|Lmku0VUkP$r@DAmu~yXxo0Yc4|4d5ovX7S z+S%#e5iz`TMiNa>U5Pxaj`+86+~ZgEc=gDgh>c|#H*BRjIp6zCvZ;Plp}>?5Tu)DL zK+`W*{q3dNsk^mwcS=g)nMkpzDGV{qfggKc@^fe7_q=0)A;(th{d|rhImCa#hGGY z#6+{r6p5Z*T5_&$Y-j^AALR+}A&@BN|Bsnz6mk-hr%z*tFYDJ`v}@mYuGH$5boH`3 zgU0j(DFwYSA0Yhc*tByB6K4KI2{i%{=D z@F@6Fw-O|LpXaSTrW54tDxo`}{X?(sgL$bR5fsE>gruRhzm&RA8HnouL+2bxr>X2l zrmOwQ#Cl=Q>2qb|KuUvI>ycX>r?)0I#o57yWh_~DI?|2uJH9ZyFF9w{(gO8>XmP+HmXtVVW)OA>tuBNH;g-$J(HUdUqwmC|&rpnl06kaWX=9Q9~ij!iaZnl5?!%AGSR($4b2qc?F6nwkQ)tPjlh>>KAZn3 zfUK?>2(|*#2I;e~c|hU;mo?HY^?U8q=ySvFL2n?yh^B6-z}1U}?K4UnNG&d+P@2Bg z65mhv)lQN$%nUNLh_Xxs(P^Pb1L*Ltd_J&mWY< zJxsQuiQxz^dHLqn@LKmY1H&H!o#Y;woHB!aYJ~^y>m3BYd2EQPH2Dr9jw##*r4mK<#yLu%hyyzD~E=DdTfzQVyO$g<~WxNrr;I zvhw^g$<9Yj5T+a(Obm(u;eEC@1Am%{NFd!+0i-oDS8%>0U7X z9_fgy+PIEv_CB&C&S0$G;TzhgU%-L!foYY*BFW+>X{R==Xtznq+5pl@?4dF8Obv`nyJF}^uEPH>@#p*5K=H5~W*@<~ z>~3rd6zPi*`^#45W0|CKsRDU?1Ny%gyQp4?HsmFNBr$8YBOt+AX+GDwexRpj4fdGw zWS8hM6*u;k!4Q@FAX_N85?~5Sh+sTMR+Z@6F1PrtHikZQeCFB%X|bPm`MFXHD71k} zAEk~^?Jm$A52o9zH<(?!d3fx#<1eDD!0iQxsQMuFD7^>E_4Tc}Sf2aMnA@sB_Hh=OR z(9&?5IoeHUVSodw``05rH9!-lqB7|7OGE+>7Lt&@J-(^};9gA4x&F$2%|lvY%3jJ} zqB&fjaJeUi%aM7Z6kS9b2jEtj+W}ixMRz{1Ibq_nTRO=cbL#`7=3pW{P2S?TmOpYt z)d^BX@@un50=2hVPY9y&{uPkVk}i;IBzQjM+)A>F{bZ$4=0F2hAEP!L0KnQ7-8roP z;;oyqGl6-Fc2=Kg0ZrEzZ}&>FmKqF&y4>kO<| z|9gfJf~e0}St&Ng>{L^R!DOaQv^^9k3X(OHq5uh~B0e(`1blA!RqnpX-0ifuVpA|c z^OhtK@NS7!S}*z;naylb*_3m$`^q*QA*Kl&4xc6YK!0s?$j3x_{B}}Z2ADMeonI4= z8!PU!(^@s?ZbXsKpW`il?yjs%>U$JAZ#zQwiyK^G2CFWtoCn?dcn?J3 zMX^r9r_e*k0wcP&er;f&V5?r}MgP+R`Y%UOIW54M3ljwV6iHgwz`3+e@WHM3erpVyOY-K?AIw}fI{b5*^t`#v}W_M#S>K2@- zKX;OrY55ro0Go(+<&LbuL}j|JTn`R`jRnVQ{3^qJC5Hry1P6&G)w+!BP^+D;!AC}# z3w1!7rv+bo9*qSrK9cX#Xl{)M)FW{ znp+-d;hGhv2rf+KhnBEL6)}75Mprc8tr>pCypddmt5F3>2;+pnW}!b>TMr++iHGmr zQ=_K-rxvKw6++CP)%JUYfw=vbKR|N@4yq`4pt-;o({YiNH<2=4tH>Ja?Gpq>EVux^ z`QEK;7RBDOMbkn}BMpI!6+2yXFPQeNPmybtJEl}RfxiqC?q@C(o{e|>C>hr7-($kS zzE9u=XnJKYf9L;s0f385^)54n&%??9(5f&h8T#p)bs)^a<~Kp5(X4 zLli)B{VVN+3}vL7wrGU zYi+u~n<78h=g3q_Mvzp2d9+U_e}!uJOTfUv>SR_Ec)^LtB!u)`D=5I%8y!q&GKOa_ zqMQIavWQB2S{2@jthvV@J{A>qffWc6@7~qVj)$zKzWCyQRV8gJGUOsZewGW)tjNDJ zOIM2en`_R>82CStl**z>7LDNXWed^*wsrjwNGU1^adGj5f^SA#J;Byzh=O+z0U=~#jO8 z-tVI%o!JaO6`hu%zVAx&us_@9`cr2jX>R`PY3Jt(J}|SEGlO0@26Y9q`m^JC*-O_X z`l$en#yE1mKqg%96=UG)Ebh7H*TwiEQ@ocuHb^g9c@sg|21Od}`$Q%%9nZxJ6cTYqLkI zW_!X*Z~#I}M(YHb`%DlEOtt?3)9X|o46r1QyQJ3htbV;V&jw0)G-o_hmv#NBOycNe zWqx$Fu%TLzq6e{_`5M<(7S?jZbZM>V+ji`{ z_K3%J(o4_|N{_rC*2XTw|8>uFg{ZsRI^&Fx+?;QAe?axhQ>5>&0j@e^Lwu`OO;-Hi z_v|O{h5-=^hnxr>0^Iw8^;Nyjp%WA3_})!GCT>8y>KOxx8npBUMnFnz-)^}ft_N7Q zlGk~o`l-a)9{hG_*EP%SDw z+@#au`N0PYG)H-}!*~L`g23Pwq}IjP7Vy*+6j`9w;d^@>tk_(Z9kCmnE&HYEHOue{ z+79QYh>R<5KpdCuM}Gf4Gp+)tg9uK|>=_i~yl>Q<)IGTmz+n}2C0ath^ppaAj0LZ@ zrE}upG`;q_?UIm7CV+PZaOU4Mt33t(d4_kwA0}kI$x36rT+nTgK zuE8}>AwerOg&%4y$Q1E35ibkPxSi`}q z2N&pAM7zU}X_R2#J{phDYccf33kd=xaBWEYM!t8(^;V`_0OuEiyGgqMFpGU_9FL zD|kUXC9WqkB#yL!<=6#^62>9j#v)z)zVFvn+I`J-!olFw-ag_){LCST%F_$@?#Kn* zIn;Sq)O^oJZAj(_31fB<{Y~v-N+73sO?!)0(je~KH&Itg+!azMfvofBf;|A?|JNC$ zhs>Z@?{HvOXkN((sJnpM^E^KzALRurR`fitQ;{JINQBbs8XNrPVkKU5K*jf~{<0i> zYI^S8*%MY59Ipjh^sn~_O<>iXQe$`C+d|4Pm+n{uCrY z(Go&P5LNKDy-DtaHVk~iB|RN7x(A}(BK8yPS8`RWEkTw~i*3*+rYvyhy#W0^yY49A z5cF^vY1K|s*35B`$t_VYnu{%Pr5-6zA6=Qq?fc7yqS)|(hmLD>d&8dyBDj>S=%B4s zzl$gAd;?JYe~mZiofN{Qr}6MRXv7K>E#8Z{5?{>O!B`#;&eT%~?=3`}%u{3|uh|`g z04ouH%b*o7B#m|eIE>(PuCn}MH#^&C5-&QfXQIRpHiuNtN|B5h6guBkcpI#SCfw|l z{%bpU2V#s&@%Oz+!RVzr{Svvb`WgfWM}-}t+pyA%*1E>&U3sx{0*IG;fPy}(qT%nre^>sGx%}n|zF<1pWWd9YiKPNIYM2jpretSlPYGVIzkGQQ zP%|aq;x0?mhVzOPj%8g^Pa+l0H~1;q$(7pSyAS`Ds#*{rlNL zyecB}!5ltV5de;==5Wmo|EWz!wafq(DI2Y)mUC797j~30r%`$hmi{J49gu)&~&j*QLXTXIj>2vR_0=#gL4m$EgnZGz6f%P|}%`(@06wG@LFk(T=FU zFmrs7NjU6g0bgo;OWd{adh;5VtGMG83}k8E-UA>W(SWb-y-(4JAf0B@ZTzU?b4BAA zwwbS55#3jY^i(k^4tOx#^mpAyxaet|Y|2^C3r%PBot8q-qB2Jer zH*%m^a#kyx2^!8LR6#U?G3?!a4oe{8Z3E{dvY>0Gx~xxNft8vB&AOxc#7I}Nd&RC( zc~-z%j0GUBzTceqrd^UT1~o6!P-y_@Y#7X0$8C@!vtd2+HM;&SBDDDLh9zyF;Ve12 z5CO392?Vg&l=^{67Y$9vV1=YdSb0VlazR6ro;$PjiDsFh|8uV?4JIqKA|Z@KC& zNYef&>A)BWJpR*w{`eajF!|F37zGM-P6F4HGeq4x^nVxhKjB3V#)YR~XtK(9aXA&v zY8AkGz{Ve7z2y*`zB*~Cbyb`|KqprKLk{MAr^s($h-U2)gPrRASfXhPZvc8{P-G%% zzpyMfhlc>03<1GyPc`M&bny~4#+8UiE$u%|-r#mntu=c`0CtQr3hNUQ!TOs+%5RxK zFzfQC{ie)i{DW%T7FBDDS@#2M2geBXsAs}!)lgI!vFByjgd3`~xNln_Vo>OtoCesV z&^GjqGSd_WZ=cP;V1D`JiVHXAzZYj4M>8jN+ZU<|wYA$DJ*`byX`~QJ>qih1pSfVynt7xE{DsOXD%lM7yi?`~S!3hu?2&E^A%#A~pR7`fm#^-WE z0$$8(br7-1UrN7`-n}aq4Y6iT0klwWS+OFThOX^*Fu7rTB5<UV1#2V0?!9|&%<3drd~S>3S54a;~5+qv$+6dDqY<+80;})2piv% zxTAs-Q)~C@ASg8STjk21KOd+_d@?4%oog*A4_GtEcs>Fim#X^fp{1^8t_oB-+e1~-9>ANdeWIzW3&o@4 z`__9l=D0qgRxPqUQI?O3!t_-HO%6(`mbY#hHnwm`!&Ljacvuzzq{RW9G$gT3P zVPJ-Q6Opqgf&97Y3nl!2uHWEF@H#j|8rab2sbg~=zWBG8Ee7FlHC-cK zUN^bn0fnB#DxdCRA>I!$K1Y>K)837j>v_=|%0ixR$~aW91wB-@Q6G?z`A$sG&h9wK z#TjGySH(w$J-=tAFnqlTWphN4532F*T>v)e){TpdZt9hOt#W7I{x10Cu~xVK#S z{;&CY{16gvJp73Dvt{GF@C-E{mdh$9J+7HtkvzE}dH9EX*|q*(^_C|t!<^q~A!m0I ziU-qCp5Y7UuY#w0i2r~0y2L^Z_p)tLCCYx8YB=enb}mr&5Q@RHmcQQT23NLw|M;bk?c>j^r+O6KBD!`Eu6 z_u+*Q+P0y6f1#=t2ySlhJ%T}@1c1Y-&CKR^z7_=uP_aIZ&9xlIi>CN!|JV4=Tj^eK zi!Xf&=h^DUvfp5$${W%X0l|bjknsl+NQ;dJ*ju&#lKx{kyaLA&rvX4zP}FVXw{ zd|$w%b@j%~&HnKcp+1UIr}_;Pewg+W*rx9N`vaUJ`pd1KVhA!tEY`=gY-4qVJSWal zp*wRhG3TocjGd7+`t6OSZxycBoe{<-EXg-a54j6VhQpSQ)+a~T5kPt$Kcl}f9}?q( zf(#M-@gsGTQU2Nu!{{Srl^Y?j1mv5DWoqeI!;P~9@?ib<>WML#UHIMB3%@EPMi+n# z-XWRH4y`ppJn62Ymlb($bRx$$_v4C)nAm8hqa-t1tUlejozUq0d{c*G^igz9J zEe^|Cj*iLJHzKTDHd6`?ePD!U$YeT(;Vm&-S2uO{__(}2E{>iJ`jZlV2lDM~=<}57 zy8fu+15c7A7 z$qTOz9~T{-4V5CGhz$xV?n36$IuwH@-{c&Z)HeM{FZAT-=y1O~h_fpdPfrddr6IcU zod;aPExolFAXT-wz~bK&d$_vlckXLq;uPjA7LBaUHD!$s)PO>AAp7)%4YdxSES^8# zc4l0rb_*u0Y8C*MhIH;jTk<@x-iKCjj*c0= zN2)F;k71KDg0cJik22qEHu6L6y6*1ohQC|2oEpPCy1@{%a?IT4*@H_MewJNYD&Oo+ z?%8_h((|)^oj^a_mQwL72`pl`eYLtg)6rgxG#EY(E`SvNG4cA1Sr<`xNvpxq?xV}A zHvqQhGkpK={$s%MmN&^qYm0ndkO=b6+c)05eY1)+wx!`U_Uu$%msOjG8ziiW3qEO0 z#fxFq!&O!u1!-m`%a8wVil^A2-a+eDe>0^FWmKoYhIo4q$-~6eAm{F7D8FZONX_># zj5lv2#j;UvGYs(qs9y+{^TNViAa0B{sPnkGyT2{onP!+(9vDo1#d>wc_2mU0RbX0k#yh7oxVa`8O~0eSFSnzX%e;gYULJ93qCV zt^Eyvk1P=C*SLr$-EHlv#00jy@!OQD-KnVf;dmPsJ|8lYuSz&eo1X@G%p&mC{3s%> zKQ*R!aT%Xo_7nyghj{) z08b;+%4d}vEa8;)B~2@JffTrV$o&~8dJQ1SlE)y-u-ji~|Qd!j3r!uOhQ_N!&RvyIu&L3FedIX_z=Km4g>{so84gI|go8lf{Y zo|A$~{~uLf85U(1b$t^epn^zCi2(uWdwRlS7=B=u;GCms8iLkE=4<#@R%>2~En!|8 zdQGAm&6PjzQ}%!3#ey|@d-NQeO;%otR>-}s=;#P8jj(F)a30!Y*j~&|Ma&I9S<}~V z@N{kqW*1Cf49WX(ekb`c;&_v2ltz@a?5#K^$41_|n`TiLu%F)m@1B`?>-^N9Eiur| zl{~euTZ!iX`(>jq&1TL0yG~>fT7CDSnKfb~K3>!Q?CT-yj^qO#lJAb$O5pTqf!gH9 zfbO#zTMi12%lxYO`FX)6xy`ZfAxjf2Zy25H@zkD7y?F6Q6Z(-O4UJanV?13yWpBn8 z#at-Xze_WW-OP7Y9um-XgLj~K6HLB~!jpx5wYT?bNb%jvGHZrE$AgoVmJZ`JD zyAdOS5;OIudThoH)t9SF+u=P4b;J*O$L_!}|F9&W?jGJ^V<_8yTlpA*t3fhC7z%PE zanKUBVU>oOKCJwLWXR|dv~;aK9eobeFk(ewT9|iXn=ow27fwScbar-w(n`@t{%**CWmpCCow6%{k={-aK5YPEx+beQkdSia>c(@YzLH&%7VABNSgA)2R zNBp|}+619=%;mp-1^PJWo@e;?78PqZh-W8`F|ZdySy}Hj5DDBCIR`enXdk%wAu&*K zCX9@=KqSK%XX~|&bkUZ`hu2jWW0on9&a?GYm0z7KjC+s$VYptHy1{s&RqB?{BrF@9 ziZukpF-r8Wz^5h{UVm!Hph}gquQfTP0_WxVwBOm$hE&ncgg3?bcqqb3Z`;D5!K1>t zK5*lFK6~~Fu_AD^Zs&c{{IgO8gM(xdR+`0sA2P51WJ4+))FWcB4PU1_U@EPzGz~J>P-t5FMaY$O0*n8@I>uFmys~w+q;ht`pIdFHswRr_E>-No(SbE zbPbKvPQ6)|K5xn`gw!~pOzFtG`KgRgvL@6la{Pp#>B#YS5>66+t0h^`@%01R|M#Ph z4|&Kocs7BIh4T##QhaM-Se<{;m0HZ!wlS1PMMFvHX^lq4m*P+!dz+@KN@a(_*{udJ zFqDVJF5}LpmIsqJIUX*ggT0P~)MWdhySe)D4^vT?z&#YHI2bGIvR&?22+-gtJw{Xg z-Txd@_~6Xzd|#Am6$YmIJkZAwwb{k$va_>F@9JO29{+czK#j@YPkp?f7GQyaPOUcppPK)^_s7qTc_Q+cO`j6*ML~}n_0o52OpH)g3dHz0 zKz8cS0(7@3vt^eM8Y@7Duqyv-L|z}{$F<$t%hDVpl5A`~zZe!0qldCs)BZm4D!+AP zMAe~h2q%U&1N6?3Whj!o-9!^Y#WQ#+F=09WGjP+xt@@Z0W_b?=@;eeFP~Gb`CgoHY zTc~cl5luH*$$mmSx(DbERF6vw%+$r?<5-FN%G8)#Hi zcJ=Hol%BEpVJXMBzB%u$DnC&~Lc;e&dEJp15u{WR)03cNo*ygb&kB_&qD`WT|8;=#{xzoy75BE7 zghXZ6w}f2~sbz#svDB@sWLY`ah6vWkCjf1pG#R=Z{Lo`dc!oot=ys^;0<~-W4A&*73nY=HGen z{wAAOEvx#TF3CcvY)F;G&MC0OP@T8y#&_QP9kP zmAFMM*lBfmO%7_oC7~m*n1HT3|9tJ{OW46fET1N~thU2}NaFhw_rUyxXx)LnzRq9r zbs%+hcHY32Edq^P+dE3}2leY*>B4pEd^e?N?9z+R8aDBC|4$2WwBA)DDXuqqcyZyi zjNg2pD=M?bjcNcYbFs?ZfBOVOqVaOgU;#la}X_nywv3XSx034Doobr zZi4Ec-N8t{VCZKn-Eo9Ndr13a^A@HOt?`!ByKjI}dzV3>ymlP^BLISLGw!OG;S zYz?N;=D`^1-q3X?(AEyE4&JSait@7>kb1UwU2SNn91w@UHE(b=Cyl}!dx$p2<6o|C z^i39V92RC~mjveKl@uEGy2gvxBY4VhYb68zmIt-5@pZgTCs9ii-&(w#>I1Kq&SWr~ zJIt5cwbgTEptBxEh}}RzOjZu-9Ty0mjVWTBy$rLpG**NIc8h( ziJtWpwCfZ7mg=P_?mz>g3?;1?c7AJaSYi4n;EA@buaqmj*HYmlxgqt%A<1oVQCQQG zhm#Yv%Qk<(Vn`8VEL5)bECOzAqUT;iWHhg=fxscGRR`x=Y%0HuSBHnkl#ra7%!(Qw z0`OCXB|K_6!<1LC%662+Q(Po*h1d{D6pntk`AS1T${dhKc^%uZ#b7)oru=|RdBh7` zCoo$;zuSq042ziNw7X*GpZ@Xl8_qu77uD>C&b5J70lc0q>%>Z*T3|j^vubyEhGUzW zyd3U8_wJSFLeH3)HN1SNsHt&3z4FQ129yxVK!nGH@7m95yk;mBstaD&f1RWlxlN;e zqkoU_y_lFS?E03GuR+{Fw*fQ4Vf^=AI6W8VX-B6C0;SbN6CU2<-B~_ZZ65$2UEXtO z;voRH;R9fDb`ZbwQff*qCU~*Z-4lyK7498ec}(()pw7*sG9QrO#ZO;Y3^f*8e| zj?U~f5Rtir0sN!@`WhOlTK`Gg*>cpsrFoXEn!l{$>mpuV1#Sbb=n+@klZWXWyG^SA zMOScv?j{s+0#@ttC=9&qzcpr^y+x>>@34kP%A9KZL_i5Ra~&;lWSV6Oruw(MrTSdt z9sb!&k3R*uNsydeK|g+TPoyVGp83CXyS@ajpZpjU5L+i2?AX|uAkN5b{d~x=6#bO3 z*hYnzB9j0DmZ=ka*9>%Mv+?9f7Chqj?b`)U1aR9y zJ~4Z>2mrmGmmmM_RNiUG=Z51OqAK3ZuC4AlIV$YL90 z<&Ba6NY5gFN{;l=tOR7C4H`o}Jm)|sXxpZEP-GVj{0!*Np#si*et9`Cmc#?2A7m(l z*dMh4offM%Tajp!`R6Gc+be792zUisav@`gZb)jX1169fsz#QTl|>W7WQ3pr$y^F( z7=Csz+ja2n-0dgk;8E5x<0E06NF$B@p$D-6T_OK|m4T>PVdxb(0ED&gnN=nn9=?fC zyovDuCv~Abd4oSfUSobBCx%(-)+Rw^CHTZJal-xF6?Ty{|D@U6OmA&Jd5jYI;ASx~6On7@MALVVW_KN~ z`#WjtifF7$b63B)XUh0AC%xMP@Plh)qrZBE1WZpmIcz&ws)s*Re5>Z7JUkR{kO;0j(OXh z3U-kGsXyf)gF*Vn5SR{|p@AfO|!f%FVADp-`iDWaZkj6MrEHlhU zmpp;UuG0tgf5!aLEoNpCKW30f^UU&H4YvJ|r&_owee@pbb=4uLmk+&pqr<#CUV4yr zOm6RBzc)$@E7a*`)Y1#d&faIYugH0-KB80d>Qilmm8HkY^jHJ2pirTRqcC}{;47^{ zj|yI>JsQLlNitK#;;UQ`wJ$RnQ8?8*becE?zX!F-!b}HFiPqNMrnliEM-w9rIVc_@ z*!5(Z*;z(6Tv7)sSxJ$gj#KSCn3pe?v6)r-<EY98+79Sq}u?R z<48mGffK&4q?cpx&Vx2a??{xH?vqLaJ#vKCf($7DkP3Zf%5y!B93u0+o%66VL&cfQ z86ad#4n!h^QO!mSW7~M`K{31^S%G_5L52>tZeQQ$ z^IolQ+(ft>tt-Ad#@<47U7A#$6B6j^X?oCtnY0W^_VTZ>Mu zI6H-lf*d`6UIN}}qSC)XPDY9+#3>*^4xo#lo*zGA&aE&CX}z%svitDi!9;nf@Np8<2nKBgUek{?b)1l26AKsU ziMPLf8!UiIFo)1~-KHUXjLX2Q1~M(%jUA3g(~=9cpcBXum5aF#xmi?#X#+}kntwaG z3&eeW3@S*ofIf(xzFRzbkp*>*+D%0TLtmuBA~nu^cz)hG8k$ zf8Zdf(FYL#Q!K}=wK>PIp7aq79(*l-x%y=M$T58A#C?swZ)Yf7ocK>Jab~q0z%RI( zf;l7dX!G@SPIq!ynAkNn{nWIcR%4a~U7}iB`&oRN%);0-M9@JL$R8Gva7&6YIjv_7 z)UhufRpediz=B$|fxBwH-g?YXh&M-kj%lZVFw3KeSt4|mo$u{oLT;+pr(u<4vuJha zH$2N`&7MdaxXH)-vfjSFsL*&kY1s;?Z67~3SrTdIAZNT4T!cV}zytDv z!3$cRsliwFVMFGvpsEUdXIZ!mG+MBheITC~n{ed|JHZ#tWgJ5>AhA!r0$SPJT-ML; zPgyO)PZV7sY zc%5<9oJgC3kdRRBe4lk(C^wff?z!ru@D6xv1(vfZ4U$AuiJ5D9N%FR|#4y+ycG~ze zmy@c5wLdC~u(s9=!_uzVY(S1gSY;~&Ci2qW8zjNO@(rGoNgp0~FrPPOwt%u@g1KF9 zwA)3o0O&m~GKw{pFFv>PmrYX3EsE^>XG-Bsm)q1If;Uqr%g7!H3CWfTytGuK+nTIW znKA>t`3`M-Gccm8>{0#^?wfs?qUClo~8uL>CED3VjA zW}Hu;Xost!)`dY%7()vXlilrZPEPfM*{Ad%6^V+JKL4g#Aei=xfCa<+g$g+N|672| z_jJ0n4+5?m;Hh1v{P_;@0J0IU2@Xtm!Y5OJe zZl={ek?sw#Oof7FfkHL&>91ROxi>|c?rR{Tm?67{Wr=RF?KRGY6p#>Ph%!KW;?nL! z$9fY5;;RmjY6a-BD>iWr?B@JLU&IsmMjSW4{900RQGb4aCW~jGA0jd6oo?hHuu{UNk6_pbF zRYOjD#wF1SljE73E~@FQ;(qH$o2-^#p72|73*PV?Y1v6HDAfY}?#i!0oN#Bl^o97y z4)s$A#>g4x)Eo;UjXku(Wh_KX%Bz?1u9vFGSqSPbDXPi<(l8 zj?O)|(8>5xz1CG~--9KpT~&Ei&JA*hO{C?YUGXp~0okHd&{NH=QoHZtB!E)jR)`K~ z4xN|MSH5>1yg^58nXK2wwICR0_Y>KFpyi6b$FeFsFlc@7`x`64^WVJVLXx2=EkM%q zlFwJv_hSkfpZXk$dVG%+%1!-+1y$8d}N^N6# zLTE!YN9AYO@mAu`uof^-8^#yFA0&kdb&XtFNkmeaclcQPo zeZz!=godVii05Qu@0k#nUtRgEPUj~sf#Ex%!YF4S&0x;bm0^j(R>l7$yzPOrrMq@Q z-JBS1>iKi?M9L=@!S33hi(i0;eX`zLWr8FjBU@b76e0CFPIkTR*J7yD;JaPF+`2O- zm&ptif1EF=MnTy^@X;1VT%4PD>CN{*95uhC=U!W+f>{giW?fE zj1Y@@VUK)Ue}BKYmsiljxFy$nlt?yNyvx1VpY6wf7rta_YCvfl9(f&gN+lyO%vH3N zL70H2*!bvei~96!94u2gU&+$@J6W2-;ug7MP2#T8d{RdHiW7p z5{ee(^E8!}OY^+%tRqMrWzxl`#JnRV~3`MCGk~Wu?6CCZq#Y|3lpH;lp7% zG@K%~E|2w~Xl>M2F13_Gz=d|0*(=(ca|IAF>Z&dS{;Ew9y1GA0z?gG6F*20MVu#}0_9g_KYl79^t1i;rl0ye49HZ8Dp&zCJV3 zAzLB%TvK@@O#>v?jcjJgl3G1Rg{{8W&E8jsuz;?P>*Oy}pAr@bEeTvrc3X2VhIi__ zjtRSfX|(N8RjJX_ssL2unY~h31-43=-6Ges&hSb~ z@SDv$gpvh5Yn*MicjJ!l++Ou9+dLaGHVRtFgBQ5y7?nziEdNlk4*g?&qD%p+(Y^t6 z(U;dNFiFgSdy?>qX`mCZvG_0{4?001xQOEK zo}QMA8!TWyo>{{80i8pho0RE5YUvLPSjC6~3IUytn`&}Yw$ruyckgCl&y*NdNf!YM z<{<-v{`3=4H{jKNx(LvhN*SE9*+?kZ$B=zz&2c;1hzqd*hzHyC3m)HghNQJ`7}VJ& z?&^D_11VipNYw_{&D|c)&(Hb3?*SSw_-08KH)gqzo{aK*yvR3(j=Tnw^zD#;s(D< z7IsLKO!VIy`^gIYChTUm!jHs6%176XW|xaQ+M@p5Vj8hOo)TvbE13iV#{702PVaVL zU|{Ep!EbVxzrh*hQ)WS`Mt>gHQZSC9@dzK%rWiwXaYGkXB??XRBuS z3|RH{hVTOQ(vmCAoqBbb^~$N;yE+wlkCM$FcdF^?2e7Varll(>R^NtH%hAyW98j*n zwx1VZmb}WJ6BqBOMzwSkO!nFy|3)eSf^Rd$!hp3szU1I_f8BXe3vf9lYXW6|FVZ|7 z__3G+s%9wxgx#l4mrbHslnxw0$dmG|j7?Xq2-+NM+=sq_k)%CWW7LAH8sl-2p&-2P z=a#(s2rzu@&%SqH#@y)u2xGo}%w0aj7@3x&g3RkLXx%rR$JdJBS1!L8Hl+hS15o2~04( zarp7pJCW`xA$Aq`da@m%9&#%2eh3jp{3N5-0&&j(WUN9@I- z(>F+8653)Z60(D<>p3n?Ic9GkqA`C9qdrgl1JKW0Lv=*zecEa-^g*Tf@-=D{w zVviw^Y=%cYHh?y_w%&6|v++PCU30=epGW_=Ihn4m2izYSLm81(YolbmbXg@%F_x0g z2r#$`*Y_kn&l5{DU84nDGPlD$o^Q#?`EVi^szH?Ll!!~_CK?{A-y4m6-S2r>!Dw^U z4`gEW!oqL6PD3{VBvPo5h^}vwmU=iE4x)^uzkgY_ZxMZi1nEez%Eq77W!p@W?H)Ha zwiczO;jTQ)c+$jaQgYF5^&Lxe-GziKxV&O#-!${D)p2Tk14L#)3gp(*Sl6akJr>Il z^X2_+T(!q`zeM(# zbI6>!wR&-RIrzQ7OQgzXl5o{2aUH}{*cr;FD**xY4?q(K)v1vz$2ytRWPWdj{gu+} z>}*>sQA?0)8Nn{f>>Y07X=d1Sxa6Y`O%P917_H7w2)lk(&s{K2GF^$CIw2Y!&g0e{2ADm&ATpqDRtE&vyxt5yWy}OVr3lq^71_~2iCXP(uiq@*klM}MQF9M3!E$}yb7?Y^9%0V(Xbn?FIa zN@Ef;PPx^fywbDbFE@O}E?`kpyoCf(SRAzXD~le0*_^G{o1_&B)n_haps&b>sot*N z^?A$BxvdaIr24)#=?jgq`lsbRSn~SrYj{9CK6%lAn7zQfaYGzPB*LB7rW8t>rs+1S zHk_y~pFGaYnLv~n!95_52T531#BZhm0ioJ@NPJ4lXCT7PKi~L+*UHM{8XLl7iTNR; z*%Wv84%xlna{FgSJpI`g{59v|(3&=_C>YlH`T9=n#bBQ3_hP*>j^udvClU+?7~Q8x z^u8GCtuFOsyoLzej!y~moD?D%=qUtD{rYCXJhzTm1J;7!@zCFf9BDw5ZGybm>m*3F z&1lNZRO=7|jFA}7BB=APfNm{8o*q+UHN$3|ieggRbb>iynm3e|FA&+MTJ#UBFz@6x;QkDp$swdk!VU ztb+DiR6w&C5+gab8IxGI*vFHiGR0%GARr}I{|?E=s>9u)N=#RB>IvY-xQl&8m(-0_ zG`@2i=X9;e3Sk3y)iafYMW)PGaFDJa6GD70zdbMq4LQ)W2!HMY7Qb-Y0srIWI{o9c z+;3WsHEMEiqwS`2jj0WO4~8H?v-9}_pk{vjZ&}0yb2kbJPcM8Ab{7?`%7uS108u_( zGJi$%wBwN_8-uV=mP|C;PSZK&#ifmJe~n}81_8Fk@ME#k*s0<7zN=1D-ns6W1%DnX z2LfOup5v4e4Q>c|>Y}j6-jzyeKrWkOIPwX8UB9NvrR6Y7Xi`!9Pj7Lj=mh<_5Mw2b z$DGTFxe1oDcnxhy>4;#)WgpQG2qJ|6%b0oeJn!`E%&FV4p7e|zEkCvaFPnE zn|jE%OQ#gwEkYR*1m8l)$z#9n;x6a5S(e)=xxaX>-sBz2y{Nm6#~LaWIJ(xqJbm8bZP#$19vz{)BkxY@ zypGLecM*1SVp1>kzIJ+r|K||$j_T9_7$?X-B_;yiavp=Rzn>Z_MotmRVEOUne^|pJ zJke(;pv4PYh_^iPIQ{j^!BJJYsI&)zFn)yAi zYuxBU2LS!auiqmJPMpC|_c8^ZVSNXOguIm{(AkC+!|hBi6Tm~ls2dOBlZw^z8P29> zbhuM;7_YY0T|a00$AX(CVeJw%O6(hwvw9wzu}lw8*^}!Gd03Je_8gL_5PU2obgNB5 z_`jv4m#ksRg&KtkT1S&SyT>t#{L})pp@hN-Hb_49#@(ktFmHE&1RdT|ysxmLqRh|2 zvb3k15f8?X+S^%x-YiO?YDoWedhLaWdMcF4OZ2@u+iZX>T3F!2;MqYx#-&|MvMCKM z(Pv`D=mE71J#P>`JYKuOq~&c&FK3z&(^-#a*mQlij@J>dl!zqsG_12Qy}H`uHpK-8 z$PO!nWujArYUjY~)R^Ki{`;=`ao{~)Uyoj$ZRHV+7sv`CU(mfBqQVQwX4*<-? zsX9L78h6bsULG`h3g&GHZc`ly;@_e% z?&|2IYbfB2A2okzw22iNo{(UKpd<`y(y@>G7`4W^sVK~!2Uh=7Ax5vxmIYm@Q5#+f z1WIaK`2bzuGzt&G60MybB>L~ailTG5BLCT(@XIHNp5BlX_uRP0Hj^I7^BeEa+pX^v z=hQ>_3ImcxZyRGelU|9V-h!wc`iFh{cSA4P8~DAJUVb6)r9M6VtWB5I1uScCY`+)) zH{T;c7WA&Q-Bs<#q3rL*_)Z2umlB)Iz%bZ9nXbyZy6+G*pBN0Yv^%jY_9C4bcL z;BBvQkMeUTX64>D;BZf`4_8fSALA=@xA^E4&@r}`5GnGuJI(=hhrhrMMNYL{k0<8` z5GU95yV>eh% zd+4~xE_-F(A!eUsjoAagS)q^+Oif?8mZ2ygN#EeW7Y!Y~3BU)82Z<0i<4Zmsy5BBsAe5Ytj4U!bdc&Ke(iT$G-hAOLVl#&#y3J!$@k zpMiiOQrh02>_^C^@FO-h%2>81UE6D8rSe%!ZD2o2Y7wA}6HVb!T8(bfSvO_+v4xym zRPj^xEo-@ZG}3lAu|v<`XLo_GSNL};i>072Or?H(wV`90o6oPp5ol@Rk@C;`Jhm{p zSUJ^#_Mp(vwz2_VLj)xlEvwFT1Caotjry~*6&G&=Q3#zYkD!pyd*sF8!ToGn9EZJk z1$o|m3FE2IRNYPvFo7CC&%RkYwsSlKbSYJ}WOS)tXEkhpZhgFW;f*<1%a)DOAdegm zsF)8vlDe|NHk@tZ0Es^9zr()d#&E-cc}KEamu!dGP@Fdh!&5eE4nqHPTXbI5_h#{# z4j6azDc|_oF^eKZCj=XHvayA2!|xLYEQZ7vf8F5#WqUt8L4Cn)=h+tjv{d~q@;^_Y zL~a{%Bqf0RHKsVNSC14ufMQT~Mt=KrC&|v|!;-S}LRrlboT^5JMkNzEZ~=naOJ-Aidu z`h>dn9}d*B7$<6BpFjuj&~R6|C~AeYo9Iyq2K>apfSDjELl^{i2W6$CrK?WA`cxr* zf&K;W5SRG)LA!^XJ1y4SlSkf?FI;}(0$>H?$c_jjF>xlvVP~=M@aK8Q<2o1=#Kd9X z4vY&4*=~NFo7-T#jRG@AG>`zY)NpGPDO#26*JPt`rQwlJ#Q zducm_-h4T%*)ARcWh;PD)j$%^3?tT80B9d~aHLqNuc(s!Ed|<4^^mJ%;fgWr$h8aq zpsuG5%@|eOOP*1;lN}UF-qu11J zHakH*J5Y?HfjTaHcOxl^Fx#h)8DnWRCBdy}Aq8kT>3Mhz{3in(=NI0?M+y_UON%j; zYW2rU+0g$I-Ahh zTvZ*p%fUvnU_jm}3Z9ZJEJgx5lTlr0$KD~+1z5RkDjx?hLPq@@yy>AaKta{ioTByW zn<>rB+K8hvbepvOj3Z$maFIAHmw*(nv%TH8rInO>R#7H0O~agIOjk=VLQ^RrIIGia zUHSB;+U*eSj861v^Zz?-x%bfa>kdD|K5>a(X-L)#dj>hZ7vklhV%J)$N~x4C4d_>^ z{SCssw3${y5RC7Z0<09KQtL+F6)0y9|r;J-huNy5armIhK% zdT#FS6V$$-J<3ydo}O(=zH||gdR|>^G@OS@Gklc{q5d#EVTM*sUp^zwS#*OXDQ7ZEaXAF$1pwB3!ra3W`1Tz1ECDl=w8o&Fd?CX{1S9T<;es zXmhSrh9?UbvSExBTAh@v@vs06_GF23GT7+#8=ZyDCkCyCC3gJlRCeBhi;Q{MGAh_y zZK78|RtVH-PSx`8$6&q-3yUOtX0*^|$G^(v+y_uNz1wT9V7yzN`oT_6p+al)JR00L{oCDr4>48S}a`yQ9pn{;N- za;nV^y%8d7(Ns&%U492_T=9cjKjXG>D{<#Zw)+-$&Whb^xv`3AWn9VLl!|qT_Kje1 zUHFf$SFPqZ@$yG@_KNd>FCiTt>-ZZ^(6Fw5 zabS4WE+WVm@|GVMuS|A~_ zLOUxn^Do5gRl!KersIN%-+BX3zfX{Ow*5*D3fy^xW%mli1;8xS9K^_O(;x?vcMtOS zkOp+Z4)+iKqTY=pNBt?J{Mb)Vef9k_i#wjyhgITslN9(y*D^$loo0u}4QgzkT?fla zicBznjMdT19bJ=`wi~Dip|rO~Hl(0tP~#Vro$8@vZy+PXzg@HQHj#xC3(Lv~5&GUm z5l6qwg=NOeGeK{*PyuB6Y96(geL&(4MB%k^JQeZaZ2tSisJ?ZCM7|mMQ7IIxSMCFx~EX9m|S|VeV<-0-MpFdz)0c`P73ZE-C5D6;`KlH(~w}|2>EUIhk91S*ag% z&dj`ToqAgrh%7E@EbxHne%!e!zAVOY9tr2<$YN#?DooPq0|g<-V2$+;RFlbJwSGxS zg6f`NmbcN!U@TxpH_@ftilQ))?K;=hS>FcpJ?5zBXr1XvAYxm!H(qH%o#n3uKTgG; zWXX}BnHnoE9*o=W2O}0x%Y9nzrnE94qc`i!=QP#SuHK?rz@kkU|Lu1yW%B_vGqlkR zGEPCRH9f)ov5nfJri0_-*1Xw9W%ZT{K%ds5=0SZlAQSkw?R5QsU-2vo=w|o*3g+of z9!;;ma8sgFA4ts}(Def*oW|B9(fd3!e`c~G-)5lRSG!hY&jRUw*!evaEuhA z45Q%lzdI-z`(w->KKmi^Nae*JWS{1YzWI*IuP?{`HCzjPJ4RflJYaS;o4!Eka!9*m(~t|%Ahb|2X;|O&Unq(e*gWJv+|()#%aEG+3~PM>Fd(bW2Myd$-sLS+Ha3))43P&Z z@_~$GyWTTGFY-T7ck-aoV7EqoK)krStLxXUGV!;lD9Z!a{N6`|vseHC=J7+&rekS_gCc;8VZZTL6Rbju@Ay0emu3LmBdMeWL5BSZk@>@T zDY&b0zGT_t{MH(aU{T$3o!?-qF+lix|3=n&O6;u{w@BerN$3ln@Q;6TF2EingxM^9 z$bazU2~8D}&fj$=nE)t+e2zfI51>SjxAq2r&BP(_!S*Le{dxKoPw{IDd1{l$@h+5wQH0~`bs@{<&sza%uvZS>c^68>*>QpG*(R<|s>)UWimR3p?f ztB3F@7gpTuIp>mn&?5ZhKU-+Uhcl-ERmL`rcY_x(p*d^3y36R~e(z$)KXPxAbCCq8 z*N_nW>J4qjg!3fuH(ONnJmAHY!B<>m#JJAi2)tJ(OrNej{fL4n+b&eV=~E#wAl-=+lKxrsP!4buWZMp4m2 z(LqW|{m_Ezwy-{zU#Bx28MW-#=O>blVji!8Qf|gV)pX6S9<-n+efuB(h#~h59 zwb7Sd`r#_uMIG}BG|Ktvd7@4cGJ%vV2%`UVp0gfl_9A|FUeeL2I=md%Zn30>91m1s z)l`n{BNU^jw1dF;kNAw`mG5PX2J!sX0XEZwLB1L|5pX9)Ovsh|cROPO)=PS0xqaQ=wR zei;{lk5n#^!-gE7NXgVxzvJU)780ZoXKuPd`nYvW;nl`i>78w0nrOW*?&vn;iAQw9 zzHfC}-bGZ1n~52=d=Dc^ameHkoyAHcgvr9~0h2{^z1;12O^64pM7T)p5y-mTPKFR1 z`=NmecW^DHYbh&HN1ULYi^|mba{1?z1NP4NdhDT>YlT12eLwpS^6s=I8@u&0_$2Iy#o+Z$K!h>BqZJ2xvGq~iVD?q5WpvB zcs&(r@%Jh;Q`*am8#}MC7}aLsWHfJTGo-)mAGqdydm9(@p3!u%YQ!?gzZ5lDEDh9j!)9)xDxB#&W*t)HyQy@X0HYxC?CLdq22F4Qn5cXssheH+ z3u_|TqX*5ie|Ok)u5O}XCje-=Bo}hAvnzT5A}a5gmd^v{7THzaUI=p;sDcB%mDVqj zQ$k|)iokw0o@($h34%JGxt*Pxpu+;wPT#jFM2+gxiE`V}Fp*1*BO#mlMRlyU36V5u zYfaltq61uLGOF@Mv64x z#EEH9=$JaIJB(?Y1zi8Dn~c30AG*i9Yt0i z`2(o_VB1OlimwMRtQz)5?I=1Elmu{^vc6Idzu0gC6|jN=7Sxa-(AR$epw-fh8H12t zDd7adP9@}(&CV;skcotLmnX3=28^y+asi!xr$-L{BIJDH0mC#(5BM9CJOA#?ine-> z*y(VD}i#rl+ zUyi~P6T^6BWBOO7{?t+ZW!L?0)7mB_o*U2dvwk0r`MpVXlIUgQw(-=`g+H!cY{Ngc zVE8K-Qv`;-&U&zbfYqjdJ8mF?-tTR@MNp%(J9wh`0ogEsTlkQZ;&vQzx)TjXbTojP zBE!QmQ0-=JKu``E+3kFfas_V`}`K*B{gF5|GqePfYJ^Nl5RSVrXVIFvhcfRQITXAX*|qd z{8nv&sapNxjNO=6CpQ);4g6Zcr8n&t!a6;Bw7081*v`I&(BIP2AAK;KwR7A3Pr&+W zJ2ct(s`FW)*5`m+H^h@t@o0?x+h>z z_7-I6th^o>g3`bsxCg@TOJ)1qt16iyoo8hAoZ=qeI=Rr@6;RVF7|@O{ug?B>Ws9Mx zwQhP|-T0$s9$c)6nXI>7X3@vKThp#iYH+g7y`5y~@5oS?)VI*X`?y@+iNBd5hwdd@ zGQE5FUmE6F6obW6@hoXoQK`EaO!xSSGN}UYKKShS?VB+2@_AYg6KACK_T%x?ik}R> zlRO6o-fPJnCpjKBYfG< z`oQ;?h54@W8mwSJjArVfFwy_&y{(XG6aXyJVj*qXs-OVN6 z7=4!Mv=(8i=ehTecZbrX@@m4kHIBNf z2ZvRsv*k@q@hFvuEy*1!;r@a1u>GwsG~=OVWh2HMOPbS?MoMMmPc7_xR@Ty)nYL&J z`U~HW&xhfL31vGcO^cd6K*jjt)BD}kcyL1${P9|F9eeP8mrt>=@C%CD*sMB|i>5_h zd&^a1Pu4waV8heBqNi!0le&`Ix=6t$0P2>{Cl~%#KU^%StgkNqwKSHEV;gz`#YJ9Yx26 zu#60>oyJAb{DgUtv0qfZjBR(#34d*klHq-s*m*4*uewEw9g#K`-9R zlp3Ftf4v+C(Cs|CSuj7oGTWv4D%&RUFZHeIud+x2Q$2FJRG3v$?Avu@NQa}&2nkk}e!hGQ0cUNrX^~F87fB^u8>tTDeC|9J}Ey$PoJ7c3Rtu z7ZD~KTVyK0hSIotwLA=8oBrU|INemz_0r_SQ^B~;A_Imy%RAD&C07G+@vR&_O8Z3L zsuY>PK?Gnv{C6TIjM&DX?vBLhFMm2%@iqGsr%A!tj3|4y`)0<&(W}T9 zQ8?SbOB5+DY{$j|&r>(m+?Dwu?>$to0a|m%z3B4~Owk`t;n5rgiTh@9#u9a|Z>hVJ43+6%_sr zGp`~~Z8|zuIX)8jHgC%&R#@-uwvvp%Agh2@j9is#GQU9JbQXmNZ_xGBNKmc`Wqx{sBIivq{!>D62j75(hY)0hje#KcP&dxH;Z&gNjFH{v)}!m`&|BkhuS^o%)Il?`F1o{EnGV6)*wY01%*;tMnd#sNe&^`@C&e{IB+l1pe)&29| zz2EhfYL7KWfL(Ga@G!dmH*+*0&zDmHF3YvB@6m$Buw8!sy@UN0EL;OqdDnywxRSKB znVw}URPP>2{S>@voKEwisl_!zwHoCM0tcec$cTb;@s5wCzRtcFP$tXoNri7OiB;)@GYnm3 zePm^1)@yk-*gU(4%Jkae3UJ)G))r(yt}vHd31)ubkaDKK)_8F&aBxhVKc$28jscSJ zYENr`7*_K{R^whmhh8z32phJ&DNQ=l8ak=wr#QCnP+Nx;Vy~+S7Fh7v*}f%H6vq@)hy+Y9o|;mkuVp*YER@;X}NU1 ziQFrlCKtGu8I3OWwL*HGkG6vTr%?NkOloTWjo9hM#i^}MVVQax6}R=aK_4Q<_{MXb z4Q}9T+NJ(TCz<{)?0#CM9L05g&`@q1H8bOyKXRG)Nb!8tC&OD`y}bz7l+_Y>Ks|!! z)ZMFY?dj8}WN$5)%3I&kkC=AglFg?~(ASNXn3`6DQ6#LvJone2VzjyX-j`cj)pD}1 ze|8F6P6+RCa@#>b@JmQHt{QBqDW%!vV4ctArXgCh?Cyh%jPai>bGn7ju`$%P5z~|3 zU)L!G9OtuJ+@>mZS;^I{v-;-IWz=wQ+)p0geK)COv?5auPUfT-QFz5hzJ(WHnJNhu zQ$hY;J5x!5n~HpZme(mSpYM@^$-8fyc3e#Vg+(^Haa=g8!5iGI>P9Sgf8TOB?M(OE z?{-MOw%@*DMwBi5Qk~YSEj}{*C5v|BIb?(X^nAyy>B2P-X2WW~KOZNsULk>(5aHQq zRo17SzeiGS=Ts{F-N-FCXmF<*>Wp00KDwaOGNCGABarz&zJ9ckS%X)WoDeA$imx$)&YNtu-p?ba983;Jg9E7FS&us{q|VuIoZ`u)veEV0e-~FA%XJg>G-2(Z zun>_{PUO|c0cN;T6t9`_IU$C|g(mxRum0trZft>dUA*i5Z^&R$n$sA|Yi-zEcj4Re zs8lQWm)ipg@GNC)5h+!jIeKB8r2kChV-oQ}R@L^T{6L1(zUzXHfCf%*e26QCUA=k}9j z%o@}u=Bemx+~mkb33>=CcJ_EB@(8mbUQGJvdM9%f_&`VD>F*-=DcwW3_X3ZHn@@s6 zIZ7+yh&?>`TNYCWgL9U~TD3i@%Ok_XO#>14g$I-VjVEZ*(hP}oLmv_b4GuGP=^}+) zw|K2*@zxVM=^ZFt?!DOuG^_^g!xRb(w|{8P%-y$Y?|;Ky!J*nPKmI$Yq30G1NI;d{ zm~2dswsu=jj(zdCPE6y8cpxP0C4q3|DO^sS@+#4xUNN&c*@ya25if;os<&ZJBW0NH z|F7`4(>#;EXNoIcqvz)?nCRuhjpMdfir46QrB!DLx+)J%AE5niwIo&)(iEPv2fS(U zo;Qdu(!~(Cp1cKbbXvZA+DyGE*ODz}rb1e>i5?9hVJ|3h6D#HW?0V(|Dt3?S8^5Nd zrQ0G{hHI7n6#|SNZSCdoJX}!$S(h$Boxys(4tDWGKFk+zBp;7Apg-GU87n>og{?|_ zffn~h_p`vHdD@xT*(v+1&s5LkH|pxHw}UCM@HS2!91wbX3szp(T2e9c)BD1FF?#Tr zkvzvh^uH076%TL9Ho#uHV(4d8aHQgLHTr=0ek*IRpS zf(ePP8TyKf8$GxaSc*@coHJ_*#Egx!$f~GR_5Ci*^IoTG;NteeuC-QaByouz($}ki zE;%~u&B}?%rcP&75u&!B)L=OOFGe!hsh|)c&(ym)++N#`a9KNS?!fA6I~3YG?1e)q z;8)DWxB9j(r9$uiGxKZhI!P0)6}VF)A>spMxSW2<#sj7ob#v_PHHP=`2pZY65|0qo+8GsQDD2Vq0SGD8y^9Y5!vB9vak) zLBYLybJ7T4<;$)6`GWqLyPzMc!=1CP!Iv*s`yE%ux>8|6pVkE7_RLX%2Tux%~}Hm}<7ZW{VmnOG<&mrlWbXY%Y#*!t*DL zX|%l^X}#Q*w9DcN<)rlndQFaTctXbm_PahyI($FO z*$$@=+JnQ%8nk;KPUKRGVyjqHmmN04`vJ>^3BjTyub0-8T-h#EJso<_ zp>6{<$aOtt^HB`OS6>~6+OdXhieo|s>(@44&qbI~i9N<%Kv75YfzC&0sL%1k z&D9-1*vwdXUf8PETF_cd72j>{C<-Wlw>Okh&Xc7D6cEUHv~wPLd3l8He>g=4rtMi) zA5E2LWSzgfU{?dp49GyLC!fr@{HJJ%*@h3a73&!@Y+I$N2u$Pmd0#NG^5^5o?vpOf zu^lG?!TInI;(o%a9h72=MS~GA+;V@u4^}u?uc#64^A-#pzoQiHTJWcFNzuJ2`P|G$ zP1tj|f zXfrsu<`hyvsg1n2Ur^3`< zc0{9&YJ%@OzFVe&K-dyZ!}m%{I~jRGW5~OA>m#cRh$YY7(z&-E%XFg2xr(z9J6khH zjC2a5{_W7^$s&h$>DLLsPmk72A8Xa6vuHbm*7Ks`1-*=#RRMi&M3Px<)$~WFuJKH9 zufObGme03kcpZUu)Hd@Q*QL#x6=vwjd;P=15&zC;z^6ACp$?-(hOfcx<*sRKk7GxY z)f@{%nZjYjdMu+VIa|5|uVZ3?X16c~hR4Q;R|-%jqr$?zE>smGejmy0FisYYW{Paq z28a&*`7)?^u6vcfXWF)6;7BTC9?w(HC<1|>z|r6)crS@om66_$<%=#k#^=ibYtead zSCTo50Q>OmN4CHw#crk64yo8DWpk(i+k?V<`*@wHBGnlEeJ^Bz2pc}XOGV5?HFtt`R=f2)Hhzv zycl84D5-2``!;@qYxdbz%Z4&$q@d!=P^V51)=RFOWs00n41}L>2Qh}t012#iYrblW z>}M`@c$`JsI(!&AGTgUuoAYLn4qYURj1}Q4gY{Ph{7{*ck* z(N65AX+EBd+ByH3Y-2H@&N|uQK=&zFXcE7$@8#vgm;=?~k1~&*Y=Idz%@ZTwAiLop z0-&KG4*LoQ8r(Q$f82*LtCea66DVF7o)-G?x>%eVZDx4&{Q&D+-QcS1?R zX*^4$81VH0#1@YovqqUjqEqB%21S3Cp2G3q=tss(iW;@7J}HF%)$Ahf+>{o%thS_oup_d1N4E9z|y#(15) zLrgiKAc2%frVy5jV~Xn?s-^IMbe^4|?ZTwSWIKKK;TE<6o4BY3W}>@ljg$< zLZX*xCr0F0=Qt9tr7>XbpDvqo0RjHmGsgwxE2J?`6MxLIt(<%r;3{qXJVORm$;?FS zUNVB1ooXNTT+5UoTS+<264oq0jo=H!NB@b|W8Ge^^mzF34Lv`Btu7X?M9S)Ny^6bz3LO!{2oYWlF~{*Ga@iwXX6S->;o_2Kyf5c z92}n%Z62*13)c|1-A2NAf41w%$}wetP(yG^`}XFggIG^|Oh522DOuu>%9v zOMt)fZq5H_P?{{##Dl~n^}pFxZ2HthKmy*&q8j?u`?`~Zt{PXz#teEe%IIii5|*c& z24fjyDqUUIJ|3kXi+%smQ+b$Uu?Jmloq;3?GC{rDEGeWBz{0qI}8a39JlFZGDeH^_;Zj#2mx5a zV$0KprxZt~wF!uYGSON0@AeqjH~>=eYK-?N6TZXbrhObzQW#*0`>|tWvD)jg&b*gi z?k@VvzUh-?p9Kf(>un_0Xc_{2;kENk#;t*ncjmK`!Rdm0EAzE1z#Nh4oezuz5M+E8 zJOG$aQPLE8|J8;zc<~3;7mU1Q?7KnJE!9#B4rwwxch-`2ZTMKfR|3R7b@c8z6v(Nu&do|z=4A&AVIH~4?of97 z0X)fH+#y{4IZ<>CmMsDKQ6}XzNN=PP3#7FQ$Q~OBn$&{`a9Wto&hC6QK3E9Y@ag_S z(v!W6j`o!UdYjz5ylVY51yHBny)ydMI$NvR*$E7Z6W>%Q-JWmcO5y%~ctkJCX+H0Z z`oJBZ#5w)5Fm=t=qH%xhKSW5!*R17f*H=`3&-*Wu#@SUKw>hK_yftm4bO;QHZSc(C z$e@MJZ!|yrl_CBb0L4qGG6WCIgPy#w(1`?6lUdB1Q9a=BbNXG#17ySpkw8ymT?PsE z(pKlVN0eoN23mdOg1+bpgw%2k8>sH?o(fD=VS4>@%u+lk18DsLT*H`>jRX|P?6>=L z>5`3euYu+Iz^`AqK#$4I&nKYCfR1?qE}N8u-u73qV2gBqS5j;GZ>+6@1pWIv&BN=L zce46ctI=^wD8gZLo(JY2Bn`PXUX`nVOdkWrp`}FR)U~@TQ-upd0hzGbaC7-RGtuII z0`lO+Ltx*^J_bOFJnBXyCV6}rbh@Y|-HhcDV74$4DY0FW! zo@ZwybwEKnJ$<2U)UV;p=Mh*>shDFiz0evP>l|rm|E$q{6D`4T*pBBaLhYbDix-Mp zfyP!!Rf8{?T3@n6sx)l|un6~69$D<{iT7zkiBr_7$Ra-WQ0ttBj4^-f0#|0uG>A0D zJtuGJ>d+*IC7yOT;<9n$Ug0UJt}%0$0QL_`AV@aL_UxQ(J~Y>{fN47h-NoTQb!vmb zG<7qoF}ioNaZuNRBcyn~=|P)MXUDSt0e&Vsd zp{M)hj4|J21KQ*iUnoAhtXll#{&8ZyQ`jnCE**3&2jt7;+3v{qt(~7KB+PF#&V%&A zsBwKA+{+g|8xY#saKkxpO30gBjh6ht{=$K<4>VxVoV7jKajI5QZD7*Kv83-Kv)WYl zP7dMAtCx3JE0vqUL2Ysd7STF4cKDyre`2g66h|ci2+=%-OGyR2W z8woxzvXtdDaDj<%UEs@QDgN)PKAx_e$e(wF9Zb{@bkWiuB%7t?DUEJB0!=eYAx%rU zV=Vf0n^c91o>?W!BO%RN+D@&o?)I_(nKcfa?RnXt=jRr;}#s|B8!6eur0m6RPo5R6e6XGu+unC?U~3VJkPK>($~5KE@wg zUD7tRH=banE}?H-99iStmKCYOyC7gQHbcC@O7_DyA}qc4Nz&V z`aN22EOvI|R0}_j0b}A8Rfb*QrfX4hunIvTL5a2)K-SViswymO1Btu)f5oJQ-lfeEtnZ7*(=LuoAz{ z=KVqDUp}vmNGwhS*a-EiNuDmlVxs$+n6vF}F*7TLpv_0bQ&drLirKug;Do^-YMP2w4>=M>55-+U{Y$1<=R~A$fkM-+%MDXD2 z?HcmH_oHh)NJkFl@OC>tO}@Fo;KEXtxH>(o9B?drOPKg%#ym~xF~`D3oWDM~E8nf7 zfTg(!c|Ak)f80ep_zWyfLP+*~`vlL7Lmcu!korVWTZrEq5o_zUAOj{6!-PdI(opXL zw)8#v00xPc&ky*%l0U2&1)D*qwDU0_EFog;rhnYO4>sG|`u_dK zi9sM4-mlxbcvuYb34JXo0)jsgPgv>>M|Vxi@Eq6!`+(1wNyONr7QWh5a9VTc_Oueqj^S z;-v9e4l9hv0}d!=md!j$V8{_YE%F+U>E=Tx7lWzuP{BZF%H_B{;b#qg_Agc9a+seN z@uWQi4w|fanlzDz56aHRIQY9}0akM=Fbr`K8Y0#=z*PuS=<`%lb9+>n??eq5j6w}4 zWDs=_qw}W6SiyqaWicNT^?Y4c75R{fsq}t8Nz8!}PIkw1oc7Qg{YMQBZNO;y$g;0W zAdx>sNLfnAEc#j-*?P?|ZAeQBT!#28%0kJ-=Ws1o>8iEo9B^483&OcaGa4n?=hH=} zDp^1Kd6BUZ@vOO(-o=7R;7gBtky55+jm-LP`-Sa0C7TYtsGj6IG#~ z6>DAHr!Z59BnpCBK})2*b{P{P>Zy**rtuW~ckA>=M+o^sGtU8%Bfog;z(^YU6%YGsq>vCZiI9Lx z@v6U6Gseh+*oU$Lm#|%b1oh&CmWtoc2&nYKeL+__l-2vA`2`F;yo^w9J67bs2ol@5 YXO~rf<4~S`g91KeBo!pe#GqgQ2jb&KRsaA1 literal 0 HcmV?d00001 From 5558f0a70df6736af93292a76755b240c8ae13f2 Mon Sep 17 00:00:00 2001 From: Kevin Delaney Date: Sun, 12 Nov 2017 05:05:28 -0500 Subject: [PATCH 03/29] Added example description (#3964) --- source/_docs/automation/editor.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_docs/automation/editor.markdown b/source/_docs/automation/editor.markdown index d7f1707213..8db389733c 100644 --- a/source/_docs/automation/editor.markdown +++ b/source/_docs/automation/editor.markdown @@ -62,6 +62,8 @@ automation old: If you want to migrate your old automations to use the editor, you'll have to copy them to `automations.yaml`. Make sure that `automations.yaml` remains a list! For each automation that you copy over you'll have to add an `id`. This can be any string as long as it's unique. +For example, the below automation will be triggered when the sun goes from below the horizon to above the horizon. Then, if the temperature is between 17 and 25 degrees, a light will be turned on. + ```yaml # Example automations.yaml entry - id: my_unique_id # <-- Required for editor to work. From 5cc7f7e85f53474f4d81dfb2dc5996da8dbcb916 Mon Sep 17 00:00:00 2001 From: Stephen Yeargin Date: Sun, 12 Nov 2017 07:49:00 -0600 Subject: [PATCH 04/29] Fix Linode link (#3963) Their landing page at some point must have changed. --- source/_components/linode.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/linode.markdown b/source/_components/linode.markdown index 08a44bda7c..fa55f1e6b8 100644 --- a/source/_components/linode.markdown +++ b/source/_components/linode.markdown @@ -13,7 +13,7 @@ ha_release: 0.57 ha_iot_class: "Cloud Polling" --- -The `linode` component allows you to access the information about your [Linode](https://welcome.linode.com) systems from Home Assistant. +The `linode` component allows you to access the information about your [Linode](https://linode.com) systems from Home Assistant. Obtain your API key from Linode account. From 138c325d8c4afe12e544e4b611863f8844d4a2f0 Mon Sep 17 00:00:00 2001 From: jodur Date: Sun, 12 Nov 2017 14:49:22 +0100 Subject: [PATCH 05/29] lirc configration has changed in strech (#3954) * lirc configration has changed in strech The instructions here are only valid for rasberry pi with raspbian jessie. With raspbian stretch the he hardware.conf file is not supported, obsoleted by a new lirc_options.conf file and systemd unit definitions * Minor changes * Add space --- source/_components/lirc.markdown | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/source/_components/lirc.markdown b/source/_components/lirc.markdown index 72ea7b545e..ffe675ea0c 100644 --- a/source/_components/lirc.markdown +++ b/source/_components/lirc.markdown @@ -26,9 +26,15 @@ To allow Home Assistant to talk to your IR receiver, you need to first make sure $ sudo apt-get install lirc liblircclient-dev ``` -

-If you are configuring on a Raspberry Pi, there are excellent instructions with GPIO schematics and driver configurations [here](http://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/). Consider following these. +If you are configuring on a Raspberry Pi, there are excellent instructions with GPIO schematics and driver configurations [here](http://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/). Take notice, the instructions in this blog are valid for Raspian Jesse where lirc 0.9.0 was included in the debian package. In Raspian Stretch lirc 0.9.4 is included in the Debian package. +The configuration is slightly different : + + - The `hardware.conf` file is not supported, obsoleted by a new `lirc_options.conf` file and systemd unit definitions. + - The former single `lirc` service is replaced with the three systemd services `lircd.service`, `lircmd.service` and `irexec.service`. There is no counterpart to the 0.9.0 `lirc` service which covered all of these. Using a separate transmitter device requires yet another service. + - 0.9.4 defaults to using systemd for controlling the services. This is not just start/stop functionality, systemd is used to implement new features and to address shortcomings in 0.9.0. However, traditional systemV scripts are also installed and could be used although this is less tested and not really documented. + +For more infomation have a look at `/usr/share/doc/lirc/README.Debian.gz` where the update process is explained when you have updated from jessie to stretch.

### {% linkable_title Configuring LIRC %} From 89ab5d9598a6476b95574451500e71c53078efe7 Mon Sep 17 00:00:00 2001 From: c727 Date: Sun, 12 Nov 2017 14:55:27 +0100 Subject: [PATCH 06/29] [Install] Update Alternative install (#3933) * [Install] Update Alternative install * Update installation.markdown --- source/_docs/installation.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_docs/installation.markdown b/source/_docs/installation.markdown index c5fe54e9ed..e45bdff4bc 100644 --- a/source/_docs/installation.markdown +++ b/source/_docs/installation.markdown @@ -10,6 +10,10 @@ footer: true redirect_from: /getting-started/installation/ --- +

+Beginners should check our [Getting started guide](/getting-started/) first. This is for users that require advanced installations. +

+ Home Assistant provides multiple ways to be installed. A requirement is that you have [Python](https://www.python.org/downloads/) installed. For Windows, we require at least **Python 3.5** and for other operating systems at least **Python 3.4.2**.

From 1ec80cf84cf4f396b443e40a9abb305dc19d8fdc Mon Sep 17 00:00:00 2001 From: c727 Date: Sun, 12 Nov 2017 15:00:31 +0100 Subject: [PATCH 07/29] [Install] Refresh Venv guide (#3931) * [Install] Refresh Venv guide * Update virtualenv.markdown * Update virtualenv.markdown * Update virtualenv.markdown * Update virtualenv.markdown * Update virtualenv.markdown * Update virtualenv.markdown * Update virtualenv.markdown --- source/_docs/installation/virtualenv.markdown | 83 ++++++++++--------- 1 file changed, 42 insertions(+), 41 deletions(-) diff --git a/source/_docs/installation/virtualenv.markdown b/source/_docs/installation/virtualenv.markdown index 00e487c03f..ffcfff5c9a 100644 --- a/source/_docs/installation/virtualenv.markdown +++ b/source/_docs/installation/virtualenv.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "Installation in virtualenv" -description: "Instructions how to install Home Assistant in a virtual environment." +title: "Installation in Python virtual environment" +description: "How to install Home Assistant in a Python virtual environment." date: 2016-4-16 16:40 sidebar: true comments: false @@ -9,12 +9,19 @@ sharing: true footer: true redirect_from: /getting-started/installation-virtualenv/ --- +

+Beginners should check our [getting started guide](/getting-started/) first. +

There are several reasons why it makes sense to run Home Assistant in a virtual environment. A [virtualenv](https://virtualenv.pypa.io/en/latest/) encapsulates all aspect of a Python environment within a single directory tree. That means the Python packages you install for Home Assistant won't interact with the rest of your system and vice-versa. It means a random upgrade for some other program on your computer won't break Home Assistant, and it means you don't need to install Python packages as root. -Virtualenvs are pretty easy to setup. This example will walk through one method of setting one up (there are certainly others). We'll be using Debian in this example (as many Home Assistant users are running Raspbian on a Raspberry Pi), but all of the Python related steps should be the same on just about any platform. +Virtualenvs are pretty easy to setup. We'll be using Debian in this example (as many Home Assistant users are running Raspbian on a Raspberry Pi), but all of the Python related steps should be the same on just about any platform. -### {% linkable_title Step 0: Install some dependencies %} +### {% linkable_title Basic guide %} + +The basic guide is for testing Home Assistant. Also check the advanced guide for instances used in production. + +## {% linkable_title Step 1: Install dependencies %} ```bash $ sudo apt-get update @@ -23,33 +30,54 @@ $ sudo apt-get install python3-pip python3-dev $ sudo pip3 install --upgrade virtualenv ``` -### {% linkable_title Step 1: Create a Home Assistant user & group %} +## {% linkable_title Step 2: Setup virtualenv %} -This step is optional, but it's a good idea to give services like Home Assistant their own user. It gives you more granular control over permissions, and reduces the exposure to the rest of your system in the event there is a security related bug in Home Assistant. This is a reasonably Linux oriented step, and will look different on other operating systems (or even other Linux distributions). +```bash +$ python3 -m venv $HOME/homeassistant +``` + +## {% linkable_title Step 3: Install or update Home Assistant %} + +```bash +$ source $HOME/homeassistant/bin/activate +(homeassistant)$ pip3 install --upgrade homeassistant +``` + +## {% linkable_title Step 4: Run Home Assistant %} + +```bash +$ $HOME/homeassistant/bin/hass +``` + +### {% linkable_title Advanced guide %} +## {% linkable_title Separate user & group for Home Assistant (Basic guide step 2) %} + +It's a good idea to give services like Home Assistant their own user. It gives you more granular control over permissions, and reduces the exposure to the rest of your system in the event there is a security related bug in Home Assistant. This is a reasonably Linux oriented step, and will look different on other operating systems (or even other Linux distributions). ```bash $ sudo adduser --system homeassistant $ sudo addgroup homeassistant ``` -Home Assistant stores its configuration in `$HOME/.homeassistant` by default, so in this case, it would be in `/home/homeassistant/.homeassistant` +Home Assistant stores its configuration in `$HOME/.homeassistant` by default, so in this case, it would be in `/home/homeassistant/.homeassistant`. -If you plan to use a Z-Wave controller, you will need to add this user to the `dialout` group +If you plan to use a Z-Wave controller, you will need to add this user to the `dialout` group: ```bash $ sudo usermod -G dialout -a homeassistant ``` -### {% linkable_title Step 2: Create a directory for Home Assistant %} +## {% linkable_title Custom installation directory for Home Assistant (Basic guide step 2) %} -This can be anywhere you want. We chose to put it in `/srv`. You also need to change the ownership of the directory to the user you created above (if you created one). +This can be anywhere you want. We chose to put it in `/srv`. You also need to change the ownership of the directory to the user you created above. ```bash $ sudo mkdir /srv/homeassistant $ sudo chown homeassistant:homeassistant /srv/homeassistant +$ python3 -m venv /srv/homeassistant ``` -### {% linkable_title Step 3: Become the new user %} +## {% linkable_title Install or update Home Assistant %} This is obviously only necessary if you created a `homeassistant` user, but if you did, be sure to switch to that user whenever you install things in your virtualenv, otherwise you'll end up with mucked up permissions. @@ -59,37 +87,14 @@ $ sudo su -s /bin/bash homeassistant The `su` command means 'switch' user. We use the '-s' flag because the `homeassistant` user is a system user and doesn't have a default shell by default (to prevent attackers from being able to log in as that user). -### {% linkable_title Step 4: Set up the virtualenv %} - -All this step does is stick a Python environment in the directory we're using. That's it. It's just a directory. There's nothing special about it, and it is entirely self-contained. - -It will include a `bin` directory, which will contain all the executables used in the virtualenv (including Home Assistant itself). It also includes a script called `activate` which we will use to activate the virtualenv. - -```bash -$ virtualenv -p python3 /srv/homeassistant -``` - -### {% linkable_title Step 5: Activate the virtualenv %} - ```bash $ source /srv/homeassistant/bin/activate -``` - -After that, your prompt should include `(homeassistant)`. - -### {% linkable_title Step 6: Install Home Assistant %} - -Once your virtualenv has been activated, you don't need to `sudo` any of your `pip` commands. `pip` will be installing things in the virtualenv, which the `homeassistant` user has permission to modify. - -```bash (homeassistant)$ pip3 install --upgrade homeassistant ``` -And that's it... you now have Home Assistant installed, and you can be sure that every bit of it is contained in `/srv/homeassistant`. +## {% linkable_title Run Home Assistant (Basic guide step 4) %} -### {% linkable_title Finally... Run Home Assistant %} - -There are two ways to launch Home Assistant. If you are **in** the virtualenv, you can just run `hass` and it will work as normal. If the virtualenv is not activated, you just use the `hass` executable in the `bin` directory mentioned earlier. There is one caveat... Because Home Assistant stores its configuration in the user's home directory, we need to be the user `homeassistant` user or specify the configuration with `-c`. +There are two ways to launch Home Assistant. If you are **in** the virtualenv, you can just run `hass` and it will work as normal. If the virtualenv is not activated, you just use the `hass` executable in the `bin` directory mentioned earlier. There is one caveat... Because Home Assistant stores its configuration in the user's home directory, we need to be the user `homeassistant` or specify the configuration with `-c`. ```bash $ sudo -u homeassistant -H /srv/homeassistant/bin/hass @@ -97,10 +102,6 @@ $ sudo -u homeassistant -H /srv/homeassistant/bin/hass The `-H` flag is important. It sets the `$HOME` environment variable to `/home/homeassistant` so `hass` can find its configuration. -### {% linkable_title Upgrading Home Assistant %} - -Upgrading Home Assistant is simple, just repeat steps 3, 5 and 6. - -### {% linkable_title Starting Home Assistant on boot %} +## {% linkable_title Starting Home Assistant on boot %} The [autostart instructions](/getting-started/autostart/) will work just fine, just be sure to replace `/usr/bin/hass` with `/srv/homeassistant/bin/hass` and specify the `homeassistant` user where appropriate. From c204d468c18ce3b0844f4453b52507b3e2499ba2 Mon Sep 17 00:00:00 2001 From: c727 Date: Sun, 12 Nov 2017 15:35:23 +0100 Subject: [PATCH 08/29] [Install] Refresh getting started installation (#3932) * [Install] Refresh getting started installation * Update index.markdown * Update index.markdown * Remove HTML --- source/getting-started/index.markdown | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index eec9fdc235..6c15f7caac 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "Installing Home Assistant" -description: "Instructions to get started using Home Assistant." +title: "Install Home Assistant" +description: "Getting started: How to install Home Assistant." date: 2016-09-26 21:00 sidebar: true comments: false @@ -9,16 +9,20 @@ sharing: true footer: true --- -You will need to install Home Assistant before we can get started. You can install Home Assistant on your computer, or you can turn a Raspberry Pi into a dedicated Home Assistant hub. +First you will need to install Home Assistant before we can get started: +We have developed **Hass.io** to turn your device into a dedicated Home Assistant hub controlled by a nice webinterface. +For Raspberry Pi and Intel NUC we offer configured images. Flash the image, setup WiFi (if required) and everything else can be done inside the Hass.io webinterface. Great, isn't it? + +Also Home Assistant runs on any other device that supports **Python 3**.
- +
-
Install Hass.io on your Raspberry Pi 3
+
Install Home Assistant using Hass.io
- +
From 9128742b1bfd790f9218ec164f648b0395bad53e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 12 Nov 2017 19:40:46 +0100 Subject: [PATCH 09/29] Python release (#3966) * Remove 3.4 * Add note --- source/_docs/installation/python.markdown | 3 ++- source/_docs/installation/troubleshooting.markdown | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_docs/installation/python.markdown b/source/_docs/installation/python.markdown index e0603a076c..a7dda882e2 100644 --- a/source/_docs/installation/python.markdown +++ b/source/_docs/installation/python.markdown @@ -22,7 +22,7 @@ Running these commands will: - Install Home Assistant - Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123) -If you're running a Linux-based platform, we suggest you follow the [VirtualEnv instructions](/docs/installation/virtualenv/) to avoid using `root`. +If you're running a Linux-based platform, we suggest you follow the instructions for a [virtual environment](/docs/installation/virtualenv/) to avoid using `root`. Video tutorials of this process for various operating systems are available here: @@ -30,3 +30,4 @@ Video tutorials of this process for various operating systems are available here - [macOS](https://www.youtube.com/watch?v=hej6ipN86ls) - [Ubuntu 14.04](https://www.youtube.com/watch?v=SXaAG1lGNH0) +Keep in mind that the used operating systems and the shown software releases may be outdated. diff --git a/source/_docs/installation/troubleshooting.markdown b/source/_docs/installation/troubleshooting.markdown index 5edabe046a..492bdf4594 100644 --- a/source/_docs/installation/troubleshooting.markdown +++ b/source/_docs/installation/troubleshooting.markdown @@ -14,7 +14,7 @@ It can happen that you run into trouble while installing Home Assistant. This pa #### {% linkable_title pip3: command not found %} -This utility should have been installed as part of the Python 3.4 installation. Check if Python 3.4 is installed by running `python3 --version`. If it is not installed, [download it here](https://www.python.org/getit/). +This utility should have been installed as part of the Python installation. Check if Python is installed by running `python3 --version`. If it is not installed, [download it here](https://www.python.org/getit/). If you are able to successfully run `python3 --version` but not `pip3`, install Home Assistant by running the following command instead: From b4ba6bb2d39a2887a0f03d599dcd7c24bd4f6333 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sun, 12 Nov 2017 21:55:23 +0000 Subject: [PATCH 10/29] Added note about Heal Added Heal step to instructions, to ensure that all nodes learn about the new node --- source/_docs/z-wave/adding.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_docs/z-wave/adding.markdown b/source/_docs/z-wave/adding.markdown index 45cb73278a..e3bf3fae81 100644 --- a/source/_docs/z-wave/adding.markdown +++ b/source/_docs/z-wave/adding.markdown @@ -16,6 +16,7 @@ To add (include) a non-secure Z-Wave [device](/docs/z-wave/devices/) to your sys 1. Go to the [Z-Wave control panel](/docs/z-wave/control-panel/) in the Home Assistant frontend 2. Click the **Add Node** button in the *Z-Wave Network Management* card - this will place the controller in inclusion mode 3. Activate your device to be included by following the instructions provided with the device +4. With the device in its final location, run a *Heal* Don't use this for [secure devices](https://home-assistant.io/docs/z-wave/adding/#adding-secure-devices), since this is likely to limit the features the device supports. @@ -56,3 +57,4 @@ To remove (exclude) a Z-Wave device from your system: 1. Go to the Z-Wave control panel in the Home Assistant frontend 2. Click the **Remove Node** button in the *Z-Wave Network Management* card - this will place the controller in exclusion mode 3. Activate your device to be excluded by following the instructions provided with the device +4. With the device in its final location, run a *Heal* From 85fe7730ffeab23831a476cbc6b329013fe65d0e Mon Sep 17 00:00:00 2001 From: Adam Mills Date: Sun, 12 Nov 2017 22:44:21 -0500 Subject: [PATCH 11/29] More details about new translation features (#3970) * Add more details about new translations * Fix typo --- source/developers/frontend_translation.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/developers/frontend_translation.markdown b/source/developers/frontend_translation.markdown index e5b12de85f..ace77c6fe9 100644 --- a/source/developers/frontend_translation.markdown +++ b/source/developers/frontend_translation.markdown @@ -24,6 +24,8 @@ The translation of the Home Assistant frontend is still a work in progress. More 2. Stick to [Material Design guidelines](https://material.io/guidelines/style/writing.html). 3. Don't translate or change proper nouns like `Home Assistant`, `Hass.io` or `Hue`. 4. For a region specific translation, keys that will be the same as the base translation should be filled with `[VOID]`. These will be replaced during our translation build process. +5. Translations under the `state_badge` keys will be used for the notification badge display. These translations should be short enough to fit in the badge label without overflowing. This can be tested in the Home Assistant UI either by editing the label text with your browsers development tools, or by using the States developer tool in the Home Assistant UI. In the UI, enter a new entity ID (`device_tracker.test`), and enter the text you want to test in state. +6. If text will be duplicated across different translation keys, make use of the Lokalise key reference feature where possible. The base translation provides examples of this underneath the `states` translations. Please see the [Lokalise key referencing](https://docs.lokalise.co/article/KO5SZWLLsy-key-referencing) documentation for more details. ## {% linkable_title Adding a new language %} If your language is not listed you can request it at [GitHub](https://github.com/home-assistant/home-assistant-polymer/issues/new). Please provide both the English name and the native name for your language. For example: From 0d862a9422a4b48c92cdc82cc4368b77723b3bd0 Mon Sep 17 00:00:00 2001 From: Christian Studer Date: Mon, 13 Nov 2017 21:21:16 +0100 Subject: [PATCH 12/29] Adds a link directly to the cheatsheet (#3976) The cheatsheet shows icons and their name in text on the same page, makes it easier to search for them. --- source/_docs/configuration/customizing-devices.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/configuration/customizing-devices.markdown b/source/_docs/configuration/customizing-devices.markdown index 43f6885f33..71b8a2f561 100644 --- a/source/_docs/configuration/customizing-devices.markdown +++ b/source/_docs/configuration/customizing-devices.markdown @@ -63,7 +63,7 @@ homeassistant: | `homebridge_hidden` | Set to `true` to hide the entity from `HomeBridge`. | `emulated_hue_hidden` | Set to `true` to hide the entity from `emulated_hue`. | `entity_picture` | Url to use as picture for entity. -| `icon` | Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com). Prefix name with `mdi:`, ie `mdi:home`. +| `icon` | Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com) ([Cheatsheet](https://materialdesignicons.com/cheatsheet)). Prefix name with `mdi:`, ie `mdi:home`. | `assumed_state` | For switches with an assumed state two buttons are shown (turn off, turn on) instead of a switch. By setting `assumed_state` to `false` you will get the default switch icon. | `device_class` | Sets the class of the device, changing the device state and icon that is displayed on the UI (see below). | `initial_state` | Sets the initial state for automations. `on` or `off`. From c1f42bdc00db57e6a2fddb66016c115fa49d5885 Mon Sep 17 00:00:00 2001 From: Stephen Foskett Date: Mon, 13 Nov 2017 15:22:49 -0500 Subject: [PATCH 13/29] Update device_tracker.snmp.markdown (#3975) Added suggestion to use Ping or NMAP instead since this is a MAC table not a list of current/active devices. --- source/_components/device_tracker.snmp.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/device_tracker.snmp.markdown b/source/_components/device_tracker.snmp.markdown index b6a140f392..22767d9907 100644 --- a/source/_components/device_tracker.snmp.markdown +++ b/source/_components/device_tracker.snmp.markdown @@ -19,7 +19,7 @@ A lot WiFi access points and WiFi routers support the Simple Network Management This device tracker needs SNMP to be enabled on the router. It could be that you need to install the SNMP support manually.

-OID examples: +The following OID examples pull the current MAC Address table from a router. This reflects all recent devices seen on the network. However, since devices are not removed until they time out, this is less effective for [device tracker component page](/components/device_tracker/) than desirable. It is recommended to use [Ping](/components/device_tracker.ping/) or [NMAP](/components/device_tracker.nmap_tracker/) instead. | Brand | Device/Firmware | OID | |---|---|---|---| From 783a00ec4587aaa358b27102a453bcf3d1afe482 Mon Sep 17 00:00:00 2001 From: Phil Hawthorne Date: Wed, 15 Nov 2017 04:39:39 +1100 Subject: [PATCH 14/29] Fix incorrect closing paragraph tag (#3979) There was a paragraph tag which wasn't closed correctly, which was causing issues on the installation instructions pages. --- source/_docs/installation.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/installation.markdown b/source/_docs/installation.markdown index e45bdff4bc..632457f28a 100644 --- a/source/_docs/installation.markdown +++ b/source/_docs/installation.markdown @@ -12,7 +12,7 @@ redirect_from: /getting-started/installation/

Beginners should check our [Getting started guide](/getting-started/) first. This is for users that require advanced installations. -

+

Home Assistant provides multiple ways to be installed. A requirement is that you have [Python](https://www.python.org/downloads/) installed. For Windows, we require at least **Python 3.5** and for other operating systems at least **Python 3.4.2**. From 4271c4f7a4877eea06d0fe2176671a28119c0192 Mon Sep 17 00:00:00 2001 From: Bob Igo Date: Tue, 14 Nov 2017 17:04:06 -0500 Subject: [PATCH 15/29] Cleaned up English usage. (#3982) --- source/_addons/mariadb.markdown | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/source/_addons/mariadb.markdown b/source/_addons/mariadb.markdown index d04dc3c474..b7882dd2c6 100644 --- a/source/_addons/mariadb.markdown +++ b/source/_addons/mariadb.markdown @@ -34,15 +34,15 @@ Set up a [mariadb](https://mariadb.org/) SQL server. It supports multiple databa Configuration variables: -- **databases** (*Require*): Listen of databases. -- **logins** (*Require*): Listen of logindata they will create or update. - - **username** (*Require*): Username for login. - - **host** (*Require*): Host for login, if you need a login with multibe hosts, use '%'. - - **password** (*Require*): Password for login. -- **rights** (*Require*): Listen of rights to be handle. - - **username** (*Require*): Username for grant rights. +- **databases** (*Require*): List of databases. +- **logins** (*Require*): List of SQL accounts to create or update. + - **username** (*Require*): Username for account. + - **host** (*Require*): Host for account. If you need an account on multiple hosts, use '%'. + - **password** (*Require*): Password for account. +- **rights** (*Require*): List of rights to be granted. + - **username** (*Require*): Username for granted rights. - **host** (*Require*): Host is a part of username like above. - - **database** (*Require*): Database name to grant this user rights to. + - **database** (*Require*): Database name on which to grant user rights. - **grant** (*Require*): SQL grant part for access too. ## {% linkable_title Home Assistant configuration %} From 8b6c1b7e695555c045db391f305c14298e723831 Mon Sep 17 00:00:00 2001 From: dinoaus <32315007+dinoaus@users.noreply.github.com> Date: Wed, 15 Nov 2017 17:56:29 +1000 Subject: [PATCH 16/29] Update notify.telstra.markdown (#3985) --- source/_components/notify.telstra.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/notify.telstra.markdown b/source/_components/notify.telstra.markdown index e60260b636..4297cfc69f 100644 --- a/source/_components/notify.telstra.markdown +++ b/source/_components/notify.telstra.markdown @@ -15,7 +15,7 @@ ha_release: 0.31 The `telstra` notification platform allows you to deliver Home Assistant notifications to Australian phone numbers over the [Telstra SMS API](https://dev.telstra.com/content/sms-api-0). -To enable the Telstra notifications in your installation, you must first create an account and API app over at [dev.telstra.com](https://dev.telstra.com/). The free tier allows for 1000 notifications to be sent per month. +To enable the Telstra notifications in your installation, you must first create an account and API app over at [dev.telstra.com](https://dev.telstra.com/). The free tier allows for a maximum of 1000 free messages. After your API app is approved, add the following to your `configuration.yaml` file: From ce71523e3cba6fd35d349f50853838976e86dc55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Bj=C3=B6rshammar?= Date: Wed, 15 Nov 2017 08:59:27 +0100 Subject: [PATCH 17/29] Added option to set installation giid (#3946) --- source/_components/verisure.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/verisure.markdown b/source/_components/verisure.markdown index 1db2480cf9..d73c9c9e49 100644 --- a/source/_components/verisure.markdown +++ b/source/_components/verisure.markdown @@ -45,4 +45,4 @@ Configuration variables: - **mouse** (*Optional*): Set to 1 to show mouse detectors, 0 to disable. Default 1. - **door_window** (*Optional*): Set to 1 to show door and window sensors, 0 to disable. Default 1. - **code_digits** (*Optional*): Number of digits in PIN code. Default 4. - +- **giid** (*Optional*): The GIID of your installation (If you have more then one alarm system). From 71e63ad5189cb82ce8762433796d40802ac23ebc Mon Sep 17 00:00:00 2001 From: Michael Heinemann Date: Wed, 15 Nov 2017 10:45:21 +0100 Subject: [PATCH 18/29] Fixed link to xiaomi component (#3988) --- source/_components/vacuum.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/vacuum.markdown b/source/_components/vacuum.markdown index 0428eef3e7..51b0adc667 100644 --- a/source/_components/vacuum.markdown +++ b/source/_components/vacuum.markdown @@ -11,7 +11,7 @@ footer: true The `vacuum` component enables the ability to control home cleaning robots within Home Assistant. -To use this component in your installation, add a `vacuum` platform to your `configuration.yaml` file, like the [Xiaomi](/components/vacuum.xiaomi/). +To use this component in your installation, add a `vacuum` platform to your `configuration.yaml` file, like the [Xiaomi](/components/vacuum.xiaomi_miio/). ```yaml # Example configuration.yaml entry From 27d38de0c002b10565a049731fca6596ee2ed4cb Mon Sep 17 00:00:00 2001 From: jimbob1001 Date: Wed, 15 Nov 2017 10:42:33 +0000 Subject: [PATCH 19/29] update to synology docker install page (#3989) * update to synology docker install page Unfortunately the Synology GUI way of installing Home Assistant through docker does not allow access to the USB devices to use a Bluetooth or Z-Wave radio (has to be done via ssh) - User Phil Hawthorne has provided great instructions on his blog to access these devices - so wondered if it was acceptable to provide a link (otherwise it would require adding quite a lot of info to the page) Regards, James * Make a note --- source/_docs/installation/docker.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown index 59d3b5a2b5..5d02740291 100644 --- a/source/_docs/installation/docker.markdown +++ b/source/_docs/installation/docker.markdown @@ -72,6 +72,10 @@ Remark: to restart your Home Assistant within Synology NAS, you just have to do * Go to the Docker-app and move to "Container"-section * Right-click on it and select "Action"->"Restart". +

+If you want to use a USB Bluetooth adapter or Z-Wave USB Stick with Home Assistant on Synology Docker these instructions do not correctly configure the container to access the USB devices. To configure these devices on your Synology Docker Home Assistant you can follow the instructions provided [here](https://philhawthorne.com/installing-home-assistant-io-on-a-synology-diskstation-nas/) by Phil Hawthorne. +

+ ### {% linkable_title Restart %} This will launch Home Assistant and serve the web interface from port 8123 on your Docker host. From 7d2980bbe6ffb4cb4335f074cfd3c98c8bacd31b Mon Sep 17 00:00:00 2001 From: DubhAd Date: Wed, 15 Nov 2017 12:26:16 +0000 Subject: [PATCH 20/29] Added service note Added details about disabling the hciuart service for the Raspberry board (courtesy of Krekza on Discord) --- source/_docs/z-wave/device-specific.markdown | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown index 83fa3cad95..eb67577a15 100644 --- a/source/_docs/z-wave/device-specific.markdown +++ b/source/_docs/z-wave/device-specific.markdown @@ -47,12 +47,20 @@ $ echo -e -n "\x01\x08\x00\xF2\x51\x01\x01\x05\x01\x50" > /dev/serial/by-id/usb- ### {% linkable_title Razberry Board %} -You need to disable the on-board Bluetooth since the board requires the use of the hardware UART (and there's only one on the Pi3). You do this by adding the following to the end of `/boot/config.txt`, then rebooting: +You need to disable the on-board Bluetooth since the board requires the use of the hardware UART (and there's only one on the Pi3). You do this by adding the following to the end of `/boot/config.txt`: ``` dtoverlay=pi3-disable-bt ``` +Then disable the Bluetooth modem service: + +```bash +$ sudo systemctl disable hciuart +``` + +Finally, reboot to make those changes active. + ### {% linkable_title Aeon Minimote %} Here's a handy configuration for the Aeon Labs Minimote that defines all possible button presses. Put it into `automation.yaml`. From d40b9ff36f0a91a6531015eb15ed7b34526ed002 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 15 Nov 2017 23:35:22 +0100 Subject: [PATCH 21/29] Update configuration describtion style (#3991) --- .../binary_sensor.digital_ocean.markdown | 9 ++++--- source/_components/binary_sensor.iss.markdown | 10 ++++--- .../_components/binary_sensor.random.markdown | 8 +++--- source/_components/digital_ocean.markdown | 8 ++++-- source/_components/sensor.random.markdown | 27 ++++++++++++++----- .../_components/switch.digital_ocean.markdown | 9 ++++--- source/_components/weather.bom.markdown | 15 ++++++++--- 7 files changed, 61 insertions(+), 25 deletions(-) diff --git a/source/_components/binary_sensor.digital_ocean.markdown b/source/_components/binary_sensor.digital_ocean.markdown index 48e17b354d..e4bc04ac1c 100644 --- a/source/_components/binary_sensor.digital_ocean.markdown +++ b/source/_components/binary_sensor.digital_ocean.markdown @@ -26,7 +26,10 @@ binary_sensor: - 'coreos-512mb-nyc3-01' ``` -Configuration variables: - -- **droplets** (*Required*): List of droplets you want to control. +{% configuration %} +droplets: + description: List of droplets you want to monitor. + required: true + type: list +{% endconfiguration %} diff --git a/source/_components/binary_sensor.iss.markdown b/source/_components/binary_sensor.iss.markdown index b2b2b3d901..58c98c7c62 100644 --- a/source/_components/binary_sensor.iss.markdown +++ b/source/_components/binary_sensor.iss.markdown @@ -25,9 +25,13 @@ binary_sensor: - platform: iss ``` -Configuration variables: - -- **show_on_map** (*Optional*): Option to show the position of the ISS on the map. Defaults to `False`. +{% configuration %} +show_on_map: + description: Option to show the position of the ISS on the map. + required: optionsl + default: false + type: string +{% endconfiguration %}

If you set `show_on_map` `True` then the location attributes are named `latitude` and `longitude`. The default name of the location attributes is `lat` and `long` to avoid showing them on the map. diff --git a/source/_components/binary_sensor.random.markdown b/source/_components/binary_sensor.random.markdown index 7376d6254d..ea8de4b90c 100644 --- a/source/_components/binary_sensor.random.markdown +++ b/source/_components/binary_sensor.random.markdown @@ -25,10 +25,10 @@ binary_sensor: ``` {% configuration %} - name: - description: Name to use in the frontend. - required: false - type: string +name: + description: Name to use in the frontend. + required: false + type: string {% endconfiguration %} See the [entity component options](/docs/configuration/platform_options/) to control how often the main component polls the random binary sensor. The default is 30 seconds. diff --git a/source/_components/digital_ocean.markdown b/source/_components/digital_ocean.markdown index 6c5c190ba7..c2e26b9aa3 100644 --- a/source/_components/digital_ocean.markdown +++ b/source/_components/digital_ocean.markdown @@ -26,6 +26,10 @@ digital_ocean: access_token: YOUR_API_KEY ``` -Configuration variables: +{% configuration %} +access_token: + description: Your Digital Ocean API access token. + required: true + type: string +{% endconfiguration %} -- **access_token** (*Required*): Your Digital Ocean API access token. diff --git a/source/_components/sensor.random.markdown b/source/_components/sensor.random.markdown index ac61331913..d550d4b88d 100644 --- a/source/_components/sensor.random.markdown +++ b/source/_components/sensor.random.markdown @@ -24,12 +24,27 @@ sensor: - platform: random ``` -Configuration variables: - -- **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `Random Sensor`. -- **minimum** (*Optional*): Lower limit for the values. Defaults to `0`. -- **maximum** (*Optional*): Upper limit for the values. Defaults to `20`. -- **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any. +{% configuration %} +name: + description: Name to use in the frontend. + required: false + type: string + default: Random Sensor +minimum: + description: Lower limit for the values. + required: false + type: string + default: 0 +maximum: + description: Upper limit for the values. + required: false + type: int + default: 20 +unit_of_measurement: + description: Defines the units of measurement of the sensor, if any. + required: false + type: string +{% endconfiguration %} See the [entity component options][entity-docs] to control how often the main component polls the random sensor. The default is 30 seconds. diff --git a/source/_components/switch.digital_ocean.markdown b/source/_components/switch.digital_ocean.markdown index 7eb640197d..e17a74ab35 100644 --- a/source/_components/switch.digital_ocean.markdown +++ b/source/_components/switch.digital_ocean.markdown @@ -26,7 +26,10 @@ switch: - 'coreos-512mb-nyc3-01' ``` -Configuration variables: - -- **droplets** (*Required*): List of droplets you want to control. +{% configuration %} +droplets: + description: List of droplets you want to control. + required: true + type: list +{% endconfiguration %} diff --git a/source/_components/weather.bom.markdown b/source/_components/weather.bom.markdown index 03bc747f40..3a9d64c81a 100644 --- a/source/_components/weather.bom.markdown +++ b/source/_components/weather.bom.markdown @@ -22,10 +22,17 @@ weather: - platform: bom ``` -Configuration variables: - -- **name** (*Optional*): The name you would like to give to the weather station. -- **station** (*Optional*): The station ID string; defaults to the closest station. See the [`sensor.bom` docs](/components/sensor.bom/) for details on how to find the ID of a station. +{% configuration %} +name: + description: The name you would like to give to the weather station. + required: optional + type: string +station: + description: "The station ID string. See the [`sensor.bom` docs](/components/sensor.bom/) for details on how to find the ID of a station." + required: optional + default: The closest station + type: string +{% endconfiguration %}

This platform is an alternative to the [`bom`](/components/sensor.bom/) sensor. From 1589bfc184a8fab7210fd702d581e73e79e267d8 Mon Sep 17 00:00:00 2001 From: Adam Mills Date: Wed, 15 Nov 2017 22:24:25 -0500 Subject: [PATCH 22/29] Specify minimum ruby version of 2.3 (#3902) --- Gemfile | 2 ++ source/developers/documentation/index.markdown | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index c30860255d..b1f741ed4a 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,7 @@ source "https://rubygems.org" +ruby "> 2.3.0" + group :development do gem 'rake', '~> 10.0' gem 'jekyll', '~> 3.0' diff --git a/source/developers/documentation/index.markdown b/source/developers/documentation/index.markdown index f2306b2b5a..33dd22d859 100644 --- a/source/developers/documentation/index.markdown +++ b/source/developers/documentation/index.markdown @@ -20,7 +20,7 @@ For larger changes, we suggest that you clone the website repository. This way, To test your changes locally, you need to install **Ruby** and its dependencies (gems): -- [Install Ruby](https://www.ruby-lang.org/en/documentation/installation/) if you don't have it already. +- [Install Ruby](https://www.ruby-lang.org/en/documentation/installation/) if you don't have it already. Ruby version 2.3.0 or higher is required. - Install `bundler`, a dependency manager for Ruby: `$ gem install bundler` - In your home-assistant.github.io root directory, run `$ bundle` to install the gems you need. From 9eea0609be8885cd4a8eb57f2bded00816c5879d Mon Sep 17 00:00:00 2001 From: Adam Mills Date: Wed, 15 Nov 2017 22:25:22 -0500 Subject: [PATCH 23/29] Downgrade to rb-inotify version 0.9.8 (#3904) --- Gemfile | 3 +++ Gemfile.lock | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index b1f741ed4a..d7b8fe661d 100644 --- a/Gemfile +++ b/Gemfile @@ -9,6 +9,9 @@ group :development do gem 'sass-globbing', '~> 1.0' gem 'stringex', '~> 1.4' gem 'pry' + + # See https://github.com/home-assistant/home-assistant.github.io/pull/3904 + gem 'rb-inotify', '< 0.9.9' end group :jekyll_plugins do diff --git a/Gemfile.lock b/Gemfile.lock index d706705eb3..5fc8a009c4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -73,8 +73,8 @@ GEM rack rake (10.5.0) rb-fsevent (0.10.2) - rb-inotify (0.9.10) - ffi (>= 0.5.0, < 2) + rb-inotify (0.9.8) + ffi (>= 0.5.0) redcarpet (3.4.0) rouge (1.11.1) safe_yaml (1.0.4) @@ -104,6 +104,7 @@ DEPENDENCIES octopress-include-tag pry rake (~> 10.0) + rb-inotify (< 0.9.9) sass-globbing (~> 1.0) sinatra (~> 1.4.2) stringex (~> 1.4) From 82b0a39a7d1d3d17f3a42189300184ac0ce7b688 Mon Sep 17 00:00:00 2001 From: Marc Forth Date: Thu, 16 Nov 2017 07:00:47 +0000 Subject: [PATCH 24/29] Create configuration_yaml_by_mf_social (#3992) Finally tidied up my repo enough that I don't mind advertising it publicly! Hopefully it will be of some use to somebody. --- source/_cookbook/configuration_yaml_by_mf_social | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 source/_cookbook/configuration_yaml_by_mf_social diff --git a/source/_cookbook/configuration_yaml_by_mf_social b/source/_cookbook/configuration_yaml_by_mf_social new file mode 100644 index 0000000000..6f6b4941f4 --- /dev/null +++ b/source/_cookbook/configuration_yaml_by_mf_social @@ -0,0 +1,12 @@ ++--- + +layout: page + +title: "Configuration.yaml by mf_social" + +description: "" + +date: 2017-11-15 13:08 -0700 + +sidebar: true + +comments: false + +sharing: true + +footer: true + +ha_category: Example configuration.yaml + +ha_external_link: https://github.com/mf-social/Home-Assistant + +--- From 3796a3b946b7d3ee3c13b7470bddf901915c83c8 Mon Sep 17 00:00:00 2001 From: Daniel Perna Date: Thu, 16 Nov 2017 08:01:38 +0100 Subject: [PATCH 25/29] Update HASS Configurator documentation (#3993) * Updated options * New options and screenshot * Added note about clearing banned IPs --- source/_addons/configurator.markdown | 6 +++++- source/_docs/ecosystem/hass-configurator.markdown | 9 +++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/source/_addons/configurator.markdown b/source/_addons/configurator.markdown index f2b2d3df19..97640ebe20 100644 --- a/source/_addons/configurator.markdown +++ b/source/_addons/configurator.markdown @@ -46,7 +46,9 @@ Screenshot of the HASS Configurator. "ssl": false, "allowed_networks": ["192.168.0.0/16"], "banned_ips": ["8.8.8.8"], - "ignore_pattern": ["__pycache__"] + "banlimit": 0, + "ignore_pattern": ["__pycache__"], + "dirsfirst": false, } ``` @@ -55,7 +57,9 @@ Screenshot of the HASS Configurator. - **ssl** (*Optional*): Enable or Disable SSL for the editor. - **allowed_networks** (*Optional*): Limit access to the configurator by adding allowed IP addresses / networks to the list. - **banned_ips** (*Optional*): List of statically banned IP addresses. +- **banlimit** (*Optional*): Ban access from IPs after `banlimit` failed login attempts. The default value `0` disables this feature. Restart the add-on to clear the list of banned IP addresses. - **ignore_pattern** (*Optional*): Files and folders to ignore in the UI. +- **dirsfirst** (*Optional*): List directories before files in the filebrowser. ### {% linkable_title Embedding into Home-Assistant %} diff --git a/source/_docs/ecosystem/hass-configurator.markdown b/source/_docs/ecosystem/hass-configurator.markdown index bca0a948ee..6e8c30f7d3 100644 --- a/source/_docs/ecosystem/hass-configurator.markdown +++ b/source/_docs/ecosystem/hass-configurator.markdown @@ -15,6 +15,11 @@ redirect_from: /ecosystem/hass-configurator/ Since there currently is no nice way to edit the yaml-files Home Assistant is using through the frontend, here is a small webapp that hopefully makes the configuration easier. It is a customized and embedded [Ace editor](https://ace.c9.io/), which has syntax highlighting for yaml, the format used for Home Assistants configuration files. There is an integrated file browser to select whatever file you want to edit. When you're done with editing the file, click the save-button and it will replace the original. Essentially this is a browser-based alternative to modifying your configuration through SSH, Windows + SMB, Github etc.. +

+ +Screenshot of the HASS Configurator. +

+ ### {% linkable_title Feature list %} - Web-Based editor to modify your files @@ -64,6 +69,10 @@ Limit access to the configurator by adding allowed IP addresses / networks to th List of statically banned IP addresses, e.g. `BANNED_IPS = ["1.1.1.1", "2.2.2.2"]` #### BANLIMIT (integer) Ban IPs after `n` failed login attempts. Restart the service to reset banning. The default of `0` disables this feature. `CREDENTIALS` has to be set for this to work. +#### IGNORE_PATTERN (list) +Files and folders to ignore in the UI, e.g. `IGNORE_PATTERN = [".*", "*.log", "__pycache__"]`. +#### DIRSFIRST (bool) +If set to `True`, directories will be displayed at the top of the filebrowser. #### GIT (bool) Set this variable to `True` to enable Git integration. This feature requires [GitPython](https://gitpython.readthedocs.io) to be installed on the system that is running the configurator. For technical reasons this feature can not be enabled with the static settings file. From 8dba93493a5ecd13caaaac17b35b4cf4f4ed3ef0 Mon Sep 17 00:00:00 2001 From: EspenT Date: Thu, 16 Nov 2017 08:01:50 +0100 Subject: [PATCH 26/29] Update media_player.samsungtv.markdown (#3984) * Update media_player.samsungtv.markdown * Fix entry --- source/_components/media_player.samsungtv.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown index 511bdeee00..2caaf7b077 100644 --- a/source/_components/media_player.samsungtv.markdown +++ b/source/_components/media_player.samsungtv.markdown @@ -57,6 +57,7 @@ Currently known supported models: - KS8005 (port must be set to 8001, and `pip3 install websocket-client` must be executed) - KS7502 (port must be set to 8001, and `pip3 install websocket-client` must be executed, turn on doesn't work, turn off works fine) - K5600AK (partially supported, turn on works but state is not updated) +- UE65KS8005 (port must be set to 8001, On/Off, Forward/Backward, Volume are OK, but no Play button) Currently tested but not working models: From 85fcddbf17be788c9208b11aa78ba4c8af9d8c2c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 16 Nov 2017 21:05:16 +0100 Subject: [PATCH 27/29] Update configuration description style (#3994) --- source/_components/sensor.bitcoin.markdown | 79 +++++++++++++------ source/_components/sensor.blockchain.markdown | 9 ++- .../_components/sensor.coinmarketcap.markdown | 17 +++- .../_components/sensor.currencylayer.markdown | 20 ++++- source/_components/sensor.etherscan.markdown | 14 +++- source/_components/sensor.fixer.markdown | 22 ++++-- .../sensor.openexchangerates.markdown | 25 ++++-- source/_components/sensor.ripple.markdown | 14 +++- .../_components/sensor.yahoo_finance.markdown | 16 +++- 9 files changed, 160 insertions(+), 56 deletions(-) diff --git a/source/_components/sensor.bitcoin.markdown b/source/_components/sensor.bitcoin.markdown index f2475e7103..85173adc72 100644 --- a/source/_components/sensor.bitcoin.markdown +++ b/source/_components/sensor.bitcoin.markdown @@ -27,29 +27,58 @@ sensor: - trade_volume_btc ``` -Configuration variables: - -- **currency** (*Optional*): The currency to exchange to, eg. CHF, USD, EUR, etc. Default is USD. -- **display_options** array (*Required*): Options to display in the frontend. - - **exchangerate**: Exchange rate of 1 BTC - - **trade_volume_btc**: Trade volume - - **miners_revenue_usd**: Miners revenue - - **btc_mined**: BTC mined - - **trade_volume_usd**: Trade volume in USD - - **difficulty**: Difficulty - - **minutes_between_blocks**: Time between blocks in minutes - - **number_of_transactions**: Number of transactions - - **hash_rate**: Hash rate in PH/s - - **timestamp**: Timestamp - - **mined_blocks**: Minded Blocks - - **blocks_size**: Block size - - **total_fees_btc**: Total fees in BTC - - **total_btc_sent**: Total sent in BTC - - **estimated_btc_sent**: Estimated sent in BTC - - **total_btc**: Total of BTC - - **total_blocks**: Total Blocks - - **next_retarget**: Next retarget - - **estimated_transaction_volume_usd**: Estimated transaction volume in BTC - - **miners_revenue_btc**: Miners revenue in BTC - - **market_price_usd**: Market price in USD +{% configuration %} +currency: + description: The currency to exchange to, eg. CHF, USD, EUR, etc. + required: false + type: string + default: USD +display_options: + description: Options to display in the frontend. + required: true + type: map + keys: + exchangerate: + description: Exchange rate of 1 BTC + trade_volume_btc: + description: Trade volume + miners_revenue_usd: + description: Miners revenue + btc_mined: + description: BTC mined + trade_volume_usd: + description: Trade volume in USD + difficulty: + description: Difficulty + minutes_between_blocks: + description: Time between blocks in minutes + number_of_transactions: + description: Number of transactions + hash_rate: + description: Hash rate in PH/s + timestamp: + description: Timestamp + mined_blocks: + description: Minded Blocks + blocks_size: + description: Block size + total_fees_btc: + description: Total fees in BTC + total_btc_sent: + description: Total sent in BTC + estimated_btc_sent: + description: Estimated sent in BTC + total_btc: + description: Total of BTC + total_blocks: + description: Total Blocks + next_retarget: + description: Next retarget + estimated_transaction_volume_usd: + description: Estimated transaction volume in BTC + miners_revenue_btc: + description: Miners revenue in BTC + market_price_usd: + description: Market price in USD +{% endconfiguration %} diff --git a/source/_components/sensor.blockchain.markdown b/source/_components/sensor.blockchain.markdown index 26e5b590ed..21da288337 100644 --- a/source/_components/sensor.blockchain.markdown +++ b/source/_components/sensor.blockchain.markdown @@ -27,7 +27,10 @@ sensor: - '183J5pXWqYYsxZ7inTVw9tEpejDXyMFroe' ``` -Configuration variables: - -- **addresses** (*Required*): List of bitcoin wallet addresses to watch. +{% configuration %} +addresses: + description: List of bitcoin wallet addresses to watch. + required: true + type: string, list +{% endconfiguration %} diff --git a/source/_components/sensor.coinmarketcap.markdown b/source/_components/sensor.coinmarketcap.markdown index e8ab719c94..f0d20afb17 100644 --- a/source/_components/sensor.coinmarketcap.markdown +++ b/source/_components/sensor.coinmarketcap.markdown @@ -24,7 +24,18 @@ sensor: - platform: coinmarketcap ``` -Configuration variables: +{% configuration %} +currency: + description: The cryptocurrency to use. + required: false + type: string, list + default: Bitcoin +display_currency: + description: The currency to display. + required: false + type: string, list + default: USD +{% endconfiguration %} + +All supported currencies can be found [here](https://coinmarketcap.com/api/). -- **currency** (*Optional*): The cryptocurrency to use, eg. `bitcoin`, `litecoin`, `steem`, etc. Default is `bitcoin`. -- **display_currency** (*Optional*): The currency to display, eg. `USD`, `EUR`, `GBP`, etc. Default is `USD`. All supported currencies can be found [here](https://coinmarketcap.com/api/). diff --git a/source/_components/sensor.currencylayer.markdown b/source/_components/sensor.currencylayer.markdown index d26955ba01..2c59a2a8b9 100644 --- a/source/_components/sensor.currencylayer.markdown +++ b/source/_components/sensor.currencylayer.markdown @@ -31,8 +31,20 @@ sensor: - INR ``` -Configuration variables: +{% configuration %} +api_key: + description: "The API Key from [Currencylayer](https://currencylayer.com/)." + required: true + type: string +quote: + description: The symbol(s) of the quote or target currencies. + required: false + type: string, list + default: Exchange rate +base: + description: The symbol of the base currency. + required: false + type: string + default: USD +{% endconfiguration %} -- **api_key** (*Required*): API Key from [Currencylayer](https://currencylayer.com/). -- **base** (*Optional*): The symbol of the base currency. Defaults to USD. -- **quote** (*Required*): The symbol(s) of the quote or target currencies. diff --git a/source/_components/sensor.etherscan.markdown b/source/_components/sensor.etherscan.markdown index 8200f53177..fcdc538705 100644 --- a/source/_components/sensor.etherscan.markdown +++ b/source/_components/sensor.etherscan.markdown @@ -25,7 +25,15 @@ sensor: address: '0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359' ``` -Configuration variables: +{% configuration %} +address: + description: Ethereum wallet address to watch. + required: true + type: string +name: + description: The name of the sensor used in the frontend. + required: false + type: string + default: Ethereum Balance +{% endconfiguration %} -- **address** (*Required*): Ethereum wallet address to watch. -- **name** (*Optional*): The name of the sensor used in the frontend. diff --git a/source/_components/sensor.fixer.markdown b/source/_components/sensor.fixer.markdown index 3a555f2c25..220619cf30 100644 --- a/source/_components/sensor.fixer.markdown +++ b/source/_components/sensor.fixer.markdown @@ -27,9 +27,19 @@ sensor: target: CHF ``` -Configuration variables: - -- **target** (*Required*): The symbol of the target currency. -- **name** (*Optional*): Name to use in the frontend. -- **base** (*Optional*): The symbol of the base currency. Default to USD - +{% configuration %} +target: + description: The symbol of the target currency. + required: true + type: string +name: + description: Name to use in the frontend. + required: false + type: string + default: Exchange rate +base: + description: The symbol of the base currency. + required: false + type: string + default: USD +{% endconfiguration %} diff --git a/source/_components/sensor.openexchangerates.markdown b/source/_components/sensor.openexchangerates.markdown index 63e94b74a8..14340a4471 100644 --- a/source/_components/sensor.openexchangerates.markdown +++ b/source/_components/sensor.openexchangerates.markdown @@ -28,9 +28,24 @@ sensor: quote: EUR ``` -Configuration variables: +{% configuration %} +name: + description: The name of the sensor. + required: false + type: string + default: Exchange Rate Sensor +api_key: + description: "The API Key for [Open Exchange Rates](https://openexchangerates.org)." + required: true + type: string +quote: + description: The symbol of the quote or target currency. + required: true + type: string +base: + description: The symbol of the base currency. + required: false + type: string + default: USD +{% endconfiguration %} -- **api_key** (*Required*): API Key for [Open Exchange Rates](https://openexchangerates.org). -- **quote** (*Required*): The symbol of the quote or target currency. -- **name** (*Optional*): Name to use in the frontend. -- **base** (*Optional*): The symbol of the base currency. Defaults to USD. diff --git a/source/_components/sensor.ripple.markdown b/source/_components/sensor.ripple.markdown index 1db3abc097..ad960c30e5 100644 --- a/source/_components/sensor.ripple.markdown +++ b/source/_components/sensor.ripple.markdown @@ -25,7 +25,15 @@ sensor: address: 'r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV' ``` -Configuration variables: +{% configuration %} +address: + description: Ripple wallet address to watch. + required: true + type: string +name: + description: Name for the sensor to use in the frontend. + required: false + type: string + default: Ripple Balance +{% endconfiguration %} -- **address** (*Required*): Ripple wallet address to watch -- **name** (*Optional*): Name for the sensor to use in the frontend. diff --git a/source/_components/sensor.yahoo_finance.markdown b/source/_components/sensor.yahoo_finance.markdown index f6f8fdb856..de79cc87bd 100644 --- a/source/_components/sensor.yahoo_finance.markdown +++ b/source/_components/sensor.yahoo_finance.markdown @@ -24,10 +24,18 @@ sensor: - platform: yahoo_finance ``` -Configuration variables: - -- **name** (*Optional*): The name of the sensor. If not specified, it defaults to *Yahoo Stock*. -- **symbols** array (*Optional*): List of stock market symbols for given companies. If not specified, it defaults to *Yahoo (YHOO)*. +{% configuration %} +name: + description: The name of the sensor. + required: false + type: string + default: Yahoo Stock +symbols: + description: List of stock market symbols for given companies. + required: false + type: string, list + default: YHOO +{% endconfiguration %} ## {% linkable_title Examples %} From 3a55791a759dfd5ea9a2fd38550147610a2c4aae Mon Sep 17 00:00:00 2001 From: Robbie Trencheny Date: Thu, 16 Nov 2017 16:35:37 -0800 Subject: [PATCH 28/29] Fix numbering --- source/developers/websocket_api.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/developers/websocket_api.markdown b/source/developers/websocket_api.markdown index fb538f7e89..3cf5796c1b 100644 --- a/source/developers/websocket_api.markdown +++ b/source/developers/websocket_api.markdown @@ -29,8 +29,8 @@ Connect your websocket implementation to `ws://localhost:8123/api/websocket`. 3. Send `auth_ok` message 4. Authentication phase ends. 5. Command phase starts. - a. Client can send commands. - b. Server can send results of previous commands. + 1. Client can send commands. + 2. Server can send results of previous commands. 6. Client or server disconnects session. During the command phase, the client attaches a unique identifier to each message. The server will add this identifier to each message so that the client can link each message to it's origin. From f22dad1f599415e17e862fd7b27214d785bcf284 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ab=C3=ADlio=20Costa?= Date: Fri, 17 Nov 2017 05:12:10 +0000 Subject: [PATCH 29/29] Update switch.flux.markdown (#3517) --- source/_components/switch.flux.markdown | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/_components/switch.flux.markdown b/source/_components/switch.flux.markdown index d53a0714ff..69d3e8671e 100644 --- a/source/_components/switch.flux.markdown +++ b/source/_components/switch.flux.markdown @@ -16,9 +16,9 @@ The `flux` switch platform will change the temperature of your lights similar to The component will update your lights based on the time of day. It will only affect lights that are turned on and listed in the flux configuration. -During the day (in between `start time` and `sunset time`), it will fade the lights from the `start_colortemp` to the `sunset_colortemp`. After sunset (between `sunset_time` and `stop_time`), the lights will fade from the `sunset_colortemp` to the `stop_colortemp`. If the lights are still on after the `stop_time` it will continue to change the light to the `stop_colortemp` until the light is turned off. The fade effect is created by updating the lights every 30 seconds with a 30 second transition time. +During the day (in between `start time` and `sunset time`), it will fade the lights from the `start_colortemp` to the `sunset_colortemp`. After sunset (between `sunset_time` and `stop_time`), the lights will fade from the `sunset_colortemp` to the `stop_colortemp`. If the lights are still on after the `stop_time` it will continue to change the light to the `stop_colortemp` until the light is turned off. The fade effect is created by updating the lights every periodically. -If you don't wish to have flux update on 30 second intervals, you can leave the switch turned off and use automation rules that call the service `switch._update` whenever you want the lights updated, where `` equals the `name:` property in the switch configuration. +If you want to update at variable intervals, you can leave the switch turned off and use automation rules that call the service `switch._update` whenever you want the lights updated, where `` equals the `name:` property in the switch configuration. To use the Flux switch in your installation, add the following to your `configuration.yaml` file: @@ -43,6 +43,8 @@ Configuration variables: - **brightness** (*Optional*): The brightness of the lights. Calculated with `RGB_to_xy` by default. - **disable_brightness_adjust** (*Optional*): If true, brightness will not be adjusted besides color temperature. Defaults to False. - **mode** (*Optional*): Select how color temperature is passed to lights. Valid values are `xy`, `mired` and `rgb`. Defaults to `xy`. +- **transition** (*Optional*): Transition time for the light changes (high values may not be supported by all light models). Defaults to 30. +- **interval** (*Optional*): Frequency at which the lights should be updated. Defaults to 30. Full example: @@ -62,5 +64,7 @@ switch: brightness: 200 disable_brightness_adjust: True mode: xy + transition: 30 + interval: 60 ```