From ee82bf15ded166ad2659bee45a3a170d5f304bf3 Mon Sep 17 00:00:00 2001 From: Jon Barlow Date: Thu, 19 Dec 2019 13:17:15 +0000 Subject: [PATCH] PR review feedback --- app/appointment.js | 5 ++--- build/app.fba | Bin 24240 -> 0 bytes common/utils.js | 15 ++++++++------- companion/index.js | 23 ++++++----------------- screenshot.png | Bin 22677 -> 15410 bytes 5 files changed, 16 insertions(+), 27 deletions(-) delete mode 100644 build/app.fba diff --git a/app/appointment.js b/app/appointment.js index 9ea7b27..96c7871 100644 --- a/app/appointment.js +++ b/app/appointment.js @@ -4,8 +4,7 @@ import { readFileSync } from "fs"; import { dataFile, dataType } from "../common/constants"; import { toEpochSec } from "../common/utils"; -let data = {}; -let cb; +let data, cb; export function initialize(callback) { cb = callback; @@ -59,7 +58,7 @@ function loadData() { } function existsData() { - if (Object.keys(data).length === 0 && data.constructor === Object) { + if (data === undefined) { console.warn("Appointment: No data found."); return false; } diff --git a/build/app.fba b/build/app.fba deleted file mode 100644 index 301279ab2089286e4fae91b363e78aa7c00412f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24240 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 A-T(jq diff --git a/common/utils.js b/common/utils.js index 519bf28..ad95201 100644 --- a/common/utils.js +++ b/common/utils.js @@ -38,26 +38,27 @@ export function timeUntil(date) { ); if (days > 0) { - return `in ${days} day${pluralize(days)}`; + return `in ${days} ${pluralize(days, "day")}`; } if (hours > 0) { - return `in ${hours}hr${pluralize(hours)}${ - hours < 3 && minutes > 0 ? ` ${minutes}min${pluralize(minutes)}` : "" + return `in ${hours}${pluralize(hours, "hr")}${ + hours < 3 && minutes > 0 ? ` ${minutes}${pluralize(minutes, "min")}` : "" }`; } if (minutes > 0) { - return `in ${minutes}min${pluralize(minutes)}`; + return `in ${minutes}${pluralize(minutes, "min")}`; } return "Now"; } /** - * Returns an `s` if the number is plural + * Pluralizes the units if required * @param {Number} number + * @param {String} unit */ -function pluralize(number) { - return number === 1 ? "" : "s"; +function pluralize(number, unit) { + return number === 1 ? unit : `${unit}s`; } diff --git a/companion/index.js b/companion/index.js index 39aaa21..d4383f3 100644 --- a/companion/index.js +++ b/companion/index.js @@ -12,8 +12,7 @@ companion.addEventListener("wakeinterval", refreshData); refreshData(); function refreshData() { - let dataCalendars = [], - dataEvents = []; + let dataEvents = []; calendars .searchSources() @@ -21,22 +20,12 @@ function refreshData() { return calendars.searchCalendars(); }) .then(results => { - results.forEach(calendar => { - // console.log( - // `> calendar: ${calendar.title} (${calendar.sourceId}/${calendar.id})` - // ); - dataCalendars.push(calendar); - }); - // Filter events to 48hr window - const start = new Date(); - const end = new Date(); - start.setHours(0, 0, 0, 0); - end.setHours(128, 59, 59, 999); - const eventsQuery = { - startDate: start, - endDate: end - }; + const startDate = new Date(); + const endDate = new Date(); + startDate.setHours(0, 0, 0, 0); + endDate.setHours(128, 59, 59, 999); + const eventsQuery = { startDate, endDate }; return calendars.searchEvents(eventsQuery); }) diff --git a/screenshot.png b/screenshot.png index bedb2e5d29a2e60069dfe2fb97232d33cd2548da..9c355dd75f242a7dfa8a4ac20634b8b1caeb3711 100644 GIT binary patch literal 15410 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 literal 22677 zcmce;WmuKrx-~jMx&AkF#!U+BO}CpRr3ZL}hGEb6@CGUS)P06*O_aZU8TwIO z5~oqJ_A~Fh+=ITPC#0XtAKr1;b?X@1{#^0ErCm_Cj^f^%YhGl}FC^(~soU-T5C4q_ zV{4co&emBT9UD05d888;6mhfdH@@q_9M^;B2MP8RkBoB@N>rDZH(s8Ze%=dZ4rVk8 zolJWyS!WnZQMD@)vn9>G8k4e-GHg?>+^3kq&i`NUZi|l;OO?fTl6SvrrNNLUzhPG3 z(Sz~Wm#u*(`kOATr`heV9DXcCjQ40&2xuwqVmq-OXU{nKH$Q38ej~QjcFQfY5(sn6}k8j}62Q(yDRL+KbYs3Sw%(6tTxe||DZcxRk=7(F!R(p>0{x(V;yyI@>5^x^t3OdJHgI0 ziQ**n_dkyJ&T&_BaB%Qg?1(cb}?>Ai#qv$oOxy2b>%qWF#ViG)Let-aTW#(l=c z(tp(5r>7AJr{1$is})HUm?0FBLiw9NQ2JdsJBYaWxfT9*2c)tGALo55QAIIOji*W( z_a>^;%}0GqWs*#^f;SUKBxH%4?!K)pbMRW|_z@AUM?^R}7Q>JCnOoob&)x{k8DO8e zoqp*eLloZ`JblfL$-sQ_iX`QFwZ5$>HFvs~O})b?D!ovkYihU~y#cduM*aiD$be(} zB0)^U&iW#a7=u34b_kF3Yh#g8WgMiODjUVVj9itJRJ$|6=uJi`)pq+#r-<>uW_>rs@Cq z#l(2^T)=E)wqLkyfP|IrlaCLlX~RYJX~f?eqLALzi1|Z=a2n3uB@ry*eX@mi<<6iy ziCo7G6kD@rqG}pfR!h*;ZW7+L8Wa-T^~6Y-oTy!_#I`<0v%Ttzkkgp9leANRURy#- zdrC}IR$Mr~^<9OZGcY6GMT!^;jk{}Q^oJ~m+^DOGg!loQkhzh5#Y|+P@u0MIl!6rX zTkj|S1Xr`wvKuF&;hx@X#oc5;^ET0m(bU=!KAEvIr55pnc25GRT`J^y^!RqNfq{$7mu=E+PhlKDznOn7*h`T7SWvu_O> zY9%I*JwKCh2V(7|mh`PfM=4@l#d1pXyFp}2#l<(6>o<w->`l!yhrFiPALVzqcH2KkxTKdy`(};5#WzRz!A6#fjn9E}M z1n~Kv_Md8Q77Cr=pf){eGW1nk;;0lOYM6+Yrhj*=A^-Bxbcfoao73UgFU!m9+zQMH z92*ST-y(T|QkK3;LaRZdk?2}Xn}W(SEm>Jwz-R3z^p;-Q>R}iz#^rfr z&*nMJjmCw<8yD%#GxHxzSDkb`M5ZRLv5L1SG)(kx+6q$LzD)@CG~HW$M=)L@x>bU` zF{K=ZkPhCS>ofML$>^*}CQP{~#|qJ+5aWPjo>u;8OS`_v)@!BJ6_N?vN%(Wa5Gx^8 zi+;!z1G)0&a~N)8ZMFPfrcK09x~;Jo#^mv7?SJ0w=}t}9@)MP>3N*YIsmx}|Z) zk`R-C0E(|U*$eE3Irl~HnnWmX0?xLCsMgC8QUtVPf4H z(@=^~KCPPVL*eS`YJ_;jOqE)J7ysGzEiyu?ySr?QV^ey#4JG-T9*1tZj>p&Er;cwS z1?u;^A6%^EZLS@K?^nd_=K0EDEBtq$$1kEA*x2x zey0bgRp!F!bp0h2ZfFt>whex>Q7A>iKtf*EgSW>rGR(~ zYT?ExXRjr!txfd^U34u%w&TXWJL|G+Pknv=V*M6bv+|nQc>R^W#!b4{k`6`Ed0L$* z9lhrhmb>+q1=m-L)v-tGyB+^1weL--8okWEcnUA;)xFZu3%)RyR35(Y`LXK&#DIv?p(Tj0o^z8yaIfBtV}z?_mTvQyf9zGmvI;6Pz)USDN4 z)m9(vZl=b1#MkAB910`tQ8Zg5PJiteF$ZoIp+JOo5X+SEtmJPG*V!I4?-8!zkvi=Y zElRF<@Alw2g{wB$OT9~)HaS~EAFT$PlArHi)vBK_yuOON`&Pt>_ael7<7scw&28Hvl7m;A;AP>nN$S`3FdR zt`gV06jF-LjMGf0^fFlDRA2EI{ennelG4&CN5A3ER%)E%CdBfq@MAEjs;+QYlIq0N zMb*}&C%n8QAZA)j8UZ+5Yh0OS+OKofQml*BdKk-xp*D+&ov)=f zyZr-+L=Fw1t64J(L)z1-nJ1p?)}I_#)Ss=}6RI-+_eo$;X|O;zJ>ysn4B%6^Xl_IUa5=M2wtgx|aV zdK@U4kBR`yiH8za)m5;Y+ARm4J?OBd)`k!T*gQ@lxvew8-lx!f_!3CtRBul^M+19hAJ;b z9h+zj#VFJ1@r}3!a$r=>y7i;Mq)Ldx_>uit-k5!bQ;0>Gi^=o(NMj!|_H6CZ7*llG zRU_OoijMGHD^Bq^6Nk4owhF`Tk8%ajq+dQNV#GcoVvx)@T!vaGrva!4UAO4t7v%9% z2v-*OJM@HsS6h=Q*vfCnyBlvc7`%9(XdQ#w`bNSkM=hr`r!+TVxWK_?b9n6QiN9;i zwEN<`SDadHbV=c8Zd(2W*J`)1iyX&Gum!CIf%8^oWu3$b?;gEhE)S>pMv_H%VkMJV zTO%qI*)zEba^WZ&mSXRp`OKd0Y)z9!>d1}or2o?$>;^@PrQWMczKfl~-liAy_WYq@ zoCyLr^fob*3-fYsRV7uGhCiqUgY{K*Vv5&jhnI!qQRuJMp2Q=4W$>Rv|&={u6^Ex=V z=`P=fh4z9*O}C@oX4B%FzKkD7l!C{$+l zL~Xv0F|#dq{=GVDaK_L4yN>dMLPK??MlYc~qg0T-Kyk|4{E>M>LBljWaW!@yAnQi1 zG%kBIl?kjaPAQH)j&do#d1x>`BN@Q@_pH1@8JC=(G4pWQ&^Hjh=}Gg%c#WNKLUaPO zpb#QLFNw+8FH|Ob7_CG&Z&BkG4^K5r0is-0K1!O*$^0<(k+TO!Je1FwS?P_!=0GdP zHC!}Z)W-!+BmWRV8*d?IQ=1Nl<_CqVnFdgYyD>Q_;|+OUkJrnOQ_na-tjLCvmY{vZ zaN*ikwk@N>8$#4RSi3wU4yRsNJOBz15eUsp5-F0+squ)`+rN?^ z;yU;m#uBI&#BRjm@5U&o%v2RQ`K%TI8Mi;5e+e+rN3#=P+Sc0pv)kkR+Vzn#%|0mx3I5nM{W(@6i*nSQ0Dlgq3rwRj;PuUUwhBzgNGo! zsI5tJUy2f|B@ffycAru>4^BM*cy;gE)&>iQpNF z1U!S)fb;qTGYhT0qIYrbK|+lkbaff>vOWG~2E#?T;V)93Z&REtZiIq|t`4;1j^n{2a zJ)MYFLZ38Pr$;Fdo!ti`MPrJIWGRgBQbaWa&{q^`I^lTdw7VMLZrkzo6M45M+wVpn zg9>z+$rTTrZIdWK0&xB+q(UNhskLQxCpf6{?5pCWY{eC^2cLw9iXVKn3Qs)3&$v+3 zxFq@@fH((67-*nMI+Z#Tb47T!2XJ?>XU1f7*UmICxw2>H(ig^R$S-lw=6>%DoPR$J zqH9M=N5=i}+-0}d;%7$F?VC;P1W4NI6wq4;!t%q0A`0amY?UJOltYW*Ag@WEW zbo$zP=Yfl;+O|QgZQ>xik|(x_kF>#2@^kKVb@m3PV-`4WO#A&8WEHiz-@6d0+IVLH z2H_6&2g4j}lVXt_rceg~OF+~{GFubdKAF`8nMp*+@|xATcgTAU2fioGNVq|IXr zRP}qFeXp`F_?dO7HcXeNH_JNrfBg6n`UHYd#`EPFznf?mxdlk-XDLoX%*>uCd) zR`!OthGVO$s?I&m;K{{SMu+SLZ68`k*@bxjK7aArD~9h;{0$H{S`^gNFS0#>p&KTx zhVz-iMc|>bCsk%NimaaK@mx{&RA@vU6&MZg4d1YuKmCVWrW?g_SjgEC&3QmX3sfRK2Ue(**F0X22MkU4_8ONN4rPYYC{(E%NZ`dlk> zXA9@)2E>LxsZJ3~d}?o z%3jnR_PM&HZ021QuI@fKrlUP$__V+~Uw2SeC^5d1Pmi_r?Qp|wcuKpHs%@m>0b5R? zs+ZBeaF!QCI;GLtT2<*YuQ9>nQYB>M&J>r#xa+jbjM$Cti!*VucV71{hYlv8t$JZS zXXXT?!58YGd-7;^z9)AjOE{4Y4GS0ASX-Nhww_yAo^LJ{f1Q;gyIAWx$MfEDc)s!2 z{=JtSh5nWr6vb!f$0p15k@Hhg#W=C-*?CS6rq1>2B*er*TJP2oyPS{rHSgA*O(mWV zQ9nvyD|*xMc|n?9eM;S{)Y;zDkyR>I0o#f61va~ia&lpTG%nON{nBEzY@KxBT(KoX z*nybTNS-bktNEc<78VxCg}uoRJxbA}6bPBX4EEu#Z;8m*==-U2cZW!=N!Bcc;*?0_ z${vzZwYV0i@GU-df^2RhH@D^RQnGr854RH<_WCG` ztK$mJ(pVJm4HolX zGN3)0f;b$qovkH~yv_uOfi&nYcNb~}syNC9myGn`@P??S(}GQbb{zWuPl=&&Dv+)5 zVgKn~z4-2XDbX{gHuB2YJ0x;0Wq-N_`ow+Mf?FBuUZaWk21eXHylZr7c%0`B;}~vW z;%w)$Xm$Q_#a_nG`kbJ+cB1m2R4K*%A<8Dvmv2$Hq4dPW})81 zly!^CML^A+*@Kg2{5mv!nfcc5TahzBCXn0{-6_4Z+Z8xhAFRb{pE!%!^ZH^cSVv`^ zW`dTtxiRU*d$9{k1OqYSLGoD2?DN_)5T29T>r9<2H$c*LDMQwlQAG?Yn))4mhx%Mw zDS#rRkFW9riYDBBwO zwKgc0H#p8APK`?YQTiUt^H}Qda>(hVvCs>5fPnDTk;jR_EVYCo?d<9p5Xbr(-}l)EOjGjr z?3nr#p&Jn;j9qFAJ$A$?u*yNvZ0c`Bp7-|jeX)K@Ge(YMg|ol*y94sV8dSTJkdw=b zOw1Y=m)eb)iXU#Quw$zC$XHa(&I=SqM4U-_e%TjN7H*OwI@BF=9i1FVb#b3KZzS{8 zI)3sAIup6L)Xu~?R!O$$%fh<;L0~Q`B8MXzW(OO17F1<034=Lk1bc9l{;Q>@qH4wW zqnKY>jrFg}ZX|`6U%|wjAL2(t!g%Am%8sHnI2r_&`0Y#WGuWXDjX;!Y{i)0= z+H_BCAYQ} z73o}omSAqEF>a*)bViv!WtGDPFuiqi+RwQE^3e|6f|T=xuiy@48@V?q>J3R^0SotP zqbVhYzOA-C`zwQ*$AI!M%=4Z{3z)k_jNs+|Y8b&73zUt%7cG5~BaXVB=m_?oI|t~SnIS~$AuvGgoH8~gO2KR zr2f?67ZwAQy5Btv#}vnlg*F5P|-&kP`kQJ zUjZ$IRAJJpDnLb8KaYrw-YW1UXuvFuSb=C;c3a(y-H8{|TU-u-$0X2dMA?QX@-nXar4wx;S03YnjTxUNi)d;(j_ zKOLB^xuZ>ld;eJqjt%xzYHD(rr?PP0bG~=mjW>kI8b}YQBE9(o^%eCu^W3q&Ph}T<>rZ_!GFwp@EjKk7Xty0hDDDQrC{!NPBd|&jZza9>A+@;TN*?PCXxn6IsAGQ{nH3{z! zST#WT~{dI!Ky zAnmT(f(oJR*%479n!cfVPNbY0BO3Sf^mVNogmfeEBoP@^%lr>!BfKG`$aQ^n)a-eVSut!U0UaIHX|G0R({xWwG~Q5 zTRh*<*`3vrw_;Hy6y6>a@(JY{T}iz~jIuhOoRHVKi@nv*i3k1p7JI9lv2b?LxuxCF zyeD&3Jw(aox<$A8U0g%H>9R^T1>=z-b$%r~Xs`w|B6PEI4fIQUupf-)c6Cz^*+0OBCM-|(K2!H>_MC2*e+@yOWu#iewRJ&^Mg zy5z~si<9Kn8}8u%4WzLed075

    YQjHYwwg21fLIWjRkPUq+quUJ#gHbSq1Fy_>?` zh*-~B!|demtP}R<`O8axlYP_OGURcR*s8pvydkC`2&3N6-103yZ!KgWF2ALED^2g+ z`u(#>l~Q?*)gSqJwq2$rg}?~Fjoe|HIIue6`QNo8fhXsJCZ?hCQgbcBO8kYr@L~%_ zBm_LjW(a$G``kMql0Y%_qnz(uK#Dy6E5#O}rTIinTCa6C~ z-3^`PIQn|W`t#TfP=!Ed{&bD*c>3%rA}c&+E6u@Xl^4klTwYzt`^1gYyNb$Q`@?EA zf>}u>LFA=>g`dV9tB0|sty9wq3G?rvCtu=3o{Lg(@82oxoQj@#W)_fxU?dy#?tL)# zCcXRC%5&-IGgPh8%@{~xf7{)Ei+UySEZ;7B^g=EA- ztOT=7^N~yv(YiYjlFkq90Np~dEqz^jQFAtIg6r)t3c5tJNJ5qCg89MIVUU1a-V+kx zp*gK1S&mukk@rDX@HN#T^VTpLOu8Ay=c~DLc=^ios#mH?dftyuGzd=Is7tV1W%Xznh4UUKLDsP-seIM6I% z46vBx5m;f8Suts04yncatu;HVH9Z7Y}Zu%aVJ5< z+EHRE)J2izwzpROStRI_H!X}OrOE@#{hwET33aO`{6BWN@Ydf7`cMa7V1Z=5^?VQ|3WSB_I zbZ<>=nEk}^2y(lz<7#zFE=MwVSWsSNu7SbFTM{K9FWB`G7ZK_x*1E_bv2)oX=Ll(3cz! zO->^#Mz6S_-z8X#7)(2!^{IsX!op_b-)|bYE3V+{5K-1ca-bi*a0fI}jM$F|S zYG%&EMAYY0x$nobVbLkVRNJ&>IQ>Iom{Yf=jhw6ddJ#K{ zzH+CooW(D4qqoPXWGn{gE0e>?9j1u+oE^}hb+f>_1`u+TVtI6U;6l?2q(S5kw)0@O zU8#{hChc1oMT7HBV2d4~5r_@qtRVlK=}}5QuHfY6QflyL;MEj7mr#yziv+^Qxdt|=bCju7RLj%&fZ&(Z&?6Y;(fV#FYu}NDJ zGEATU{o&Q^R1pMd8TUA57#RG(mj;6>IA%`1!HDsjV3M;$@$&%;@QUC7!=g{)LcZ<8 z2II_-)9R~eJa5tjk>>=SUJ&>(%WiuhP_PHXf`@4!HD%Uf<6*S2gmzaye5J;rN(lqT z=}9*+>!pBQaQ+AScs1Djch`^a1%V~1KJC?(ER(9>&C%c~5#YBqpdXjpTi8~64G z;lE?G>;wPq)L{xL4RaZ2RZ8d3G3&BDaWCopB&859IovPE{JCWofBDzPm`;^fl>+%z zgQ7xCpyG*}hkPotAe2VSD6@d%h++nGhGhMJ;ekQ_j-hmjKKp9z{DPv_k1s7xIjce^~CvuCZ}-6Om9)S#wzgq zOKX7BFc`u?1O)#U)bPKfR)d%S=3bruDrdCrCO504I)k~TVujmP+*KPcDZ!W^sQ7eh z50n>JMUWK3Lgts=DLdj+V%zPU>t&8T33f1mjnS-9B5?9A3)6*cu}AtTSZTlr2Q^Uo zt0O+b2#7AQGFaM7RzYPb@fuc!ubKc%GB`=T7fZ#p!3K&JZNq}{{qsUgBDV6&&3m=% zA@yXx#>)2cUT+rY#lVpHJo69crdN@?UNiZXe(*DksaI;Sli*s+3u@D!>jD$|ne!7g zDUFY}xPXk%eY3G-&(`Viin)N`82)ZS zZd92$|3t~GjY5(iBH?QoWpYk}K*C<$S19voW(rpw(`++g-U^2n`N3@E#JSqbMhfm} zwy?F#k;j8`0?4_Ea%t2B`$gj^U4G=Rn{CrD;rjpj+)8NT=04K&(LHIp8&3@G%yAvb4))hy<;Fn`hvAZ|;{!NpJlPA%Kf!YkwpALy@LWdG`JVRXz>v`XPlfjY!7lwe_dAS~ zK+gWRH-#7^dq~pSU32*v8Ph*4u#BI-m~T8K;7asX=t*|CT=FoxM#WTR1xI=RC;rRg zVQb-OZ=e7xjOV6*nA*go7gWsk`ENgi6Q%fmoXI}O1lb%aI0%ceCd2#)o-&nZ^^P8% zlCWihRJiaV5N8PKPv8$hX!`n@7+xAXz%P;B+YdhEZPTU`sxE5bV(R~SELz0BUQc@) zP28HG&hci604i9C?ksU|!cYR{=Rh4=Z(|4G_oq$CcpKCjSO{m!FHLi@JNLj`7g`K97f^>x!V}Yb)#qEW zI(OdhA|T}k7fqL08PIU&Z!DpJ!tR^}!?75`6};ytvrM`*AO!%6ru?rLE7@jvE(ZwE zKpKf491!E>8tZ@G-W5}ygbDAOvHsW7a&>cxOR6S`!z`)zu_5sE2HYCGv={<9inzyJ zpeUF>y*c>kA$%kQoOz&k!I-(R+^XY7hYCM<_x{I=TU#2+p!9T#vQ$e2n}e`~&A=9s zde`c=IEd`v6gpha{aF49RPZu;gVgY8w4CRd1+eq0 ze_Vg~Lj3i&Bm{!K`BC}7U$L3t~7G8B2nGO zI+(r2v|aKsSfEH2&$t04MzR^NxY;VC>vzNQ@81GRnp9{l#sSmU^E5)yN)l-NLa z@M~PSOa`y>bd46v8u|vH2COJpL%a2jxY7|X!cXBz+?k5 zo}b+lp`S-toVw!shSoHBIa^fK@BDJ8i@Q#V<{pIKI7zSHKKJnG$~RH*J~}DSKjU71 z);Bj#JeL}Kdwr9WF~!8LIy%y>t%;9}x)j+PowXHTZMzAV@cI)?XGUjw#U`8eS?sSMcoX+cpG~SuuvH z$HEH-2L~Rf2ismv!a}zsT~0t^(V3f@OO{&MD|f4~8LvypUvlwW3QwLXeJ-bwM6lG; zm>8qk9i^MSt}URVd6?B){di@m ziP@T0i=Nk+gUW!Y*PssXdp-s8*m7a3de?pPboB<*|NTX^GlKm~uC%GdsMsCg2FwAMY_T_0Q@oceYw9AEe+@s*p~X`RREk<<(o6=kZpM-zE7 zcizLX$**TCL!aNupx}l^L^z%24vcS1)LEUnmZU5lCyP1y_xY2`*@-3zW7=pc^I5pN zf7?|^o^;$iup0jry)WLki7Xay7s_W39+>$i;vB6REV3{aGd@0kxIW%~fju?Se>A^L z+(wS5pQ2lhNI;Jg@Xyhg?tA1CFQ&llL)k*K+^SG~133B65JBh)xLkHikAhReUF6e(NUH+e|JXELOilkgaM!^xSRbWj~=iAtd^SzUpk`E?4?wbFYWKyke41__(?1!_yYk7maaeOL&S^&i8FCDgRPYs1}yh{RTUv)v#Ebo9th{#FfomE%M(kb2l<#>f3$o zALsSJ-vsoJ%#q6NDI0gI2@8P>(JNh?&iH-4BT8F$Zw?Z7hArtHel@K7E_Tf(@%m7) zS@*A*ft=TfNGHZgp&Or!`r-?lbJUidXin@HO=sRy`@1a7cVK zRo8yXa!=TTI(l*RbdW(VTMSiS*~ZJ(PC_xIDWzTU2u{W&#+9PrDTxA_g58VtZ*Bop zLhj+3qONXVH)a$1fS-zF*|ipx1$hJqUXntuvb4p zh8AlU`^k-NiRBu3DQK#oeh*vv>ec@n@5`4jv5xo7n?0vI^{2z64R87sCjQGC!i<}7 z*sqfu``yRl%jwyAGBdJ3PDZ?f{nk|`*Km5w`yzJ=5{~r0{X&~!;SFQzJ8Xu&YUmEx~){kyI&I9KNWi#Q4&G)izva3La6zsLRH##He;DU5f}yIwDY!a z{V6#t{o)*Yn0XwBFU2EM)N8S~bKA!2!9`R=fOdP#~Q7Mo&kFCB8V5 zezVeR(_YlWxbaJrTj2#ER13}GL5KWRu_mY4$FoN`mhT+z$xmKpOc%z>3dleY&2}6t ze3>F)ZO*vra0d^CBh^33)I((zWmkTS{W4Qc%za1I#o|vy-Cp$s8P9YJt8vmGPkTjl zc%NoQY@5q2A7$NYy+xJCH)wF3WHCfPsAA)#iOJ%T8bSB_%DBL1;WLLiv$~9qBK}YW z7s%DZRKgOWwD8xJKr-mJpAsAwp~8;Vg&)%FJU0o=Y5UlwB0nij(e>%eXY{l)-DXrs zCh1(_o9)i#mgY#f60TYK7z2nc~iYq3e5n*!=iy53be@o3?hlI+O7>+q4aZqe^KW{!4ut~NP5=$mn zI7^f#e1ZI;5f_~5?)6;$2dU8`5J`=h+3cDTDt zoZ~&}_G@BFWJFR0Q?eeB1*9(OyO$uX)oYde8oCP(%pCj7<-p*U$wM2Czo!n>ykp6Dp& zxypcgqt}Sn;unEl)0}}B@rwf&v*-uE9C8MNRxGt23T16(9gEgEsC|Y+efcjxIlyg0 zfNnh7c+E=VA^b_|M^M;p>hP`c=XK$mr#h)RH@B5Xw%AXg0m; z#K4Ez)Yd5IPJ53OtI|U2q~PZ;y({ zFk@izuBQm;%nRpX87=w{B^*^?`uOOJ?V>eCm(rwS^@nFO6;06g@;^cvFW=W4<58+% z(F)WHhI(K`N+@=11-;wsJ{9{ME(Etl0GD9Y4$Tf<+s%-<%Ga#xQfqyZ-JfJR7jX|T zh<_3LM5DBkbKdQhNAhg67-Xy}USAA+(u%~adLnFNMI^-6R+RO-MuW+wg|`h^gWPy# zt((;`V{CXc{Us&Y7R}BKp>k@BvOu;<6YDo}*sqZ(pJUo^iCZ};T8a~@+15GVtR|sj zpIDQ4tKWd)sQmI5)w6hF5h}ZiN@Cxj0;Xs2OxC3Kbo15|-^!FmTF9?Vi_JGP#7J_) znkpyysc6%`5}LKPW5XbRrcixT0m->2`F*0=#Ui>W2$UJ9FSD+Uw)_p`&95xA1z%Ml z?TVNLqgGCJ=-_`y=%T?C(`3r4OWl7S%TmCCK6i1Pf?yE}?`ktA`^luFt1no$ZnbbI$`l_VLu*yfSW1&8$qi*2v8 z1);R(vGVDgGY{1j((E2b98ZWLBkdyr^-E@7MUvAy&PvS-=cu^%VjTNfl65z9AUJ~&qZWv)1GPp(h{3(<_y_y7bS4alGi*p@>J$n#KLd-eVW;c-pU;h6|gW?#OmY5 z$D8^qjyU#7DyoKT9WyZS+NE$|5{|Q9xBUw^wE_nEpQf$Cp0BsJW_^geWhfDakU=bm5t;ULvEo7GaBj7JFCfv~VBt3NL>C z@&&!&*Os$tD4&D&!+?h!Oktm35#>(VcpzgR8mK11>0&#OJipYr0u$xBUv0iJsv8^AMY!Wf9Pe?^aG5r95(nfMW`*Ri0>06NFF1;wy!?N%B@7O*bnJbV^HqikSj*rQKFFE z(oPF931i z#zxX~&7$WrnQN*9X9P~+cZ%Vd0!-RowbRXt2Z5KcmZS&SWsuHaVx*Ig07+#}^OpS$ z-?yFL!%enPEw$10BHoj|Jn$srn%;MQ8ELv{R(t{qO<;0bFpvO5O0k)96+kEN5q3j9 z=u!=TMp|&<2Uxv-vSqKGai`D~6Hn>s8?yWGlRa*`FlydJwMnd)Gf=P=hYC>KRXiVN zyqfZ;n=eNNk*%f-?c^K6ehf|hBr67b2d8#GVWRqtEeCf;?hsPK74*9BKDaB*7Z+J5 zfS9yn@Of%<)%}47EC9Gx_n(g}LKG7_g^Y8@11rIqr(HrQ(qaSn=@GLvGT1xQ(3+WC zz(`vaU37co37_G(*Yay8$O5}<#77nra2Q;@gXuWpgpcj;Hm3BBqIQDW0(`oi`<+|T z6?zxu{BVb(>L9SFUX+ECUh5GL(Gw>sVLs1tHWxG&f&&nux;jhA&XNZYWN7uaO$*}Hr_TrSCrBh zk)|7_PkVT)p0v3an7)6d!Ql7?r@COb>{~y*fuwF0G_l8}|Ez#aqmLA!P72u^_1xsd z+HYzpWJQQ`N#XvvohC7SGXR*tA{*-??|*#N3$5s(@)QWgfm_@DjE(5)>_e3zco8Ak zz2k87if-QUy%D6}yyDOAR4wv;7)nvoo>fD6Q*--@UX2d;7Cv1w> zt@J;yRf@`Xg;_u^3%JzeA>hwWh$SM+1?x#$OR!&xyo31t9Y zxqrk*5 zalhPUyNVx}0(3wam|WTzf(-foz1mU4Y(Mte+9}0lH`M+90o{J)8xbq{8}ga&Gqiy> z|EmsyfO>&qykS~IJ!jN>xqF+F3vC&ezs05kbbeX~^%PwRAV_;7nsst;!u)@=a_-Sk z?QI;N(jfOszdv6L- z_TQufd~aI&z@Q;m@GQGG>K6J2F_1tqI+%!~EF%?sJXbSE_We37M<9-7>7Ik)1Wb*n zM#7iT+zdf`B=I3x1;cRW!g&Ozj_LdjsKnW>51iaXj^59y{{>2{B8tU&=JT24Dq2}& zxAhYK&Pb?}w9!T&fX$a~hN=2&_}%dLVnrGfJ0Gm!yVbSoH^>W^?f$!DOyqhr$hx_9 z7}s7=owILwOkxJJj*i?5Wr+Voiq;RRQ%?*mtQnW@i)UM+H#d;bLL z)QF)m`<+osi{Higl7O`ItKuG+7NGcV1xRCR{oE>X63VAW#HbS-+APz=t5GjJ)#f+b)PPqcOF^aqk zLl?O#yj4(kDLY=I5gDC7(4nTk_pW&m^``5XmPtZSNXuv-X@50ih0R`Rh&@y7^p zz${v6L{@F*8m9~T&-j+hrB*|Uy6$D&FH`Qnx~1F->9yFP;Oa@8Hd_a~cBmXH4!B`4 zHx-2H*9LgS)3!+l>;vqw?Zf?$HQ-&bsCZBmkQNz(=VxciDE@|uVY@{Rd}cUUd~tMY z-*dF2DWW66NZ_atqG6wI&W56-;G(1Z)l!kOLLbqYarz_`jPt^Bcv6LC}bvGR2h9C8nYVxNfqfLbJSuK4CzXpr+SdFMQlfTpQW&=TzC!o zBzPOZPV4NEFMlJ=6J1msc{c0C&1MeCoaB4N7Un(gD)x zWp(Z<i^*|gf-g$Tm=vGNVG~0 z!f%Bb0YTesJ(wQD>!{r+_Y5UletoQ1DPniLem$*>TEsP;5B994dr7`NBO6Q9D;U2~ z_$9sc{;Mqe(JtR97V7(Z(0X?mkRboL3{uO~4BU9VkH?8W&7&76=m)#lYum=LN|P~I>n zI0n-+up&*9Yn$CG09&ZQ=2d9UI<0R zN-M1!ih_;7?H5GB#1Jb)+%WfCXc4vsiBxLxt zUa1vG5NTt@Cni^p)}duK5N?uoUDk7Byiq!(KNeYLpBDPp> zdi9Kxs$@;9b_hz6lKEr3l(HJ?c^Wj95M+6HG%I<3PP=-LAu466VPJD{WOu{qvm0V> zB{YI>LJE?_YH4pqe9I5!y@NHRTgqve!`Y^m|i>c+QHnfz$p{#zZ}_ z06v?KcyWqVYQ?O*U2+OA>yNtZVEUPH;&ovUVV6z{q96A;W1;h40gmzXSJ=hFR54>< z0`*9hiU@HDr)>e#3+5Iu#1j7fkUzi@gKp1bVjfL9H*QF3gU~K1Wgq9;xP4|Mi`w+x zKnxFlSA)D-Ow1Y{_Rex|_}D6cJ$hoLnPg3ss#kc_Z*Tzt{RUKUtZUxJJ$Bhl$e1SpKW*xL>~FfhQo43_=LS&(C~oIzgq!8=n0W1`C{E0+(3UR=B7N2 zo~v1IFNXw#0r!wBdi`9kZTlV!h(WWfnf7COU?vezBJIq9$*ntHGE&Z z5wv*D&puXUpz!xZxDRiIr9j-rSE;0IS=Hp6Gy~QtR$i@l3dK=S`+^t3fFJRvWf{`0 zmoZ;&)=*ovrh9tJ52NHj18;-W%$fXnu|5S102p)e1%U$b|Gm))4_$BK_g?i~ZYvKD z>8CHzvBRnSxxtp2o~Ko3F5gaOe-9V4eb0Tz?HL9D$m4xs6C4LTMC@nmv0>>mev9@m zalO-)$_qF6UAVq6 zs%f#mO(C1q_=RWgm_+izd>`%W8BQW0JJg&r-X^aU22M=<0o2ea=`HLv5I{`gA+sC~D7JmQ zNB9MMZ^uSCQz^uBkO`z`a;|Q$9^o*DStz*;7pVVCyJ?)ac2!~kPy*v1Kb{c!p%O@k z$Wqd#@SSND=`SeJ_9B`r%pF1;HXA0_|IjnwNWfWav~MZL^VpwK+lj^DZ8;7a(ze7j zPZrt@BhNWJc%rzgOSe9*5-?}ug03>$yJ-eYR3S~^K