From b99e29d97ea028ae0e69173b74ac5132c41c0e99 Mon Sep 17 00:00:00 2001
From: MMS
Date: Thu, 7 Aug 2025 20:02:42 -0400
Subject: [PATCH] 3.0.8
---
lesson-55/stm32c031-freertos-cube/README.md | 20 +++++++++++++-------
lesson-55/stm32c031-qk-cube/README.md | 20 +++++++++++++-------
lesson-55/stm32c031-qk-keil/README.md | 15 +++++++++++++--
lesson-55/tm4c123-qk-keil/README.md | 15 +++++++++++++--
lesson-55/traces/freertos.png | Bin 0 -> 15482 bytes
lesson-55/traces/qk-pt.png | Bin 0 -> 15477 bytes
lesson-55/traces/qk.png | Bin 0 -> 15100 bytes
lesson-55/traces/qv-ms.png | Bin 0 -> 15643 bytes
lesson-55/traces/qv.png | Bin 0 -> 15500 bytes
9 files changed, 52 insertions(+), 18 deletions(-)
create mode 100644 lesson-55/traces/freertos.png
create mode 100644 lesson-55/traces/qk-pt.png
create mode 100644 lesson-55/traces/qk.png
create mode 100644 lesson-55/traces/qv-ms.png
create mode 100644 lesson-55/traces/qv.png
diff --git a/lesson-55/stm32c031-freertos-cube/README.md b/lesson-55/stm32c031-freertos-cube/README.md
index e34709c..791e6b3 100644
--- a/lesson-55/stm32c031-freertos-cube/README.md
+++ b/lesson-55/stm32c031-freertos-cube/README.md
@@ -13,11 +13,6 @@ This example implements the "Periodic-Sporadic" application on the STM32 NUCLEO-
STM32 NUCLEO-C031C6
-
-
-Logic analyzer trace after pressing the button (QV kernel)
-
-
# Code Organization
```
stm32c031-cube
@@ -78,6 +73,17 @@ The logic analyzer needs to be configured as follows:
- trigger: Sporadic (PC.13 on the NUCLEO-C031C6), falling edge
- pre-trigger capture ratio: 10%
-# Example Logic Analyzer Trace
+# Example Logic Analyzer Traces
-
+
+
+Logic analyzer trace after pressing the button (non-preemptive QV kernel)
+
+
+
+Logic analyzer trace after pressing the button (preemptive QK kernel)
+
+
+
+Logic analyzer trace after pressing the button (preemptive FreeRTOS kernel)
+
diff --git a/lesson-55/stm32c031-qk-cube/README.md b/lesson-55/stm32c031-qk-cube/README.md
index e34709c..791e6b3 100644
--- a/lesson-55/stm32c031-qk-cube/README.md
+++ b/lesson-55/stm32c031-qk-cube/README.md
@@ -13,11 +13,6 @@ This example implements the "Periodic-Sporadic" application on the STM32 NUCLEO-
STM32 NUCLEO-C031C6
-
-
-Logic analyzer trace after pressing the button (QV kernel)
-
-
# Code Organization
```
stm32c031-cube
@@ -78,6 +73,17 @@ The logic analyzer needs to be configured as follows:
- trigger: Sporadic (PC.13 on the NUCLEO-C031C6), falling edge
- pre-trigger capture ratio: 10%
-# Example Logic Analyzer Trace
+# Example Logic Analyzer Traces
-
+
+
+Logic analyzer trace after pressing the button (non-preemptive QV kernel)
+
+
+
+Logic analyzer trace after pressing the button (preemptive QK kernel)
+
+
+
+Logic analyzer trace after pressing the button (preemptive FreeRTOS kernel)
+
diff --git a/lesson-55/stm32c031-qk-keil/README.md b/lesson-55/stm32c031-qk-keil/README.md
index 1d87a5b..6ae2701 100644
--- a/lesson-55/stm32c031-qk-keil/README.md
+++ b/lesson-55/stm32c031-qk-keil/README.md
@@ -22,6 +22,17 @@
PB11 PA11/PB9 PB6 NC
PA2 PA12/PB8 PB7 NC
-# Example Logic Analyzer Trace
+# Example Logic Analyzer Traces
-
\ No newline at end of file
+
+
+Logic analyzer trace after pressing the button (non-preemptive QV kernel)
+
+
+
+Logic analyzer trace after pressing the button (preemptive QK kernel)
+
+
+
+Logic analyzer trace after pressing the button (preemptive FreeRTOS kernel)
+
diff --git a/lesson-55/tm4c123-qk-keil/README.md b/lesson-55/tm4c123-qk-keil/README.md
index 323521f..c4b6bd3 100644
--- a/lesson-55/tm4c123-qk-keil/README.md
+++ b/lesson-55/tm4c123-qk-keil/README.md
@@ -13,6 +13,17 @@
PA6 PE3 PD7 PA3
PA7 PF1 -- CH2 CH1 -- PF4 PA2
-# Example Logic Analyzer Trace
+# Example Logic Analyzer Traces
-
\ No newline at end of file
+
+
+Logic analyzer trace after pressing the button (non-preemptive QV kernel)
+
+
+
+Logic analyzer trace after pressing the button (preemptive QK kernel)
+
+
+
+Logic analyzer trace after pressing the button (preemptive FreeRTOS kernel)
+
diff --git a/lesson-55/traces/freertos.png b/lesson-55/traces/freertos.png
new file mode 100644
index 0000000000000000000000000000000000000000..d69e22b77b3effa4121f31935e6f384c2b36d646
GIT binary patch
literal 15482
zcma)j2Ut@{^ly+=b{7TL22ynuP!X`uq=a=9PyrDIQ3J#Rf>J^ef)End#v)x5q$?<>
zlps}FF4B7py@dz_LJuTBxR8W*lZd%;}3Tm3X5~ylV7L8;7?i?ue$AbdHR)
zcZ?42+AY=I-qGo|VS+w9IQGrW@$dYV74HlFce49UA7n`#yU3lj&%NrvWlwPzru_7U
z=F)YdqhlQ$?DO-o-n>a_BZmHQ60UMsc{o4oW^jA+_*z*XH#{OD{NjejzHXO{L)BH)
znN2@;^iSHg?aW^-Y()v3I1zH(%rT_%Q-6tHMaN`Kb8m4;@pKWac*nL$NPy(lj^GnI
zYA60w7E1s4VXuP1hFdw&X|6eb#bJR(RNBDw+FD3RNKHq(-raXOadPXc>py
z(+PqFr7mMbQH=Tdt`mEWqREnxcjBE8sSUH
z+jpsjZu@V)s#16OLZ6v;mfx{JJ!walH9qMpnjxAIvLfb3}OPM4XG*=FKxRGp}iL$ZJ-iZjpP=
z1->X85W6n=347yxxVU=J@yv=Bp_e?KWOkJl=H)g&D=9C0ot*Mw>`(QCA#(4VguWhK
z9qrRkdTN@R@%Lf+miNLw^?SPmTQ#*aGSbj@VMY7*+ZXKsJ41#zt%r-0TfHtvMMbrT
z`=5C>9FWi+a^i%OL#6s(ZIO}TUTwR|e)(l(WwF9@L)6>Shl5IA65n16&0A%?3%~PI
za|i7212B`*7Rzr;_ZRIC50Ci!??A^gM>v|`UsswA`GC+(6XVl6o>Lk$pqF3V&s_C_
z!NjV0{|miT7L$g-_Q1}bK56OOH$&cX-Nxasan9AllDW4tj=3B?E#a14Fq%@j<5?S_
z`dnna-RC=Jn{sWMMyGOh_w4xi@VAk+6`{j>3~N;`3`$7-ak{&4=Wo*ai5nk_9w1vy
zsUBMTJ>J`TYs{0PVZ-r&*4S8k#n`vUC+v03Vu7{>49)&nq5;vXHQ}tw3BRUj6=O9-
zp=W=bhHZbL3L?+7rP0CpvYV(<6=}Swf-*i=q#sEjNW{g*`v)(Eye$g(4R3=<9@13@
zzIJzCO1ziaqeFE*HTCAV1uNARiMHg)=}n3WT&}iv&;f$-YI}@5?14w&`+!q8b?g?<
zw!Qf4h!AX%)FrX0B1ola%>MxFHTF;3c0@@?fY9rt5lRFlbyZ&scENmtTOF4lCbVO0`WaNojLUMl
zE)`hh5)f<*oTPL~q_PP!EddJP0GTbOSe9QfZ+lN=arLL`$HuhIp}-Zf22|SOVz>);
zt`o)Or1&Xrvz^G!wu*fhblS4%^zV_aZ!ZSL4xKp^^=shFd@N~MQ`T0&rt8FEVB&r0
z5NcVCa8W&AFg8BmJatlrjM53I*1fcI%@X$YE4YQDf~0&UK4;%9v@H@o^aTa7)S1x2s%wpJag@ne}-Wqv*N4BQXeb_4xcQ
zM6m|Jc0Te8yVm+y>*hx^clpHmfqPu6ZcN%G+nL0rs*M%)lAJI-Q19MCeD5+5w-A{N
zhGxVehY)d;r32~3p&7#sv>T}u)3gJ?{L5dJUz{Qy_rQ9w;%BE#)1$K)qMNR7qoQA!
z;WeYj&=$_L++?}_5+`45doilu?w!2=i4~@lJaWxP)m94iXZgo+3^vu-dz2|{dk`r1
zzH8;Es0Aj(19qJ+@6ab9Vz2iy<0;D2N-}oD!hC|teCjOc?>6Gq?IM{(@m;!qM=yQg
zWfRI8+n(X8`!UCVy?f~@mvAV3NnTr$p#DFY=?E|
z1I~Is!}b8MBNNQhmParcLlhPT2NaWqD#j&Xia4yb-&WY`LD03Lf#%ZxxpAdHI47Oi
z{~(I!8cWq~%m)jEzm9`j%0Fh=Qf?qTZ5q^I{(3-Z--LZ`Q5Q%am2FgmMd<@iyaCs&
zjiP|x*+MMnIx%BX1a-W09GF-t>*CMT6yZ
zrtoYO5+nk(KAo0sLH4ODZk9R!Y_!P*Mm;iHW3p2%j4(Y>8c)GtE?6=>z6js`1_F#1c1a&^E~?|2{K?
z%2?IpQH-X1fu|&N@Gi;=i*rR~2ctt=fAdKPx1}ebV0jCxA{E9us!xXwC+UWaC5qCJKD7%2?pm8)I3AWuh!O+IWe186u#2u@g`7UKci~rCYS0Vp
z+kLC6+0zDdo!0)M2)J<+@%Z2lGj(Gn&nO}(R$@9}IsI~Am4#NhA01*vj4R*{CZ%wr
zn@|azDOG>5Ra?EaYyf%iq5%$G=N2@UCVXZEtB{-%tf&R9em9
z$q6>AsEn$H<$8@rke3lS;siS35ep!uS;N$q#?jxFoxqlSwesAxM(Mk`-5DFz%IAl#
zPN{M0x^^nBBu(DgeH56VW)61O1S-`8B_>i94)tkIMcag?W_{Yk@OLk(3SGVc*`tF*
zuYe~%S{MhjhTzF-o?SH(c-&r=ZGWzVVlvt}J?cKIcVa(m%R9AC$8aul+rzIR`h6lP
zIT^My}-`S+%Zt4NknYJkzQu0t93!U}2!m<5QL~WV`Z0W5pnXX+Y29rD{stmw#L>T>@(Wb&M?_;kh
zyI`+XsS+^gC(RV=2tk%4XG6v5n7^%_Q(A(mSM}^*7ntm^uu(B4Sbj8_B9Hlq!4Sc|
zaydiTdsRSKM3~dkt({B}VSxIyTzP1Ghud`g0sZuM+CXA4n|s~w_xW}_$E8-B7#rm~
zwR&y1$}6QEt+;LV$))4i9#6#Yq~FrDbr{9t$Hb4oET2=N|B4-NV;iLoc#W0eM@5d~
zB*WZ7#SJ9R8`IXVudH5ki{G^+Tz>fmHi2CcNV{UO88*s{N6lp$10Gnw2cIonaU#403K{mx3_d6|B(fTy}IX
z1MGnqZ*Nfnt8B1pt2eL=aMo#R-2E7w5y#$8@iQnpZwo-9Zr{O<^wProN2-W5LHZiN
zgjK#r7q(c+7;y_iT}xEGbT|wKZhX)XN3q@>4!K^37N8$wS+54Wpj6yI%jka&`-2R<
zO~F^Ho-(a;`fa}DE
z<)1??Q@$d3?+1apF-Ckg9GDsT>@+j7)?Q@&oU&xZdeJR1LOhVR*o%JNYNN8F9~ggYe#Z@I!@pAynTE4l8Nr|)B%dZ
z6rDTUU;qc%SL-q(D3epA6TaZaS35vX#?TbDzfjC~nuFZD$hq0e6)Rgoqe5C-?x0X8
zSFD1FNqrG2s76^5i`JbBUOEdU>E|DR6B#411
zn?+B3BNgM81HEWQBB=_VSW9wOSFB3QN$n!wel_a;ylCFFsH~~*QqEF;I3oGOejs*d
z@H4e5`6&yRZvno0fEf6WQuXeEluOY5&Vg8f>_9Elc8YiP?4ciH#{ydw(|mF${jh?
zIt>bfbauU?J0?V&8Q6Bd%i9*Y_xvYp?PL%;UL+hn4B(c&o_dE=mf<9MliR(<
z6leqo4{bkRjPFHl*+c{MN*NUjU7ps}skMejh2w6vW?S!wfvPvj-TDUm2{oduV)Ros
zfhqh5yvUU)lKTPf(USX^=;6v++%h
zq=y5mWV)*M+7g5ENr@coDoWAZzEVoisMZ>vkS;h(j*WJL4aS=;86gqJ$O_iYNSh<<
z;X>so>oFq&DKaJ4IhNv-aw68Cd6bn~12)j2qMX-Uy|s7C7vFY4*uTW%y#d&E13+O4
zTNgn&GREl^q7-x35HlbE`(>pvvP;@X#pKZTEw;x^o;N5I-}>-ec}!JKeR_DhjoS9k
zB(K*!!X{3oX^(TsKWIQo}Zp(r&*I~uNG17%D9GVq_M*;AQ5n3({Jo(TNc6=
zi|f~&(N#)DQcKZl2i9b1j$;x<$A06ss+Ep}e#vzS39OG@c)Dd`;8Q51kgc9mPmPG7
zG(y(%0@s98qtSrU53xkjS2w;|22~0*@|;KnSNYAje)#eiL%MIBDzhImfexPX=K^7`
zD1~5emr!r@$yifuXDBMnd-D+pGxUGaDmLManSU@O;dm|l=VP(sIT}%kz98AL{pZDk
zZsiBRBv4{U8M^kTi!<1E>^3yFuqQmc6kW|$6k*1jQi)Pohg&9|fAUq-w{IV_wX?zG
zE)W0moHDZt3AT#a^r`}!Ig~f6rP?czvL>c8F4}AA12M79vKdbq>T0#1R`IqGHD5w8DHJ1V-o@rg
zcbiM!yzEoW7CY{T%~J_TOcdWdK5bg$5WG?%EnyzQPLppaEXb$AFBF%Tzk8>myUc7*
zt9VSLOK#qu>riuHCiXW*f1jr56qG<*NM8E=je$Z{|0kp#1ko>%4;o@9V^UPD*xhcA
z<1=3&jaH%MJWvx5&KZ6K%4S=@>D|=h6>nQm2)}7iR>b>2Q*{Gf4if>Bq_ET4FU|j^
z?U2v4^LUp2Gi)TD@?m02y3NttOM~AIZm7^6MLWccY~Y1?ivHN50)=+iABmf(MYG4a
z-6F6kXdi}ox1eI!8y@g}peU}MK3$G4-SZp9X?CGHq^4ou#-m@FmKPGL5!Oo5{=0)?
zvgf0Z9=7oPS*h~aQ+%CG_qQg=r0^hw6bsazYdVj4KZNT&wKkzXHgaXfJY7h>&R+`r
zB^FUTzu7E-qOn~Oa72fEiF#CoGoGAQ(tS-x($ifG`=T@yRSNFUZfke6m9RTIxUKx|
zz;U$`tVyAbC}Wbueol$#jh`$50m{BuCAii_Q?dSWLAw-O?gTL0z+%_
zEJC)0-Ru})G-Q)a{jfvXx9G|?jp<{xfnJcdC`6*mvO~yuTg~&tx?eO`WdizIl$MPrd1T-Z2sz#
zubZ%{J?WU8yU8PXgkh7Uyynt~r0o7Njb*xy96PN2*!j0)x5vh}itLI9KV1swy~QEN
zl7+!gX-@Ob9bl?Y8&v`B{=zkt`9sl!b)f&l3^lEMh&i~JQWvOpsJbu>;n?K#`
z;HbVbvb^9BTsI-#@>Bm*XM}Zjrzk~VO=mTOi2Xg*20jy3(@;Q>1Yat92mc)MyWXo}
z5%;+phvE8ddv}&NT#i-p@ZB5*5Ogq{p3-!yh5d3PYxQ;Qtr;WMQ4FtuAq~gcBstEQ
z#4#zivW^F$S4%?nnZdQ%j)mo?y|IWsdac9=S=&kahA!ihOq&~MjuHf2F(U+bia`go
zXTr>ppdL|?W~=)2$Go|2+8
zFNr)m8!N#vV7Dt0#Wi^TSc$thZJ85Ee|QKs+JhY
zOtotnF|^iTzpX&Rs9o`SF=GmA3z(Hd5ElPdQ6(wA>wNe6Fs^
zXR|zw{GgnOXwtE;y#QzXVE|3N-4FN~-jggh8of9_kwHHYFuF22JfNcET0*#AaDx14T8=`9CnN}b&7BD&zh-sZz#dE#9LeJ$@`
zO*G4&$yGOMmLCfEd=S+m9X_ly&q6jE{FUnHsbGHd53KZl0B!S0Z_racu0grXaimub
z^E>$D3DAtcoYx=vjEP`BO&K2ra<$}M!Uta9={aOKYVGIbGm6M&eH=1#`mD|NprEcGpH
zEbggpuFrMzMFXjUVfFe}Mx>~Q^@98HN@LaL#$EbBsJNw6rHlZ}S+2N@a8U_R3&JXPtf!wX7K!6;Kw?j?Ta1+uB<0!Rim_#g5^{Gs5q
z+HLJ?X-VZ#*%6Mc)X=ZkzkkUKk*)K6&Do0mx#=@aDVcMVy)~L7J`^~2%9O;;et{&a
z8ax*1<2BF=2SKtTkYtPfSv+69QhbQwTFxvr!s?f@x5_ygJeIEn`ais&=!`F$f7PBg
z*p`;kypMlFna?-8EXEc04$i;S+6E&QcNC|
zph`p_K|`z%ZxdjMN^%<2`1BsKAF|^xo4}1}PS`x}_IZ)7+B&%vFWS#Q{nm-`IDYTU
zqt2%a(Xf0;dC8;Ip$iPMpyw-0G?LF{Be;=jjg3V9f&GUq_!1cb{fE-q0B#I{+WB2h
zVuhe~s>G|uV8JXT;d_5_BEt35%@rfh+*Yb~g!%lOC}*coXqv_&>0JmC(@dAS-NGY=y!!$fEyK+avSLsZe7+
zE$1djh#NKU$244LT!j?n@&7LmzPi_mv~D*oK8NmTB1E~tkv9YUZ#>(88x^tGtW`)P
zfko18V)M#58S?+MaO$u()pE-%nz?>8_w=cV8Z`fQa?0@F#wh(QnYV
z`ji1~5s69ka3tiBhOjJZiGS~;y{Ff*KT>iVzTAsGMcWbxTi#u8wQPAyj)8?gCTY
zYwXt4HN|^cm|t+rDB?SiJQixqTeY{EQDq;|P~oQX6I*?uj2b|KA}VV`(6*r2O)COg
zuXUd%I$pM2XZe#Li@>7S
znEcsH^TEb6K)!i>f#)Q=;|4R{vWOxU_U6G`L@nx(sQ2kp2Uvw7Fr~-_BrHw
zJSNaTyeAI>c)tci&kh}+i|5_J>_!xsCjzw440!{gC**A1(CX!Xy~&rd9uEP?LueSE
z#vWixG8FXld=l!L%Hs)*N@Rn!iUQ&cXa0hR+LZ#Z<@0ACSs+)RN=ItTx&SCqlO^?^JPA|8nZHC7-g
zc^n`?`7HvD-1TqR_6_~W3owtA>
z`CXUUgT6yOi8(xL@(7?e$J^O1)9JhOaDe+8-qiBua&Zc)h9Q2q#Y)metjjPJK@q_x
z>$|g?w--W6@K=Ir1{@H_s$?qV0E~_an~X`=)17=R}5*Tq9Zx_3ir*m%a)VoD36BNMG_2u!~xG`
z#N^ZX7k~%gXHMqrBAxAweU3B)J^tp7BwH*dUHJ@EiUhp5!~3h0@Er
z$GE?A@JUOGBay)Ge4R}18T8$OGV!+HZaG7e4ox|pGHWD_NWAh2lO${Fz2+pEX@f&I
z!}khEJKz1>AKF$V`7$y?ur+tNB@>a_=!F0{k#Kx1QgrQ|n+{f9%D4_El$IbBK&_m`
z43m%w(420hqBpN%vKwgp-I=!%>(wrFv$G?A>~YuIXhkMirATkH8oS8ShImSv_f(vm
ztB&V4qLmpw)0uJ1xaz*YuMb>G-!}Od^R~azGuV9#cXKD~Nbmz>HFT5~@PW&nxQ7hkBTNC
zanC`kGlBwb%dz~emBfN@H+CH>p!%ddD}W))_?j_iFmRbgp#8FqCq9n
z%>|99D
z@Oo4Wv(%Jlg^hevZ~WFKGH5xTFLWCFQKT+3x?oc{HMSBH+n6U=q0yeEj6Q(edodkre+~N&qWi&gzG~
zl#?*ont*@6guX*78FM$|2NNqQ8h;|_^l;8r(nL`8Xz96GJEV@+T*rN5i7>Z8kLUmD
zsI_npeDCl_$fw);D(%Y+%#=q|0a
zH3jt|{mk#NlZU;+!i<3S)FuPm4Ub^+GS}jN$d77?(VK#B&x}8N`3wNo!^xE=AaR?W
zuCU*+OvMYz+1!c1QN?6rSlUMe+z{s-7_dL@gPV?~nTi_W{?{TclG9x_1_NiGP~$So
z>Y_Jk%uOd$ns@)kDD^xHZVA+dC!eYIYHUZJ&Ul;}iNXfZ?Yw@i^K!-^!&K$2fd0e&
za!0`sk{SdbuN0Gsx|umx^h(%rLb*{hYU0^9QMpeOJ9$CZOEC0y4Ei)lWj|}&sj@hN
zQb}cots3C&-Cz{&2b2aU1))nPVg7(U8qZ!0_jKIh>QvBO0TutM7h;Pq1@5G=2#6UU
zVIF)G`IK5$$S+`G1hR>%O-B
zY*Y)m1cmnkgj{#z^(QY%5jfNO6Y~E5c3t;*2xQiga{USARRU;{P`rViVO|x4cTg6=
zZ~X$rV1nP)``;Mm%4Z-(@aMt7IqXDn*`=*{XGKX%v7C
zIO&If@`cXM-G`>tX0^`><}nR}wT1|8ZTF&`<|GDmJOMu3Uhv0#CN&}D#_4s*0<|`#
zQW}}k@(K4X37L+H+hPD_rEcm`4|R3;%z!8^T3aO{cG(lN!f;y9)i=1AgzbCth{O3y
zF!hq0%Sn_7((&*{d3|*2oxoPOYio>nxq(ODg0PrAb7-JPJH$sGuATth`a-rQGCgnR
z5cUG$_PiV|EodxKODlIKzEu>LB#ygDtWz>+^(C-(-y)FGg8WjM=kQGSPZ)So(H;MZ
z@U4lT0_N(PIT424_u;t2y;@R?o(jw3e_~^-Vkt3IbDAC?ptQ}{Oxz-rn8+RVy}6R_
zi?NYp8G*7_R;9C#U7)l>INEI4c|!(f1l-!q8LKOQ)Nh%nxgVfCCAqt$X0)+e;jbeo
zX!yR@(kP+RRGIfV}Kewh>Ln#iI5c&{{J}v-bRj0YQ%Oz`Ms`<{
zjJvb^)iL)~63RZ_A%C;7Yp@;7UOr@IXnj9z`H;hG&iEk(^cA*#{4o7~_sm@b7
zr*tnb`E69=N4HS2r3*5hlX=yzbqY`$FYOhCsWtorcO8Ct(%10oLA(j%Wzu{^;1_xz
zAmHb7&_CZ(Pw1N<>xMc*-1s9J)o#_JaKQHn%_NbjyC+7F-1B6DYEt|HpP(;4OXo4*
zYiZKLt4j&w{6QA#_+QEYYo708f50DK$z15Vqsspnrn`|Lh)H=0{$DD;>jD=eMFos5
zve-Ti-wP1@)@v9Xt3G?IcDH)-uyC8k|f?U>K
z(Vt{tt+oSb%M7R!Z(2~$rO%Hht65FvYWe4??(jMcH`2BzgRal11
z82XDV2i;}k4?RE6Ub5B$WkPQQ1quu3)(NXHEU=U8w5JDP{pBpk)zKemXosC(s5o??
z>&oxH8GV*8x;5lF%8mIRZ5`QgERAZ^43xOLm$Aj=dk#UK$}=_=uAIQc~cP7PAi+T4%C+k4^0)7<63FUn!}OH*+a??*G7bm`8BRI{r#My
zl4&E`YQOB;w{}Voo8P}^+znl|y+1@`?vrmxJfL&!OM$c3%SOD}tqdz{Y85{4MWT_|8C1yn5UjPA;J~o=*%dh;iU$zZ6cc+=tU`{
zxg2(M2dn-qWRVIenvT26kTyF6C@1-d9fTj6beHL4Q@v)F@nWLsfSj0U6w%_j$fQ3t
zR8ZQ=g34w{Vv8!EY_MdeCzI^&2OS%Q9b-N%nOG)50q7vi^h9YCwr?qM&sA-WhAn%YmWg3dN|ro`fQX4V
z^2NC|Rrc9MpEXtP`}gix_LqxKGOFbdzvME7oT$60T+7M=
zTgt0$^MHVtxbtGPlUQe7^=#w!JPxW$vcW|H6zK6cY${Z^JPd^?eBWEgdV#z0QG-{B
z=P4_|Ctj_e-@@~(iv7*_a2x2d87L?keJ|n*25;b1`+f}LBNb1SP`*HXFBBM)ie@wW
z75))`SGwkPFvAQK=-lZ1BjC
zXT#}*a5n;fe}6_pUwsLdk3<1B3CWL=mZsD3VyA|XScWvo(o1reLFrsfFfu`to`F7$
zJ(`5!j_ymoRjU__fD5s*uRB0fZR7@1ll@>
zxB&8r&`}=WmeisFcrtJV|1khgo6>bTTWe8=3#=tYLM1VB0#pK9kCo8o0fRgj5S)6g
z7sFl?K(pN({+SI5RRfjG?qK7S8uZ#b7}wf0)>LHt-yPf@R-kG7@~VWa?(j_UEn`ht
zkJIguv1#KyPwV1l8`ZO#^!gU+!ZpgHp_D?#pYCjiSGnt_K7g_K3_e@FGL}7l1;Z?j
zyD4k-Ra;N~#;;O)0e}02_`9v@>A7n?loAw+5_l{29?ltoMy46aOu3QIo_4qq@tOy#r-hFKvI5oeG_GGQ7teY}1{b=+$bQH-e57RySNS
z>;D)ZIBrt4(>Xa32BAaee?
z%nL{$VG^1BHobw!Z*&tgxc{29xEJr8!3Xh7SNkQ_1j)0~GrD
zu~>#Jc1=eND@xS1w_0G;!Y+&A^|3jGy3L5^9_mxT
zsgY&VO|LvZLY3gFI2Xf3=sJJ~V6eLx)zC+|6?Q^1wt2tM^}F?!pJvgwtzFC<9({xU
zzNdGL9Y^tHfaY>1mg-1UruW)K8wx5Ku>;2M2KX2bd;A~(T`$UEFJ`X1Xy>iK6!9Pvt$YG!f
zTK+;%O~4E;{D7neGhJf)@NQx20_D&(r^Qwj^5)f2_J%+7nekgd{Xe1G-$~Hl<(#z{
zQ~_WYi0s0&?TEsH<-_){_wj`;lxNk^R!seEunPcm$0{pG1<`e{uuur*O=@fJmKsGj
zeRSna?24L)9U073$tu@ZhAv93h1nIl^u~QlCw(a#2V95TN8=J+LVpK{D7@X<_;M&D
zd#oNOn+Dw94@}AXkV)BPrEv`tj+GN(HKo5M1Cf@A`d{@YQM9TPqpIh&oX|hca=_Bw
z12YsKx$T+s=>hG&&Wj^!Wx<4+Ok&9G%T`Sm;oU{RN{6svdWlk3uontx?q^s}U)v}@
YDHd0fN=%0SW)gPR@cilQKd(RhKh>x@xc~qF
literal 0
HcmV?d00001
diff --git a/lesson-55/traces/qk-pt.png b/lesson-55/traces/qk-pt.png
new file mode 100644
index 0000000000000000000000000000000000000000..b71524ac43adcd5967e90ad5ec91cbe1bfb9887a
GIT binary patch
literal 15477
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
M^)KZ7cJq(_1CFFkz5oCK
literal 0
HcmV?d00001
diff --git a/lesson-55/traces/qk.png b/lesson-55/traces/qk.png
new file mode 100644
index 0000000000000000000000000000000000000000..e9d35ca992b914a5a81a1a8545f7ef86a1a072c9
GIT binary patch
literal 15100
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