From 94940c5bcc286b380a44317d20edcf402447c584 Mon Sep 17 00:00:00 2001 From: Huck Boles Date: Thu, 17 Nov 2022 15:16:14 -0600 Subject: [PATCH] new start --- .../@usr@include@alloca.h.blob | Bin 3023 -> 2815 bytes ...sr@include@bits@atomic_wide_counter.h.blob | Bin 3393 -> 3185 bytes .../@usr@include@bits@byteswap.h.blob | Bin 3831 -> 3623 bytes .../@usr@include@bits@endian.h.blob | Bin 2908 -> 2700 bytes .../@usr@include@bits@endianness.h.blob | Bin 2565 -> 2357 bytes .../@usr@include@bits@floatn-common.h.blob | Bin 6606 -> 5219 bytes .../@usr@include@bits@floatn.h.blob | Bin 2921 -> 1534 bytes ...@usr@include@bits@libc-header-start.h.blob | Bin 3205 -> 1820 bytes .../@usr@include@bits@long-double.h.blob | Bin 2484 -> 1099 bytes ...@usr@include@bits@pthreadtypes-arch.h.blob | Bin 3527 -> 3319 bytes .../@usr@include@bits@pthreadtypes.h.blob | Bin 7507 -> 7299 bytes .../@usr@include@bits@select.h.blob | Bin 2808 -> 2600 bytes .../@usr@include@bits@stdint-intn.h.blob | Bin 2985 -> 2777 bytes .../@usr@include@bits@stdio_lim.h.blob | Bin 2768 -> 1383 bytes .../@usr@include@bits@stdlib-float.h.blob | Bin 2379 -> 2173 bytes .../@usr@include@bits@struct_mutex.h.blob | Bin 3775 -> 3567 bytes .../@usr@include@bits@struct_rwlock.h.blob | Bin 4187 -> 3979 bytes ...sr@include@bits@thread-shared-types.h.blob | Bin 4843 -> 4635 bytes .../@usr@include@bits@time64.h.blob | Bin 2568 -> 1183 bytes .../@usr@include@bits@timesize.h.blob | Bin 2480 -> 1095 bytes .../@usr@include@bits@types.h.blob | Bin 9852 -> 8465 bytes .../@usr@include@bits@types@FILE.h.blob | Bin 2641 -> 1256 bytes .../@usr@include@bits@types@__FILE.h.blob | Bin 2578 -> 1193 bytes .../@usr@include@bits@types@__fpos64_t.h.blob | Bin 3369 -> 1984 bytes .../@usr@include@bits@types@__fpos_t.h.blob | Bin 3315 -> 1930 bytes .../@usr@include@bits@types@__locale_t.h.blob | Bin 3501 -> 2251 bytes ...@usr@include@bits@types@__mbstate_t.h.blob | Bin 3157 -> 1772 bytes .../@usr@include@bits@types@__sigset_t.h.blob | Bin 2787 -> 2579 bytes .../@usr@include@bits@types@clock_t.h.blob | Bin 2620 -> 2412 bytes .../@usr@include@bits@types@clockid_t.h.blob | Bin 2650 -> 2442 bytes .../@usr@include@bits@types@locale_t.h.blob | Bin 2677 -> 1427 bytes .../@usr@include@bits@types@sigset_t.h.blob | Bin 2720 -> 2512 bytes ...@usr@include@bits@types@struct_FILE.h.blob | Bin 6886 -> 5501 bytes ...@include@bits@types@struct_timespec.h.blob | Bin 3110 -> 2902 bytes ...r@include@bits@types@struct_timeval.h.blob | Bin 2926 -> 2718 bytes .../@usr@include@bits@types@time_t.h.blob | Bin 2600 -> 2392 bytes .../@usr@include@bits@types@timer_t.h.blob | Bin 2637 -> 2429 bytes .../@usr@include@bits@typesizes.h.blob | Bin 6380 -> 4995 bytes .../@usr@include@bits@uintn-identity.h.blob | Bin 3397 -> 3189 bytes .../@usr@include@bits@waitflags.h.blob | Bin 2946 -> 2738 bytes .../@usr@include@bits@waitstatus.h.blob | Bin 3506 -> 3298 bytes .../@usr@include@bits@wordsize.h.blob | Bin 2622 -> 1235 bytes .../@usr@include@endian.h.blob | Bin 3830 -> 3622 bytes .../@usr@include@features-time64.h.blob | Bin 2439 -> 1052 bytes .../@usr@include@features.h.blob | Bin 5467 -> 4082 bytes .../@usr@include@gnu@stubs-64.h.blob | Bin 2936 -> 1551 bytes .../@usr@include@gnu@stubs.h.blob | Bin 2418 -> 1031 bytes .../@usr@include@stdc-predef.h.blob | Bin 2900 -> 1513 bytes .../@usr@include@stdio.h.blob | Bin 37510 -> 36125 bytes .../@usr@include@stdlib.h.blob | Bin 43352 -> 43144 bytes .../@usr@include@string.h.blob | Bin 17032 -> 15784 bytes .../@usr@include@strings.h.blob | Bin 6436 -> 5186 bytes .../@usr@include@sys@cdefs.h.blob | Bin 12460 -> 11065 bytes .../@usr@include@sys@select.h.blob | Bin 6070 -> 5862 bytes .../@usr@include@sys@types.h.blob | Bin 8105 -> 7897 bytes ...usr@lib@clang@14.0.6@include@stdarg.h.blob | Bin 3225 -> 1840 bytes ...usr@lib@clang@14.0.6@include@stddef.h.blob | Bin 2693 -> 1308 bytes .ccls-cache/@home@huck@.repos@odot/file.c | 43 +++--- .../@home@huck@.repos@odot/file.c.blob | Bin 7499 -> 7607 bytes .ccls-cache/@home@huck@.repos@odot/input.c | 34 ++--- .../@home@huck@.repos@odot/input.c.blob | Bin 6005 -> 6213 bytes .ccls-cache/@home@huck@.repos@odot/main.c | 132 ++++++++++-------- .../@home@huck@.repos@odot/main.c.blob | Bin 6049 -> 6224 bytes .ccls-cache/@home@huck@.repos@odot/odot.h | 10 +- .../@home@huck@.repos@odot/odot.h.blob | Bin 5107 -> 5067 bytes Makefile | 17 --- dialogue.c | 3 - file.c | 109 --------------- input.c | 84 ----------- main.c | 132 ++++++++++-------- odot | Bin 21936 -> 21208 bytes odot.h | 36 ----- test | Bin 20608 -> 0 bytes 73 files changed, 180 insertions(+), 420 deletions(-) delete mode 100644 Makefile delete mode 100644 dialogue.c delete mode 100644 file.c delete mode 100644 input.c delete mode 100644 odot.h delete mode 100755 test diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@alloca.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@alloca.h.blob index 1def0cad93b1d3d4246c33aa8f09f44d7b6e80bd..c1cf2b5151909bc32e11a596d1f7b9ac1c7c9f70 100644 GIT binary patch delta 120 zcmX>v{$F&0B1>*!X5K_KDD9)iXfaupQ*E*o8}H-;jJzAyCo)dXV^W#y$fPm(3e)q+ z{49EtpEK)D-p`^m*_Net@@{6G$q!l9On%HHKKVGSEJ)90F1GhflO;IiCkrsKa_MC- U{L{&5IL4$g@qonURL(3W0HIANcmMzZ delta 209 zcmew_dR}~jB7bIHL1~FzG6QpRPGVj^zg}Sr$x8 z6ywfM$uH5%VEDJ{(eufHjFOYhSY=s2c7crC9LM^RX|fSeLjZ@|#BPzz)f_EM05_XQ A3jhEB diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@atomic_wide_counter.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@atomic_wide_counter.h.blob index ace0daf8c35a8730420c421d1b58c901f6f190dc..dd4d0cccbe5fadfdb2604990d051d5a12e17306b 100644 GIT binary patch delta 102 zcmX>o^-*GiB1>*!X5K_KDD9)iXfausQ*H7sHsQ$+SXei%O=g_z$Rs~`In#3xf3h4i z`{Z}bN|Sdn>rS4;qBL26rFL>3v(Dr#ENdn=vzlzaz$(r>nT=C^vH%n7W+A zr{tIDWib3(_2~KJKt{>QoUF3UK&xPG*lf(o#XR{byC~2`?#Xr>aud5nHfM5humAuI C4Mzn4 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@byteswap.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@byteswap.h.blob index c26ab6d101d0d6e1bf26d96cb5c8e30f94c66b6a..ea766c9e6ca293c03b2b4630723317ff4661640b 100644 GIT binary patch delta 127 zcmV-_0D%AZ9j6?SKMrkSX>KlK00U!eVQyytk$@KjZDDC{k!mghIFr!>6q8U15|jA| z7qQAh0h4M1B$GV?D3j0v=aY~L1d|U0DwE#_2b1apCX>4aB9l1;eUrBXER)>?tdmm& h7?Z>W9Ff2cvjzqV1CuWaACvF`1(Og72(w}dl?CR8Ds=z= delta 200 zcmZ23^Idj=J%46iL1~FzG6QpRPGVjtrz|6&8>TP*4G= zj)O55$P%5L#Poc!GmFmTa%NqisOIEj%(W9QuuopbtS~vBWzEETG4A}7{1UwkhJULb nJ)i8zDmmGRRTgHD(&iXeF6PM^YzmXpIpij;6xlq9V=5~E=KDkk diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endian.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endian.h.blob index 43b34225abd0a9a1cac449c782102e34a7fb8a60..39f742546ddebdc8987ce3b7cf488af6bd3e13c0 100644 GIT binary patch delta 122 zcmca3)+0JWktH`VGjF0Al=jhMw3vL6U1YKer_f|6Hr~kx7z`N;xItefpP<(L4;kSEsw delta 205 zcmeAXy(2b3kv}u9ptM9UnSnVuCowObVPb+fD_Cfvm!7blera)$er8^BPH9T2esW1= zLF(i}Mum;rlNl!)u(D6S$Hc~!S(2HXT2x$+nhcbZnrz3UG5G@{>trb=mB|W>EFk5R z?=rD7mE=wiWcoANokeGIHM1^AXmTX8(&SUjwUaL}vQJ*ctT4HlWzEDyG4A}7{1Uwk xhJULbJ)a!NC^^}TRh9*02gs<+ajb8cCg*W*OtxZ{nC#6VH?dn}a~X#i69DuuMCbqj diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endianness.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endianness.h.blob index c78f2d9b284f89be3470e9c72394efd084829f9c..a1df9a1940d9404b9fc830680b4304b387074030 100644 GIT binary patch delta 113 zcmZn_*(x+aktH`VGjF0Al=jhMw3xh+S!A*Sr_kh^9O4_-q%cl)WYUd>! zKQL=f-p|fH`4qF-7rlOAds&BRKmfS z3uK8-UI*0R!SrylGKV^)~#&$4D>q8N96N`8r62E)Hq pkDgBsWR#pN#45`IvI1oBW*b&6=E)pv3X|PA*!X5K_KDD9)iC^6ZRRd@1ZCdrBGlP0UMxlit9lb-y5g?sW6Muo|r zfb1G}g-L8IlS`NtCKs@A{mD8UvS6h%SY#)Aa!3K$tdqr93?`Sb oNKQ`XP@H^}LwRxzC*NdARw1xDUQW5m`9L*qIXE`kbM^}W00G=CZ~y=R delta 692 zcmZ8fKW`H;6p!uZNJJnFm6En8B`FLrTn>o^78WFs5JK!o1jpwl7LG5R-x0F#5fG<0 zAn^@gfPoPqW~7RNj{pN=%*ueU-Bhg@-}{|^|K9z){O#JSep8uQ0RvHCLUS{&l#e^r zuqy8kHf|<`%@bvWE>f8YSj;3EvR8f?)kX`DcFt#R?p1}(#1ni>)!PIxZUID}e~ z?wJ);J`Z6WOY?}_i5=O)CB52AP5{ric1A8>pKakI+QLt?(;g|X$qa&wr?)ZB#l-tv z^TvX&7pxZ@M#A&-O8KTy^7iR0&0sL8{C)T17e1g{kyT?W!8dvM&~<-eSGNnBSgBoc zgmtk`?o^Mb3F+26zKYjB6>g-`ApYLP4JPMY!M^7HLfx~4yN!um?**!X5K_KDD9)iC^0#KRd@1ZCh>`D6(%2GWS#h4Y2sO>$zqI3lfBv8 zCkrsKO+L-2F!?8&^yFrCg~`*IRVIJnV40lD!ZA6B*>&=JChp1mS=c74Gs{gj=8y%N zz&rUMi}d6G4k?gnlWkcHCeLP(oP36Zb8<0<1dvvqY{Uw(iF>jLryS6H*3EXD+Drg{ Cmof7I delta 894 zcmY*XyN=U96pihSoooVOHzKPA5$(dR#6wR00Er5OC_thQlksda!Wl=NYeKr^3s~z? z@d;Eb(ZeqwQPI*MsAy?c%=i&a3QOa2@0@$jnRD6sJvcw=3AxN*#2OxpshlL&q<6ZU!nHrCP*jd=+M3Q{3w%4#_2D2RlFP=C_G$*%6r7)%6+1y9wIv#Lt^ z6q1Etla+}0ge92-p4PP;E+avuPORTlboH*E^`6 z1HZU8^_lE0p;)099nzG|tsBHQ5-J5}-icotg2(Q?{9`w#gH949Fq$_mKmGiL@7%tT z)>2}oIFz@VhQMMBwyN5JrmuL+S^dlepE!?gNOut17Lz5?F0vt_jkkwJN_#~GoW^t$ z334?vK?wEJN)WKF_8>c^Q2~XlH2a%#=+oF_tM2GlCN47IZ)>ntZ-sg*kY)$`;NHR? v?hSn89hv{GZLcBHIf-I1EjXv%9c>t?_zPut;SKe0(-NM>35Cz!y$9}pKKLt0 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@libc-header-start.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@libc-header-start.h.blob index c07a751fa0e65afcd394953bc59e49a8f343e0dd..1fb990d522599a06c4886afda53b65f207b2d5e9 100644 GIT binary patch delta 180 zcmZpboWnOkkuNtfGfyv>fjK!RF)y8AVuCmeNMxdy9;3wM7-mK0l+?7z4a}mG`&qds zu2z`bz{WlCv&>{0Hjasxr6x~cVwo(#C^uP-&3$q!oAks5ypvA@xgg;WY~qv4*cB!( zU}Kp)lNqRyk#({svk%Ce$@0u9lhrt6LCT$3q$fLbNKIV8HF+9~ljA7>(_mowOlPB8uA5C~08;$;pPq!h{4u3?Q+m*YhPgaj_%cXF}MSi}^Oh z04obfu(LAq3m8~nWMx6z#ddUI@Zk47zwdj`?@jx~-phV_EF>SWn#UxKC$;?Ka@`>L z{XysUFjMJJ#7t%pA2L|ZIX-eO;Wx*}k4}((>0;eE!ZXLue_hdN6K^=(#_1BcTF|*g zB>|HOdoltWYiNi{UVwpuRKycy5w2}3h(rvbeqswJJDQs@7zq$Fo~k)#<&<z=c zVRgZ3b4XJ*wOGVA4%P+;KKFWlkqO>$ujj8@Io;h(q67xh+TZs-e&Rc~W85{Am?#d# zmvtjzsRkQU9YWn#Tyj?ZX@d8hyZ=LH&VgYPJ0atjG*>kd(fZ1svDI8q0b@zm?I7*U zbRyJ$IR*jC@*c8fhzclVMee_yo=>HzS;c6TA^&Wfw099Ns#{d8T diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@long-double.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@long-double.h.blob index af735102bd98ab97840417872b01c7c39380d86f..f7d9d9a967be8e9ab40403542217f2c6dcb67904 100644 GIT binary patch delta 158 zcmdlYe41l|B42J|W}aR$19NgtVqQAK!~}5`kjO+YJw}PiG0cjSqgZ(+cQW%#?q}he zxJq&20@jIdl_s86nmmDtWwHdL++-Ct_sQLC(i0c(PCgCff`q@ZiBGO!SD3`cGI=Jm z!sG@<*2$jCJ|Gh&%Q34?*5Qx^sou{bJ=v2(3TWbFYZimaGg%}jCvzxHKFSd?*`Bi$ E0Hske>Hq)$ literal 2484 zcma)7!EO^V5Z%BJfYbxW3T_C;EvhOmAhk4+Dn+VP3I{Hh<8`toyLM#H62gfyU%)qT z;wyUL!j&r*{(@k8ld`MYULqxznY?-P=FRwV_UFmFPuJNX!-c9iE^4;GL(P}UV3jMt zGg0y(%kHw0%6U%`S}DB{a*lGLIRmBF&m*YW3tStGg=A%&bIf49=+rD{^%~#*>SatHYu{atc`B42J|W}aR$19NgtVqQAK)N)}6ecMQO4vOYP*{%sP_=nAj#iXQ`h2m`Qx{99G%M2N-!b V-)H4wp3K2150qrxY|J@@1puzlB=rCQ delta 209 zcmew^d0cveB7bIHL1~FzG6QpRPGVj zlrfd$P7Y-HGufR*XEGl<`{X8OHIVS+NM@zUrS20EE diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@pthreadtypes.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@pthreadtypes.h.blob index 2a8cef8fbf7754b6e5a80425cfced914aa07acff..40af18dab2afefc63b2443d07ca2ce15f60414fe 100644 GIT binary patch delta 114 zcmca?)oeLIktH`VGjF0Al=jhMw3vL6U1YKzr_f|6Hr~kx7*RQLw#f=ia+4Jp zSwLDQ-(_NFD#@K3$nSz&T9%bJOaV%+&D w`6YT84F6U=dOkUjQF5{wt1Ju19*|L+<5-_DO*R55cIA+p*e$ZTfJ0aW0QtE^2><{9 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@select.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@select.h.blob index 8dc32db03e09b3e0e3410f44c45da5ab9719560e..138b61d75d82466e697547ecdf2d55e087e9d6a3 100644 GIT binary patch delta 122 zcmew%x*!X5K_KDD9)iXfb&syU1h{PNB(CY`l{XF!F9(pU5~lk4a^+Ba_DD zD@@NPf8b!5oXf&9S)N61@^fb0$@^K9Cfl;qPTtL|GkF3B&*Zl(3no8i5}$mWRTiXw XGZ)({rpdyb@{@$7y$(w BMwkEq diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdint-intn.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdint-intn.h.blob index 0e6e59de5f0fe940dc550aa3ffc96512707bd8f9..e3e2d826f8042dd88a9b4279d7c713a4abbd9046 100644 GIT binary patch delta 118 zcmZ1}ep7UUB1>*!X5K_KDD9)iXfb&Mv&dw9PNB)GScE1kFtcr3o6R`clSzK^dZy=- zFEFuAe$T8qc^^Cb9_CB7bIHL1~FzG6QpRPGVjtqE+7Lc;Zy38Dmxj>fa zOH?CkHZ0P8MX9WdT_OGI6sdD-ZKzb~c5{ZX9wGyG1q^a%3<806BR<5C8xG diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdio_lim.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdio_lim.h.blob index bbfabde44c178eb4069754b7bc61cca3868c3052..c3547d6c00c59c676931b478fdb86d5dfff94963 100644 GIT binary patch delta 170 zcmca0`kZTmB42J|W}aR$19NgtVqQAK!~}5`kjO+YJw}Piajd$NJDGVV|7Yi&xK?iB z0@jIdl_s86nmmDtWwHdLPEO@eoP3-^d9nek!o&sKlleL2 RCb6+je$T=2l;V7R0SyHbB|mU%?$-8-^`5!i!*QE0;4}pi z6*ZzksUjf(f8dG_NRtYQh8D52cA`|fJM-?%y!Y<9x!QX_*d7bXM@fYylBr3heBG&H zrF=QseHIlukAzBOk@6@p%Q=Uy^sxLkfT}kvuZHl4)ZmGCfTw@DG+Zy(93g&`$Sipi z8+>d<_Rb`S@1$4Dg_>xrLg@_}+N466P$-yt!yRq%A~CTrV#ael=ZVDyyUb)Wk;Ds; z@;J!~Wq6MDCReFoN^y;JeQLi!+Gez2F*Eo{I#ry9bw6^f>y1E?V`!6C@Y{R*aGG7)8u7YxWr`LR{9{d-xOnbEZJ@AK6)d?LNN78A{lb+c1NO-Ry+ z;`p}Q^_M!*Tw4ErkbQXWoz&e6!w5in{f4%H8>QAUmz7A}4t==r0^Gc@V8VmB*)-(e%UwC4OG y0mQTcFK8D>x9%E++*FEFd+u4#kl&ftziL^Yyu>cKLRL|(gNp`zy$`AZ3GIF9Rwbe>NlZnPAp{kZ U2?-Gm00I&K6bu#s983TJ0KA1EHvj+t delta 203 zcmew>a9U_Wg^-pN$W?phmX-cYoa!F;uWJX5m$q7ts8z&|+f@s0wlA_Y&lK9M$ z%-qzX;)2xV$%(8|lO>omCMPhmPX5BE!VHvw>6)y=%)yuoR3SRqf$8~VMHZdOq0G8K zQO(Iqm}@6rU}l}%#H=*=0Xxs+NR|Z?6UDgmQ}RpnG8q1?dh~qqLq=hcm6HWnWswct jY{AORJUO02aB>x!&}0V=AzlV1AqEj1F$NhQ1_lNIwR1ft diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@struct_mutex.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@struct_mutex.h.blob index cf04c35e680feb421e1567307dfeb32fde191e0f..8183433f28addf8aada484b6810cb8a65557bd3f 100644 GIT binary patch delta 114 zcmdll`(Ap2B1>*!X5K_KDD9)iXfaueQ*E*o8}H-;jJzAyCo)dXV^W#y$fPm(3e)q+ z{49EtpEK)D-p`^m*_Net@@{6G$z2>gli#u|nEaSYeDZNtS&+WXTx?I6Ci8O2PZnTe Oo&1i2W3vNiJu3jB?j`F0 delta 205 zcmaDaySz+=6cAm-gEDI(kigD+s w2bDz5tY&m?*}bpORmqm%;FF)uZQ=0~sYJ^RvpbfXoEh bwAqrCi+S=kW+|{v7Y@0J-6EUwIb_%YApSqD diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@thread-shared-types.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@thread-shared-types.h.blob index 2276a3bb940de299ec1ed314cea3e6c76eaa3e08..b229c036389cadd4043cccb2189f2d23e9b59516 100644 GIT binary patch delta 79 zcmaE@I$LFeB1>*!X5K_KDD9)iXfausQ*H7sHsQ$+SXei%O=g^&$D}g3gi~yCIFr!k fD@;91lbcyhHeX;BXP(T)DL+|&iFLCf=PphF9=RCy delta 179 zcmbQO@>+F*B7bIHL1~FzG6QpRPGVj$7(wO{#k#({ZlgeZT zMwZEoSVVzZgc)-;2Qn>WnwTiYou86lqL;z&Z`GsclLHwgCv&pOG6T(k8NS(&m4|uq WQ+ALx?#Xr>aud5nHfM5d;sgNHnLSMa diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@time64.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@time64.h.blob index 50b0ed01782c61651dc90496307fa835d73ab1fe..d2447a7074a58bac1b5e7eea3bab28a848ebb268 100644 GIT binary patch delta 161 zcmeAWna?>vkuNtfGfyv>fjK!RF)y8AVuCmeNMxdy9;3wMI9A=soy#;|>}Qdl?8hMmGRm68VDd~B$;lZUijz-qC{H$ERhYPdd$JIx+$1*E I$u^v408||^-2eap literal 2568 zcmah~&ubGw6rQvf13gF)dgu=n!Gm@(DTLe<5h@0>2-@aOR5n+wnYC>AM0aZbmm zCD}wMBqE{FkSDA~!6r>eHmXU2Qz6GZ8^MT6MzxT$yPm4x9?F$OJfle-F+}xj!dh{O zr4ku%t&oi>gmF4hnrMc#Gj+&_&LvaMU{Pn72%^(mA15!HTnTF;!Gu zov4CmX}W6#Fjk=wR*#A$#?t+TtiK4HaQ9Izy%}0G-A2MUI^zkaUHGNyq!CueBY!5RH0_L?xd zo z8{5RsG80cLO;%@f2lAvRF5sQKl2LB*S2pR%_3R3hi-)Ci={DGN$vL3VRWP29w z$$yztChK#^PM*M`G1-Sh3S^EXi^1e_7RkwJ9Ey`qa41jaV+9(|Jz0QLZt?{tpl%M1 I$xfVk04#Mf?EnA( literal 2480 zcmah~v5pfl5ZyopB{~V6Xple@2*)5rsep<@IthdXNJuo6<8`toUOTeK7ed8fz&B9w z754=+bclw(;IP-pU6!-GMN(uYGjHC!dA?u$eemJ)X*H^Fqg##}$Ch|(_)1%>YYliV zBpdq7*17(2^FA8X;lR}w+HqoGy{|_h!4k5~>b7fIy_=>a)z+6)Sb4g3K?1I%IZ;T2AY?6q( zR-sgQv|ReyJ+BO{{EO=0CVO=v zNk$gRVGC|%QAr*9=bS9#8~AfehR!=AqZh|85XP4rzDHC9fI6A(Dvj>;HugVFql4<^ z^{N`3{W|$Ez4gU?CFJe#%cD2P?~kggI=JIEFBHFh@#{50-o1MLEGCQ&Zyesc622c- IXCwcIf8g`K{r~^~ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types.h.blob index 80141a71c38a5ac527e7ba2689579a018c30bf41..1257145e83312036ddf6e594dd2736af4136011e 100644 GIT binary patch delta 179 zcmez4Gtp^+17B`pW}aR$19NgtVqQAK#71!zkjTVrJw}Pi^{l#+S26QUzR$=z@toXb z14h=#e2hvH-zZHsWmKA+#pVv=vQ56uCOUZo3)keAjEa*j*rg{QVpo{Fjag-~0Ta*U zLS|Qx?#T~WSSGtM%S|rgkOix?XJ()LghhOEKZg|9*ccXr$-7u2Cv$UhPTs^J0i=~D V2eK-F)UxWkdHT3+j^mV*1pqzZHm3jp delta 827 zcmZ8fzi-n(6wcYTTgOSGP-t49Q7a($V_}P~=c{wVu`S;-X(sX~V7>o> zp$lSQXNCcZ5s8%rBo+pQIG=qqVz}YnkMH~5_g?k*_vx$YK%{vI6V|a=LescYy&O3@ zREf#nqp*}kC{mV`5f2%xa*jE|0?lniD9#DW(x=S*j&#Mz^e zEd-k_MZ{+;D^uWw$#r=e37V!{HUv}R8Ni(u5HKVAuKFkyCg*69R_hSoT4Vg6Mtf$R zVrbpDHZM4h0y(DzkAm6@1Mc)&&|;~FZ7lK!hDu4_RE`hr2ZL}U`GO{`gf7PRp)%^8 z^3oaRpeZ#~KnpfELbqz6TBj<*_x7>d42;aWU%l&9>wQ0qGMLOee|DdK!>{Bzek6`7 zMJzegeGNdn%B%Q+x00dc31^_GYV?>qasLZll3Sisl~*39)o$xWi>Q_5;V*R=3cy=Z z0p|&Acda73Wxe4*?JWfXE5p>S3nfq}8(#<3u}hQsU`$1?^=wfBzc4{Fx*6u*g=u#D zWF6sweG}LANv)>0>1hq2P9RFenMPaN9==w!_0qrFJ-i@&-P4o==SfE4%};xL^cPCt B6NUf) diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@FILE.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@FILE.h.blob index 5a3bb1c671367620c45326e11c1f7aace0d5dae7..6914df7fd0a347a733c51d04dfd76b0fb15b6c45 100644 GIT binary patch delta 137 zcmca8@`7_h1*62|I9A=soy5|X?j^Cad_ zGm)^2$)v=ziU}H!0#~yhr)a_WoK~|aqa282e0kS_itZ(i;0dir(PWSixvU}1TP_{T zgi4WUt4PwcoCt{}q|)j-1uPp5!fG@)(}H1HMTC_ltK4pqmLTX$5249Yf>_|%gJCF> zf|0p{?p9{X3m2}mgygEEo~$<2d2sshzMGJc8LecbKEBKiYZb8}GNrl>T+~3^s93U+ zl5{~cNC|5y3Eb@rRYq}Df$$}xV!9F9RM-4uX?1MtWi@S;+~n5ZnKYfMNjN&}_gs_u zuL%X6BxZJ!gTr_nA6;o)H3ajS=6UgXe%TSdSc-&XF!j|b=YX?Fz$L1;Y+DAY=K1L^(3(t_HDaMfO%LZOv9z^n=z0a*xzfJF`*ViXL=!{eP`h=#{1I9i=Y-`}0kPd|SJ zoxlHZK%>#Fw(Hjo6bwd#y&xE%!5&h8d&Brz5Ujpkptm0$*Y8uqIyD?1QxDv_-Tn@{ TmheD59P9@BJNkQ!R+_;d)*bNW diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__FILE.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__FILE.h.blob index be64c041277013a484d25be05c5d05482a50ce0c..5a3fe5d8ea880e11ff33d55171c83e114c467f64 100644 GIT binary patch delta 155 zcmV;M0A&A?6sZZ2Ar5U}X>KlK00U!eVQyytkzf}DZDDC{kxDKB7?U^!EtAs(7m=$V zk)Q>U?IMxOB9jyWB9kKqN0W*M82_BO`1O=1q J2ndrt3Dh|1F#G@j literal 2578 zcma)7J&zMH5cOVCqSJMBr$}@N$2lpw>Oi6ZbP^I0qPHBclQr30N4A#`sw?>y&>j^( zfDY+ON)RmtREUBKfe0RN?#LcqFOl-4nSJwS{NDIF`hDZ^$r(xz$y6aoR`EF*YOzp; zs8m@pmAM#l)Z;lTXB|m+sq|cyGn`5-xK(;}vjr91B9+lZmOQUgLAYHl#4xM5G$Ipe z4S}d3lok_XnHAIqQ>TL2N(&PVdYoylm@P3^MWM>}G%E{XZ_nA)tGJ~Srl8G2@b)H|RfXhq zDN{kYs!A(#dotifqT97?5lpNn5e#h&)AR10Ii*vl@xyU<=4K#wkMG}U)XwFEcvp~v z@o+Reyil_nHq$f6ef@EM){wJV8NyRBjU1KDv|uSV8Pg)gUiyu)=brH`Z@B3t2(3M> zHqa*7%R73mt}~7^$3kfA9H+y6+nV_n@)MSK@NmwGwZHK?oKEa)7WJHbXP9Z8byOwL zb__6Au((t;ar-W`iE5iQLNNunLxxgn#-^$&$liHHizQ~Oh=h|IR~EymK{c@74G+~Ok3tv&$WZ*l1V$w zS#04}utu?4dZm?i6=dv70Tf(VRaowBO>n$$Ca;wO*KlK3upI7%cKD6yipq+o?O6fY zHcq!59Hr4asBTB;wDnqq3q}Q5%*u)wTTKj(sbkyDK^RxS*)15ls1S_)byG)}{IlU3 zgQ^K&FVk}*gwW3V#iMt{=jW?an4~+)L47U*di;O_;(+=uG#Xt&DCv*-M>|O$^^e@M zXnlgey}c*j|M-TUNYK&&oNp9i$A}D+pYir diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos64_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos64_t.h.blob index 482f05989251a2b24a2dd55769db108164f9eefd..23265896ffcfcaf6b63751ce7e7d8fb6204fb015 100644 GIT binary patch delta 183 zcmZ1}b%1|@B42J|W}aR$19NgtVqQAK!~}5`kjO+YJw}PiCak)XH?xUP&gbNtxKn82 z0@jIdl_uM=aZD~|k)ABds5n`k&3$qkoAks5ypvBe%1xfY#4`CKP<=VO!sKjbmB|f^ ztdr%LeJ1k*X>|@+kg};joh}?wK(i(bvKUOxXOWzIfP-^#I)?<1R-VkpsxWZ@_hb%E exycV$Sh@5v82;&GH5_ANn|zT&YI7LpWo7_eGdNoS delta 771 zcmYjPzi-n(6wdi#*P*3pK}{inC~08;$?=F_U_t^R2H4ob^?XTAz1WfOnUH^hrMPcn zVnTum1Usxuu<#GCzy=!|;?A*^43_+U-1olkeeZMgP5VWEdnA<@@EYZc#p7E3WWR1R z`TfDU+hL~DP{v$kkq9{~W|%vN`KK<{$pM}aFaLE3zmW!BCtd$&0YcB&3>j_XE9z}< zmGI*sRIzVDri4j6B72^ORK{cM)0P47@Ey6jsUeav1m=sYH@l`S<1myUry|ue!ENO{ zgJdfCa4sV;<#?rbS(1j z42q#N`;ms>e&Z6;9ygGue*+aEviJ-yHfwH#{!%Pmv$ z(mLj^Cyl rS#8YPW2}voJhIn?kLjT~K^G6`Ub$x%U(>FcW?O=hN*H|jLjThL(8mR? diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos_t.h.blob index 563cba8acd07d3430ca8ff5e37b0182d578aafb9..9efadc602f60e58bb264964a54d49137cef985d0 100644 GIT binary patch delta 180 zcmew?*~LFWkuNtfGfyv>fjK!RF)y8AVuCmeNMxdy9;3wM7-mK0l+?7z4a}mG|8sCp zT&*y10qexKN|Wu`I3`|}nmmDtWwHdL++;;I_sJb>(i0c(PCgCff`mV_iBGO%SC~AN zS!HqqBkN>OW*?9dljVVYO%8LQIg_nf3?|QHk(`{sp$NpBlTUL0wD@$Y0TbwldNvDj=W<+3jP31 zFx$~lA<<&8|5a8q~b~YQ&nR3H-+;(c`r% zX2>!=MvPxtaZbASCGGjkAoiYjqj=jc*nTTbQW%UYe?I*9Y2SGrw7O;F$Ou?&vWiI% z)QaMGv*E&2Yep!+k^O+&|NpWe-Lkt*=N47oNhZ$6f&ESb^xK#*2}8xoD+Sv*-X?U5 z*C1i;6oV!X7+{bays14SJ)bE&Gj`jnjZJb8FR-xA=DaqY*VW$v&7FF;?Gf#xXnS)> jNOf0Blsqm4p3e+|>x_w>*yU@IJ|l)*!X5K_KDD9)iC^I>MRd@1ZCh>`D6(%2GWS#h4Y2sO>$zqI3lfBv8 zC%$K!yn{^?D8W6soiSyyB)jzF#q0``uP{kZp3bZ?nV*GcvIeu@QPa8|Ma0LMKyNdN!< delta 787 zcmZ8f!EVz)5RJXIY2uV9jc7{(RfCX#gX120MsNag0>pt^*siz93dgp*V~oF|SaU&K zIUpgSA|cN7&R=i=aX{h+5Nmr~A`UA{Z{Ey%Z^mDTA11G+0}&+|%vgu8kVcD6`E19o zq4L3OblcBl>WhelS-^b;MZ)osaS0E|X8C0gE#n%V7*6@)ib5Q`VN5rU3g9xQiKe+W z3uE>i?~)xwaq+VexDo;pfu~;7vW61UjKN%hSn*UQoau@^q7bhHo980na~5Y2@U*S< zcoYa4MO;b^IYjlhLpStLz=y^*J~1bi1G`o@_w(A^#XHs({!-tM<{`%B^{r*fY2e8v zO?lu|k=yC^rkezw6wdkR<&riLsG=bkk|v=-Vz`8fkrfH?AFi&?Nvt})aDGP!3o{Z!t+%nW zFtBvs7a%dQF)%enLM-qP5W>DTY6na9dw$>dz3=Z0wFED=x;n51XUeW~`(yua^vEu~XJ+xOU zc>;E#sv#F@s%?FUZ@u2OhEyns?NRP8Hc7QEK+Jir7o3^%XqQ4Z7c5zdlqW1J6!6@Z zYh0y*D#f)~?{6jv%q>T7!QqP45~-ANACE~76B1a8XZX`QxH-!?O=CTyIZtD|kvY5D zu%iWoBwsrD8`#jHT*|>eWF7#uYJTUKe4Bgw#(hNqk%D)dke&KVk9cnSv97@-GJBlad-t}5tuk=`R z$yo{6^_~P*uhi?*T)$M{$ZKUDB6V;*{OGlu&TvTuOeCF}b*EXl2x4op0s$-Mu1Gc#KDgXcg diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__sigset_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__sigset_t.h.blob index d4abd4a4d25e09fd813b00c109a50bdc1bce99c4..0cbe580a59af68c7ac25c458fc5a22695f0522b4 100644 GIT binary patch delta 113 zcmaDXI$30bB1>*!X5K_KDD9)iXfc_eO?0w0r{H8xW~q(q6B#GpXJ?yS!X!7@kx66n z6{hEtI9Mm=v2ah8XOWxyoLP7Beio(4wk)-icQflue#o+B@?$3P$;Vk`H~(dQ%QTsj PQ+~1l6YFLZ&h?A{8o(tN delta 209 zcmbO%@>q0&B7bIHL1~FzG6QpRPGVjSz+=WcAm-gEDI(k zigD+s*!X5K_KDD9)iXfaumQ*E*ohtTAF7S@exY#ArJGpS6LV$ztrmg)KA z0v49ZeN3E_zcMRMKESLyc?OHpWHFZ7$y1nhChuZdGx;%-_~ZqwvXdXMaBqId%ELUF Shf^M8(B!uq9Fy%i{{jHPB_^@} delta 203 zcmaDOv`1uuB7bIHL1~FzG6QpRPGVj$wFEI=^@&f=1y z(&Uo(lHAFTtYVWLn4V2mV9}Wz!mK-4n^|-6V&>Y(2~4b$8<~|R-)HBU9Ko_+Vxky# yeoB6cUIxRzRga!e4rG*^%+D&z0trb=mB|W>EFk5R z?=rD7mE=wiWcoANokeG|06Y8SCT2B|@Z?BlrOBt5YbRe|WS_i>8K{(enAsk=3*er$gwuotb~~iaF!7= Y{5Ld_HN3CE@sN^|8t$}wnivlG05=me`v3p{ delta 677 zcmYk4zi-n(6vuNu=kgnfN=iurB%u;Q!U+R&I|ea<#KaP==WBDqu`S+#ND-#GFY|$*A~x8+|gu6T*sLeLVFT-Xp{6!3v~a^3;?JDk4h6s~MR0 zZbL(;VhGF=<1^C1Gcw)ckSvs#EmbIIBFSTrneD^WtJD>!h0Js+g>A3NI8;22rN(p8 zrzW*7B!ExJHa_rrW`;(^bvelq{_#eb`pn>V@RRolr`~RRo=F}Cdd@Q$25y&g(ranR zasjh!X$M}DtCqDM09W)OCSKJE9P`K&-NEqv~d~u2*`ZWh8|& z7ax-;+xR>o{fa5LTyI!&cTk}lqKCgp7q3yqxPrro;|J2elH0Qc<_s|?SQ)u)eQDAf zION)$tLY6GkBmLsW}BCWEpm{rZD75X85G}o9sELC*rB)Z1?}QDI<)RIH{G#JW`2oC c9XR|Cde@w)jBS6)CB1>*!X5K_KDD9)iXfaukO?0v@r{H8xW~q(q6B#GxF{w;;WYU;?h3WZZ zeipsS&zW^6?`Kh(Y|BzRc{j7pHq)$ delta 232 zcmca0yg+nsb~| zOcayNPsuOQ%V7Ao>e2IKC{6*{2{yWegLm>YCZWxttZ$hnv#=>lcIJ?q*e${Yv`3Id Kd~-X8CnEp@Hcndr diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_FILE.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_FILE.h.blob index be80bf813a2919cf9be61e42a92dff4d689d397a..46b01758961775d5e4af745b72dbdb81f8b70f91 100644 GIT binary patch delta 157 zcmaE6`d4d01*61dLuN&;l+-l642FLjZe~wzWR;w_T48bn8~4P|GLvoCI3`|}nmmDt zWwHdL++;a6_sOkn(i0c(PCgCff`mV?iBB$LSD3tjjb(BkGf*QV>tuOm@5%f?T8%>% zq;v|4^kioasY$GClLcAyC+D$9PTtSKIXR6(0!S-QW@S~FxPW^yJEz>_dPdgGhMZdk E0Yc+3Bme*a delta 694 zcmY*Xv2GJV5M}q`vz-`%gNT$fG3S7g66r7vlu#f9C47O|>}}!|=R50mE{^#Fs^l~s zJq-;=5u&7}LR5SJ1<)Yz10ZJ3wlKwMXJ=;Lym{|_?|r*{dc1MBU%0$)Q=JsC>1&vd z@l;+bKXh?L?BI#;%O6+pvuNU;=r;DJVBAEFv6Nw5Cz*aW0FE0Js>IOciMU*MklXao zQDFz)i|(3(*rpKCmvVEP>V<}Z1v@gi8yij8;F5xDWc6TTV>8fMk%GxNziQIhsx&o@ z0Xx!;h+nTU#{hgRHvQQ^#;#YG6{#C|Pd>nl^7_UwH!6NBN^QGn0A z(4Xyt_vLQ+vQ?_hwJgry=J4E~*I&P5D7PBU9y$XvEj@b7e*BlDrB-}r5~ErC03V5m z%hwap;f~s3)38}NW#fuO2fv7b*)}K2!a<@cqk;H0Qvd(} diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_timespec.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_timespec.h.blob index eb0337601c9c1cef62b2c906f32fa2d5fa0c613a..e2406288f70cfb34c84e9d5e88af5dafea8841f9 100644 GIT binary patch delta 102 zcmZ1`aZPN3B1>*!X5K_KDD9)iXfaukQ*AOAo6uwdCbo@hlNl%HF{w;;WYU;?h3WYu zPS(jHEJ~A~GiyxV&8)N8j75WS@?$3P$un4GCm&$s-F%ysi+M5&r~Kpx9K4&&Io~q@ E0Ak4>;Q#;t delta 228 zcmca6woGDzB7bIHL1~FzG6QpRPGVjO7$+u*ap$Mxm*{0M y{9E*!X5K_KDD9)iXfaucQ*AOQv((1*iHwu;m{cY^GHFb{!t{JHKa1Yv z=ghj3C$cC_wq^03yqj5P@@AGblOHpQPoBvtJNW=3@8&zKT+EYMIprq{FtKhn;Iv}` E0KzCBZU6uP delta 213 zcmbOy`c7A& zdKnD=Ry}$?Ign9uG6$azki>B1>*!X5K_KDD9)iXfaueQ*Ck;o6uwdCbo@hlNl%HF{w;;WYU;?h3WZZ zeipsSd)e71zhhRLyq`sBvMo#P02 SxF_>*N=|;tAvoEA^92Cof+tr1 delta 212 zcmca1v_fQpB7bIHL1~FzG6QpRPGVj zy$ptbs~$a{9LOj+S%6iR1!ND%xXl)<%*>PHIRqzLF-uH#013joZt BM?C-l diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@timer_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@timer_t.h.blob index 15f819959be03e4799aace56b17026544fc7b622..3f5af81068937f71cdc6f5113d6d126eaca797ae 100644 GIT binary patch delta 114 zcmX>r@>ghrB1>*!X5K_KDD9)iXfaumQ*E*ohtOmJCbo@hlNl%HF{w;;WYU;?h3UZL z0v49ZZbXH`7B7bIHL1~FzG6QpRPGVjB~}471|o7*?LioyEYg#` tIi!HbO}1uHo1Ds_IQck-@?>6Cg^3HeC-Za4O|A!Oe9ytL*^zTKKLDN#E*t;= delta 730 zcmYjPJ#W)c6y^CPj-7;38qrn`khahwkc`F1!h}=?2KWWm>+@^#gkwj3*Q8nD2ZZQu zY^(?gP`e=UBQo&=y1>A|%7S>;NvaH%-u*h~+C5 z>~cFpDE<-!@CDm+=bTjVq6&7d3@6S$er7H{cAn$9b9bX(D3OGwFA9}}v@d}MR~L$k z5iLb1>zDABZz&PC`GLKLi(goMZ81V*uSH5TmaKsn&X#SdUmrq6RZ)bZkbUZCRN5+O z0lwio?tC|V>fE2cZ%@T$D^GHG*uV1c;B-j4XY`3tFh6dM_z0>M#qnyvZdY@S zN|hu_0(`~}SHlVGQb&Eca<4fzP$!j|F8*Kv>GnrL!*MDq`+~KSObe|e8E6<2aFZGg z2q+DijeppVD^l{Gs_n&91|_IdN-Q^AD8BqpNaDG33;#L+#@xq4zD@M))w2=4H8x50 iQAHK=JN6!RoN*7o@h$wsdzO#N;c=P^IGgdaYySaLBm?&V diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@uintn-identity.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@uintn-identity.h.blob index 54b2159abd80f89bf293a340aa0a0390d8cba5db..f65d59741baeecf67d3b80d1eb34bffad06295dc 100644 GIT binary patch delta 114 zcmX>q^;KemB1>*!X5K_KDD9)iXfauWQ*E*o8}H-;jJzAyCo)dXV^W#y$fPm(3e)q+ z{49EtpEK)D-p`^m*_Net@@{6G$sHU#li#u|nEaSYeDZNtS&+WXTx^e+CUbMjPZnTe Oo&1J_W3wG6I|~4#MSz+=$cAm-gEDI(kigD+s zqq diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@waitflags.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@waitflags.h.blob index 9f14f3a451e85401d485c04a87a0f08789289807..57d797779b3a577e26f39fc3ab0a0d4e5936cd3e 100644 GIT binary patch delta 114 zcmZn?-y}LgktH`VGjF0Al=jhMw3sZ*sWw@Pjd$_^M&6C<6B#GxF{w;;WYU;?h3WZZ zeipsS2iVyszhhRLyq`sBvMo#Ptrb=mB|W>EFk5R z?=rD7mE=wiWcoANokeGIHM1^AXmTX8(&SUjwUaL}vQJ*ctT4HlWzEDyG4A}7{1Uwk shJULbJ)a!NC^^}TRh9*02gs<+ajY+yCK~}2dvM52>=xNv%wf+20J*!X5K_KDD9)iXfauaQ*E*o8}H-;jJzAyCo)dXV^W#y$fPm(3e)q+ z{49Et_p`H4e#fjfc|VKNWLuWn$-9|#CiiggOn%FRn#|8B SKUsi@b@B%ej?GS-1uOtFIwvUr delta 201 zcmaDPxk-A0B7bIHL1~FzG6QpRPGVj`EJVCNfSoU}c|tkBN;dvm`S&wWzotHFQ!0K4Y3}1XS$KAvdvGWOETm0Sf@|{X`4^ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@wordsize.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@wordsize.h.blob index fc978a6ffba553e6d8cd73dccb85aec159536310..544187e910efd9e86d0fbe7da403c07b6f8bf6e7 100644 GIT binary patch delta 145 zcmdlda+!02B1>*!X5K_KDD9)iC^0#KRd@1ZCh>`D6(%2GWS#h4Y2sO>$zqI3lfBv8 zC%$K!yn{^?D4{)Bl3jZ8Vs?ee)0tH!^Rw_w4q|ql{GN$>@_rV!$?8C{{VcMR{WzpR qhD^3)F_=7?MRIZmhvMW@9Lkf8SV4w!PZr{on=HV@y4i-4i4g$Q@GVFH literal 2622 zcmah~O>Yx15Oop`RQ(XD_yI^D4yYUR5ptubDy>x1s;G&C;9@ymCu_31UfEtkkdQd_ z&maUxenI~M2e@$Oz=0bVioKh(Sz>z+$z^8Wym|9xdDK( zaS3_I6=Z3at2O~G6617KmlaI77_)Q~giKJPxR^e2;DT+KOQGROoQD(=HO*){D%n&b z1EwT2Q3(-B22x=~k+P-^DOS0l(i$vqhB3z~4G2#Xp1RW%OQ>XTJ%k2RMdbu%9*lxA zi8&cN=q_}ovvBNcODdry^>j5?XaC@E&rL|GkfkcnKVRnsYh5uX3NfRDkQpUzRIGTy z2%4~vBEs`jQQ=OeX~=MzQt4|(*K{M4t6@lJMVc*IH&F6E|$ggo+!$a?%ul?CYFw^nPCR2q@MP~sP zB&w+jjW2wFF*oOp=Y!a8)6(OWDn1A3A)DO70rm@Q&ag?@=>4pkWKmc)l2kcpn~o}c z=0|q{03qpvFn*LY)+gN!WbO+`F|#k_{5A)MO}FELsVP&QaO?MmWz8a#4lk}U3mtlu zveeL=V5WvK_MPS2oZ3Ji##AviwK6VB87T9t<#xMkT}hDXB`=*~p6kl3z_EEf-0-ud zOL9fuxU(#_wc4cSrP3C#))=KZlqw&{z&HEFWwpX+E%Y*3Ll+gS(Mzk>gyGWtuE{^-E8Rpt@87KYNp{6 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@endian.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@endian.h.blob index 8da2d98e4d699e3d6c68c9c424d37148d12101bd..69d8b6455c6d5ed2160432c55fe77e911b74a473 100644 GIT binary patch delta 128 zcmV-`0Du4X9i|+RAr5U}X>KlK00U!eVQyytlW_$X1Z`nyZjnqb0XUN-2_};X0~)cf zVF8nF0wj|`0w|Nz0_T$t1TK^311*!k1R|3?1bvgc11yu_1d)^D0vD641s#*X0S&Y7 i1quU`7zrPf5CR1XE@%M$ENXzp1Spe11{Jen36uqXm?=^K delta 209 zcmZ1`^G$YwB7bIHL1~FzG6QpRPGVj zlrfd$P7Y-HGufR*XR;hS`{X8OHIVS+NM@zUrovbmaLH7fvB)<$&z diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features-time64.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features-time64.h.blob index 5a61925eef691a41d868392af862afe47faf49e0..0ce1f02b0efccd94cd713751a84945b465097965 100644 GIT binary patch delta 156 zcmZn{p2IOgktH`VGjF0Al=jhMl$e~rsyq2Hlla873X=~ovQB)jH1Vv`WHCmi$=+>C7sV`B``-2Qj-&e$T``c|Qx=WOZh_$@(0!Ky|#6 z53)#4_Ti8M88+FL#bEMm7RkwJ9Ey`qa41hUVg*^kJz0QLZn6Lq>*Nm{9Fv_mT>-;3 BF+2bO literal 2439 zcmah~P0rIW5X}c$#F7&rgb=Pls=9+6NJ#8BfaN$&W9rzEJ*JcuN8%LU9k>FAK=>#9 zlu+AQcr~LpZ{EBaziR%z{`&L2xohyCM~(-_PIzbdq%GE+1}xO%V8@!rOj32+%0g#t zPC^|~Ck$tx&E;JIw|S49H6ETx*Ky3?GV$Gz*sLP00E_83gP}HT|^32VggB{ChYjwjCRA=uyV`%U!xIum|O@1pEnqTMU zk-t&7!Nc!gt^N5Tgz3~~GeOiTc7~{7!$wscd{G0GI-ED{TA8jPMAvZc8 ze}Tgp4k=H+{8^i1DXchJ4h7nwqZOa)(Om!#Vrvk=kCsb+(#t^MzGxyveko(EEr@iU zvn2w94U;GL#)~Vuf)=S|FUVn^EfeEsDxjCNc5+=fqsSjU1p+R0sPJXEyp_FX3{8H4 zlMBLEyt)HahM%DfKQGkifPXJ%Wh|MsK=l_&%4pLSKgMW)EQ_OZ*n(>!}w)hvuJ z;8!UddZ>_%rm2UEu@S~M*Lx*YB7mYzuSkzxtS0uqOfPSvVIOA^@18Z!pEOPL4|3GE ACjbBd diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features.h.blob index c2942a4fedf0b584627b714549cb4b0a52880986..99fd8e8af5176a9037d7e76312e08b5b1172b0d6 100644 GIT binary patch delta 165 zcmcbu^+|q$B42J|W}aR$19NgtVqQAK!~}5`kjO+YJw}Pij;y+qH?s>){=mUHaaI0g z9X9ug7uY7xWD}jZfOqmbM!Ctq*rX>{aq>-8VHBEN!K^a*12fNLV`kUM``KARnkLU@ zVV}&wEH~MNLl&fE5sUQXKn|&i3s@)1u^3FQVUe7CmVMkWbtXdcA*=aJQZ=oWPy2PO zlxM?(M@gacL?|YUlqU>U3v+`+X6`l1PqH~)0oO~qF#9CjwLPvACNuVI1X$@*6vc9v!^oYnrk`|;DfBzKxxOf`qf>Wv3z^H!s! zS31#La)v3<#?@iL^WHxRDnLAu8HEpD{Xy^-3l0Kj diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs-64.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs-64.h.blob index c73356661d13c7a84616e2fef9c75ce465a817cf..223df5f99b23da77aba4a97de4d7ed06bec41c85 100644 GIT binary patch delta 163 zcmew%*3UCRkuNtfGfyv>fjK!RF)y8AVuCmeNMxdy9;3wMI9A=soyhA literal 2936 zcmai0J!=#}7~VY*&8J(XkRSmeMabSp3F%Cypafe5!DViC_I7f!JIBmy&I<@4qzQIP zI>9brqtVWEDe?;qKekTpjH`5nqyIBWV5W(W$(y0ayd7kkPjH`Y<(Xb&5#u3Cc1-pkCOpGX#n`EoCrc`N&B-s_u0-T-6-54nF;>6eP2 zx>MDgw$OFbnfZXhWW=q3nu{txLY2JHydhQ5q*uj^54fr(KsH&$>IpFGuM%Mu^7i|W z!6E4{EN*fnEVNZd1AKa-+XoPayb40iBS%C^x*bUA3k?Z2FJ(`geZ^*FxdLXyHHCy5 z&nuQA7NMAMt;#sE)T=1V2$~&$MNB}IEaysUeJPBYz@lqptgli~>RHRp<1Xt8{kB~4 zVp7y&J)jkUsMo^|UoKsm3-rVuWf)uIm{h)0MLLv4*2hy1iJe9Nwi=`4dAUtSS2N24 zF7k%Cif6NKJbdO3&I$NH9SQ=zp28lI<6d+wO*+oylbKEWIoW=-FV{&jQ9H$u{7aHK zjx%>%HV|iM?!3>v;$2y)Y3rQ0GWO)lL+9`D@zb?ltPoxKd1e?we|A03o3CkGp5A*j zOP20e#65n`C=eKTZn=5i;z37Lhm zCCcj7!HeI!zm7|kGmzOKBBvgA+#6r4XC7sV`B``-2Qj-&e$T``c|Qx=WOZh_$-x}5Ky|#6 y53)#4F5r*?88+FL#bEMm7Rkw79BPvVm{=!YW0RU}#0s*Ao5ju3$91v;rx5^0A}~k* literal 2418 zcmah~L9Wv<5X}c67JOK641{Zts_tM15)wNO5IOd=F?H<79#hJSBXNp<2d=;&5Vq4o z!nd78SDwCk^XARVi{|&s&)@Hwn}+sg0NQ(gq#FyPanuNdRO->=hBptnV*0RFMNY;Z zr9KcLEpRmU{HB20yrtgR0MC^dKslaA*z^;d#Y-pA(fI0U+YX&WhR|ZRbPo)@1($tH zID2InYQoJh7+o$yIe?SjDulW-f;+LXf{`e5W%#i`cQ#q5VyZNjLmMQmOm$V~{fCe5 z%7h#WsgZpKlN8W$<28aU7lRg(X$`J6Oz2rgm`1(u z!y#KZ>6Lw&NuFj~-%Q)?!!7K#>y;N$_m-e!N7M1p*W1mj&F-(~!$O!nM4mr>9`6>W zcV|brfPGD;-U1WE^~{1GNtg1-7jE_x?N}~bsvD1>y8AF0Cw*W6mV~>s`Kz31e%)I@ z{=(D>k8ppr@h^!Gw^Q5Ah)Jh38DW<9D_v>yMGa7y7;naRDsR)t>DRCC@(nTAE}otUNft0_`}_g3mQ{X8>*MY7o(n4pfNrGEmGH(<+%i%4;^0$Y!^# zz^t^HB0T&5$a3WnCWog~mZG57B+ClT6O*`CtQN~YMlA`!s8QlM%Q&@)Q1P?o^L7uq zax#V^pPUju*Nd!RDtTV8;>RrVkiF%^WahQ`1VQj^tNf5KVTWH82|tP diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdc-predef.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdc-predef.h.blob index bddb0b58385fc8eba96598c0c09953af190a984a..1b803e5695215343a0cda5e2ee1e3effa80ce317 100644 GIT binary patch delta 157 zcmca2_L6&oB1>*!X5K_KDD9)iC^0#KRd@1ZCh>`D6(%2GWS#h4Y2sO>$zqI3lfBv8 zC%$K!yn{^?D4{)Bl3jZ8bY_*wA2?Vh=dy524q|ql{GN$>@_rV!$?D8@r= BG1&kB literal 2900 zcmah~zi-n(6n0VxDGaEMU_e5sQW<>d$f!YjoZNHb7rH=wKzriGh1eh|li)bOWjxDv)5@ZZa7i<&nyAy-+HR&3qRhcQ)A^TGxn#{> z3?Tzp=s@TY!E{uc1s;ZAgdGH65c&*}^kn2a*!F!yvx?zwrXxh9#{8J4OpNqWh7yv? z+VVRCK$p*gW#(tbq|P+K#T`Qqk5Mx#)rxiEdEOA4^aRiM-v&ohrl(_SKnHcRbm|ji zJ38Ub6YCB5XB8yN{Zrl(D-D~2Gm_q;Nw_c;qhbUv3vJ(UT~Cw=3{2ezBTgU?@9 z`SC^&-O1|BkV&0nWx7pZKj&3L_#z9?4a9m2!j7x9Y2@*#SF#+yn=Epr1JoN>tYMLI zVei+pNs_|i9z`sLwy0=|&t&N)005v_5Wb|%*UnnYp;)y#UyMG(Y^-D~pAt~ww-&1HZoA^| zkbXTLDlcT{Fg;6QOQj7m|3nepfHBW)ANSu}oLp-*z}ng^ z(Ac@t-fljW(ACq>r*ld*j=Wl4trx{PL7w|`@Zj;`hfxCAstW9St1WSt6}X9vc|qH( znu7LHd1<34&UQ?DX57ETF8_oHZ~-lpm{-8cSV{6+EHADU3;etpL(Sd&?Y(+kM+vBi zMN$J(0eUJcLDwvstzvRfxbx!G)i+nnr`6I|KTNklR&&z6^q J1%6f|lz%(tEKdLc diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdio.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdio.h.blob index 88a88c1a441eccff981a03b978237cd27d8cde8e..0f736953824754d2c2586775bfc2131f3bc749f7 100644 GIT binary patch delta 164 zcmZo$$~1Qt(}X@oiOCx|6}eJU)ATYJ{%yFKJz0=Ra^gXS$rBh^Co?lDO|E6*nD|m^ zvKEjT&*nb)4j1R-^K3#uY3|AQ85Jh$vP)0i&aN4gdfE delta 735 zcmYjPJ#Q015M}qy=d+zy1d}-U1MCDLK)PH-38JGS6m%4vHh1fI#re*4z{K<5#{r`*9hcGZ%MQYxZ{sKQRYyv%Y&U1*s>(q_8&LwQSc9<1~B{z!IqV<}YGt zkl(CnXDT_wKI>2}{<5q1oi%G3B9(w=Ua~C1eePBjsFBR{ScV2}H3Xz16$TR($skPg z1Y|~dMJACFNg}l&zJlL)49;Uj)y_F-+-->Rii3VXwI|LPBaBC{HJ#2r_wLoK1G+O!M- znY98p_$5cnScYUs3m>z4XTQg+UDi|W&!_Ct8me;xRa7wE!Xs94Cqls>7Gzwzo|8?U z@gM;OQ(~=9T!VnzBy6F>dya_7bqcO6HaE&aJ|kc`)xwjS9|WftLK465F21lTIIy;< yd3CieV?@(2w-T!ZL$qnKcFhJ#cw)JDlQjwx>m`>?%56ul@tlL;1@9 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdlib.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdlib.h.blob index aac09a2c05981eb2a6fb76bfa1d998ec007e1a9c..1c06855b3bb7f166554956c10724cc6225877260 100644 GIT binary patch delta 128 zcmca{iK*iv(*#A9+{DbhiE2>VM~~5B@$7`2r*RPX5hh96}2K DQ?5uC diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@string.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@string.h.blob index 7a245688d3b0a983c3be1191f759a0a34a1ff62e..2ec97abacae3c4553cfaf8cded830e07e15fb1d3 100644 GIT binary patch delta 163 zcmeBZWn57`p`TG^auloXV3wV1&&fM^0t@S84GxLPvCJlu*E6$$44W(s zl=tP3oh-mCIC(#d_~a}ODX{70EC!ROvPe#D;ZU6Xj6->{4lBr3?#X(ba$s}#I5{>a IaB5fr074TjTL1t6 delta 671 zcmZ8fO=}ZD7^4^Lux}8s&oWK#gcFcwn6P*7fxTMLsoh4NY@Ns&y@8;ajrT z3|9tEXsmZ{;CFIOyRYLB>0KR2P~im1TQs{+0nORSP!g>SPpuB_I=k+<6Z~r5Zg4TY zGrI8iaiQFwQ7^I&t>){{d6Q*!X5K_KDD9)iC^I>gQ=R4ChMU=w8<`|0u2qnIl_rZZ zDoxgBbD#L0ZSov8QIN#s4=ikx+ZjD3|7DY&+|I5rc?Xm9NzAO1^_e9m?_=f# zD-q@ppX|vhGdUS3*3ZN}nUz^(vN?w=+=#_2vXetNq`-Vd7K6$4ERvHiaBxm8=a2x> m%9F)d!R`Q?CBZ2Nq*=N2G8q2pWHlUP)|hxeVsi@T0e%3QyG4Qk delta 721 zcmYjOy>1gh5cb`kjqNxX9DyC1kU0DZit|N?3Lzva5(-en16($HYkS4{Y~9XbEE*c> zaGH)9QBZ+^4pHzD^l6~u1yID!#*SQUu`}Py_cK3ly}$FeTUW^>gPtfb5%XkF$Pb!D zTgo5z)*b|zP6L&QIE!Q;U^bEX(A&(vchPgU@yIFVf3DzbR>YgmcKL7yQcwAWAmu>B zWAQu$`rub*uPT#B@g$L2n^Jp4L!=V$%}WT<2sEUbfKY)N$y86IAlMp*@kohqsv;SR zah8BgO})bmh{mdmF&N=KYvMh3-OBmIisis=nk)F{-au2tR|fFIy^GJ>>y2S5dF1OM zPi5qjH>+%QE+n0j0V26@Mq*eO%J2=_sV_HP@R-2(jh#urU3Qh^T%3UAvK&57#gLHa ztU#-;jSX+Bbea%;c5mnJYB|5WGLFX38x~GJ9{*;TtPqP1DnYCjIQLH z6C|KuMvJQi(7++nCifP0+>H{CO<4^(?C!Yp#LBfC8#3whi1J&|QR%EW69K*>y*^Wa9#9hcDJvo3w3TVn?Sr&uI)hv>e t&v0-~F6NK`(#n%-IQb?kumV+bPZr^nn|y(db+aAkIT1#N&Ej%Xg#d6eFM0p~ delta 796 zcmZ8fzi-n(6y|)yiIbQ%EtHBMkqc9ij5{$RBnBAEg2ZI5ch}~GV@JMc()djVxtwrXRpzL*N+25x8czk|G0ln;cy4Q5o-#qw zl*^jHNPLciP6GyN8?Cvu0!!4c2u{>KU4>E32@Bt!s1>!VY@-+cY1j`6w|NwFt6)Zeg1FxGYBcro3TGZ{&qa9X=$!0)0v?tiHR zbkQ@Nf0v-`^(uP>JJA)GA-pLOu$z#^S)Dmk7(YYpQVIfQ)l53wHH{Jo6!ltvpui=G zIT72@Z&o%gfbZL+ox8p<|DT&O{OYB1S$%OXsM~nM#Qnvk8W3$eOTU-oZOS&vIOH?Co?h%1MOv>{Fj4katx~w%p#@D)vT|XCTp-MOit&Jo48D5^CXTCJ^(weNwNR{ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@types.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@types.h.blob index 1419156500536f5053e215954925598eb4c2c985..679bb41165dbb02631dcbecb305c4fe2f6d2f244 100644 GIT binary patch delta 112 zcmZ2!f75n?B1>*!X5K_KDD9&+If+wvvI(ciWGOb@$p;vDH?B`)oSes`GTD(yWAYWI z=acza^d>)N)}6ecMQO4vOYP*{%sP`-aPdrj%d%kdVSz+=EcAm-gEDI(kigD+s z#9t5Qk}yph2R75`KZT*bx?oL3 zPenrnKY$J@Bz^-86cqdd#IEno+E7?JznOV6@9jJ9zukRvy8UoinqsIl&q^VO9IBbb zXXF}wClQ{Lc=36F9dd|gBwGABuxJl&kwN#k0%_)K=C#t8XE}c{0w3#Ih-I<{V*`cK zC&p{Ixo$ux4XOQU52stUx8yKVpr*1gGs&AO-DZ$a6(7x&kRzU#8f4Md)}$7SX)R5= zr00`%8&bfhWGAYx@$2z&*#!kLj)Oz|V9j_CBzPq_x;iN&6RDZ7LWW=xegwLyX{Nh$6()n)2$gSPgt%_S-~gX1dW`8l>&-Y znDlE??o2NIz5V>vmqnE>*v@(`a&XZ5A3re(_F{EnB-Dc)$KjF2UE@`)37yEuO!D@n zDLx^O|A)@VzU!pELoQLYw~UDrt0NPqsyAl}#u;0sgZ4|8iPXNb1_f1f4_$MO1{jpJ z?|(=VvCPG+?bvAioR%O@TQI6kxS-0=O2iNgiu!r};8}9#x@3fn=krA0X#z*0O Z8wu)>QG6E;>|$3=$63zc)7Mai{{XJ_D8~Q* diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@lib@clang@14.0.6@include@stddef.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@lib@clang@14.0.6@include@stddef.h.blob index 0d5f410f71b9a95c57dd1f65e4c7e64eb8ad67cd..f4110f0c904ecf1b2bffe564c45151854259d404 100644 GIT binary patch delta 136 zcmZn_ox?Suf>C1fMn`V4e6@Y2s<6$rG4ZCQC5NO_pVIpWMPGJ#hi=u*T)Y~=(>+4&(``F?YVA(87$VxtKF@3~qmIUu`!-;)4 zz4!0MyUXwO+pS(6=Ya9e?>k+P?Lf&hCBTh%X1cX+rO;J#6)BMj?%diUC;n1+O7_>V zW1$-DU91*G(%B=a}u;tdrgxroZyI^he{}Pr9RzyaNZZd{7)Q=EsQ~o8MRWS5)cG-rl+^ OhLa>`@a2d1hWrOWYy)2a diff --git a/.ccls-cache/@home@huck@.repos@odot/file.c b/.ccls-cache/@home@huck@.repos@odot/file.c index 4fbcfb9..b35d721 100644 --- a/.ccls-cache/@home@huck@.repos@odot/file.c +++ b/.ccls-cache/@home@huck@.repos@odot/file.c @@ -1,14 +1,12 @@ #include "odot.h" -void add(struct task t, FILE *fp){ - printf("\talloc\n"); - char *line = malloc(MAXLINE*sizeof(char)); - printf("\tfopen\n"); - FILE *buf = fopen("/home/huck/.local/state/odot/odot.txt", "w+"); +void add(struct task t){ + char *line = malloc(MAXLINE*sizeof(char)); printf("\talloc\n"); + FILE *fp = fopen("/home/huck/.local/state/odot/todo.txt", "r"); + FILE *buf = fopen("/home/huck/.local/state/odot/odot.txt", "w+"); printf("\tfopen\n"); int i = 0; - printf("\tNULLcheck\n"); - if (fgets(line,MAXLINE,fp) == NULL){ + if (fgets(line,MAXLINE,fp) == NULL){ printf("\tNULLcheck\n"); puttask(t,buf); } else { printf("\tloopstart\n"); @@ -22,16 +20,16 @@ void add(struct task t, FILE *fp){ if (check() == 0){ break; } else { - puttask(gettask(line), buf); + puttask(*gettask(line), buf); break; } case 1: - dialogue("Already on list in a different group", gettask(line).group, YELLOW); + dialogue("Already on list in a different group", gettask(line)->group, YELLOW); if (check() == 0){ puttask(t,buf); i++; } - puttask(gettask(line), buf); + puttask(*gettask(line), buf); break; default: /* first time t.task is lexigraphically greater than a previous task */ @@ -39,7 +37,7 @@ void add(struct task t, FILE *fp){ puttask(t,buf); ++i; } - puttask(gettask(line), buf); + puttask(*gettask(line), buf); break; } } @@ -47,9 +45,7 @@ void add(struct task t, FILE *fp){ fclose(fp); fclose(buf); - remove("/home/huck/.local/state/odot/todo.txt"); rename("/home/huck/.local/state/odot/odot.txt", "/home/huck/.local/state/odot/todo.txt"); - free(line); fp = fopen("/home/huck/.local/state/odot/todo.txt", "w+"); if (!fp) error(1); @@ -57,8 +53,9 @@ void add(struct task t, FILE *fp){ } -void rem(struct task t, FILE *fp){ +void rem(struct task t){ char *s = malloc(MAXLINE * sizeof(char)); + FILE *fp = fopen("/home/huck/.local/state/odot/todo.txt", "r"); FILE *buf = fopen("/home/huck/.local/state/odot/odot.txt", "w+"); int i = 0; @@ -73,37 +70,31 @@ void rem(struct task t, FILE *fp){ fclose(fp); fclose(buf); - remove ("/home/huck/.local/state/odot/todo.txt"); rename("/home/huck/.local/state/odot/odot.txt", "/home/huck/.local/state/odot/todo.txt"); - fp = fopen("/home/huck/.local/state/odot/todo.txt", "w+"); - if (i == 0){ dialogue("Task not found", t.task, YELLOW); printf("Add to list?"); if(check() == 0){ - add(t,fp); + add(t); } } - free(s); - } -void show(char *group, FILE *fp){ +void show(char *group){ char *task = malloc(MAXLINE * sizeof(char)); + FILE *f = fopen("/home/huck/.local/state/odot/todo.txt", "r"); struct task tmp; printf("\twhileloop\n"); int j = 0; - - while ((fgets(task, MAXLINE, fp)) != NULL ){ - printf("\t%i-nloop\n", ++j); - tmp = gettask(task); + while ((fgets(task, MAXLINE, f)) != NULL ){ + tmp = *gettask(task); printf("\t%i-nloop\n", ++j); if (strcmp(group, "all") == 0 || strcmp(tmp.group, group) == 0){ formattask(tmp); } } - free(task); + fclose(f); } diff --git a/.ccls-cache/@home@huck@.repos@odot/file.c.blob b/.ccls-cache/@home@huck@.repos@odot/file.c.blob index 3d1f47fff9c181a3fe5cacd6a080fcba6cf684e1..10974b9844f538ce3d5a2b06f7878b5d670f056e 100644 GIT binary patch literal 7607 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 literal 7499 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 X9%IHq_aJOLkVL@Dw= diff --git a/.ccls-cache/@home@huck@.repos@odot/input.c b/.ccls-cache/@home@huck@.repos@odot/input.c index 4d39442..39070dd 100644 --- a/.ccls-cache/@home@huck@.repos@odot/input.c +++ b/.ccls-cache/@home@huck@.repos@odot/input.c @@ -2,11 +2,11 @@ struct task getnote(int n, char *arg[], char *group){ char *note = malloc(MAXLINE * sizeof(char)); - struct task tmp; + struct task *tmp; if (n == 1){ printf("\t\treturn from note\n"); - return tmp; + return *tmp; } @@ -22,8 +22,7 @@ struct task getnote(int n, char *arg[], char *group){ } printf("\t%s %s getnote\n",note,group); tmp = maketask(note,group); - free(note); - return tmp; + return *tmp; } /* uses a 3 bit number to represent options @@ -53,27 +52,30 @@ short getopt(int n, char *arg[]){ } -struct task maketask(char *task, char *group){ +struct task *maketask(char *task, char *group){ printf("\tmaketask\n"); - struct task tmp; + struct task *tmp; - tmp.task = malloc(strlen(task) * sizeof(char)); - tmp.group = malloc(strlen(group) * sizeof(char)); + tmp->task = malloc(strlen(task) * sizeof(char)); + tmp->group = malloc(strlen(group) * sizeof(char)); - strcpy(tmp.task,task); - strcpy(tmp.group,(strcmp(tmp.group,"") == 0) ? "all" : group); + strcpy(tmp->task,task); + strcpy(tmp->group,(strcmp(tmp->group,"") == 0) ? "all" : group); - printf("\t%s-task %s-group\n",tmp.task,tmp.group); + printf("\t%s-task %s-group\n",tmp->task,tmp->group); return tmp; } -struct task gettask(char *c){ - printf("\tgettask\n"); - struct task tmp; - - sscanf(c,"%s\t%s",tmp.task,tmp.group); +struct task *gettask(char *c){ + char *task, *group; + task = malloc(strlen(c) * sizeof(char)); + group = malloc(strlen(c) * sizeof(char)); + + sscanf(c,"%s\t%s",task,group); + + struct task *tmp = maketask(task,group); return tmp; } diff --git a/.ccls-cache/@home@huck@.repos@odot/input.c.blob b/.ccls-cache/@home@huck@.repos@odot/input.c.blob index a84d4ccf764a90d6d7d623fa6987359de9133c29..73f17da1ea824a9e614a6e931bb7880595f4868c 100644 GIT binary patch delta 2040 zcmZ`(eQXnD7{B*=>u%kx>q@yDrNeinlz!Z{Qp(X>*R#&i4@$#wJqQdijPWr7Y;!Bo z$VWv*AW;)?;Xfh)6+iyaC|`*mK?L!OL?tl>G#G+0M#KmP{e!^yKDV^45ckLXyuCfY z_xC)%=i_$gr;&ybb?-y=#(4_u@51i}pQ*F>jNkRE^t5B2)qQM1&HCPkv_)ez{o4j< zo@!GC8mZJ0nxZJ$m_7ad3xEEyBV;_TPdPB}$is8!qEPf1h2!^V{|?@;-1VgZ*=^I% zG=0Aq>A53=R#9;ZTrryX`3L zP6ud|rurZk#yIrTG4g z3Y`VTxYV}o`Caw{Z4Z3VPd90eNjB+%>=ahfXV~54(3XKs>n3F+;{P&pAjvI-Xe3dO zLS`1@H09fOX3^%Nk$iH?$kiWSIAz?}d{|z#U8}Z`_vdz#|WQozP|L#x!sT=l&^-^>2+_0U;0)X-uzAHx1{)HpS-?PB?6?@ax?!|#Ibt8oF=mX@LmTp=9M zFPgT)-x1Y+Zd8JG7O$lf{sW4F1>L|x4}pb70juwB9MreBtO!+R2&r*3#h??Ub~S&f znu3m;ZEPh&-S3=Rt`xM|s@2h~r|mS)AckjVFi5gX@H1w-D=F(`D5EBZ#;6rdY2=kQ|v1jRR$GT7uPUIi)j)$d$e8# zRVQeoIX8@rY#pUI&PHC#crzl6GHgbqn#dcL9Gi2xP+rQXI8<0z&^T1xDe2sz1vs=G zkPO7pt7gqO;%e3ynSOB9?(Z_`zaS8#37UrhD+4^i3R6O$EReb~9+T8FL7HW=4nivC zV}vwS$m(mS1iaRSGvRR|1uG#ADQTsTL#eUUb`BNS7Kb^cr8WKd6kM+CgvnBcN?S(B zYO&t`4JUDRULhROR3bC8rrHv!Q<0Kh7 z6{AqQtKCbZcDCJn0x;IFBTPyuIz)1II6BDLrFO06P{bL*9E$Q$pU%6^mn(a2LY+bK z8dNterQ@J#I+Tu6Af_c7%@SF1v7E%AJf9axIF**$I9$TR6w3k-d$A9I*o}QB0Z7ks z%yM!l=ni^3s5*WVYy)E($}3h8N-H2^ST>OXteBKcFcy?OC@h7$IV4IVIXk2da#r`% z{lbFSnFM^|sPbftgRv$u}9t|@=6-BeVF%&lVt*_N&# zi9(49!GHXfp;mm_@t#{`Mc#O2+sFH^AA00nNa7G_N8!~A$M7w_*JHB+nOGqNU*f7Jg-G ztx}zmwoGprmnN!}O32)WyC_j)ffYq@5D<{YMb0z4zEZ1=&Tb5iO^#M2GtY_gVqT_E zo?1CKm;TxPhdmx)(m1l`+k@Y{YX5--8clO4vPGBi?BlK5Kk(f+h3{<}Y0a`(7ckRU z4R3Gr);EoAtlR~pNdE%zC@CgGG)htf0BAGPf1Mq_a`?MJ!@c*U86}f4ZcZKyU6en$379@PiZl^1RYz`@+Z4!Z|BoQ}kaI~J4ctgA0s{C~ zr(%ooG3;Bg!|vz&#EE_?j^9}@nttP_$Ib^|+x?qybI-CLwHsr54gJ8?bE8MS%6u?N z6D&B!I>0(F-ye}9G2`UYj_>O?2krx^U?wXC4ghsGKkQOuB?ff5I$X*ZWQ3kbJMYFZ)=CPUt){$z&#l#^q3@XRV2@?Cu0}Qg*H1*pwLprvQjs>Ye9A97yvemDR^s^O}VvIq>Y>~8B zA*}Fm$Y^{GbN(HpI1VV~w9^SjMtT>TgIs*M79R{>ilj0yz5P{$7Cahx}O+feFXMy*{KQ z6qQ5WiEa`jiHM5-be+K$g<&)gN8DmvY!|(Rc0-o`zkgavll!OHbo2e$44ZK>NM%(L zvqIL#AWhI9_G-izxsluxBu?a>VbC&R8BAwa&(-G^#}18IFm=$)nlmFY1czanW*i&a z$p$&(X5CH~@(3R2)Uf>Qvc0|S((VTCO1xGixXJ9Lk2W pQBv4=8RrVuSEn}vrUNQhCRamcvOl@nvL4-R7HtQI{sy9C8Y2Jz diff --git a/.ccls-cache/@home@huck@.repos@odot/main.c b/.ccls-cache/@home@huck@.repos@odot/main.c index e498acf..ddb7205 100644 --- a/.ccls-cache/@home@huck@.repos@odot/main.c +++ b/.ccls-cache/@home@huck@.repos@odot/main.c @@ -1,80 +1,88 @@ -#include "odot.h" +#include +#include +#include -int main(int argc, char *argv[]){ - printf("\tstart\n"); - struct task note; - short opt; - FILE *fp; - char *group = malloc(MAXLINE*sizeof(char)); - - printf("\tfopen\n"); - fp = fopen("/home/huck/.local/state/odot/todo.txt", "w+"); - if (!fp){ - error(1); - } +#define MAXLINE 500 +#define LIST "/home/huck/.local/state/odot/todo.txt" +#define DONE "/home/huck/.local/state/odot/done.txt" +#define TMP "/home/huck/.local/state/odot/odot.txt" - printf("\tgetopt\n"); - opt = getopt(argc, argv); +int getopt(int, char **); +char *getnote(int, char **); - printf("\tgetnote\n"); - note = getnote(argc, argv, group); +void addnote(char *); +void show(); - if (opt >= 4){ - printf("\trem\n"); - rem(note, fp); - } else if (opt >= 2){ - printf("\tadd\n"); - add(note, fp); - } +int main(int argc, char *argv[]){ - if (opt % 2 != 0){ - printf("\tshow\n"); - show(group, fp); + if (argc == 1){ + show(); + } else { + addnote(getnote(argc,argv)); } - printf("\texiting\n"); - fclose(fp); - free(group); return 0; } -void error(int err){ - switch (err) { - case 1: - fprintf(stderr,"ERROR: COULD NOT ACCESS FILE: %s\n", "/home/huck/.local/state/odot/todo.txt"); - break; - case 2: - fprintf(stderr,"ERROR: CANT ADD AND REMOVE SAME TASK\n"); - break; +char *getnote(int n, char *arg[]){ + char *s = malloc(MAXLINE * sizeof(char)); + while (--n > 0){ + strcat(s,*++arg); + strcat(s,(n > 1) ? " " : "\n"); } - exit(err); + return s; } -void dialogue(char *m1, char *m2, int c){ - printf("\033[1;3%im%s\033[0m: %s\n", c, m1, m2); +void addnote(char *note){ + int i = 0; + char *buf = malloc(MAXLINE * sizeof(char)); + + FILE *fp = fopen(LIST,"r"); + FILE *fdone = fopen(DONE,"a"); + FILE *tmp = fopen(TMP,"w"); + if(!fp || !tmp || !fdone) + exit(1); + + while(fgets(buf, MAXLINE, fp)){ + if (strcmp(note,buf) > 0){ + fputs(buf,tmp); + } else if (strcmp(note,buf) == 0){ + fputs(note,fdone); + printf("Removed from list: %s", note); + i++; + } else if (strcmp(note,buf) < 0){ + if (i == 0){ + fputs(note,tmp); + printf("Added to list: %s", note); + i++; + } + fputs(buf,tmp); + } + } + if (i == 0){ + fputs(note,tmp); + printf("Added to list: %s", note); + } + + fclose(tmp); + fclose(fp); + fclose(fdone); + free(buf); + remove(LIST); + rename(TMP,LIST); return; } -void formattask(struct task t){ - printf("* %s\t%s\n", t.task, t.group); -} +void show(void){ + FILE *fp = fopen(LIST,"r"); + char *buf = malloc(MAXLINE * sizeof(char)); - /* Returns: - 0 - Nothing matches - 1 - Task matches - 2 - Group matches - 3 - Both match - */ -int listcheck(struct task t, char *c){ - int i; - i += (strcmp(t.task,gettask(c).task) == 0) ? 1 : 0; - i += (strcmp(t.group,gettask(c).group) == 0) ? 2 : 0; - return i; -} + printf("\033[36;1mTODO\033[0m:\n"); + while(fgets(buf,MAXLINE,fp)){ + printf(" \033[35;1m*\033[0m %s", buf); + } -/* returns 0 for yes and 1 for no */ -int check(void){ - printf("Continue? [y/n] (y):"); - if (((char) getchar()) == 'n') - return 1; - return 0; + free(buf); + fclose(fp); + return; } + diff --git a/.ccls-cache/@home@huck@.repos@odot/main.c.blob b/.ccls-cache/@home@huck@.repos@odot/main.c.blob index ecc8316389674dc4b3eb6eb404078fbfff8e5d16..4049b12dec5f26600a0bffb9874659fe27f788a4 100644 GIT binary patch literal 6224 zcmbVQeQXNY~r4Y7EJ7gnQLzQ|={vA8*0M=LcLFGPswd%AB;3F4ULMT+Zag%$Yjws_|=LAeGM53rmuVklqGS>Die&nw+ff5M-JcWUg4#s^)jiuMDAMu8Z4eD3w|PbPn`wF9~K# z897yz41if&#dEx;FP4Z6RB#B1Nf%eq&*xr0V+NnJDaA8cZlysswB(nKs=z65nfgJO z1&bR9jQV1FNipa~Awy7^=o**Ka>XdLMzMBd7}9NUbUmHh#sO%7Mv<=-!EjVsOBcCp zRQ0&NzJjbut5VT)F|$@*REr%`*)VbuDMu_V=W4g9hGdhKMhJi+qihudjH%;SB~EVS zlU_BcktAYD;&MQhCg--YA}^+Le7>fL&T~=B(Li5K8P)IY%xH92^Lg}go04kLstm_x z8>VF&H#gF}ypl^dqPP;$RumXVka>BtrpIc;s0v3!sWxt*)icooz*Vbu)v!tDkcsQ7 zFLzJABy(r$OVxm$sk%B$8nV6?j#$jr9YjdzVofhrg%S+b(y|n7gbrg%)>H!qpk-=) zRk2X>TSL=S(QtJpbQM<0H2C%KEL(RqpKM#UaYlkBYPa&tj(hTh!=L*IcNQj-zyNZX zA}6HtTqq+7lFVd)u$V|HCFZg$W8MjjCCd57U;fNY;oYoB zZ(dyAs&|FYsphIQP12K^rZ1fP;nQzkJ@JjQrgf3eGAl)n3#oUJFy-;k1{W+7^n?># zI8Gl|SLM{D-@5KN?Zu@jlls@xpaQ33$`(OOm$(L9#_{R^bvJkq!%^U z(&tXR_V&KkZ>gS0YvM*IOxf);nX%8bTgVJ`(gKcIl&gz9frl=TeS6|G*MF=T=Z+-ZkH; z{A~Ti^!G2epT~`bT?<~51g1pM^NA7|NhLqH;UE-gwYRnt(n__uDbnt2_rNw$t_81u z@$C3wi-w0)P8LL&3jtgJ6)Hra5Dv#K(&6avT1W@QVCYum;lko4KKYgI^U9aV*t1{1 zH+@P8z30jNp&xzuMVr^>4VfaW+VDAjKIO{Ce!Y43)7BaEZm)B%c>~?GJM3OU?38_g zA}+=iQ{B}wX9P_ouQFDsB*4fKxGa-{sTiibUL%67=mn|>FaZ`<%)6?x<#!`Lxf@8n ztrk0-&8i8|V#liQB7VEyVccTe}ArYMk(IBfAu#T$!C8W2n@;5wS!V#AN zv+yd+q>j$3ufuA$QHezPY(Z62{TsB{8c=v;+}nb5&}k#xbT?c>bO^4q^ekL&82!L| zt5QLDWnk)41I}pru|Xq;<)hbf9A zT}hbANjmu$)e7jg&NK5t2U$3|@R)-fZ$IvFkjezo;34M=Xr%H1jA)2iJhs64H~gqH zQO7{X(0z-IbVNEvsr%q4@r8UbA5oqN&B@&S=U+)4J-!Hj(7GS^ znSnpQ@fSMvH3Z%l;D|T?CsnO*M07N2$wq_`0>Sy@BVZQ@Bjfc>p6pu+xw5d zn(F@VaP9z8aLuVHvxL|XBxuS#<%1~nWNAL!g(Xz+8$LAw^ z1A76|l}5rxaJt|)fv4KMZGL>Jt-Z~!J+<4p8{%*!TnFJP{e)iTM#R2Nzpp?a@xc0v zD)whxvygUZXEXLK^9Sbv?~Cq5FKE?U7=7W0|o*4sw7w;P;Us=TJLn(NB$9{r;cs54Zx*r~x{lb^i{QVIft~M05b!G!Tn8NPHwd z;UN1*_QQ2BFbF#n?GspLec)Ew2}U#|M@?yO+aWcj!L|{tpInDrp-+CV zKc@QB5)DRU5MN&$%902qfPi{V_dE`<_U(tAezw2QK?Y6_z|OF57-(x`dSn4C=qGd? h1ls~4=n4WLfbq?Mu!fysmxHiF?5Kl`yT<_*{{ax}4%+|# literal 6049 zcma)94Qvzl6~F)4NsKXICB|{RkX%DZ923V*?1dx@8jKwvKAuW2V1vNsiRfl_TK;Q z%w4dZA#r!Pd++^!@Ap0(WUg)g`o+@>AxyX=OW|yR&y_MlSXMGwv3HsYPm6gWJYC{v z!o8AE6y>m(5tVR0oh|h8jE&Ew3sVaSg=R%*CR>;aWwMgME21>Fu8LLW77GSmnJWr_ z;abmE?mTVzGLco}Fn*Q8sZ@SKR?>=)QYwm03TdSz33A1c)Xrp1Oe=*DFXr=Np}Lro z%?on&_8NdD<`hAmO&4p}ppf~T$j?-PYw`@F(z$AG$%+J&*6_+;XLQT9WOYCo=7JJ} z|Ft})sNuvCucWfbgCrLPzPi=4BIdJvYBrk@QoL9yD1ua7SSVz&=|Vw}YdHgFR=1$J zs^e4g6$LfEDtg-i@7Cc7dHyKE!$A7vp2 zExo!SI!02tY~`XfdUFWT48&@fS>PD0g;&%^lnWGsmf^H3XERm!(r8%#=4?8vOy<(H z+Hwh7Z3r4;LCGp}6%o^;&=iifQss09UinZFid@T-8wO-Lhts3FdA;cJB}F(?U8+Lb zR!ozclS*?(lrmL^r?G3?IOnGdCD=qt6LP3lc9_e#qBC#+lv~A5fo{g@UCPjZF1(U$ z+_v7U9V0~b-FBbkeDl8#Ya!;8v^;}acn_c|7wl$yKC>>Hh$PmdZn8f)LT$W#$6Ke5 z|9$UAcp^V7@H23p!{H=jjBz zzBT1Lym}28atv8L&;hr-eShaacJ5n6O~dw*6Q@doPA7-M_lgww=Trv5E(N_)c`}iZ}5ej7KgjLkeI_ zOr990Vwf69+!2QZ>?9t1v9}sy)2_S9{LfdP4o|iwB=pB1a!lk3M+$ z_1C>m?NGnze)Qev-xDSE!Y?0^e>=-|s?YrRg}asu=SG`soUO-_=G39Y zxmVeH);@$1ja;KuqRHFTp&svi{JV$ZyB48@m-AXBn%&J_^}UW$fAqbSy&WZP;%>4^ z_}zZ5`jht?KIuAt@-dWX?dV724x1zGwOaR*Y)F zbfe~s4AY8Bl0-?XE~nE;x}04emUJHe!P1>2g^DjM+|gja;ON)0vF51!{a? z&#gE6i&;#y4cMlbPU=C`Q~`oz;ON1%%t|Bxt)bu4s*(K^6F4=i4}vM|qdnYpP?na3 zg+tYi0;KAakpI72!qTPMMq!y36>?bU{s=Rfx?)S1R+45 z=&oP^j^&Grb?Tj=f1lcvedA+|Yx7kVKl8%_cmHYAhqzh8ipuE)ncA`=MRDPUi9~e6 zOxe_@V1<;sEU9$9Z=Tq2rruogUp>q$U2527nnA;My_Xxq zy*$TkcCWqFP6m4i2kaysjQ88giTNkmuTKY~63RonJpP!b@*|F&EDRYa9SbX3r3&>jH17&Zof+051p6CEW z?Mb+*Z+5=5PkrELXSC%5m%ZU(yfQ9rR3aU=p@E_GE|Ta>^ul#CF%Ejh)H4PpPDVJD z^|S4GD%;4mpP;9?+ucDIY3ghO-SUXkPSb`e6fM>4XNRd~C%c}}G<)3xpxNIv44TIB zqiN>*K+6v2MFY_u)QYx5d#DzP?TzgRd1Ey~e7w$RbX#}%#+#P9RNwVYsDlY$NfIH9SKI!_&JR&|a# z|8uBncRSomJ!H9ixz|N}t-cNyS>av*&ua1A&#(XV(R&^=$AfkR2ng-QT0lmJZgr7l zXEFlU&B>h*5MwFS3F47l|}RFyV~#MLR^t<#L+-j6c|JySw3t22TSl z%?*x*{fx%q`lih;(&ldi5>_^@Y=L8p4NJFEOQcmgCRfq?y!U* zj4c=l#$4oB>#^Vn6AFajx!ilS_BmP9>96#r^`bYH!g;lH+M7# zAb~pkaBT~;^|(m8x7`mm7k}yAlV|^sd*9quNJD?a2#oZ0e@-1avZ7@E#v(45Fo0-; F{0~w#;lcm_ diff --git a/.ccls-cache/@home@huck@.repos@odot/odot.h b/.ccls-cache/@home@huck@.repos@odot/odot.h index 1cd5ff2..27623c9 100644 --- a/.ccls-cache/@home@huck@.repos@odot/odot.h +++ b/.ccls-cache/@home@huck@.repos@odot/odot.h @@ -16,9 +16,9 @@ struct task { struct task getnote(int, char *[], char *); short getopt(int, char *[]); -void add(struct task, FILE *); -void rem(struct task, FILE *); -void show(char *group, FILE *); +void add(struct task); +void rem(struct task); +void show(char *group); int listcheck(struct task, char *); int geturgency(int); @@ -29,8 +29,8 @@ void formattask(struct task t); void error(int); int check(void); -struct task maketask(char *, char *); +struct task *maketask(char *, char *); void puttask(struct task n, FILE*); -struct task gettask(char *); +struct task *gettask(char *); enum color {BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE}; diff --git a/.ccls-cache/@home@huck@.repos@odot/odot.h.blob b/.ccls-cache/@home@huck@.repos@odot/odot.h.blob index bbbd5b8036bf2bfa2dbc0a8f52fe01e66ab5c715..538f23e7034ac963691e4bd2b4efaf9e550c8e9d 100644 GIT binary patch delta 433 zcmeyYep;PPi{YQj|2G@iD!4VY(o;)H5{t7nk~0#E6tpxMq@?&5z<`H=fl*OPQG=0D zkwMX7@=|UKac8Srdm3joE@1%4DR3!BFfuAID7Z{^?VL74o1SRhT-7BHSXMc@JlOlI;6 tLH)@og4P^x6)%PKC(jpjoGdP6G`UPDdvctB83)YulLLiRCrb$51^`g$iVXk& delta 456 zcmX@D{#l((i{W2L$g7QP72N9SsU;lA1 zplCLE8MlSF?5$tn`-AtLU;xP}a4ASIGAb}AxJ;hP6EOJ)cZN#JoP85sO6+-AmY{e)M8V37GxE!!jz}-c zFD-zn*JR-0;s7~_@qdoyg#S+`RZD}d7vT~SVq_Fy5V2uk_}`Yruvx^n?+cQB3X|vX zNs3EI2!Ql5fVId=$ZIe%$}`A&Ozz_KP!XN~{I8<4xjESS#FP}QuC3t#x%Ld7vG|&$ z&fHT!US$CrCCw!*$H*wnAZ;^Qiq~MW1b>eZi;#|x2@9jJjxdlE(GxLanY@JGPY|Z< zKP>PjGYc3`?iDhdY$kAFvaO)? 0){ - puttask(t,buf); - ++i; - } - puttask(gettask(line), buf); - break; - } - } - } - - fclose(fp); - fclose(buf); - remove("/home/huck/.local/state/odot/todo.txt"); - rename("/home/huck/.local/state/odot/odot.txt", "/home/huck/.local/state/odot/todo.txt"); - free(line); - fp = fopen("/home/huck/.local/state/odot/todo.txt", "w+"); - if (!fp) - error(1); - return; -} - - -void rem(struct task t, FILE *fp){ - char *s = malloc(MAXLINE * sizeof(char)); - FILE *buf = fopen("/home/huck/.local/state/odot/odot.txt", "w+"); - int i = 0; - - while (fgets(s, MAXLINE, fp) != NULL){ - s[strlen(s) - 1] = 0; - if (strcmp(t.task, s) != 0){ - fputs(strcat(s,"\t"),buf); - } else { - i++; - } - } - - fclose(fp); - fclose(buf); - - remove ("/home/huck/.local/state/odot/todo.txt"); - rename("/home/huck/.local/state/odot/odot.txt", "/home/huck/.local/state/odot/todo.txt"); - - fp = fopen("/home/huck/.local/state/odot/todo.txt", "w+"); - - if (i == 0){ - dialogue("Task not found", t.task, YELLOW); - printf("Add to list?"); - if(check() == 0){ - add(t,fp); - } - } - free(s); - -} - -void show(char *group, FILE *fp){ - char *task = malloc(MAXLINE * sizeof(char)); - struct task tmp; - - printf("\twhileloop\n"); - int j = 0; - - while ((fgets(task, MAXLINE, fp)) != NULL ){ - printf("\t%i-nloop\n", ++j); - tmp = gettask(task); - if (strcmp(group, "all") == 0 || strcmp(tmp.group, group) == 0){ - formattask(tmp); - } - } - free(task); -} - diff --git a/input.c b/input.c deleted file mode 100644 index 4d39442..0000000 --- a/input.c +++ /dev/null @@ -1,84 +0,0 @@ -#include "odot.h" - -struct task getnote(int n, char *arg[], char *group){ - char *note = malloc(MAXLINE * sizeof(char)); - struct task tmp; - - if (n == 1){ - printf("\t\treturn from note\n"); - return tmp; - } - - - while(--n > 0){ - printf("\t%i-nloop\n",n); - if ((*++arg)[0] != '-'){ - strcat(note, *arg); - strcat(note, " "); - } else if (strcmp(*arg,"-g") == 0){ - strcpy(group, (*++arg)); - n--; - } - } - printf("\t%s %s getnote\n",note,group); - tmp = maketask(note,group); - free(note); - return tmp; -} - -/* uses a 3 bit number to represent options - 1 - show list - 2 - add to list - 4 - remove from list -*/ -short getopt(int n, char *arg[]){ - short options; - - printf("\treturn1\n"); - /* show list if no arguments given */ - if (n == 1) - return 1; - - printf("\tcheckopt\n"); - while (--n > 0 && (*++arg)[0] == '-'){ - /* if theres a d delete, otherwise add */ - options += strchr(*arg, 's') ? 1 : 0; - options += strchr(*arg, 'n') ? 2 : 0; - options += strchr(*arg, 'd') ? 4 : 0; - } - printf("\t%i-optcode\n", options); - if ((options - 5) > 0) - error(2); - return options; -} - - -struct task maketask(char *task, char *group){ - printf("\tmaketask\n"); - struct task tmp; - - tmp.task = malloc(strlen(task) * sizeof(char)); - tmp.group = malloc(strlen(group) * sizeof(char)); - - strcpy(tmp.task,task); - strcpy(tmp.group,(strcmp(tmp.group,"") == 0) ? "all" : group); - - printf("\t%s-task %s-group\n",tmp.task,tmp.group); - - return tmp; -} - - -struct task gettask(char *c){ - printf("\tgettask\n"); - struct task tmp; - - sscanf(c,"%s\t%s",tmp.task,tmp.group); - - return tmp; -} - -void puttask(struct task t, FILE *fp){ - printf("\t%s %s puttask\n", t.task, t.group); - fprintf(fp,"%s\t%s\n",t.task,t.group); -} diff --git a/main.c b/main.c index e498acf..ddb7205 100644 --- a/main.c +++ b/main.c @@ -1,80 +1,88 @@ -#include "odot.h" +#include +#include +#include -int main(int argc, char *argv[]){ - printf("\tstart\n"); - struct task note; - short opt; - FILE *fp; - char *group = malloc(MAXLINE*sizeof(char)); - - printf("\tfopen\n"); - fp = fopen("/home/huck/.local/state/odot/todo.txt", "w+"); - if (!fp){ - error(1); - } +#define MAXLINE 500 +#define LIST "/home/huck/.local/state/odot/todo.txt" +#define DONE "/home/huck/.local/state/odot/done.txt" +#define TMP "/home/huck/.local/state/odot/odot.txt" - printf("\tgetopt\n"); - opt = getopt(argc, argv); +int getopt(int, char **); +char *getnote(int, char **); - printf("\tgetnote\n"); - note = getnote(argc, argv, group); +void addnote(char *); +void show(); - if (opt >= 4){ - printf("\trem\n"); - rem(note, fp); - } else if (opt >= 2){ - printf("\tadd\n"); - add(note, fp); - } +int main(int argc, char *argv[]){ - if (opt % 2 != 0){ - printf("\tshow\n"); - show(group, fp); + if (argc == 1){ + show(); + } else { + addnote(getnote(argc,argv)); } - printf("\texiting\n"); - fclose(fp); - free(group); return 0; } -void error(int err){ - switch (err) { - case 1: - fprintf(stderr,"ERROR: COULD NOT ACCESS FILE: %s\n", "/home/huck/.local/state/odot/todo.txt"); - break; - case 2: - fprintf(stderr,"ERROR: CANT ADD AND REMOVE SAME TASK\n"); - break; +char *getnote(int n, char *arg[]){ + char *s = malloc(MAXLINE * sizeof(char)); + while (--n > 0){ + strcat(s,*++arg); + strcat(s,(n > 1) ? " " : "\n"); } - exit(err); + return s; } -void dialogue(char *m1, char *m2, int c){ - printf("\033[1;3%im%s\033[0m: %s\n", c, m1, m2); +void addnote(char *note){ + int i = 0; + char *buf = malloc(MAXLINE * sizeof(char)); + + FILE *fp = fopen(LIST,"r"); + FILE *fdone = fopen(DONE,"a"); + FILE *tmp = fopen(TMP,"w"); + if(!fp || !tmp || !fdone) + exit(1); + + while(fgets(buf, MAXLINE, fp)){ + if (strcmp(note,buf) > 0){ + fputs(buf,tmp); + } else if (strcmp(note,buf) == 0){ + fputs(note,fdone); + printf("Removed from list: %s", note); + i++; + } else if (strcmp(note,buf) < 0){ + if (i == 0){ + fputs(note,tmp); + printf("Added to list: %s", note); + i++; + } + fputs(buf,tmp); + } + } + if (i == 0){ + fputs(note,tmp); + printf("Added to list: %s", note); + } + + fclose(tmp); + fclose(fp); + fclose(fdone); + free(buf); + remove(LIST); + rename(TMP,LIST); return; } -void formattask(struct task t){ - printf("* %s\t%s\n", t.task, t.group); -} +void show(void){ + FILE *fp = fopen(LIST,"r"); + char *buf = malloc(MAXLINE * sizeof(char)); - /* Returns: - 0 - Nothing matches - 1 - Task matches - 2 - Group matches - 3 - Both match - */ -int listcheck(struct task t, char *c){ - int i; - i += (strcmp(t.task,gettask(c).task) == 0) ? 1 : 0; - i += (strcmp(t.group,gettask(c).group) == 0) ? 2 : 0; - return i; -} + printf("\033[36;1mTODO\033[0m:\n"); + while(fgets(buf,MAXLINE,fp)){ + printf(" \033[35;1m*\033[0m %s", buf); + } -/* returns 0 for yes and 1 for no */ -int check(void){ - printf("Continue? [y/n] (y):"); - if (((char) getchar()) == 'n') - return 1; - return 0; + free(buf); + fclose(fp); + return; } + diff --git a/odot b/odot index f13d2281af9e0bc113ccc70ba193c8e28596de48..2ef5f6aa3c2cdba0a7a6085ca2be2c9660147e57 100755 GIT binary patch delta 3352 zcmZ8k3rw5W6~6b!?-;Nhn9U>MhXEr@u^|b|LSA+fH@|5fK%lFtrr?4RYynd+38_X* zM5*L5CX-W5O;l-U>mE`PiOr}=*J@#l8i-b@L0XzNqMJ3Tt+QmS*Q6TLx_al{`~Pmk zZ{2(D{mysJz309?cagsT3mSJh(l)|BuMp&wz)bBgEwd(3oi)weaa%U)MQyVl9Mo-j zhl=Vu6q=~pJS&Onui-5Hclo?5YHQ^#0h3*DUi!44q^AEAJ^8(thu-!rKKgaj*vJ`! z?K-H`6+jXhvw9cY#5C8egEn1(eh;=&0l$$7;IzSJ?FkQt2FP$^s4EzOpBu_Ib#!!% z20MEC27)L0o)3|pt`p(m5E%*$1p7l|aHww}(nER%Miyk9s`EnPD&FgT6z_$AX+O2V zw8;rSGFfwzdxajGAa=NAx(b)f)?BY@Wkl2pm(5OCLA3d6XdZlssMTUkSgSgX=WJ=14IkJy)ZRi1GP1Q@nb_UPic0LGNUk!q`*o~j3TrS=b!9S{>-tL| zJ2pp^iTk$L*cVD{B&|%fr>Fc_d@r_`D&nS#sd1E7Fp*Rg7bq{?xYmwN(NKzIHWVKzY_M*_PDidQV5^|(H?rYp-iu5vzS#xZ|dERWlwwtBAwW8e!c>rIU1$?c3GhJH00 z<5>nyE{yz1SS_Yx&hqoFZ^Lr@Mq;4!Tu#DP)oeT`oAffVkRiA%R~p=r(Fh4bnY_`` z9Uchr>M5*NMiFlf^@mS}y5*jsaKC(_Z#dE@R}B+icQ;~@@K=brmf^G{XXkfudf1tB z;?qp#1j=3MOr{NG!@n|_mr)L&oJaW~%0Hw0_(3M~5M==-_R;5C2_3c35-Z%P$crY? zO*O+082PzbiN$T0R{xpF++=v3?Xf&pQ~tVBrg5^jcxUa_$_fUTVtN|Wd2D_M1AKY5 z7p48VhKSY3j#8%oA*SD=o*l|rz4U!fVER`H*-j|-)66b9%|VV%Vhl!j3)9~}!zGL| ztCz-6ouF0kni8{?ojFC?L9QL#Y#XvK40kt|Npc}r+|N|R)r*#m9Q%?vLRy3%w+OuC z-a}=$;Vvs5XQwxQsvrxhm3BoefZ5}b;s$8+Y?OKoiKjdUiZ_e+df|NCcC&W*SL03S zgmhh}SuPZM6GsN?Wpj;+=s7Z1Z{L`;V$@!#$z=^(^>9w}*u-}&}{>~j^djY5foER_p-HivSbGjN@23rSMFST*gtykIBV`$fb5 z#`#W?QZG~uU**pZGc50O(rTXX0BUds-oy!(iHmf4HKvg5h&!;;6%JA7s}76D5w{_K z&?|5)?`A%WPBAMfpJ?N!X~%eranAXf>iL4Yhxl?t;;*>&4b}hJ{#@rCK45*WPa(%H zxrp|t&|3MN;q1X83q+?XbkK6Z8Fk{eu#qA%>Q!M?u$zWO`p9xYU8%}n8)*&VjDJ_1 zX1-sMzgfj+)Dh#`5b*|%6Zqu7Ci)cX3GHWj(HX>96l?vz1a`ku{~Bu9!*9L)DzlgH zK2aARf#AU_uvK{tzEmo#?D5y9KJ~yKcml2kO5u}0#fFa1KsV{=cy@TWV>l8Vije+b z-v9}AcMpUkA=uqi?G*1w@4-WXefvAMxVN|)NNBV#0%x1r5)Yc*q=~shGNq-keAwgA zcDN?zC^(L|?b<=0$y=~|s0;>=*z7&(F4trw%pCF9<0`7jI#@_Ydb}gyI{H5V^7OC zMfhoQh4B-0Eg1PIw6uE6onEddoe*o?Zr3Jjuuh;R9&ozVrRNB4vh^SztD$iS9NSCB zA%=MY+`#+|Ft_cc00GQ%A%^+maHDN+VO;gUq^{O)qT}_jq5a#IC;g(0wsyF;eO{bLKcvf0m{)V`jvc&2RKOb<&oJIsG<`D{Y==kctrNguC0 zJ+gO~CCfN?V)ElZ;XloqU7iJ4F@73;Irtr*N(Uph;7)hFpUtQ*;HNCb zd?c%wAE?OY6S6002DfKBwEy6h*$#dvyIA{?Xdj}I54$AhNv>JTw3h_01DIb3%xqC^ z7UdNo-(D{8yxdx>J;y5`^Hb5w_|X*(YY?W)#Q3-Jmh7D9Eo{GojAX2YOvY1?4{B9={}vd3SokA?6KwJj}Dl7iOMdFc4(kK#RxELg8Q&2oUv+ zbwSo#*VGiKXWO?o`5vj?9tzj-bJl`rDBJ)U=4}c3{9!MF11({Ie4#-7k|o={q53+% z7w!5zb=$o@e_fMrpNBNpH$tesDG>6opvPa=?1731nX)_R3rj?E3!|Z&p@4HCTV1_o z#mepToQu-6`FEkpC+2Lt)q=IMVEM99sy`mcnH<#wS3~b{%y+z+v%}{b$AEoJ@m_oW zC9HZDdqcG&lYBM?$+s20cbTl1zH}AJcHd3>VHMRcyA<9Oc$sUtEBV&kvE%xd%Pxwt ziF{kGqeQKrV4I6(MXQ8Ia?h2h9U*#ME$QWLe=it?OW5;dC;Ev<1;C?@EY;;Ek zw?K-CvN40NtQGv048EG3;P1)c-zqq=IFP}gkikDB`8mSKqOPNPPgswPAAUGh`e+$r zjkKc&^c0@bN2rZeU<2bt`$1~oLTx76o2Xqt?cwW$UrTLTz=3|zUO{b|!9eeI{^|Is z8|`p*s%V{)u`j*Og6U7Ai!pcGvJwE@ZPr2}OGd&)?u69|ko#bF*p})qn0|n8=M@Eh zfI8b2eB|U??UOBkoy+&yr{4K%Fj-`Ntvj~tk8@FV$Nwih&Yf8H4EU*{i(n<|VdVwu z)4bb0H@ev!8*;njSKaYpcl^9NUeoQ4Z@cJ@*PekTKf$cs@t)+ze@&&_2?Jd{$?H@H z-G#Zi<3>MV`xNXvb+uW8qIn@*>q$N+vB@5zkEVd0{YoU-4w)X~GO-6JmnDqLZ5ytfX2fHKIfs~X!LlfMO(8f?nQWF1zJKpP#|BE~RH4XVHx(43Mz-}UJ zy!R}nVL9lB2q4mO6k8y9Sn8kbPShqxTOUnsgJ{g?(_pk1Ht+8bI}crhJ7TSUEHV$O z$O--K_$3wF3q+)dz0Jy$D-Ox#l`*D|zBh(Ng_G7pD~8=R z^7i>!#OvRW$#Y3~ILXKe8G2*V%4Dr4`2~#H1*?*;OL5rq?L zO(*UJ0(-68lqeCZ-V{x(*W1HvB+@TdQM&y$AO^Ez#$_y@bkiGTAx(Y?2_vYUgoyCW zZ~p>D!VsQ0N%b~sGCwN8EwcTe$e}WPmWx_XauKw|S}(K6dWd#s#8% zJ;wX!Wdl#4h#Bu|3FCdS-A>~`f&-)}BLI@+Y$LNU4Z@DRx~dv6p9eO4k)}2 zgW;n@EesIsKMQt5H?@2Uo7@P?_G~6pRG==I8q&rCW5%cQE zsM)%su_0Hy^)e=l?Ol6O#@8{DLsgfS+wcYj_om_S(`a~<)W@2KG?Ljw=y!cq4NtTFO!Ukin8)+I{W!$MgNfVEJDxM^E(Tc(LlIatPm zQEs{Y#(5Ww*YxASgEh4j-&c^WDNJ&uUW!9FopBw>RwdDymY_Uv$sL7F zKcq}4(^0Zc^vfjqBI?53>3A9+Z@m_4y{3ipP+G!w46bu0tgn=kYl?Ov-?`hyy-Gx! zRdS_zp=5A2V7mzx|J_*-CUZoa^%prR|9%5hd&0N|Yx+^8Lr8@$To4(K*A7XK)Q%*K zA+Zyl6XU2XH-*G+Sm};K>WX+>ke;S|ff>T1tg4a&48H__^wRx5EiHt0u{+UBlCrD4bTZ=0VK?0 z7pC=D$w_KfZU`k~DDLq?k`mdVRY-2@npSiq>xiD`u*uIXoBRgb{T*QF;oJ4ukK&8S z))WY|;NvS8X0}q_Tt7AQS!GkuQ`fLp5BT+Ppdp|)`9fi~$KYoDEz}s;EfpA>Hm%>ZRA0Hiwz^8cZ~Yd%a^*^6 z^Jab3nrdUIUK%n7GI5pn0a8_^SKe2pZ!&7u-*4!fD{BmWOXcQu`E2q-6?e}s^);7< zqLUvgZ9;3w^>QKS`y!L5n|2 zrCtTK4O;ki+<@;@ zb{vO?4qA+}_8!pnpj$zo1^qr~9#T#RDC3{#v!*qEno7+PRR0pc z4>7|}Kr=Cx{}vG9vMKoe9=~6GkxIE3US!k2CnSgfL-<_)KwNp424zhUBT+xO@ElyY z0rj-JWt~t!{oh6ZXXrOZ^}EuBR-=CcT)u_IPb;3J@ET-G*WNHJJ1 zfd3TMirz5N{iu==o#=ZXeTy>tf;T4Fi~hj}0Ju97uuB4T@P+}%!Mg9y>?b3`H3ge%zF!H6wh%!Fn7A8WeU%CK0I>|5-UB5uwnWf!(;B4 zNg99Fd9T*V-*!%)(T{kb2M3dQ@>E+9*2isSWtNM%d}-M<%aPo!2g`D_C0~i?!wBj^ zVxppR6kVw3Dn*rU_A>XCFS40eiF0r%=HT7sJ8UiFUp#q&*=K*Sno`$XHx;TsvEZ4iE0+s z+|1FY@Q&RbD$d}3$Epcd1a+TdzJq~WtqiQ$e*peS9_gbaXGZ} zqWo8Ws1&2({$v{g_d`&$>2^g2;!DPX3%O|iFxC4Ug5o1dz3XdhF(ouP!vqr;>M86>AT1yWv>#DA0CGF*7gn%&~WaPqzM9&0J&p_# zd|lxuR?RAvx8rn=?NhhoY2-ZT0(Gs;|Fr7<$#@;1OY>3P>W-YxUVTTddhg-Yt7qM1 zn#Z<#@RAkuG{c-nLLs_h$6H==ozIVZ@DTLjEsCi(Bz}1HoN4Oahc50%4G!FrjBI)m2=d>SD zdETT8`9H5KvtLwPle+j-aMMSDIt%*vlIk+Md0?2dlkcsL=F!U!J^X03gF9;M>Him* zX?yw@zO=@fZ{`MM=wQt%%VG;ZTjR8wnb4$%`PG`T!izJdPLtkc=~{Z -#include -#include -#include -#include -#define TODOLIST "/home/huck/.local/state/odot/todo" - -#define MAXLINE 1000 -#define TIME "%H:%M %m-%d-%y" - -struct task { - char *task; - char *group; -}; - -struct task getnote(int, char *[], char *); -short getopt(int, char *[]); - -void add(struct task, FILE *); -void rem(struct task, FILE *); -void show(char *group, FILE *); - -int listcheck(struct task, char *); -int geturgency(int); -char *gettime(void); - -void dialogue(char *, char *, int); -void formattask(struct task t); -void error(int); -int check(void); - -struct task maketask(char *, char *); -void puttask(struct task n, FILE*); -struct task gettask(char *); - -enum color {BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE}; diff --git a/test b/test deleted file mode 100755 index e05525dea9eba7a515fdeedb7b3e42fb8c85f010..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20608 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 z zl>~K^HETOyvMlD{xqQ|^2X#C_7`-d>nE^xv<%F^Famx#ytlU|5hE&r7H0Yb@(CRhFYnj z{hkN5o5{jv;BJ!K=W;=0ylSN%xz8r}m%tdRvvS`|aQAYoK^!jCuW!447OS&S@i0#t z#etXRhFYrX@9%uiHCt5qzFxe%;_5H2+&>fiBA7JL~;C2|PNl zR^h%6{HlsH&-@JdViS8)-F#M6$Fuo^GfxBF{$Fy+_<|*k1F(GAZaGsHKAz9pB^=E& z1#2Q#7)#}>j8iD$lwY1vIQ>lLY{$-Uq1H%)U*Tu1RI!*kV%d48ctnjCv68Sd<*BJ7 zFsYKTG|4(Os*YV^(=2QE!GXO)*3iCP7Cyb-b=$syy~BfmaYna>lDagx>!7msjO^cu zh0p%oyAKVGTB8FyM}}Zg|AT;j`2oOx^wGcVE?m6-2ULvs*8sO$aLjVOK&}5nfR!l~ ztjSb9!@mdAp3M-642;K0C2i~ewZQ$GL2WG-{y`w!=FbUaTJ&XXDI87}HdfGa_cVtUP8`dOX}jngse;^FnMSPz_(B$UEAX5l;401)6J{bB%QHFbQuztYZ!Nl)4N^2VRU0~ z+I#cE;L%J{yux&eEb(YBa!yYb0eYB{}%11zWpiS zxQ|ll|EzAm&{NuuePry!p7%PKve;-M^*^XPC{&(HQJ1Mc{&xc7Ga#{-=RQK^@GR{Y zJ)yr2dp=VVS)MBi-N;Ij>f7(3-hB)5g-LSEu^<^8gB~?W5XGsMIe$baADcuhrShd0Qyg9o0$f1^Wh= z>iT6JBD75uHLY*|W7=NgucBH}({3#ak@$=J1Q^yY_M4+#iO{v4Sjp?_=M$A``;SFE zRiU4%Sb9u-{VxK>T~K!)poTp6mH#Ex>x(S(W!Uf*tKRJ@>*aI2b%!K+o-{8D{u&B6 zcf?-Sv6cT{v2#eA|4d>hD-J#nR-(g3NqBEz1Tv_IPKl|;3Dy*}Goo!WH$TD?*v_VsISu@|~b+gA)V)2|&~ zs4Ixn$?Gm*zp=|x{Bqq@qSPyHc)d`MvFvG{n2`9$uR7IP-y0}8#(H9bOT$Tc{tCr>1AsA_Y yzbD