From 853a58dab45d0fb25c499048be759a496eba5bd1 Mon Sep 17 00:00:00 2001 From: Dorian Zedler Date: Sat, 20 Jan 2024 10:38:03 +0100 Subject: [PATCH] Feat: some optimization and fixes --- firmware/src/main.cpp | 11 +++------ src/lib/bluetooth.ts | 22 +++-------------- src/routes/+page.svelte | 46 ++++++++++++++++++++++++++++++++++- src/routes/Timer.svelte | 38 ++++++++++++++++++----------- static/sound/ok-ready-go.mp3 | Bin 0 -> 53712 bytes 5 files changed, 76 insertions(+), 41 deletions(-) create mode 100644 static/sound/ok-ready-go.mp3 diff --git a/firmware/src/main.cpp b/firmware/src/main.cpp index 7efd6ee..43888b3 100644 --- a/firmware/src/main.cpp +++ b/firmware/src/main.cpp @@ -13,7 +13,7 @@ #include "driver/gpio.h" #define TAG "main" -#define TRIGGER_PIN GPIO_NUM_23 +#define TRIGGER_PIN GPIO_NUM_12 #define BLE_SERVICE_UUID "deea3136-d728-4f23-823a-104290000000" #define BLE_CURRENTTIME_CHARACTERISTIC_UUID "deea3136-d728-4f23-823a-104290000001" #define BLE_LASTTRIGGERTIME_CHARACTERISTIC_UUID "deea3136-d728-4f23-823a-104290000002" @@ -55,11 +55,10 @@ class LocalServerCallbacks : public NimBLEServerCallbacks class LocalCharacteristicCallbacks : public NimBLECharacteristicCallbacks { - void onWrite(NimBLECharacteristic *pCharacteristic, NimBLEConnInfo &connInfo) override + void onRead(NimBLECharacteristic *pCharacteristic, NimBLEConnInfo &connInfo) override { bleCurrentTimeCharacteristic->setValue(esp_timer_get_time() / 1000); - bleCurrentTimeCharacteristic->notify(); - // ESP_LOGI(TAG, "Characteristic written!"); + // ESP_LOGI(TAG, "Characteristic read!"); } }; @@ -94,9 +93,7 @@ void app_main() bleCurrentTimeCharacteristic = bleService->createCharacteristic( BLE_CURRENTTIME_CHARACTERISTIC_UUID, - NIMBLE_PROPERTY::READ | - NIMBLE_PROPERTY::WRITE | - NIMBLE_PROPERTY::NOTIFY); + NIMBLE_PROPERTY::READ); bleCurrentTimeCharacteristic->addDescriptor(new NimBLE2904()); bleCurrentTimeCharacteristic->setCallbacks(new LocalCharacteristicCallbacks()); diff --git a/src/lib/bluetooth.ts b/src/lib/bluetooth.ts index f076ef5..c01a6a9 100644 --- a/src/lib/bluetooth.ts +++ b/src/lib/bluetooth.ts @@ -65,8 +65,6 @@ async function startBluetooth() { bluetoothService = await server.getPrimaryService(BLUETOOTH_BUZZER_SERVICE_UUID); bluetoothCharacteristics.currentTime = await bluetoothService.getCharacteristic(BLUETOOTH_BUZZER_SERVICE_BASE_UUID + '000' + (1)); - await bluetoothCharacteristics.currentTime.startNotifications(); - bluetoothCharacteristics.currentTime.addEventListener('characteristicvaluechanged', handleNotifications); bluetoothCharacteristics.lastTriggerTime = await bluetoothService.getCharacteristic(BLUETOOTH_BUZZER_SERVICE_BASE_UUID + '000' + (2)); await bluetoothCharacteristics.lastTriggerTime.startNotifications(); @@ -95,9 +93,7 @@ function handleNotifications(this: BluetoothRemoteGATTCharacteristic, event: Eve const characteristic = event.target as BluetoothRemoteGATTCharacteristic; - if (characteristic.uuid == bluetoothCharacteristics.currentTime?.uuid) - handleNewCurrentTime(new DataView(characteristic.value!.buffer, 0).getBigUint64(0, true)); - else if (characteristic.uuid == bluetoothCharacteristics.lastTriggerTime?.uuid) + if (characteristic.uuid == bluetoothCharacteristics.lastTriggerTime?.uuid) handleNewLastTriggerTime(new DataView(characteristic.value!.buffer, 0).getBigUint64(0, true)); } @@ -109,13 +105,9 @@ async function doOneTimeSync() { let sentAt = performance.now(); - const remoteTime = new Promise((resolve) => { - timeSyncResponse = resolve; - }); + const remoteTime = await bluetoothCharacteristics.currentTime.readValue(); - await bluetoothCharacteristics.currentTime.writeValueWithResponse(new ArrayBuffer(0)); - - let time = await remoteTime; + let time = remoteTime.getBigUint64(0, true); let receivedAt = performance.now(); ntp.handleTimeSync(BigInt(Math.floor(sentAt)), BigInt(Math.floor(receivedAt)), time); @@ -126,14 +118,6 @@ async function doOneTimeSync() { }); } -function handleNewCurrentTime(time: bigint) { - if (timeSyncResponse === undefined) - return; - - timeSyncResponse(time); - timeSyncResponse = undefined; -} - function handleNewLastTriggerTime(time: bigint) { if (ntp === undefined) return; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 503cefe..dd69102 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -6,6 +6,30 @@ import Timer from './Timer.svelte'; const uap = new UAParser(); + let timer: Timer; + + let state: 'idle' | 'wait' | 'ready' | 'running' = 'idle'; + + const delay = (time: number) => { + return new Promise((resolve) => setTimeout(resolve, time)); + }; + + const start = async () => { + state = 'wait'; + await delay(3000); + state = 'ready'; + await new Audio('/sound/ok-ready-go.mp3').play(); + await delay(2600); + timer.start(); + state = 'running'; + }; + + const PLACEHOLDERS = { + idle: 'Press start!', + wait: 'At your marks!', + ready: 'Ready!', + running: '' + }; $: { checkAvailability(); @@ -39,7 +63,27 @@ {/if}. {:else if $bluetoothState == 'CONNECTED'} - + + + {:else} Connecting... {/if} diff --git a/src/routes/Timer.svelte b/src/routes/Timer.svelte index 8a72d37..7cec7ac 100644 --- a/src/routes/Timer.svelte +++ b/src/routes/Timer.svelte @@ -3,6 +3,19 @@ import { buzzerState } from '../stores'; import { Button } from 'flowbite-svelte'; + export const start = () => { + timerStartedAt = BigInt(Math.floor(performance.now())); + timerStoppedAt = undefined; + }; + + export const reset = () => { + timerStartedAt = undefined; + timerStoppedAt = undefined; + currentTimerValue = undefined; + }; + + export let placeholder: string = ''; + let timerStartedAt: bigint | undefined; let timerStoppedAt: bigint | undefined; @@ -48,22 +61,19 @@ } -
+
- - {(Number(currentTimerValue ?? 0) / 1000).toFixed(3)} - + {#if placeholder.length > 0} + {placeholder} + {:else} + + {(Number(currentTimerValue ?? 0) / 1000).toFixed(3)} + + {/if}
- - diff --git a/static/sound/ok-ready-go.mp3 b/static/sound/ok-ready-go.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..5e08287a3d093291b9256962f64fe58270478513 GIT binary patch literal 53712 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

H`@iE0drhYI1$Nbee_3pP(<6#nCAluV!@Ienh+ zeRHr)Qk9vHEp1nRCSA1hegXxAhZnpU*j>cF^CV3#x4aF?iWj5ccgif$QQ=LQK3Y6C zejjnA_kCG|+U9H2Kh4NJ!d++j*Ob}1%vL5j8t_=TXw*dG7Z&nDRoa0>A1hOknYuFO z-pZ{?dc|k?t#1N(!D&ANxn5#NV9O1nt?39Fg}TxhH4oz>-qI!o3}yJ-;K7ugq;`zWn{%-9x_+a zT0|KDAl2s}+ITYb+I;_gjqVh}+Nk zMq3$RrQ&b%9lj4cvL!;vYsv%(^-jzFi-=z`R920P&y;M$m4(q7%!B--bA7_WlU(EY zlk~wMEH*!YouSb1&kqZm?={l^;oaBt=A|o&0z}9t4&_gM6+PPUT7hWxXiFF_kXuEQ17^7pB!Yw62gX+)j-mnYumQM}|J%(Os_2()w&t>~7EA97 zF@gj{WrN_`c|3g5ny)FSw0!R5HnQ4ShZL;Kc~5CJBXU1IbFd^PGSJhUXZoV9%w|9n zq%4WVKyep>)n%UzOG(3Z?}%_0zAs7EJHr{tV)yUAq!nRxGtbL}LZmqHH5$hhRiVEF zVnL8Z^Y%i3rQJE<9g~NeOq3^OM|v085AAFFTh+2JhXcR1B^@V1_?b<{~NAp-AK(+OTO^nn)EJ%@4 zwGghzc;a8;el2LcJxc-NMmQ;my}Y|trder_v9+{UVO{EX3nDm0kZeTBY1w*NpOE>; zHH1+O=~})S<$w)aI;qT&ZcuUdjrV)`B_y{FhkLH`uCaaFL%+JLI~N4D38Od^YDnt! zfJYWf7ZN+QFFYdjM4QIybWv(rCF0KH3 z(cBO;O4@)B7>wj{;Jxppc&{~ndim{((A`6q?B znf0}y#jbC^Z}_C$3E2x&4P#bh9whG~AtaBUWkMz3HXh6IRcW@?;)34=+$-x0!)?vc zN(Rj%^=n<~h~Pk9*q}J$DHqeHcna+}dJ@ho&aIk^?so}YKRT+^BdcM`s&f%`r6Xe+ zV=9}}TBl8T6x0b)y{kB1r=9!T8TZM5->X>rxS~Cb6TtWVd#GPL|M!01V+afk<}XQQ zLVWgl@O-nUx;nh_^>EAe@rvDN*raO-EfkT0VQMQonK*ZC-a8!bG)=}%a<<@^f#nmU z7#9Q(`6Qk(I1?F8Yqd{es2Yy!Opr`;2Yayq9UKqW5oMMyDhU!8H>-*yh1fsk-C}jC z^-gVNW1y{z$g(icl>PKJ`166@1+$yL{!_RD?qVjw(?zi44l#KCwq8koy zTwun+KPseluDl@;6g1@cZC|HC#$4-Ht5~~16||N5XXl7e#kg!@V{mVe+o(!-Rj`sJ zNRj4i{;vZ-lAGdoQe!Yn%F@E}=z(C6&+{RcytZmxj`fLpeXaE{sAdPG&>IsHZUo&WbZ2TfuCU={mG6d*Wbet-SY)1{KP=2KB*Le z8>^K^-1e)^3Y@YYs|-=3qS4)+2-!M(Z&G48!OD;rX^jp;`y)wGnUImOcr&T6;!7s6 zR;p;t)E#@5#F}Ym5!uMJ&3uQSe&zCxVa8g!R5wk0FzO!g=)n zn09a21loW7ZJ_zSJzq#OYsIqTH603y`lD|G-m~AR(gURvsDDRAPQNO&|3zR|ytV%C z{mx<7xuo!X6~#Z!qomjNv0hs0bxMbFq$Q77t4>c#Gbv_7RxRp^?A3^3$mclyWWV+Hk}2Qvb+Nve-wzDAN`u`ug)Ml`Fs*h86U6sK3##2_kq;s1r&X-`o8Ro$bK;o zWwWu-Su<{z8u@NLcBB9UFfzDArU|1-lb+gz^R$!FiY^Mz z`6QLEQZ|Y3vud^*op?nJ=8n~UB=LO9?yW?s#>ynq@N<>Vr|;(PrfRXDDg=B75kAHGNrkJ4+4!$x+Qr?Eu`;^?Q{of1VbkG11EEH zpT=5BP1cDnTz*n(;Er*cO06=zYxkL(jH^Asqm=u;=@O&#>t9j_YhPQ?;Q##9MDt(E zJ1Q58^aJMXbLS9x_Pt_MrFxd;`|u+SgbWR%eE@0Et4TlgkyMhh9pvuVyU+Ce2|=nL z7)tIWI4#E2-pSDsHVFGN`Q^1Z;9(;&p0U($h}OUWbbkPzpWL9NTe8P%g}(qwzWCNB z&ToxsPUfB7{%<}M1fJoa^PrIaV@_ysZ66&#F4~Ug%aN7@Fn$w@X0i6k>!ejHn|jGW zE9z7ep{s`4vwkzzzV)QR?zX3H zivs&BK$=QI>(8v&RAY-^b_wqvnDO+I^K3eaBNe_i5-P)EC>}@V{orkTU-Ce^d)wJ| z_^yc6&*N>Exty)#36Y;Sd}p`h?Y2A#)T`u6D&D%5VgS-EfIpH4pyyl`jHJhQGE3$X zOOD<|CAMHgJ)c9}y zea|+> zdVL7YdzdG81nxowlr zNG7Cu`7oaHqS{=!`k`_{aVMj5gV4g`QRA_3>i&r^m`>4iTjpf;0stbeP;ST~jY!0* zJI=V0O^GHA4m~``!?_E8k6&YT|NW)52AmB&p~+u0wQh8#WntOW(6j{!x6 z#W})nrK}eY)dh^<{$JWzOj-6p0uDc|qs`a}btD-oM%-wi^x>+FGhO+N|Kh(FPFuyJ zd&#H8W4J>)W6$}7EVfRjUWgxYp8?Oe$y?<~P3_3z2t-%4zWmIzE|c=tpiMAS|CO`k z2sp4Y3VD%rWLJz5v?t(UQTOK(poh2eV`x;}R)`F#bTu@#N|OHuKB&KDQlw|pKpuZO@JN>YP8&83lJ7oJ8;qZmbQoW)6}UUAuo_>7!+8toVos5VGH{) zk2j359x@-|Ucoa1=Ir!ZwsK?Xy z?en>%{)`-v;uje|fOj7+14OA7sYKC$y9p}=%+;!&l;8rz85o}MC6C9;?u+Z~4Dokn@O0eEwH^S-@b)yby&KZXW=k7qG+2gEl)!i}7-c>#L?D zq~uAjp2(EtbK`CC)WwicLyTL5&l_5;SlQ}uC2qS7L`V7kD7W7$Z)cB;cCJ&tq~^V7 z!j<_T`_KqQ_{=jya|P6=Wq?*HN~%6DnFM!na&LXV|<7(T|V$;!8+@R-=$a#13v&1mIB4o(dSnUrJ~*|tej^iKIWB#!L% z$+ULSPPS` zue{THo6TVxvpcFcDr3d;8ON5bAxe!oIX;?l8*d}2Y&~r=H2W`kW4t+k5I}NRmr4=DaA^^(k}#nN!MO6N=PMJR znvCz0)YlP%?27{&zIUzbtC@E(%U&$;M166n>seXRY3Gs=Y~#@1ff=Xq3mWUy%A0(q zs^jRp`BtCaHF~Dd;@=MlXNB58#a9$EQDYPcrw1clg}S#0EsrJ&6o?p!$jx~a1m^-o zlbV{pnC^JtRcNAi=Zt7A6}ks%RA;pCwe>;|w*< z2Y;njPpE#hjd;)d7rr=-UXGXHoZra3$9(adfC`AI5h z?+#D~(-FirMLSAjXp!hrx{Xk6y=9W2y_^xn2rUqu5e!;!#G)W-DCbINnBz2-F!Y3o zU{+ITJ?GnJEwTp>850<_j3Xv?A_dkUoy4$F<><3a#%&fYe0tBDg+lMS0+*FLBAsbce`At69nq`hNE2)o4Y z1&vA}&47H-_&Lo{R42o!qwM|TOKzI1h3pjlt34QmToMo&4uZkc(P}mrI9WqD7&Gx9 zGpmbt%zn}hO^kOw&!wwE5w}UCrLB&2WtYq)tQCL#rewqoE48wH(-@prrS>>v$ZVN4}2!tI});6StqT>tdsjXw787kvCR>g(j{ zWycT-Ih-}o97(g_Ho^$?S=pv1EWdVGGUrEAu0tJv*cvVfipkew)CowM%Xb%@*xpn* zE)GUwhp*xfyBPXnl~&xZ-_M^HB^7_3->H1Eb4Xc38@8gZ9Hk6ZU0MYoQsk=| zn-d{~`Vso!84PIVmGT#sM|%L0|6XTkZT+uLp&@*ERmS>e>CY<`P^B)ekoqxXyKLCx zlQ*fQKT!t#vVucyca1XcS`5Ae*T(|M{{bK&qOC!Zv3h8%WHo|KB*2ynu&iVL#zaIA zem^Zvk1hA^pwvcj25qgH7YaryG&J?yv3-2riLoeqB2f76oHg=}4F4y4xp&%?X!yT) zo&n%^p4kIDA4z}Y)4%$Jw7*Qg9_3Y{mi0{xn-3w1dHzwe^8>m2DgZ)*jD-j8zKOfa zt6OvXnQ5$;eGXk56O=VX-s3}Adzre`@7X5VPS|?C*$>oGBQ>Tn<{5g1l?hb8nzC9; zMX{(CbT!WB^K!rp+b|$=2Q)F3>z)(WE2hm>TP>*2A8v#;zR1O zt0k|HxI*`qBiMFu9nn6yT+I9wMv4j zBu+jo9mZ~5OZ&I_W^$*o1^o%c-h`*pwlAxf`~cr z3H2XXtj->sL|Ei!JIY5c<$@J@7f4Oz64N|uZu#*X!NQ+xg+9oq&!a;lz19H60lAUF{3KE)kmSob>U1zG=OHtw-Hi(s~ z5O&KspD1k)XwMUPxPy?+R0Sd`_G5Rfnwc!LE(-1${BL~(Xp``~J8DfXBWDYI{GXCJ zHA>W@7PytOT=4at_2BfZ%z0_f!VfZ%N#9g5gVeu?(|QC(RD;{byNJa>F~Ea_Sd4@fMrO*+v8t&+nS!@7Cnp)=~?K_JF?LE7r}JPM$tUXi^m|a-Xz2JE9Z%i zAs2GxV1=GmR7`v>*d&j}jh2WBjFOV*0jxGHOD+vhWb7 zD>p_B#&RDEf;ruW7^YA3fS5_ASH~Wfx+smQ{(Tz|@Tpv(+_N7@QCI_U&^i(t!(Uh@ z#i1Cbp0Q2fyLKN%zU2U zit_Ay*?ak#cbjcVji)hWA;$nTl^Cj-_Dvgfn-Kb7Ad-ocbT(mh;7)du0$M;CN=VH0 zy+ykVTE^)XhtsTVU2%3I{Fl#%;k2DRGx&U#)Y}fm$1{p_wMGW7Cnbh>eU4_X_z>NT zU*?{MjE2%Vc1>ECHDRuw#{!pb&@;z)%>hKi)r$CTvrH<i9Gt8-3z<1@=AXW#wWe2lH`eFvxg{Yy(z=-+AGfEN+tT92nP?o_?N>+4Ux#l-Pwd^YwbFxi^*RE0Y1FLH>5jz!Jkkmd+oRJ!gJyJ3AL}k%s7gvRWthKcDFp~mL|$pN^JW{Y0iH- z1jEByl=OQ_&wd2(o9Gnli=P4j`g5d)m}ycXEN&v*suZ4a)`=x-f`W6Bzg4W|-sP_| zJ>@V9CvgTQdyb+R^@A#>Z>fJ zc*PT(K)Q0VL-lLbDq5eH(ZDC)(v}c3Nk$Kicp4x5&ZfjF^AD#kUt5|fY442Q^p*TQ z3WI%54O1?{>dujgNGjrqm7Ym{TO*+49tN1CP4Z8G(WBx7f*<9S!Wzc5dm?U~etdb$agA@rik!hxKHHsji2bL_4TdNUmEb>|8|F{Dma-AN8^j9h$!vRZnIs{^`ke zIJi^bfBA3X9Ng<1XGVJbFaKw2tgMj5vt?5K>X_Cy?W8h0s7X^R9aqSz+BVWZ}fv;y7o%f9Fu#e=A zT%wj!ii9vQtakzwIsYRIs_L(t^f!TE$y*y92E#i%)!%mXB>W> zkJ)RSywW0;a34_-M<+Ne*QNG#eLgzNRePcd!6r)^oIj)duop|eSS{)dUrSIoMwg72 zM~uADz=AdHpWOQR<*Uya(I_!?mkG{XT}lL*nW`X#$|mNM*Dw3(xBga5F)tV=>?@q&~TGS57uXq&9woybjyvW+XIIb57(Y{3zMq0)uHbVHAG|o&#q94> zN%%VRJD*D$NBkXXsugiQB_)2Jk`r6qC3rQ%=s;UVh8hAu_ad?2LU9v1CJK>pDCFJ4 znaLOF@(t3U{P4mzr5(DWWz@7N^^SzB2^|~nhW+vC19gu2d+UK)Fv?9g+>2M%ix1st z)MG9Dub9b4(-TvTjGm&I5vwYV_pJFk2gvP9M<#+^86je)Jsx2xp;1Ckye%f>2tTi( zt-IOrk4$+SeBMb6UDl`MTbjBmH`ZUXd-}g53|D(_Ux)nD2ZuD`MFS}oG^(H&$iVE2 zr49-BLK^!!CxPXhr-)~{3A7$R^E~dBR+hPv`oRngK%Aa={1R!oq4q-k`R!NI`}9~V zi%MUpgJf)~DqkMEk>T!=%eN@c_eQM6Trb~ZXy?{YM}+46{zJ%+2dOkK=W8-(EwwZu z>22RKU>L6m>-!x4FaN>iJhPV+T3l8xqz!iX3~;T(*XQ&0Ms!tTc$Oo21vHPKU`grr zk`BybW*z%8oEs-tM*|)!N?Z4?)E>6-cy-Bs%{j({>Au_r@kzciVgFEx`DuT`DO5@u z4y=-g?r_#AkqrCVNdgbIl~vjuXx8@+{xh~&UQir*y=&%Mi(VhFXcuq$_H{d|c-Ww; zYt@s#B^?>9{Aog)jiKW+x?}qfPyrqwqN=6)q@JF-D8zGQ-TgCQ=cmdxRW8{&0As*3 zD6lLr(c~x_%E&sX=kLzFDiMy1&F+wJZ~2(ydns|3A?*lWH_9-f!2BDFs-qA3Z6eK< zuT1Y)ENF|2$eSFn*7sD2?@tg^&Kz&AQVc=vfp<72qGlJK$GTH=d22oFl^Pf~aeIr9 zsM*9t7UZ+@IF-a(L*J@DW-&!*3<5IU_yd33(DrDZE3Dv4EV*$aNl{bc8`aeCy3>0u zvw}@ovc1mmFVg&u)AZvke8v0fzI@^|T6h1&|0o<>CZOv;%`y3{XQPyeaxLfipuDk z0|U&}5!BeGa1H>Bxy9rKQ70jw^~tEqv8RO7-u_n+a&d{PFL(%XT4!#eHZY}SFIXKK zY(IQ)s;M%z8h85G)+?#EsG4+#+`iS|K&>PCuttF>p+H#A?zE5`yNMXn=U@(OgGGVx zp6TN+e*zWz52xxO(#M*=+30(@EuLncdtHK@bP;!^)(JLM!A@?C5$&-fL@wxZ~4P8ar40d5Q-PWeRbs$LrHAZ3}KX;GldN;<5?rw&(Me zr;mQAf0Dyy%Kg}LNUd|4Me6T5{(i2g9%qr+src)REm3m{ghfixP5g`hF$P@5HT$nW zHL1YIf7g*>9Dg1m$5nDu<8qdnFB&Vq8HU5j<8H36e~13Y1x7HQX^kqR)wHypTFBex z5q?8F(HD+Ka;XW-bJEZyxHEkQ(bMCUEjLL_Ar#?u{Oh2Mb#nUr+h4cCUB0hUjoiKS zr!^vf__%OMD3tpSH*d$dyFb65tXqjJ{`zjR|M1x}nzWs}OKzHI*D%@cXV+G1f(ee@ z3zGQDkR6L(sH=V1bFUNw_Qrlz=f41@}qaeDY zBe}I41yubf|L&W8z(4>)e19t98t?A*#eOHn&|XKrJqE+W!&P z*FqG+Oyc*@g7#{Wo|FW|!z+>N#+tCupF@2=^uG*8CduE+{G=DJ6P)#+>LIf$3tz#e zh5KJWM(xZKb{bMrqRl8SV`9En4+>lskR<-&k9`!}xU;Cd6yS3#8p$Ml%A;xIU`DW0 z{w=NwtPAg_dO;StA9RaNk0DbOvEx(IzO0#^e3S_~K_4gInjIVP}9ahMb`Ifn{I`!3P1Txu$OvV9C?IdEy8q;>MRIH1fQ~{AED+Q^V(I-oqeul>aXMp{8ffkqKe7X$LJ#b8Sk=` z`XR7$5!*S`{n9jk@i6hZh4C6TD*>(HpXlW{*kaB_o*So|!+aVe$M|D-hbU4@QnygT zQlq$hN;fCJS9QljC&@Hjy)>h%-MvA*_^kDj3d>aWf{BO5drM9Z)6#gZ(n)dg0t?4d zSa^x0mp1_cEqN=6Q>TtKjT4jSQMjPJ*68sATT}L>W!R+#b&WKEFC&DwmW^fp)4BHR zXrem$yh0Uv)0`a6C)*94N)^dnZ-S0DHvfEH;6oD)ot6*H{ zZD{l`3~29>dv(*d-QdBx`@~vW;IuG^>yb$+8VSc=NCkbKYT_Y)z;ZF^LQbHP;x2Y_ z0;dg(Cg(v6aH3U$zZ5rC*D@PLqs#yON#Po>pQmWlraWDwgg_ z1}**aRiSc==*VIGZ>%a^fdUPX&}cl8u(i~QXbMGmt#I?nlc* zZOzMsZAD&%-5}q2*h{Ct=DsPt=RMAvp$@HN{>{4I*HSxkx(hY1Ks0_{Y~KUyRK1eQMoM=#7H>D1wWRKCqWdDr*OFD^s`TK;dI zx*7}##PcW~DZhDMt98$L*M=s_!t7|9e1rNfAKq^?%X+%=XY}dITGPERfu2gtA7D)K z_!)O922|RLf)82Kni{;oV9?a43N|{#oRCe^j+>8g zPB0a9x5I}7+8p%;GB(Rp>5d%KI4e(wuIdj-as{xnW;Jum8AZOLfK@w&)ajKc#}in8 zmLNUQJ;M(V%zcoy9D|o}`7%q|=iqSLxJHvL3YLxQu;12q<^CI2?*IIY+$!~m2&)|S zd*ni;BXF(QzD0hvp8`Yz&~OOYA?#XF5DOm~`VC&?R?J6rA)58m82Gnrmz6nlVtN0X z<$V)7uG0zeHjk9I*M8|9o&t(;CM4@>`LuuTfZ%YK-HwcwDV?ZwA$@w)&58Dfo?Ducxqcs11w}Um?FUV=!y|+YB--v)DDnbq2at7J2`1^$Td0POYil29T zq_q2-Tjq{)Yz36m!suvSC&Go7`}%d!oI!g0M}t)|EHeqY*$77h$dmcMY%q<&=%f5( z42Wgx6^ocr3KM#kl8BjDD(HbB;&E9f!cJq=MAiLO=nU={`cyd1Ti+B(PVcHbn0?cp z`}19pw>5gMI}G{ z7%O_|gpV2&{|jm*60C=yRmhkUVaRkpR$28yb=C!*07rk4-%kz7VeR8-TvYqUgF}?g z9plQ#@Bg7Z8r1AX0+tEG{`+XTRgenh9+q`ck>ADqd7+uum86^(jW@SK+RAEN&Fhna zwshIVuFX~53Kt&Ss2`^h4cSM=#PmwfTx7%Se+J8_0#G;_U|_f|rwAV=D_%$2sgnah zb)i(mx?(u&E=#H$a=|qga3O%ijU5elV|u?WW?`+92ZWWKxbD z?nmD?QfE|LL}uL~#Dj?%uZ>2JaK%~0m%&PRVGYK+lAmJH{&ywMu}ir0ppxCe7d!ym z4h?8Px-qh3zrqPL!IqHN{>Wrk!T{07{Yo(A7|z)_ZT|1r-ZI~;fBCbBAy_pwz4W>t z8%@^L=Tki>a<4LBAVr>J}&3F3(Jf2~tZ}U%u`f#}F#XY3T{)r#}h~Qrh zB}kcoCc=fRgl2uHD2eFdS{_CYNeBa%ry8}}zT+#m?=>V~f%JEZygz;KjJB!jQb&To z$z&qx^9u~U>7t78*g3MTEH^1(O0n!X4mZzG+R^B_JRDwHh6U6MNgopFjjFm&(7fdI zjM!JVR~nYzR&I5C=>2V*tl-*8l}nkGazsy-Em=yTQ*vhYuNr!ybqLl7#h5OyBI;eM>x;K@UyOSz~{vRKa8~%{`^v8aGyAxAUtuzL5@FHm^#w_qPA=i*iS7 zom~lu#P#8_cBNPcE%eBUgs|p~g?8&hef!2)J<29KP{y-Bx1zG4{;!PR+l-#rq-E+? zqdju~KoJQrf~~tNN*&<(Xzoh-2+Rx7h;<_bQ^Xh~!EAtN;hXHg{MiE_zfBA;`?H=E(O5?LM7jL{V}XQSz9(GW;=}*`|&x zp)UyCRacSS^;Q04Ha}5(Ix}mN0zTfz_E1*8UiDNk*1yA#JC}j}l6Cici}T^vqaV0B z;{M6-`NrR9z||Q}0Dk}=jHpTSq@p5fk|~HN5~d%6i4h}c&P@zfI#3-Er*Zdl8H@AB zJ=f!IqX%6Yfri603#P?O4GSN}=vby>2!S_5IR-UbIykBS^vg!PluJtI=LK`~0@y@L z9Qv*cF3Yxbyi#bek6Ry-scb3iJ>pB$56wttK74D^Fwip#)|@OS@Z$ah&<~*55k8_s zF~kJKRPaOds9h9TAl}htLC;lQ-qc8Feuw|f>k^P%dojlu*Z8S?#-zT)<@dYNU9O8m zX3p8)r_T3hz9ChorEDji8An%zl;?jn-y@7Hh3n|egqb?BJVefy_{C?6*M>;F`&QW~ zwNg|;Hr~QI@|laaL?{&u+$9&JAoiu8g*XB5AYGq9(HZ!x~ zA%_qdM&lVdOv$0g)`o^0M-F8pb0~_^$Z2NIQjRSTn)6wFQ;#!4CsL#3i99J%DV1_4 z$9?BN`2OQdQ9cH?IjfN0vg#jwq;Fo#3Fg{EF}Ot!Q8 zYVmni1l?fSRybeGw9BXb>>VA?JA9Sw$W5R65@(~56;_-X5DEV%!(_u%jhSN&ZBFrJ3AK^{e9Q2{!^3XOFWH>}M|QAOi}H4Ln5 zUHWykZ&JIq|cj+K$(n_W9mBYYIvi0ryqYiuqzmDymT-Dmgk z=5lLb`U78^$kbA8AwKWTuI#rNM##++4Q0bpln>}tj*nMV7k;wBv!k6*xGp*_-F+I+6!bpQlU2J76+s^{oe&>dgg|GbzG-VB!}M4i zem+wLgZ(K^CM~~W3@oBzjk{(Ykk;j;aJJ{@&65eeifa}1oYmF`2(c3b(+7nXV-x6V zCz*w+=jdun5puC6(&y4#)^w=4eGHjhJ;hf*gy%B0dCnp#?vrv~Kw6A_$zi)i)a|!l zYwNaC)SHYiV}0^t6{D6PVrZR|O8jt!Jyim$E#r;me&P2MQe3IEBzQ?n8;o|~>v z}>fE3l)L-C8dn({lav$ zc2tnf|Wn`TV$-8o#CnTbPCXfv(ZrgflkX)cijV@!-xqb#qmg$QmRI{6?s z=)FvJf?#K3o==9VM!ZP7K-Kcl+%Eu>Zd!fh`0V<3h9QC^I>+e9MbX7Kd;`#Nc7#^q zV)v-}#{(a>S!G|u0GLYqJ};##<;A*k%ED*wjM9=CgnGkgh=*%V6?k?_2@k7dbIt7s z0%bv>7om>}1WVqz_XaWPS*=6=ps zlU+!>3_r~?L5qrsGq1Fyym3n#4uwmsO1-m{)>00%oFeCdDmKo&s@NRIB}ra1BkNML zv1XvFDj6-;xza8wO;*Z$!FH#sZF*r110O1@+ljqKT%&6Tz@ZV-Wne5 zV*r%v?lX#G0K`06tUjbm+F{cm_U35H(fT0C(lAm^k~6+xK+9c6D^mY>({xe&uY;3a zeIY4lEbWgBH>%UI2S?;T6_ZVbi*J~qcN^(@_YO`Nm3kXRxIxS4I zYNhse3e$MaK%0`Hi1bGI-X^;OJX6Hp^r>Rs1^zv?xGHj?ozGa(?NM}gP}g8aE~V3x zGZA~F>+eICbZ~r&RkNPOY21P39`?*HQ7UIIodJ$b#dpCMduK{ zUARMq&nbjY^j&Q~3K5O}O5S~M%m@Vf$`YRJN4>+}ywXy@iJG|5)Ok&g1M(MtB-KNSTg5W!>$#@qB zch9EMJM9-la0Kn9ZU8h38_R=3Q;74I2CURxj(audcjgXE#}v+Z9mL5@g|majw?eJ! z+Ix#%6y88b4IvOr1aUIjtxH7d4$1ocsh5$>*%Qr8o~ck5#M`BB*9o>L@D2bGQ{2UW z2DGON^DIVK&E|c7vL_%V8Xj9?z8IiIJ$>VSWL9M*!Hac+V(WM7!*3enzE~oN)}ok9 zp`zqj{!9lg?gKmN(~^fu>GTHq28QNx-LK0@KBBe&5g`t3#5oJFrnW2@ zyrX_hpHZ~@Tse2nG5g@>lhq*-N9C%PBoeuK<{pPPpRKN+?n4jgM5Z47D%Z5mI5i`@ zWw(}}ZKh&u>ik@nUZ?~n2xkOaUzfl1T$FO*SJj2wtt+kEm;@P>WI!q@pynm##$gsjrXr%u z$`vMNm`n!mzJF!_aF6bZZ7KuiLRc?pM1j2H^vpYYa=~5&)%3%;R^lflh1`)_CTA;c z#PB$l7$;Zd^W1ddbqNGgB!QmGEwZH~j;QAKRzC^2WuWT+P@S}1U^a$^dK~k*d@9T^ z!gtE+au+6rrZuLwb5bC9>$1#!pDP(1Cjl3#Xt#C4iJC!I0WdlVk!yy~SrobOr!FB% zg3AimKjBJP2x7?`V-Yw`yy#H zgKY2#0&t(QJtZ!&wQ2+n&?;;@BBoJO-`+g5`KhP2h?Bk---Z4N{0BE-*HxdA_ O3;=-qyF2*bR{t-ZS+NiR literal 0 HcmV?d00001