From bbfc9e703b8213c978d5a45e58f9b10626753db3 Mon Sep 17 00:00:00 2001 From: chadbailey59 Date: Tue, 12 Mar 2024 13:01:39 -0500 Subject: [PATCH] intake cleanup (#54) --- src/examples/starter-apps/assets/ding.wav | Bin 0 -> 59154 bytes src/examples/starter-apps/assets/ding2.wav | Bin 0 -> 36980 bytes src/examples/starter-apps/patient-intake.py | 52 +++++++++----------- 3 files changed, 22 insertions(+), 30 deletions(-) create mode 100644 src/examples/starter-apps/assets/ding.wav create mode 100644 src/examples/starter-apps/assets/ding2.wav diff --git a/src/examples/starter-apps/assets/ding.wav b/src/examples/starter-apps/assets/ding.wav new file mode 100644 index 0000000000000000000000000000000000000000..b63aa3adaf73e489a3d2852b14c4f903308586a5 GIT binary patch literal 59154 zcmWJsbyQnV6W!-=5=d}&D0O#tqwcO>-QC^Y-G#cl(*D{~Din9O03n{|`@NHYUe3wM zzTKI*GxyHy(7wHTDJlUN)pcagne&$gYXJa=^x4!&dRPwt3bbHA-(kajrLTPl^%~rF zSg+w4>3P7E6*F75ZPdI;qoz%ofaz0~P5Dv*00B5C2W`L)oK}VF611&!E%a|ajw_n+ zhs<8a|4O^&wEUO+56Syi;V^0F3i7%4h=^V>9b-DjX2kpmN!Rs4+?>EvRhp4yOU1G~ zmeMs-ZKdKmw^f0IBi2UvN6d)$9em4U4;t+dYKijnoCB!~)7upmSM!#oTtme+-;d!( zA_F4shxZPhh*;>DX&hZPr{GU!ZMr${QgwevSMiqYn&*PB%hBy3 ze}%LN{O6UZC}Bp_;^k3A19KK+G|PEeo?)%y^<;nd%%Fhiw5Wp6UV*Vb8Jc`?RDEi> zSMl1s%FOFonZ+CGdvk;F2bx!YBO;yAC&N<$lYM^aeqxht!z%X`bNRos$7dZW*jiIT zm!gR3me;bd$e2Ts-oZV5A9w`GeCh0JWy#xuW4S)rBlD(JUUhUw{1qYk;-KK@R?)Ih zH@_eHRZ1H_r_QI8F8Gxzers5&D>6;hX(W8Isgfk#`nVxp!fF z{*&Cnxj99%>#8_kYO7n3w_8|R^oq!9fmb{Sx*^02r$^PD!k+mj@`T*5!U@$FjSy~{ z&YpjQ7DQR1T84D;UaWmUrLoQ$uVRnPN)DfVm!4#a85uy|hAJ0P;rW z7Zxlo`BoFb8e|W3`@Me$HIKAKwhaDfn5?>v&7uDpGYhZge$1l^tBb8wza1BGg|?5^ zsQ^Q`BI<4EXYUr8Uc?%%*mR-9lv|wpt{|z{zcSylAG}aE@?`w-LgFGfha3H_X;aB0 z;i6Sv5t#3lTakaNSXXhw)PX;yNYfYkT7zzf_ld{}yyNjqb{xKS{Hg9)n3D4}4=Y|> zKD0K3eoyAO1K)#z=Fp&sMj@nE17!y!iXLAVTQV_sLvB@JMcEJIMf-l#Q)~CW7cecP zL-?7{fxhiD0T{*3H?J!%%zKnGr$AHot=edrE1pnI@=^tK3r55AVY+}@y3NEBF4y{{ zs&V1qrLOH3NLA0~3O$hinM` z?R&%RBN|N`>n~Ls?y>F6?W!M@zADh= z#}qd=R@kD!SNB$-wGHFi9BDNu^1OZK?=Uj-H4SqvoFP_u{)L@5|$tFC%l*`mB%QU8i^mxJnRxE-;+S+^GPO`@V} zJi_Qcr3q;TiK}0^e^RI3Eq}!)c+YQC)ed&++f~)%iqB_irfpNs#Gea(y8V5cK~^kb z3Ms*3T~Ln@nUBFkuT_&*n9Z(AE{~59Bk*XdC0>Cv6vtcpRrD!)Ue1@ws#mi*^#WfZ zYH{<}7Wd-1g#OPh)rRMH`CIfQ>8&%-GizPlLQD}*(DZTpMVfJ}^s`yzi^*lgIa%{4mD{#fgyG79|~acZh5a zqRy(bU9YRYWWD=2CAn|rgA#@L5#n+i;Fab7BJe-YJ<5Y*HhP40cWSu`unmnQY}9)E zzVL!}n!A)YDe6@|xTcNeDE#8_AoO?x|7OajEhEMlu45H7&C{a3U-`P>tL~R)NjdjW z_bej2)$op|+r~Fd2+5aSv5YMJmbv1W=~qM!S>@))!|%FhdC&9f>A%l#Q2q=33!ZSn zE*GmuPvTpMKq?#i%8hn3s9#n7wa~qMn`yOk7*+x2Meg zdjD%cl2>YcWeyVPeIh2abzX9{sCW{Ur+!3nN8G1Q11g`8b-F6-+pHE5fPz=boj4oNzSPBz5k-q+>2zE zJn@O*wc(Pl!@HU17+nBWBaGs4!IvAt3+NJRGkFllk)!mb`pZV23SG&hW7ckr(-f>;irh&+yaGS=1I1qKr7s)ymYg+EPK4 zM_2E4UL~gKG6HtTZf(rQZV6%Cmx~7D)||t?`hV5`xR5!o>I^$T_dBv(^DV6lTW)Fa z#b-3N%JHD2Q94MSoavVTwsJYWoyym)^SbXl&I{GuS3bidd5(_a*NA5E0y>PkPX0q) z@)sSqY8O-*E7n(5)fnj|a*gNQ;JdN^HA;)d1MaA=FkQ;8W|)#ketY}#TyC9d1oFtR zBc`au=~g|P@sStxW01$@4@IZatp6To=NC7w-NMaRgnL}|TH#Y>IIBsJwZ@w8r|C>i z4tx+V>_0M|d_P+A4#j$Y>dqnQ=ZYV3ahZm1ZU6Krc zjQR7ju*hCXseIQpINfqc%ZZItq1W8(Txcy(Sd;cF)tI}eqT0Mwyrinp-}Wl;iqLOU znTSKkLf%Hd;QWwi>;~>&S zvR-;^v{RcrXp<4fqsM!#BoYx+Dg+pB_jWGyQllshux zK*ox~o^?x^rg&SoSDrt-`Woaqm7)$^3R8sNTq+-q+K6t%5o{OogIjOQstv9hP;RL5 zv!rs3sf&iEVaH-aV(&zJ^m8fRx*Alx$rzJ7@_8fStaIESz2GOZeAliMroc=&%s2Yx$uj>FAPI(l0hVmet{j> z0PD$`xT=zh#zw|A0Hi7VdEW{D9=j869twY#m&>0p9#tBGWgP8_HXj;fwvm` zZu+j-`nZ*WLF!xFeq*=%Z<({QhUYCTFSVs0bCg%zPkD9s+TvcRdPSmO0RNOfC-fH& zAZLi>#4e<}fYSHPr;LNDlB$fgf^!r;Qrp4rRzyy0pQzM;VBL7Iw(fZTk$-2Cul;_P zy}bG|>!s-z^0nc|rcC3}(J4Moig(_u%*oxF*)T^e)KuSfp2CyV(H@&Ta}2rKO2t$n z5zgcX2+QIBz+`kUF^{+hD%p{aCnmS*y_NT>@%oj_Nos&TC~$q`@z|KizrOobh1~t> zl{r2s&RxF z!`gX0qB^)bRK#TM{M-6ZzqG*OcD4zG&CntuzVVPI_Lx~gKeQ9!`uc69TXJV*Z!b7r zIo0xt&toY#jhuExF~-w&KL`|R_ucy59&5A@m1l_p;4hx#=L%oJ0jvUBj!j0xMV;%ed0g%L z>KVp2_3?B*y4>xWU-PgT5f8$0{r9+i5HFfm7bT=ONGVDkoabYl!l!5!1ZbkWH}Yxd z7XHHXC6(#ARNb&BCAUZ3x{|oMfplZ^sPeu0XZ=?96pdcW)O9dlXe_A3P$U$eh$o>R zz;XVGl*7i>(AC#!k}M;*wxpN)(tt7H@`x584Sa4XAF@x4S@}h2*uNzi+lvZJ-$0i8 zsbHTN7&cl*+D!=khibG%NQp@8z=a%c_&^vHI@1U#b{c4Au!|2r@Am z<|AKm3qBWZ4J+B1c5~f2V-KUg&Sq;Pu8?2S=LcHDXNO-4>~6S4RXN*K?$2GHHaN9S z_KUJ}Hap(kGc4?P%!~&6qC5lIXw0J0a-cl1;9kD0xJ#ABwqIO9{Z${rNZ1&>SD)c|Kp+texrYvr>w-n%avW)pGydk$YkeMs5z8tbar(T?cD!l@=AwFCJbwt6s(Q z$9$C)nqFGF+eg)Isws91aH3uO3sTW?Y#06qtAIt!Tzh7HVoeug_qt-+KR$zMT3b9ly&oP}jKttZf#I*-7NNMrQq@DF~Sv>qsJ8(v*ka<(Y2 zG`o6{HHn)-yjIn_HPmKmCMhGyOGprO7q^LzK{WP1{4xFtGr@<LvwUGgC9#=UuIcbA%G>JTyU1BDK+XLUA8|^%mI7 z+Og_)$*p2Vd3jvl&E?PW?|>D{L>w$a&3F=_B!V!9IGrxE%&aRn zW*U=Ccb)G*mhztG#Xu%R2wvfLRof7~WXr9%k{6a4mL(QUH^wtP<#Mm4A&sKCMLiET z8dk`g@|WvRSIjBdQ}Ur=uj!eq6ZlCjQ_pbwr!G>=qxxW<;aV{Seg|WuocWrZA=O>s z;u6;*bGO=Q#*muV^*yB6w5un1{|g!(st#W06QG#_UziV+UCy1Ac{2M^ac13ZK2Fue zM;_WQGB%<%V7~iHq8XD?mseg|GPtZ?^+3xu_6`~)PgF;{Db(}jrNj_)ARH%dfx8eI z8%9==E_^NWfRA#ntnX7Z&=^#^z_O8DLiE*IeD(xeLmC8*^}Mej_#<^aOYAw*vTV7X z%Y&?i;Jcf}uTj|Ah}_VRzK1p2k)w{qHA!V*rB&sBYns?M2@{AsMSl&giC5vWFuV%< zPt1|9y#yJA&mnWk-S}wGhimHKObu#4jirvY4G`jGZ`}L&-3T@YfAf3ceutb&uQx^% zZOVC^y|dtZRX1lM{@y($;Bi>z@aDl=y}XrBcx!c3pDdG?RaI^=6*|k{U@BJ`qzTn@ zQznovP!$*;MvF@D1hwK@$d%-6EJ+;4T(rqdpNz|EF4ymJMuKL_PKIy(S;5Aj^*-&~ zKBL+8Bb9LlJ~^t~hQ(-3l10|3sZ-Q|sfa`j%ZU8&G}P9K+Nh zK<-ja)D)=2J6YXrZs7`ovj{hA~r?y%8Lt_ z6-)-kdsZq`;&1bbvVM7m*=2dV%4VCBM6(L`Yz;XZo)?nmo2ngzFL4d4^RC=nR#iTr zMr&Kkox@~`p6a{md8%FVFd`5MhTp{buovDS-oR{(1#@@N^CgE3! z*)~yQy!ZNEQvHv_k^?9mC z;G6Kb{@%K+ss*}GpG!V*s=>AXSaunw4_)+yHnNAquIw^RnPI>R~8K&w*6E$z@ zLc~&Snvb7{2Dx2-y1IusnX@3*_^+n_l@71SWzzJAW1<^HgznSi!|{9*kbxvH(<`5( z{`lEH(`LD$xfHx0^pf{5&1KbOk6fRdo-#73ZgSSmRC%%086{h#x`f|g3Y=rW0k{A8 zT=Be0g*m?0?6l6tZ|k3Vi|QyYqE@JmxAhTcA@`V(wNuKj*L+2e`yFfWIrf>~4%uD4 z6`uimf^LrOC8;UJzdsi|Vo&N(p7rDv5<>b`~+zQa7cfqzy1%$}JuDzEVVir$JO zu-sMQO2l5c&++-_z7YMNbxPefSG9b$SFNW;zTUagc&etG^97s;2ROp2dzC*ipOPg8 zuZZgxb;7e9ahY!`c0`|vJIzz`$-mgYDdqc+-QKd0|NMICRw`9){k#%9#)ViGt|Iy%I=x|+E^f7-OE=EK7_cf!kRe!O}h`I%`mwtsoeY`JdRw}=1J9yvr zdLVbR@dZ~ihZZfe1rWoOME@^0E2Y1RZV0ltPB z)l^l6`wQ>idK?d_^U6D#ol>q~lBtD?Bj`LvL)U`+8t4f;n&A8FCrx^15II7x^J=Ps z>;zL$ZMr>7`~ibqKa6k7Z<@wpOMEv)lTozyCRwexT1-R6fOqzBC6?43sjW(z@j4IR z!2kJ)x~Iym>WO-p_cyIc$gbRwb2{&MjY`}mFOgNjF?0#D3lG$d^la?55PrAZub;_2 zSLi&;^)D!Y*VMW)Q-aGws*Ud2Hdk3H5^Q$4S5Q^-v9LhB2hmxa1V11zg^uR=1*1|g zX1+E)#JYJg0js=Sn%9b@8bObGrYSMHu=H7uzBtQr44t63L#l-_uFKp;YMc8>eYo-# zmt($TO@sa1R9=G4fey8;tley0&O8xy+zRvV%KB|Bz-yM&y8mo?eytcskFBe$cv%|+4;U_o=SO_>?W{Zp z^2OIkHCW}^PzkbEr7tgTNYB-*_BH$D=}HtGlqYnap3QZ|NJCR)VO7DXny>r{S%`ch z;>$FmAA)PDKkh9xtC4s14`zSnl}ykl8+gSGuC=*E{Z!`>VWi;YppB0z5sQ*&?t3eO z4fXMSOdW*BU^6rxp0rIVJ(JllYgOfKaff@d?`E&QZXFcsRKR1m;fi`L|E}7-u)esN z`6`$u52H?tA#@FsgH>s!y5q_Vf}8EGb)UeiR(r1V=tj14Sxw32GWxQZ#MN0WRSm11 z4ui5!U}nVHpuxKJxIcUbuA_^E)Aff7%QNb7jdl5WvZ1Z-Lj6kBE%|SCuzsTctX%Hm z%i|02iYty4c)h#;&*Nsh(zy@hIBkhmMIC0oTS6T;x>f7)EYQwIKim7(d)f-vrQ!f4 z#Z*xFt!6s6Nn0QMF#M8V5A_=KfAAOr&<*VJnx}a;Gj9|vwyPEAy}o&$)7@84if(Sx z^%h+LZm{kuEh@TU+{m)zIQc3RGG(s);%T{B_e--8%XU^pLJL3_U{oh4%AWFIOUs!A?|JnDh;jo6z5XENi`(s!*mzKN7X~OPBjw@c1*KP=BFv*^{+fK zWm8zC#ovwU;XxJ5TOH(wTbabY4!4bL;H3 zlXS6H?Ca<~_)l%I-lg6M&e^w_r`a#DbNM*e3e)N82c}?giLOyl=a5(46I92r^@xaG zK$MKr*uLOw&ZAO;6O~i?Q+ku8r6Nk1puMio)FOBXTT(@JSxMbGPDPv|g5fHfqT9p8 z@}X|yRZGxW^f-sWZIL~4-{#R`|_X#n!v}T5sEXv48o`^nCM6V^v)R zyGQlIw`WinA1_T~VgNbrt$eQ|_+n z>gE;SYERI8&}(=p+|5MLgm{YTuW72jjUQsWJJnnP@!YMM`y6FFY~`40?e9Fst>$H} zN>fA)X1NdVY8(3R3&=8Pm8IAz^c(gX(KAnKnic)YS5!W6)llKOBf0|Bba}LLoA#c^ zBDYBFp)Iq@r|OouE&l>bzy#qq?a2%UyXCDk<%*-oMf!pBgz#HdqP?MQAY01!w(qwM zqo4D3?!IH9=~(StdlI(OW2}D6~WMB5GXEYnN8{s)x)IbT1wYZm=U6t*9gaDOp86CUyH< z0(YEPuQ{e|tQZ7GIM>;xJCoTL+;CT_Io!0*whJV?Mfe*0GCjN%v#=wG1xbP}=!)7K zr9(?T84oc^nV&XFYg2m2=PUlFS*x9)I*Y8aU#=NjQ(*NJ-eN1UHsTqkCEF4FrtT^; zWbO#TI%oiQ$riX3YQB)3yu;qqUgz4*WwLu6MfIoa*Sq=%w~U{?#@>{{c|Uf9{cwGIiT)YngA5IP`*^lg3-}u3 z1F|1+@hfbms{N&tD|^_UBI8sy-QKEp$o``mD&5^KYUWUjxM^n3+IHr?%t)jVn-1Qv z)9FC|ImXNHD+UpFg~QBB{w-dwy5{ypkqqX!PT5i%v1~T?jh5TK)?cy}i#aNHuf9Il zJ=QAbVQrB-6pE&S`AARLn(l8pTw$mfV|v3CQ*N4j>N5Fc$}H2VwQfGjA;@1x57R=^ z6o*;3iylLM^EGqIWXfrP>$RyVA$Gk8G&(o+aE` z%OsIM+`D-v81mKMh$)CWG7>2j?mHYcvI4$i|b3dRsja>&;kO)Te`)!+yrz_Hpg^ma4TID`6E$~!6g6EDT<+-~tI(L^;>ok%SdZ#eC?cFsO5 z%ME9?*ymakoiWIG^<%?2&%N5|vKweAXoGNY0Xxw$p?Y8C&$>;_K%$}QfU3Pbg)~yz zluFGvwtN*V2L7 z5!YIlVV}5m+8WzdGo|PgNWcVF!Ku?uG;QZ8OAR5#$d2~yXvH3 z8kI*T%ZI7gs3T=}#1@V%=8e{B+7os_-iVXf*>pGV05Xt5eL^Bi=|Y?8I%dp|zUoMs<2uGc-~D zR(V+-L#?6CC`PO0s=Y)I?`iL4*=2XKD7X)13QL)X^liQc<|kV&JBNRUNx}n=NfN3d zsxor280Fe+U+H|noMzk8KkU5i1l^nNH#({Fdwu6^xw`zX`7p zy=<{+iPE2V!EbkJ9XnkM*p=*fmz#aAeI|PYH){6jH+$?*pC)5b1jz)w#8OvL{T}0h znmyLu!Xq+LxkHgets$djW0dPvFJwExeb+8)YuhfV8s8+T5KlQZvyQzDmlN(XmgtP+ z2zSL3*h%?rRh9fd)Xp|?<~o+qSK0rVDNdUWIwlHFsax7U`eV8VN(J!(p}_!<%GWto zn39dV>T(>hKq3397$~nGFOs#g1m#KP9WqRecD}Jz+t;&apc+{!o{;R6!;M9zkYA~v zxB)y7GGRP%R-sgBWGldEhI71k&SX;9X3PgijQymGg8_=0x-A~p+#=+~*l8pJ`3o0w zJ?xw6#@BqRFQLz(4p|RHkj#U;ORkhZQ_fYa$E!G-J^NnK4oMK2?V zk?oLT|7V?1TU|q0Yq>i7sCY6yZnr(Amx?2hdT8V_=m*Sl zF%oZ1p=34^Bz6!pP(;2^bwuHTcjHyAVa_}Be{3hVyK9NPx8ne}j<}>TyLZ&>Q=TT` z(J#m}WQN2GbIq-5XVo3CPY|1sgXC>x1;iBM9aX0|qP$DRf~j<@eU{@W`xFjGjAA+a zk4|R|pc@fFRpAMsNQ#qAc%Hmoc|&#rna`eZs$8#`p`3=bIXQbH*F3SE%w4<6y|tUS z{2Mk88H5}HfA}uWoAn8`=jxxk8XoV^@{bQu_>NYftF z^;Gwv>d{TeaikZx$-S`Wm=@P1TjE(Q7A@N>8%|c?-efcREag}Ed#sdGIn(To>3LE& zNCTGg6Patw6(JORPxdEopbEH2%tks=p2~Q|SA3<=lrDGvpglP)H-?_(*zQ=$8ZcHF zt-GqtP!1rCs2^%Wp29HJWi6>Q)orjf;XQFec8|J3AcRQ9DGn?DlPS;z>^n!EBa=BT z{s4h+GFL~3u=mAk>^Rw$m@Ij*JM4`elg(GIm5;^Z`2yE;*9N8wx0s#f678d$OZd6O zZgsrwg4-fRFJhlmUmif#h@E(_J z=R)ooEC;*ABDN#*KdwLcjR%kqvEQ&lutAcr%jYPSvMETdgz3%c(QFrPrF61a?HgT% zBBbmZyVj{bA&bMOqV3Q?L?ujd0`sA|V)Gd~6v-eXWwXgU_zB=?TK5&BUB3wqCc{Y%u?u;C&)AK9kb4LmHx~|a#eJa!^aWK zv_EYhefi1E17@wT8NEb!5kHX^Vxo8uEvDj>y!-_IQ7EEcxW+PJ+;=vd-r%r1 zytv)i6Qx4i((RezDUpbVp*hG37{G3}Vf7p88#<;5L-D0lIVmU3;it*f^4W?NR4~$( zZR;#|Qrr~COV&Kk?P4m~rtl5+oM?nU1w+M|FcEtw`>mKSJBbeA&(RC$w(KY_iXG@0 z<50Sq3111B+U6$HjFd}V7IYrEABhpW(t2y2=|6KHS8o_g#8Ba60!|WZDMXPk&m(%m zKxV2_O~>;Ua3K(cH1;Fo&YuJ;@Cif|Rto2ei+~R?TRvP-L*{}G+#x!cF|w1neauJa zZO0aRJiJ3Cs=K=_Q+=jz`~W%@g`krE?i_4cR)5}ln8A^c#0PRYF(02rC}gCfSmuLY z7Ix6yuAR(nVKS(J9>Q2w8U_(|A=mIdcrM}zUx=5GsiaN*UVex;4ZpK4I+JP7Rj~(Y zA7{8TmR*3v$Z<`7jZJZZyo0?$hog2z_&u;U87CPKYP{+jrVb;FjRb6_EpY8!7}WVza-DR(wzUO+X~Of^$YD!WlT@v~SnY#4$IA+BKS8?(h0#ZCgva5>Q$=dnA)Y+0>* zhU^XYLFmiOrvI@`MG*$Wm3%+;37apZBT;w)7J+1oD%cIZMNXGrknO@7z=j;jTG?-0 z89R#(bgpu~XS0wDS%u1_(kXV5qorP?9Gd~ga|<1VEgdXt9478KvL1hlb66jI0%@1M zk++lT`%!!$El5*1RbnNaA|`UZ*acjHxEdw!B6K`R6m#HCEP>iD&!#3}lf^)8t>m$f zxQ6Uj*LR1HE0iCFJ(qu0kt!&wAUfko*jIFi6q_6DLoK7NtzEl?`RF3NIernFiN7Ze z@&c4m42Cz#0GE6~lVK{mNri!1zb9|C)m^_hWk;y_K`{Jioq#95muko?MIDuxr=}gyAWPF&(u)yNkU5K4Jm*aBLm6j_57B zEiadIq@WCWGlIa zJjvf&b0^bf zd*!9%S)>u)o3S!B{uOK@#YrDdWcF~e@H$$8%|hS9S)w$ej+3&D@*&hQG*R&294z2t z`RS51a~y|UR$hr0$Xlw46?Z5zUW)z3GSTf&%O14#Y`2=z?Zk6v0no2{+X|g}E zAhH3{mOsI?VGY73*ai#{?{Ul6R4xL>qf!?hISUVn(ZGrQp<2lUs1vA5=*P*pD$c?+ zVh_7|IKAoKf*1Zuj;WFr|508<5q1n)jOt+~lVqP_t+G9(SBY0qH~c8(ff4u^a)oTT zES&HISGjKt#}*4=KmmRVJtf@kFLkw6q7*hA840aoAj0EgWte;*c~Y9TQgAr;gWJtr zV7j?(Ir}ns;yhxI;NWHUz&*4wG%5 zequjG$ZFUW?xffW9D*@|oP+ED;V4K!-%Hliz+sR;e-H~~EoD}G5ID<6aa%ZdegfB; ziEs^e{m0%056N8$m9j!ck#YDQtP)L>ezn_`Zrf!0>g2f3U>5cc3%~|pBHoNL$R?0I z(bK|h_8wcqPlvq#0*~=#b|)7ph9I|43Jn5fVhs$!UXZ(Flcg0h`2c=~==>JH5RU#cA6eFb>q?=R~)s65)mJ83hEN&_9;2@Lg zn&nck)8I_vfP9PMmn@QOhA+bu*bL;YP)&>WdfQBAdrkw4=vK@fiZDlE?86`AJBg2G>{|qgmuVz;w9xt6=MHj7N5tB=YR2q+->Ha z3#TV=cCd&1BhQyVp_&p;v0m6m^dY#zn_W-r*X*UPV!j756Pt`66uQ-QC`0M;PejXRV z+;`>BPX0EUK#B4W^3UW(e5G`tpxR zKV5muJ~0pvjgBLv<3DD{eimU!Q?{f0=XCq zhl$)DwmrX3tb;S)a^VY?#$^gez&NxsdKGxVws3=F%|J><&BjlG9l`*9JD>f z%s74?(w=n4fV=@k5{cMQYzx{D4CI68m5%$4H*}zo3EoI+{z9i>IPrkYBH!T{GC=6a z?d0YN?cgQ2TKvm<@L%1W%MtT*K$)A$? zOEYAPW%;C%D8brc;pi{ejGs@(IZrs3GGl}bV36eh=g?7DHr|AcBRk?okRU*AE^iRG z!`pC~Sj2ba8w(8~4UQt&;I=fo@dM1mei7S90}+LW!M?(G{y!;JEbK%km0rSj7tQD$ zvZw4VB_~(nS1=`(fYgX>xGdLD=StUesoNWe#G{kZmFRp-Lo_9y5fd>SL<^og$G;bI z;Z{hByZPSyCE-2nfy_qcgBfri{2$T`???WRoR7yN+eNjIES;^5o6E`=6*Gw22)*%P zR6kifwTtk^$79z~Gbk2Xup?ZjoeOCfw+((l)}xEj`{;jIcfv{3;2kAJ;yvGw-zbE@ zROkbb3d{Hhd|$B_n2rP^IxrLZf<9<9zLYE@R$ zcoeetq&s25reT}W380$qz~nnioc)+uJ{Y7TacCTxjP}5P629aLe6plJAK?@EuHrrT z4;~jSQXN;t{}CTaYd!+mg@(p-dpm`U+pKrq*V#?_*Y=Yp68i{Yz zHcCkz!0%zfn22nHcJ35ycD{1$mMYb^pb`-fchrvV!E=b`#2suicq1I+y9hZVgs)&r z@jM^Fw-wq$6BvRl2g~4o*a}I)j6^?jzvOLyMF}r>$S>rb>|CZP6VBPhA=o+c8^w|% zB?Ov@m7qJ3FQOku(u{K^y^E7_22zXUB0*?>%!<>*D54y_C!x+={;}k<9E^uggsJ>| zzEmiJEsz+*0NTLMFaudGc^gk;VmV-mI96yacnS^q?Q9S;mdW61paIV$S5dRbJUkPd zioHYyP%jK)AG=1l#xV)}JGdFCKz<>;(W_Wv;wy0;FGZ5XY(9-|Dc*%@K*2GR#{Pj{ zDh>tRkwWklc7mP3c{G3+MeZXsm|ps~V8KiH&EMx_EW+e4m3&Jih!{-GptKSK-NCwG z6VWcf&Tn9*y6(8b*!4nJa1$wz_IUu6;j@V&1cEm}MoO{KPPi$i!8CYUM1>yGt&>!7 zFKB|C1;^od_#Cv5cyU*fBF3Ye;T3@t7=AB5ipyiVGZ$Dy?1}y)R#AA@>TGBW-M*IV^kut=HyhNMhV+lW^2{r^|3MT%8&`;tDuVDxA6F-SxB7J)( zDcL?C9-f195Ck_7T5>SH2Z7=tp{1Y``tZNl70i5QIoAcw!s5xM)HJdVPsRpf|In$( zHL*LlpZ?(L&J5y5zzF0DvKvW8D$!;5Xh}twf*ynWg@(dlF&Pd43*djk27WD{BHV<@ z;34=WWv~h;Ajk0r5<(uuK7du?G@+wp%~<|AyO(h?Gx>PX0lz}hWC5`VUn8NxeDobi z5%#csXgy7_4Fn!8KrSQO5d`greZ~h8G5AHKTzykJx zbFi;e&tE{bL}zjmQGyykh&WXkArL|?*NvUQ3}-tF@ra05lb@t~L*l)$Iy4-O0)&vo z=;#e}5vvi8f{Vx@WGxaaF|kbCh0no0g27@t;j_>b#)ByEQH&OL@x6o+aSZqm1cAPA z8Y}_5v6%!x-ogp#u11A0UFaq};pcEDdr#75Hi)y)gG4bonl$5ySS*%+u0vv=oFB+^ zp+_+^XB2sG57~yCKsKXQQXRAsKY==7tuRZv32_I`2Kg{v%;S&p7llqzwp=S&HyA#F zmk^Kl9swO0xAPay!vp@>v5m8r=qN30K*t^mqCP zdqEJSD4&T8N74{qY##mw--~re%;IB#5t_l~AR4G8q?_{3i)$fEA~E9z@`c(kvDixvLP8t;P^z$i84qU%;dG~ExIRjfEz51 z1TCa&xEyJLZo!V?OYmHDt%NEG!T|9Y91CplhB#PA;+F~qq6ZiWl3+J@5w=4PU~`GL z#3(Y{E%Nbon9bh=Vvluq#} zh)2dFr;wTG5sB+oVNFmDjujc101( zLy^X?L>ML5`2fCvMcHNSem)QO$F36n$t%Qm{G`N+W6_(SrMQgS%CurGN($j}NpFrv zrXs(Qk7$~t2W`bJN$B5NjFVJu6=(|v!*U6`WrAFcmqr8u*Z^0;?NWWX2|q??h;Zx+ z$P<4Ey@W4(hQx6_*gAHS@D`Lvb(t^OpXi7$m-uZd5(Z8SB0GmU$_(IM3jd%Tv_^&? z<%kV6Vg_7`g(0nAdvT384>kfSU>A=IIeateq?bth%z(?_Q>a4xF%y2AxGQ;hUvN%* zBeWL|^V_(EY%Dv6ixzhyQ}H|^g^;GhB(`-9-6Jt6ci}O+jnT0PKT&K7NGSt%lyHy4 ziX}F71ic2V;t(-Y%z!fhE$O2(gna4F$tm#+G{GBEWLCk|$RR9-SSablcH|B0A|4jP zg$4XXZY8^)ZOTW&MQ9aXOspnmNxZKN9e}E&KFnxo=Hmo&j{VA$a0`$j8l*oGhW5qm z*mev>eZUK8m+fIJm;(}Ee=%4n=N}2R;#ZglH^F%l2lYfl@hL5wvu)7IuMRU5_bp{A;Y_1Ur;T2RO;e>=lofQna-UTj>7ZcpVam0iu6O5V3iV^ z*ou6FAH{O<7d!$Mf?+UMT2bIRAsF6=n_;+A(cT7c(TDgZ;vN1AJq1jnhvefbp`Lro z_Gbrh-vv~f)b33TC-zCYQv>XW)Io^@w}l=YCt;$R?<7{hli(Kk2{t14(dXD->?v9R zy24AM0V===5CXEqt%8vsEi4sR!(VV6Y$kDqSfmYBgm)vN@L<#%JQr2sRjCqs&Ru4A zu(jM}@iWo_?@j24PWU>E#P*;okTsCy^H~}DoxLwrs%^mA|2K9XU{(}M8}6C2y{UN;3HZYHKW#O5yQ*bQ( zeDFc|l$~h@P&G@MDc*;v!x=}IMZC;eaA3GK7!Z7!elv6KNqh2(bRT;&^T}E{W-)oH zlA1(^mES9Ce@O2;+4JPhnXQ5vREMw3XXb#J=dJgj<7{}?yV6v#$HI4bcklh?En=p8 zu$%sJPWZZ=V~5!{EYl@Fl~Fp!&l$~9rSN8*@S~tc&^di$<~(FxA2c?8YGp>79G_;) zOyx>F@2{qJ>K4{bPd+*7_c5EpoZ)lS_FU;Infti^pdC}2H&WX&4)gj0 zsXhLE{&U_AJ2RM?Irij{ll{^i!zFfzd5`MU)4QMhzxt+2*Y`8n<7yOj|H8Wpk(abLCCE;jq1D4;O zQ8(l6)Mo!0zqR*(Z5!N~Ig+bM)6-8Afe)BZ%n>uoTj&o?bxgJLXP75#S^J>PX{wkf zY}fD>`i+l+Pr?Cc`GNh~4xl4_HT7}E2r~DR-Yolk_-AlUFbr>+%pRF}f)Tcbe|E;c zj42s5bzN#1*Zr27HQ`t3l9^wed_J>&ur54q2b=FqL$84Eryfd~)LgHlxs^)wm91uS z(oL2N+Xqd9ZNZvwFo>_(HFlM`)8C)^I-^6zWd%(Q#A`^Vk$6vnZt=-gsot% zFhAJI;a5SsV06$YJP-D~WXF(!#t@sgWeg&7FYwB8A9C4nSg(?`evZoHIpZz*M_vqM5gSRpdpL{tpBj8S7BIRwe?PBu5d8xoZ;*B)V+ZMzFw-B5A z>^hD)wCZlgygjgLzT#wXI8? z7@5&6V+B3*Ozyw@)GQ1araNaA$oxC=$)JEO$e&`FL5G~_E%qy?zT`B~#N0whH;;T! z$XsI251$U64Qho)!-4jB^1)0y-L&&(rTS!qsSo{s*x$QU+4ez?^vjtSXXZ+83vM%? z`o%IH!m`gX?RwFl0x`>zQj*OEOIo}Ib(dPiT^gacu2UGp7z}IqnVFozLp*to-_gT z^!Ci#Zn?cBAv*PF#Dq_3UK^DWFYJ1^WG zj12Y%W5RR6>|&p^=dsrMxiZRUG)_(PT9_L4{%~nqJVCGcfqycB1cBx_+dFTzQ zrDpq8I1^oBZzuZ?&a9k%5cV&iSMFo}I(sne6i%bIW@Zl0ES&x@SjQCiiB!Ifb*ZlO zBhUD&yjRT9FibDP*8|gQgDUp0z1F;L3VFYIBmC9=4gN)5b^4Ac?LOPePR|^iZWQ(~J^jy9c{3Jr z#qU@DYQK+{GOfaQ(^E6oWUlA^A$QqQ#K}T)vsc#t-2aSTaFf|eJ$~69vDM8Ao6ok! zS9!t@!zOkRdFct8GG)C%(&uwMZ=d%9y#6XI99|a;O0Un{n|UO?EZk=%`0uBdq=u$S zrzUf)x|;V9z0{-W&6#b}Hv}WX=WStghgoJG@*4PK{JZ_p-b-e#ebz3 zcr3UiTphM!%GZTRxzr5u=J_L2BjnnecZKO}$AxKf#?9&NndjlHPWCEqzW*pzxFU7J ze~TNyR-4xL^`J{SU;6#@tl*DuERk}T*=r_vUHp&zHvaYAHRcQZHoZ;_bHd(WUkr1F z`NGG-0`xz9(SMd5X;#ps4NaYwYU}6mj@onW8{syx@ioj7KT4MjbC{Lff!#ONDOHeu zq?V!a2s?+L(I0e3w@v2=UI_0t1^p7K-sB%IHO@bq zI5|#M$roIm?w7uZ%5*X8JfDhkk$1uy;P>zsb6PKKCfNnlliX&E-4(VAGs4#4oUk$3 z_epA48`Bbt)Z^^>6@GZYJZsm6=Mlf(r!Pw1lkOhmvs+D9zbP8#OeN3bkWxv=H$$Jo=evX&I*0| zkeK<8NZ?CpD+DC0JN^vuq z$x?nSdxby7n{A4l^$~wgfUp9*8sYunp0JI*$=+;7Vv|l@AHQs>Y-*rC$Qwwfos)Nv zz7Whvw@W{fel<9kQ}?<44p!t&Z6x*z`MJE;ZJuyP`l4o3CrGM@1Z+5Y*(9o-f}v_>D&ji#vHTl?S$|oXZexo!RhM3 z<6%`~J&&({JiO>|MrbZ3MY^Tl&eUGCc!>ZZV;m=+*Sk@uzx+&809Xpa&{$ zKDA+ZZ&;t$n;TZAvJJ4~IBQq%>iB#8ys05@<2hm~H<33Z$Q_JIPs6gl9ZN0$+W*V{ z)gMRX?e&TZPP2EJ?p|-~7I59@Qf%^yJse(753xJ_dU{iOS8$)rAcM~JSNUI%Ut0S! zyrt%8drsJxjB!~|Iy}I8hgZO$XH6YgTNqolV&{eVOKi31fl5(X=7kr9O~R+bePL63 zEz!ByzG~j_UiXWne)kK~|CTeo?fS3nCr*~o$Om-Ei%m8VJ>?KoPFG$ zup98^V)EJ-{w!|-90iI5R~XTPSu!E5T(Fn@-#g0q8* zf<3{E@OC@hZnl-oN9GFjTEF*>>0v5CIqsm@8?+8qqz|Q+1ofBzZiGRjiGc=w4u7(jHox1EFsNZLG-wI?pCC@Q z(qqjteZ6(we6OANo~cKS+{7vDDl+%U@HV30)^Jf+k@?6iR<6tS^1Azn{55or4e6!3#{)iSE(&x~jjj+~u{viKpw5;my_8#}9;PI}UVy+Ip3Am?{cd0Fgp*NWwX0W$} zxnf!GNoH#`%&lgCsY55XGQ280H+(4E8aA{YZGZcleb0PCCOzU$WD>EJI(G%{KyDL$ z7?cS9PWKO9=T4B@=*frq5BhEKznabC;bP-X7i@z84;cK{wL9=QW$nI&ZYUjEeY*_aSwzE+^u`oSlj=BVG~Y zw0&UM<^CgFv8dH%}=eFCtX8u(FJwHvPpJN8v9pO#PgE|J)gC~Or!nrn|mnIkY^_%&}yzyQQ zuZy|E-W5&_UJCXGqsZ7(?LYJf1I%CM7VkN)i+9irG7Wg#goP`Z*X+J|;^Z$f+%v}KKHK}fx@4fv`0`42(Vf50c(+{^_6vK5sE?T7YavQ=?9(Xa64 z)!sd3f-Oa_eLUzB)DG?q+JukT@69(}6LMk=CNkf6H&9QeaB?~lObOf z`-hu|g0{h@!5iT+n`xGkwHq*Z+U9-gH6dpV<}Y#W4wezQGsD*QMR>T`wlp(MBkx}C zQf~_})7kVl?^3_HR>EB)L&NUjE8#C;PJ1?(8|)X%%)6mwFRIUa&WHW%W-7pp;7VqS ztLRwEGb#MbtLInuJx&V4$fFI+`OHK&2m6BC@X(#u>L+@}+s%5@oOg><@#dI&(Q|+q zfu?25LsXPU@aKo&mavpBy02%c z!o~bO-V`i1*Br3Ey#PIngfBAJdK4{J+d}36v)wfD+R_VtX6`gMgExxv*-0|Mk6;d^ z3pzmF>p;(Rfhp%5@&@{Y(c(O>CvjKDjt$F&pWw@}#NHEjoO#v@y%PR$>f&48d7PQ& z*gwODWQ0b@X~d~@DxFH+4V#A<`19ceri!gpC*Wx8??-xcACU|8^GP=cLRG*!{BL}b~25$)@lVz=TPT##7lL-y>;Y-cl>wuf12 zs(3BD{N8lao7{5)UvK8Gu0CM*kPDs-zYhPQC+S3I*wO@Mfp;TUVGH@4>C%?j2KF;_ zm`a73!dc)Z+n>y`!z<>en6JI!)$vAfeJM>{D#r=n^RSM6%`V}TcMcPT)%3MR+0!fL zHf-9LXF8jMoM|_Oqr(w&K_|m==t!26yX$#dysP|6{pDUU?<(`2&1;_{yH5$m1c!nt z;Wu`UdC5D5ZFhKIdbfN3kj>t(%jr|Ak;_&yNuOZ)JJ7d>fO)4SIrkG>v$ z60QaFB5GL5Of!!$-RQ*hY=}1*OI(W%okKLFUR*(SZOg=E5s2Hp&%L|6Lf$BI#J03= z(@k9;PJ^@Wz}UmK7@feo)Wefz19PF<;ZrYobe}oPjJ8GX*YrTs=)7uh;+)2*?JqNy z^FnifGcnMQD;_oNL{4jaf**q;WT0VoxasEo;hpr>klC;B_Ok!)vHl?5VbLASUdPp~ zo$R~@b$O!M#e2CHk>{@?xA!uSf$dSDj)vpHF~ms@+lIbto$YBVd8@pZenbCT@1&{E zyzwMaUMt)fEDtJ%>%w(*t$7UwZS}q)r&Z>CcP*$(+o=%Oz{Ns%XC=KJ_vw-YzCzDU zAon*N;Lc-aIIP{yeQRs!4aSAPhh_PBB;Ctf)Tl#V3%>yU?<6eS362eh9lMy`+(^zS zZ}N~||D=x_?p^MsypK$2CJZa6_r1bzvHTeNk$qs+qPLrkp1(7JzaOlg+5>o#`5xZbwbLbnomO^l-X83*h0j$2po9fN>-tcbrDtIfg;9}~+XW^sa z$M~lov%z)LupIowkde&2HZie%hBe*j5uP-+aBApH_c)2Fxe?2DWPZ8B-p^cSs+X5M z`jqzzC#M%}NuuB;u4?2Ut7V3N5}S8<6TJy&c@a798{%!O%|So@IK5O=^6X-}g;`w* z`pK`%RV+mrnA z0bOXZurzhxJSG5#%@f{a?;WC~j`ueexgwc%Cvo`$Dy#@UFNbFBFznrPYYjm}RVbNRkIG34% zTo?YBtL`^>HN6AW{(`0t73KBt{qS$%d?Xbo3WHrzK7)Ew5lQ~7K51-)VR5WZA&JRb^Khz_`en9`zf!=X7 z`~QPX#vRq<*$k{Q!TxMFk@wn~SIr7C-%sSCyFnX(mL1Gq+lR>emTa&MKXf5`{B3)i z+}^uH%2w|Ia%5%m5?2MjrzdI5UrM@%X~eJe4_A^2-lD7GJ(NV=g=T8RvQhLkRhZMw zfwg<6)g7qKKbzmoRBYOV$3vjDpb}h#-DZZ1;cRnzzn#R&5oj^d+euAqMHM~*3v<&~ z_2jg6A-21W*~&U|D{(p0>*SqHE`F6-_!L)2CeShN3@>7~{v((Nv21VdW%vc_zK1uv z5-ShD-13~V8sUd|;ReoOmy&_zbJxWjYV|^I7cpPTyO&*EWA_rh*KuCEGW;%l5O1cu zhtTse?56N4&X|a~Sg+xyFx{3&^zh!P&bw`CUyNewCBmitq={ zL}xL*7)=~^=KR#3yIt1MQyqZUpE226PH*1^%)7$B!iikHtc#ZKdqcd7>2PLX!5^6y z{Rq2ea8~Hg41EiAvk0e>m(7p(a|(H(3z5RMVI^IB|IoEb7Pk?>Kp`2K8qpRlgW# zg;&WOJD;qbFgZ{*_d9m>T`yF?Ye8Q>dHG1-=>ARjH{|{kTb7AdmoD$b^ zb+9^2tWOrciS8k{w-|4xIK`Al&n;nb{4f&CU-0KyROi=;&M(P}kAn9IkDHl4eayM~ z05yL<9ql!oX4aDR=9^2rw~5Sd-VXYu<@70eVdPNq&+DNf|97M=HSw;bLoVt4MSi)9 zoH3X@^%wnYeX_>~Ob3_X&q_r9yHt}e$$Ep)bO^h<*z6-mRpivX30dbdNqnEoaR=v$ zo4ql_N?T@~4ajI$!^p|#c|SR(3Q^FX&Ze2y9$yv*b0YiN$TfmIup*7+2O#Ae&hkf? z9}I#$-=pbk{B%Do>Oya{l(mJy+>1@x!`a#NXiu87xsy1!ABk^JE5=Z1jxsBH2L3Dx zuOJr>XGH@#gG!vJ*Abg-nFw@Zvidiiy@DzFSbF!RT(i7@j&eGfN5Dz&%4{J=zU?%HS;)~ zRfN}H&=W2Q>ALOpX0gfdm1lx-g4!}3CLW^V*5|5I8Kev%cTT2C?4{f54THYK_D^81 zd%?Vwd!K$GU)8X=Y$5h{D>j_PRgT_Vv1s0b-`A`( z8T9Nqn7FJ&lMA`erVsanU^_exw>!!kce^`3~LB zJ;do9@TUf|&S9{vJgeK%y$mOgGwlt`Hi{9K4ZVHrvZ`5v$1j8%tMMiG6VX#$1IMhNFRtrtG|P#C=QvreL z2Q!N!RJx6HXQSwXo`csrS+x%Keo1#+k&1FBr|$;vX9zv*moRYy*El;8w`1tv2ebEE zK)sP!#NV7?t|wCJ*o&#tGBw)8wd%K+%+%&?-b1jhIkEHswXiZ7;aBo;OJb=mQN9pn z|4E0l5O4J&V}D6+(TuZ9S9bmmww=z&x)j;{d1MS{S5m`zfqM=a@;T6I5LX?r-<#Bv z6Sf1s%Hh=`_SR7cDwvf_1FmDzwu`e`3U2;tFULbm;O#GH`7Io|hN|-pm81<)`my?B z81#eP&1~;hI?Gp?$J`HMH~4e~9nK2!;$>K*IoDPn=J%G+U-smVo?K+n3?@}Q(clOB z7}D}lFAj1F9!A!_jXJjk9arJi3GAyOee`gu;blbB!`!FwG3UAEyxXJ!I8We*$6!z| zP;ccdlgrE|r?sd4U&#I+<4(2>%vT2@FN4{}-^ja>n)oepnp4LPN2lQTxFXXX%%AY+ zV)*?oQC^NS#nbTO2AKa8aq>C+-dZwCOXB0H=v>m9-FIiQ(TI9C0WY?JZf6~R?0lVAauYTNHGLLiEjdU*isTd*s?;~^&Yw%A; zI^PpaZq7#I->FS6Qk$0Wn1jB9xW91^d8IGB??%lY#ToZICVR)}BRXQ!N8wLzFnhq- zcBUw`|3&t80hl+Cf!>ol{ISM#?jO!UxB4|JOPYn$^NTri8uCyZ_I21wulfyL#7}%3 zP0ZKCn{RX7`3^GYP%u9SbDi~=JamFPkAT^SRo(elW3D;QB$jT#uH5y2tI=)421YZIGau1uJjefEw2z(iCQs$FmJ>xc zDq>CQ{3k@ncW61Di0{Bvu5alrdQep)GRNc1A2=}-#gaYHvrmM_eHrvF)y-yBbf-hO z62=Xnqn$~v>VUl6u=XHQ`*I)HpX7tPm{jNGJa#UUH`~^*|5Nhaba?au-fY3%KW937 z4|iz1h?e8PTnHD-!b4dkFN+0hKD$w)M*YSxlp?+5c?FyBSb=`hH0rt8eErEBlbsvi8S z36tSz?5;BsyO5Qi$Ie^GX+!bmLGCM@kJZ|k(0)(OxR@N2o66Xo^J^J$$#C?Xf@LQX zCpU9V?!m?e+#$s6J@t!SE*leChE==$LeM$R(J@!F6?kHxnmlgTq|@~ zYWA2vV8{Jrmm~cCU}{_`dWc5sa5bGqFV=j7rvCzY7!@EO=RAd;gV1s`)!<9&=3cs> ztEeRXS>1&gxs%wugwyb^bY}MwQ@5k#F!uKY_UJ$!U5}RQsOxtUzgw_WZ~Cet@b&^c zv6p)=9w9!)f%zq;kAdbq>iJmk`osH?WRK6O01N4ktE1OFpmxOCNivIl+Q#zPmwRG)48lB%@Mju%xfR#xeqk^7!JTUKO5LzpLHO`E zv-=U~I1ENp|=FS#LM@zdu5D`IVaZHtVa=JN^Kl zZzb2(CIh|9l&2xP8g>fvIT+FmZ+?wcpJ3g1d_RZW{xj#z;#f(1cop$+F?Q{YcdL;P z#$%8B*!^=b^Hb{PQ6leU7_^?gJqx^_=nmG<1yzfXI&gw% zgFodeirgi*m=5n@EISmde1JFq;M!St@_}?XAL0F4T%ny0JMN)}XpCitaq>8uY%+vs zdKUXWPQ15aU-PNeFJh@LvFm&gmob6Lh3_uLQWtUEq%HRC#O~^ICHi|XAIJC4!hjEm zsonJW1IXD6sTQxGab@b$4=}qMdbY%;?{Xcw5$u12)Aum!IuOp*;T$|2JmJGM?79eF zt|99cryID0yK^oeJ}v3R$2N zJ#ssIFey6I^+vy8k(Pa7MHzbIiDZH|?I-MdA-QuEoXuoP(hQV~v1fDiyqw2*WZLy) z&X@81bCH%`)4LRAH?M;E9ns#0I_Kf3PsrRia2@G7R{qS4=X!kj6pzRGekT%hai#7< z^2tb~eb0*JbW>ZI4OhdamqnN@`Fai3ZA`37+&zh9pJA7uz>e*l*rdn#p6S>~@|DDi zc(X5gPwq2$ljyC<^Mi=aq4Y}+Q5l=kDb0sLuSTc7IrwrBOx!_i){ipJ6~sw9EPD;O z)$r7Gv>c2-rQS_o^>e$Thj*2YxEm5*Ky1Hn5uS&I`XI3 z+e75hmSpTz$Qgm9KBr9jjhIUmOI50Z1QW?zzxKSq+AGk*ee1%1~MEY=Y1E&;a%m>2SBNRPG^?~I1wuc65} z^70z&aRD*@K3QlKI|<%zR4JX*q}Rv=zL=E%vNm{Y)f75+%~GMgwajQt1GX^bUz_rezWxdU?wvDd9NROK8&`v5c7Gc`Cp^wr>qpquB2-2joypV1ia=%Qq#z`EwPB9#!ezS zM}jyOPt3=g<;eU`V%xW|?2W`gKx}_T{Puvi53*{bybGGV*AKf6z_QnH>d3?=|Khdr zWVE?(Rx;30c3+eIw8E~#zGi=x&g*XK(@6TcyYWC-g8nm|%}!$YEV_&H$aD?RuSMj|+Qif*^2-;XeS%fK!24^dJgw2-C44!EdeRsM z?WIPHCKL38v+uC0+;Fc09O^+<=*61z=twpqXDW=HOJpvI^b`h_BZeA*TOT^lrw&M z!oF|FCktTgQhd7xUSz=9y6AW=pUu$nQhZv8I9|!_KE_)gMc!XR6jvt;JRbELJ@G&V zPEM=wxV&@Y0XRFGPNNcg?g(3N2eC6gItx~;pf8w-J(ePI6~FN(>+*q6hij#`AqP*-Gxl=*Oh$IilcN z{E(lD@&i~y(DO-h#yV@sS^Z!jn%Cs!l4)&{95 zJd>JTok`&ztel7>VbCOY`4=aY%VE$H0u|?Ra^E=ek%yEvSo8*B z8Qwc^TCu{nc!^DNbM6gJ`gfbdFK+ZjDO zu*34y^Npa*huzD;Tm$AdBF=}+XQ5>c_9$7t7072Xjo64irr=9?$Hq+7A19AqPDXnO z%ihY)&foIT7HfuiiE z8vB;)*8&dIiPru`bbJM(aCROR$&Ht9gtZT0+3Sek!dQP1dwPRzX%xF#OE#;5ZgR5f zNXBi6(BInh` zXGgIQ|8r@?p7nGi{Jk~$OUv$xQIRTR+a_SP!h+?Hw;A2O0a5D7Okz2cGtZUez5ZDC zCOlA0(l6v)3B>#z3=%~F7|Rg43Y`p)x>5oVtp}|9}#uE-ytuBjK*MI!J{31 zDof|Sn|!$rdkEep^w>dvc7m08z$}if>cSp58}YXQ$OmhQscGO%K$rP&P40rf86EG% zr#Ah{p(E>j; zg-yArD67zJD!!bE&sLK4%3*_>iOz0twq@ka->HY6U|TuattRV9ry(`zQo2-$@B*CV zw_#J&ax;jV+517flq13{%bJGBY8iRcvUWL&qq(ONeXs|WxvL*at7ak z2PzVGH>2lmFhnxi5!fi*nRKkP`1vGfT-mk6+WE+;#LkbS{l>_$JMiOnwA{`#`UHKD zyj!X~+MUa9G=ptrVB040;|z41N@Ol(t=z@f9#7r{?nQVZA93;vD?S7B3+n%7a&~$4 zB3ibDyLHLMIjM8oK-|dh?}!k$Mhpt@LJ{h9CG6iAn>0msVd8ilcKbHM{0@!xVz)-v zv@4H}*rF0M{9V+Fso3=szAj_;`N%2tL2C|fWBgr`takt;v8QM$-rR!T|KQEsV3fl9 z^&-nQMqWx~OQh^ZmWS2VvJKf`b9P#mwOgn?v%&iYd5f@4NDaG?>U0~p7h;jZ z@cIw@Jee#sk=<=1l8S>_ARwymBshjXzjDK%ykKuXIvjX;Sh+P`r0lJjcw(` zvyv4#sR}j0Yz*c(#7PPI!DA7oXeoMb%JpS#(#+@NLLsqZ#>5X7f_{3!=eBB4{Rvv%ua)E-M;U!g}!G z94uP~>t~|VU!cgRXeqf!EGzk-7?C8g*)+0jF-{*_h>m&a_#G@+#ZGe}u;P zvhz@L*0ZZ`h?4K<0CwY{QtZ1fQW`|wED86;vb!QJ#j@LZNZrgNA1H&=`}MGFe)7vk zwEGbb$)sv6yDbQ_+JSjBU(by!A+aPYo(jjsyBG2yjvY!+OT6@^b( z_8eZX3_tSV@qe)7UlC%ADS8TnBp=8bumQ-W@#bDSi3R95JF@I9)>Oiqm(gvsC*I|6 zkN(ZB7JxSc53I&phG?sb4Dn?RG$=}zI)Q!mq1nC&S)%1H>ckNkl!M$abyH%wev~`X z#L%jUL37~jI({=RueShCCc2HWL` z%g={k5PyoDXe@`!x~#8-AM%l3wh(VWq2~`UawDsX^6CZXd0EtLl%~Vk!HRk4Dbvu6 z>^&bcq#G9*m59tdc=IrO5gi3Ji7B~Odg&VIC{cA5-ux$G(7bjq*WVX#53udg2=x#vG&Af&+oRDbr6j9mY9SmiN+-7;1}%%USa!;r zm0+!$N2RisLEe5Cv<$?>_+Tq~q@rl6f~Ja@4+f>N?NRg;9rs7EDXdin6~Gg6{;Q2$ z%CW;Vw%R~`UxdU}M8r`}-_o(R;L!wsl|V&fn`O@V?2&V5hFPv#w^Irs-mT2Eb-=HIJpMPIZVrBuNGEq!RI;1lzw#w zE0z*RtMKN2{8JF53Sd?OS-j~Oq`C5TawLlI()_kymPAHQq@0ZGdhFkr z2a)s-cFrX7@||*MpLgu>D31;)e6^j- z@=GLf6B2#oRVNcPA}fexbCIQXv728(U56bGk`JU$Eem2za%x>C$i z$jgVG{9$qIsF_c-)Hn&KP_kO4GnLU&s_aR;xrx}5*_h66^0WV1rz)%D|Bzj6!4fjb z+JrZcM_ooKFw0_vVywswYXdOFlahx-PpM^+4+K-@B;`S@1aeXKckGlmWd*ZqwYJ<$nfNmh%NhFlh7ik^abnEY!Z&WblHM;WUiYY*W~ zXSeOF%7Gl|tE9)N3@39$-W1HWAn%GSD}TYM6rL=Nr3$mF3>d^82|pDj>dn6+EybHU zgQ|p|r2ga~r>SLsMTC{?j6-mK4~7WOD~YFEF5xDMOz!CD#Es(6IRe^AVdJa}BZ zDV7zFDyDif{I@qNMj5LZk*t)@}XTZP!%&zgejJdbGy_{ z=`Rg-5DKikAW90#}VDu=2Jke7lMZ76`9>fFEcOA#FvcIBmtqhoD`6(y$L@cXX z?n1Uys1o>EuCVLl76O7fl}N>3vF-hRHz8CN_n zQKcD6PEcxDncavEVz>OTxiW}VutZ^YmFC%fWOc<m!RZwj6~BvMk5 zmfDdhreq-LM{?3U9F&ec z>AC~W?I+P7#*`{s1dC*1d6`j(4!ijI1T2&Dq15sUktO7mC9IV-+ar!iRw^)>}v~{JNQXrGjD`h zD6(uJWD2IniC_wYTn6&dD?jT>;3uhh!XW_P7R12}JPXBg- zE|XO`!^kO1I4hHZlh|kP76yeB!R47n&TewX=} z%s8FI6xvG%DxFy|R(KJn%Fy;&5S38s2e zV^cD>O4Qh_3~E{UEz<~@EeWPfesyvtnEAkxM?Q9t13kI!jk#-vrFfYl1A8xg*;u zrel!SYUyc(L87O0YT_&DH)Mh=p4uPnOFGt)U`mcEh;*4PN$%8>vh3UgLGT==*f;}= zsXxV=%394q(jOEgf0jUAaem4HBPGA=L`$)(_$nvbm5dlx9F66?qs$jfneIru31&_n zNj+1b8dhgweeFr4in*So7&4{nmdKOLy$8PTj(jCOg!G`ou#!ZKp3)^>OV6maFvMDd z=Cl;c=0s0FLR8DTeBi2>^oAvPh(tqnSIj+N9*QDQP89C+;V>n4N{x_njy;8`%*}%o z@ut{Tv{cK=N&XPb6F+E0DUJ?e*<7rVoF-Qy)SEIt*7HZHQ!5PC*GlMWp@)3cQ&5FT zqGbv_#iKFiKiF9O;Ce5ytepF$-_WZc8Yg<)tR#At#Ovx!$tgM=lo}BtMKINyV&9yR zmJUHK5ac?t~GHL0iYR!)J^y~}FZ zp^a)@;Zt!U(H`RE17J!{+lK}9N{g_%1l-M!E*{nw)~c;eU@PwwVg?pf3yYRHBKt~Z zQSVECa3tcJ)LFq4%gN*@;CaVd$p;#n$}o3g7F+4Qg@vM}*ijyeB#7=O!PI;p^QU91 z*IcXlK)tC|QS{WTC$TBEFOGfVo?On#{5Q_*TC^0)I!r-}5hYrbwKA0!2Bo7&krP7+ zWNK_4=QYjT(znQDUQc#%M%R<1$PmoKXe-_kEwk$BaOGL);pN0|h)-Rw_jVLLrG?DP zrGJo&=CZNe6;XsJDhj)$zmXGj5;KhS^wCwY#h>a&#g+Og-V{vL((t;R#ftHeiAst+ zNtKfmh3oI-OjkP_q<*Z5+%gNlxkGvUQWpQ1LU`kJ}-D)QK z=@j-PaS~%{CQ|(bS9~g-5N|5SHLh|-mXnjIoY}Nm=p;_8ud^FDziLmO^rq-3c~*Sr z9)hA+$|3PY%yC_>owS^w1-BkdPPrX z*<_?BYqML{`BE_TBqmx4f5fuVb&D3tNu6y7raa;fBLBZFE79hxC5&*Gf+~8(b<^qT zGFF^DoSrW7l+`jRmwKV+V6nZNu;dhw%t6kw**UA+(b$PImaLYHB^|KZR`?+&aLwGR zrK_xBd*Q6~jf&}V(8(wVImrP_hf6;sZxu{TvpoZVe)x@_k(PhzS!H3um}BsQgI(Tt&$ zSmIYQhD-(2o9Z92tY|5mb-r}@!1>bkw6RUZ_c4P+rc`1V17dw)w#1U;e>p9Sma%1J zQYc!AWgV(`Gx?BA>mpfpn3X}Qg;YhCF*GyEDNAfGvw_nwb>DHO)k^KGtB4Yt;s-%g z-#c%{vkkGD_)~L+%!}l#ESP$xlZqnN5EFZ_j`^ym z_Oo$kpjv7+P__wwB(AiIY3yl_qt+o+ znY658%5?_0IwsR;$&wCJEStS5N@k3`DYJ+;HpN;lHifgUhB-uKkkeC9lMGVJ38r=s z?lhqJKp3PmQMIgkNcOEVTn3|38rM2tY;prt-3^>P?AYIcMn#!E{+q);KMdvvCzui^f_eSu49#Z)&vb zbk${UJ!d&@>Ks<)8)L_pAJpGYu$8Ls?_@$d9Ft3Y(Offw#f3Xi*^N4%-CLcMmNHPLl&f+^WR z5wkKV?la@4QZ3~-#8<9HNlr_4a$`(`uo5CRrx6HTI|KDP3(W#l=Zh z9kp)C^&(+gyjn5UZmvR!JeQ|p>&NG1XDyKuYw4<3tmT>Yl>H?+DLTXzz}3a9^E&aS zt`R(E*Q~zO-oW(-&L(cP+D$Dh-V_~Nol{KVwRkh`<6>`$6pavmjlINJ?kC-!v#qYr z?yF=hNzGAS$CxgYCG$ZtN(4*RxQDy?=e((w6$XhvH6N}X(z^%jOTKmt0+2c zQ(Q$pGlOCsTuu{ASEHO|-5g77FIN#oPsLO%|C4Q9q=;43_s+6$ei3O}{arPWyEtK3 zjG0|a*CRNq%J-x<71PD0vuqp#s-^Hl=Ss1bPKvXvT2*wX+kb^c81D5x>RwHoM5Me~dDM>!i?HqLrUJ^zmmnyUS{c6U_%s3)jg>l!)b=CA51Ji^+%XT_Z&> zqbJcxGoQ1p{M*??^>mn;4^)dJ$5hK0QzsEwW7Fjz!Hf}OOnF{&he#8vi9DCP)mK_8 zlw;1ajzO9Ybmt-`87U&$c{6EQXOXy@P|J#*@^JOU**>dfot9ZKT}Psb&aw_Qwyfx= z@|-snGuh#&^<$1{pQ=?;e5ramMCZ{YremA4Y<702mJU-btJW8Lx$aH9BpNBIAUafe zHfdY8Rv4*uQzKdB#dSDqrgfGTZ#peqYzk7cyHq`s98%2F8L9OoE2i#A<0Q7M_%bVl zvfDPhmS?i8^sCa-#&uIHE0W?9tYia;URjeJ(b-k@B_CNaR&i@JKMG!KS!Ja1Be|>XWP?JV{bZ}#4(lhRLn@_q*zTeMvR!;yH;T5(U`UJQ_NbyRLiQtJj;sdv=vlY=h&ue zRi4X2anIydsWlv`^SR1VU7gKTSBLF9rF+x;xkz@r)mS+*rXadpsyR*bhIn52c&2>j zZ0k^EW$aJKT=iDWTggH$J_T2K8+$$WKrG9}dF)TcjQ1v%aEQ(tg6V9L7*rhrao|)^uJ^3{?)dzo{qWBn}VsfjV={n400^ND;)-{i*pZyOyzK&uok2?vp!H%$SccX6ys8NcK2U zdCr?jOwmvu*)f%4f+*4)ha7{%YGPa6o#RGUJ=IUnn@P?(M28vgUilLv%E~ii>X|vV zzpixN%${2m(d9hdne1M7B_3Byk(We_S2{KdH?n#_z3D8Gw1vw*!i!kaf3j@MpP03= zw5*u1?VS!upPz{r!irc&)j{nqJChIfg4><*xbu~(n_2bLI7#Xm?<|=OoHW68)=*4k zV^U9tC@YiF;x&?k)ZfX7lb!1tr>8?z%c>8YL|LorlB`vEs-xT4nJs&|z5Y{_oW4@6 z@AOP+ne=8>E!9gJaZXP`bUHfA3YX91O)PvP1dE zZrfzP8cWn&W#y0CnbR`6Hywkr>gh1W4o*+?rpr<;g5woVlJk(R$eIn*S58ksk$q|I za4TcPBxkj13L~@IUYY2m#CkeS9p)+1Mp2-s^3_?^p`LD8wZ41Zc{A41dC1{87O7`- zcj^U2b@F0~ah#kv(`L17EJZa^9A&Pvtaww_DK}zoI$tI&D{ItOXSS^Kk=R~+Bs#^m)t$+6 zSy$?s*aM2`{3M)>wLBfu*+JGQgR&yV**(@F>pIoKWm;L49W!ZJ=K-m7#H1}^UnN(>nDOf(Q$7^Uef@8k zy2i0hR_ea8ded1V#*|fJd54%4^S>b`br5uinH|yXKDj2wJY7$Rse6jQ%JU*a_nuvv zLyh;JTo+4mddly|AE#rwXJUD}TAo*FF=D*0*#21&lUllcIfUd&_ncrkS+QkfPG;Yg zTO)gN@>G^e(!J{{dETwj@A1mmy84{F?qtd{u{6;_p2;dHsi(s{eVzQCe#C3s-W;Op z@t^ceqKc%X949I3-cAAjhqVq>_kSjNxqjifJtN=aweHz?o&1z_jbdh9 zappDhds){-qM|P`=9#oi%1g#wQku$&<;1d+sPVJ1GAT=5$u2LJCO>6gp}R`j%dI+H zlH$hl*8G`?cvt`H)$eQe3aEs*>{$df4a0Jrdt`Wa?ivXDCU1hbZg|dV_EW(e*AZ7 z|7p#cWF;k?63(|6(><45_n$4Bw8fcLWw)$blSFhn3UU%vcM|W+StGed6t~%2iw?e;XT_?NLkJDwz^GSJbT~c25HK+SBX|L0z#rqejijYM8PngLy zu?E?97O#?@k{{VuCUglA#YxJ2jt#NBrkN96Pp0)o6Wa^J3 literal 0 HcmV?d00001 diff --git a/src/examples/starter-apps/assets/ding2.wav b/src/examples/starter-apps/assets/ding2.wav new file mode 100644 index 0000000000000000000000000000000000000000..3b8ab20d52da70aa1d9400773f46c63c0630210e GIT binary patch literal 36980 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 AsyncGenerator[Frame, None]: - if isinstance(frame, TranscriptionQueueFrame): - if frame.participantId != self.bot_participant_id: - yield frame - - class ChecklistProcessor(AIService): def __init__( @@ -296,7 +294,7 @@ class ChecklistProcessor(AIService): yield frame else: # Insert a quick response while we run the function - # yield AudioFrame(sounds["clack-short-quiet.wav"]) + yield AudioFrame(sounds["ding2.wav"]) pass elif isinstance(frame, LLMFunctionCallFrame): @@ -362,32 +360,27 @@ async def main(room_url: str, token): start_transcription=True, vad_enabled=True, ) - # TODO-CB: Go back to vad_enabled messages = [] - # llm = AzureLLMService(api_key=os.getenv("AZURE_CHATGPT_API_KEY"), endpoint=os.getenv( - # "AZURE_CHATGPT_ENDPOINT"), model=os.getenv("AZURE_CHATGPT_MODEL")) llm = OpenAILLMService( api_key=os.getenv("OPENAI_CHATGPT_API_KEY"), model="gpt-4-1106-preview", - ) # gpt-4-1106-preview - # tts = AzureTTSService(api_key=os.getenv( - # "AZURE_SPEECH_API_KEY"), region=os.getenv("AZURE_SPEECH_REGION")) + ) + # tts = DeepgramTTSService( + # aiohttp_session=session, + # api_key=os.getenv("DEEPGRAM_API_KEY"), + # voice="aura-asteria-en", + # ) tts = ElevenLabsTTSService( aiohttp_session=session, api_key=os.getenv("ELEVENLABS_API_KEY"), voice_id="XrExE9yKIg1WjnnlVkGX", - ) # matilda - # tts = DeepgramTTSService(aiohttp_session=session, api_key=os.getenv( - # "DEEPGRAM_API_KEY"), voice="aura-asteria-en") - + ) context = OpenAILLMContext( messages=messages, ) - # lca = LLMContextAggregator( - # messages=messages, bot_participant_id=transport._my_participant_id) checklist = ChecklistProcessor(context, llm) fl = FrameLogger("FRAME LOGGER 1:") fl2 = FrameLogger("FRAME LOGGER 2:") @@ -395,7 +388,6 @@ async def main(room_url: str, token): @transport.event_handler("on_first_other_participant_joined") async def on_first_other_participant_joined(transport): fl = FrameLogger("first other participant") - # TODO-CB: Make sure this message gets into the context somehow await tts.run_to_queue( transport.send_queue, llm.run([OpenAILLMContextFrame(context)]),