From 41bc2078f514b7247d76761326a5aade55224987 Mon Sep 17 00:00:00 2001 From: MoritzClub Date: Thu, 11 Dec 2025 13:01:31 +0100 Subject: [PATCH] Update --- .vscode/c_cpp_properties.json | 18 ++++++++ .vscode/launch.json | 24 +++++++++++ .vscode/settings.json | 59 +++++++++++++++++++++++++ bintree.c | 78 ++++++++++++++++++++++++++++++++++ doble_initial.exe | Bin 0 -> 66659 bytes highscores.txt | 3 ++ main.o | Bin 0 -> 2616 bytes stack.h | 4 ++ stack.o | Bin 0 -> 1021 bytes 9 files changed, 186 insertions(+) create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 doble_initial.exe create mode 100644 main.o create mode 100644 stack.o diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..cb8d469 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "windows-gcc-x64", + "includePath": [ + "${workspaceFolder}/**" + ], + "compilerPath": "C:/ProgramData/mingw64/mingw64/bin/gcc.exe", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "windows-gcc-x64", + "compilerArgs": [ + "" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..209cd35 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": true, + "cwd": "e:/Informatik/Drittes Projekt/DobleSpiel", + "program": "e:/Informatik/Drittes Projekt/DobleSpiel/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..bb879da --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,59 @@ +{ + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wcast-align", + "-Wconversion", + "-Wsign-conversion", + "-Wnull-dereference" + ], + "C_Cpp_Runner.msvcWarnings": [ + "/W4", + "/permissive-", + "/w14242", + "/w14287", + "/w14296", + "/w14311", + "/w14826", + "/w44062", + "/w44242", + "/w14905", + "/w14906", + "/w14263", + "/w44265", + "/w14928" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false, + "C_Cpp_Runner.useUndefinedSanitizer": false, + "C_Cpp_Runner.useLeakSanitizer": false, + "C_Cpp_Runner.showCompilationTime": false, + "C_Cpp_Runner.useLinkTimeOptimization": false, + "C_Cpp_Runner.msvcSecureNoWarnings": false +} \ No newline at end of file diff --git a/bintree.c b/bintree.c index 5cf82a9..b1889f0 100644 --- a/bintree.c +++ b/bintree.c @@ -8,10 +8,60 @@ * `treeSize`: zählt die Knoten im Baum (rekursiv), * `nextTreeData`: Traversierung mit Hilfe des zuvor implementierten Stacks. */ + + static StackNode *stack = NULL; + +TreeNode* createNode (const void* data, size_t dataSize){ + + TreeNode* newNode = (TreeNode*)malloc(sizeof(TreeNode)); + if (newNode == NULL){ + // Fehlerbehandlung + return NULL; + } + + newNode->data = malloc(dataSize); + if(newNode->data == NULL){ + free(newNode); // newNode freigeben + return NULL; + } + + memcpy (newNode->data, data, dataSize); + + newNode->left = NULL; + newNode->right = NULL; + return newNode; +} + // Adds a copy of data's pointer destination to the tree using compareFct for ordering. Accepts duplicates // if isDuplicate is NULL, otherwise ignores duplicates and sets isDuplicate to 1 (or to 0 if a new entry is added). TreeNode *addToTree(TreeNode *root, const void *data, size_t dataSize, CompareFctType compareFct, int *isDuplicate) { + if (root == NULL) + { + TreeNode *newNode = createNode(data,dataSize); + if (isDuplicate != NULL) + *isDuplicate = 0; + + return newNode; + } + if (compareFct(root->data, data)==0) + { + if (isDuplicate != NULL) { + *isDuplicate=1; + return root; + } + TreeNode *newNode = createNode(data,dataSize); + return newNode; + } + else if (compareFct(root->data, data)>0) + { + root->left = addToTree(root->left, data, dataSize, compareFct, isDuplicate); + } + else if (compareFct(root->data, data)<0) + { + root->right= addToTree(root->right, data, dataSize, compareFct, isDuplicate); + } + return root; } @@ -20,17 +70,45 @@ TreeNode *addToTree(TreeNode *root, const void *data, size_t dataSize, CompareFc // push the top node and push all its left nodes. void *nextTreeData(TreeNode *root) { + if (root != NULL) { + clearStack(stack); + stack = NULL; + } } // Releases all memory resources (including data copies). void clearTree(TreeNode *root) { + if (root != NULL) { + if (root->left != NULL) { + clearTree(root->left); + } + if (root->right != NULL) { + clearTree(root->right); + } + free(root->data); + free(root); + } } // Returns the number of entries in the tree given by root. unsigned int treeSize(const TreeNode *root) { + unsigned int size = 0; + if (root == NULL) { + return 0; + } + + if (root->left != NULL) + { + size += treeSize(root->left); + } + if (root->right != NULL) + { + size += treeSize(root->right); + } + return size+1; } \ No newline at end of file diff --git a/doble_initial.exe b/doble_initial.exe new file mode 100644 index 0000000000000000000000000000000000000000..c56ffd882ca62ed9dfd501ef824d12019682d229 GIT binary patch literal 66659 zcmeHw3w&Hvo&T9U+Vq(~TL@6(7F$e_mZVMF6bj5VnRWt`WXz+qr8t=;lVof%8RpTZ z2yRMRWgMcBhgO%>EXrdQ-L4`QR@by3Z57?X@?VRhMtn^zE>V$UhL?u)xAp)-tHkd84{C^{3ePkeY9D=+mKStVL%UIDE@WOk*M~XN` zF$-(j9u34~?806>TVU2zi4Vw|SK$=JZks6b55LV*t_>9h)` z>2QL=%80<@IyRz^47vfQ>2MNWm%u9|TSRaY9tz9{E}biP#$p5;faO^?pAd%!iY)jaQZm2q!Us zJmJ*~nELM|ypr|&@}YB(4B|W&=N1mq|2YY7bqT-zI{hEUN%Y$2!Z@6q?-~yH0{;)= z5Z(v)h5pY;cx%@2YY+V|ka+DJr2lgg-nwFb{dxMYNxU!z>HnOBS0>~eq4p@2co7|i zX9&*rtMXabO^Se;?3~<=)ZB7&)c;!0+<+_o6#^Qn{bSXh5tE48-TUO9q~#PEvAW zbTED2GRC~A-1nnSYF-=udy_z1v<10zWex$aM)tso{QbW}oz$Y`boG4x{)>rj&(m9P zdcXf>*ACasuJ^nAPjNlJMZ8aK8yy|ZzXWmT*bKT(&pV$4n70XHk1o>gpo>MHCZT%g zJ^$CyQBN`}{ng8W7rcaua;s5Pa^e`*1D7?p)Guny7x#fh%f7Oz?TKqWO}-5t$Kbv) z8u}7f=6}Oi*s|}9Ik3=d2uswM&pp~3=13G&} z3f3FQKj4S#PjLDFvJArAiGPs$7SK*Mg+CH}_ZvFnSjq=gGViNK!0WvD6D< zFQHaND$mnPmw;*M3zrg!u3NoL%RUE8SFd-e!_#!abL8jQ>BmXZ0|TDqcjDXK2Yv}Z zivuP9V|PPR*SAT-)0edH_PRb*KRQyC98Q;`N@ee6N7eeb;-SjqvFlUb(UEi&n0R|5 z4sY`J>3|}7DqV0+If{(|rQ2H=4emD1M4uD>ZKj)ziBQ0oV;dPgi_?{)guxSCQ&VqgKfYH(dI@Bd10{ z>Ipa?OMmQAxWbY2Hx^@(BIHJ&ErQt}+^9S;efe9XqkVno1VwOsbOv62fR}>=OV75H zpZXHa(q|lSe40U=`X%ouPWF^h#B&Xv#AMcL~y7_lSUgR6;+eL45aHed!rs+A}gc@p{kgZ#fbJDIoSdU3~LXX6ng?LQl`_ z1uWhGx;ID)Uj_xm_Pr_hTb_fS-h~H93NC|V5ROQ4ES31T1HZ@pmIJ6)y9=Y=e}bk( z>5s#VWFg{6QLoL@+rG3hS*3ZB4Mpk7e9nWsujh6xE4~(_VdFyX60r4>zd^7VgqD@b zlVJ5PSCPs`(^0U3XjJV~DgLAAo4m+9EC@LBJV|%jbId&i6rjE&66)>o0X_Xo;DAK0B+%ACzTpz6*k-U<1$_%7O830#OAxJQIK#bWho))S^94 zx7~EJ?sn26;9gZY;Sz8)v@!5f?n26ppw4>tNNna|vi#|Vyrt=qy4&eozP(h;v9WX>sQQ+tcdn^B9jEcchKEijJC6(o)Hc$ZyvJUTMtV}1;Yj)@WFj-5 zGmo(Nl~0fv(+A)cP%(@o)li@`-VU!dUCvO(7%MhNkKrLAfB*9!+H-p$%in(-IW(E) z$WRs;v0iW=2Hr4AzbH#}Ejjby$|U#q-;g+{o2nW{YwknXHCpp)7n5u7Y4zzUGRZ;C zqSr^BIE(>4#SMjcq#F>><0-cOXyO8aZy1~7lNa}ZA_~#=u^EVkEdC&;2Ep&)vQT$G zlrn;_>}sP|hVwA0)l(Yh4k3X!Ifrc<7U zq(#cNFnN6WAZZEB5(_-31}a8xIg-8)BNz(E;d-8S>cZ<}E0S(aMM|VJ9K!m;l%(8R z5?zT}JANT(7NRE(xehNx5mBxK6*iB>47m%UqHjzbHD8wa(HGPRp6t4$lnTEZ-X_j7?7Imdu5P| zgMLB0dKY~it3i@37t-mSA%FjKz&dq5q4pkVByaCs)GIOXxrk#9Bh22)K}SW;`JjNO zxkJaBkfd3B2iT-td~MCc0?AmGvTXJ|Z0=FTHT8aIS|l?a1Dj&UTtiUgs#p;L8JFkJ*-pJ(6Gq`uy&K5`bA zxvG$wHPxU&+Cq#<;eqrAX`CVUwXqf^iAug&_KnQ*lcmbjOOq%MrmG7>p? zBoJOcPg1$$0%>*boV#GW?*xSLJ}0IxBT90bTaEB|!RIrWe4K#T=mt-(78Mrj0yWF3 znF4(aBw*bm=}*JvB%BdW;ApuwNX|c_>c?`+a7hOtY6z_687Ivzo*>^!ze^|}#;pAP zJ%Ev*`ploQP7Ln~>@47UKKN}Dp{W)X5D|~0p9e*X8&scS5qS<@@h(>RR27Dth5|VV z?F9a53ZOtglD>;-%dwTi%wwUjJ*4)cUwM;NMPOaP5-ULsstfiPQSVGrz`MN|10Y2l z6cvj#%&DW|5@G=gIyBRTGmfgL{h=#?j8bQwH&s=HV$h{YSQVxs-lZBz7~$O?<7jeY z-suE|`n{@B!MK&KHYydIc5>O`bA?=hdC zkzCTNl^KccPq@u_YjWYfuU~ViE;+LCg|2t?o_@tbig_D0u zfaK~+NZ4oTZ%BP1hJdmf9l^}<@*^W1C|X$R?+KpB#&I*v*9SV=mrwQrysPIqd(k4v&;Al>_${z z$jbe9TvH!E6#((Rk^!s6J#S>k=Nx!GK2yqn>YuR+GLcmJ*@37VDep&e@?~H;>zUjvDJVH)NM;CIwKQD=!LG2Ix z5M4JJ*CljaN1o7oaS!D;Q^U!F>t9COeOo=r?{U$+n1VEVF+8-<g2^p5(Fo{l5kRNPc}AlHSFSdyf1f+v5OMmnKHa^iy-tnm5jM@eOh;^3acS zKfzyEen!vc>_9lUBT$0d%*%-{PEF6+lg84 zyr%fw4<4 zG@QPCF15tCS!sCWG@qPLy$k(>6sk(a;! zhoI8)MnV384+7hj{|z^D?Hd{Z^OgexduMp&VLxxwyL`~=IF9Xg55|y0q30U9JD&gX zn~DB4tQ*$7>wU<3dv71{CQqfC`9cH$2>k{Dz67TwLBKn9YelL&uOhV|bwiFT|M9^} z#~VFwXjQ4%-rg(L=kI?JmGVDK9jxaKXa0fTK)A}3n+XA=U|fhAZ6yiys7qJ zq_P!gtW&g#Rs8ZF*BR~?jR`_lPUoR9K{Nm3eZ;J1q&xqv51V*=n)85_l|hH#v8ReT z4>D|i&kQuSH??Bmav>PE^9OUFdS0r0#Oru9d!{G(XShwe+AJ<$>HEm}(Kdspn#fqa z^Ww`Pf}GE%zx@Va2#*>HQYffOrqf>{Sns@rxJ-Wzc@=17iuu4+wBe!#kU22WlE3iZ z;>$2<>|fdq`T3L__g4^)>X#PfFUL|7gGI$s=jb5K=C(f7(&tIed$Ats$7tf%e!b9wn@Er0*VLGzkV;%@t%&DW%m><;8&oVc!MWY(Tt2?dK#y!bva=|Bm|AXMX zXZ1DcU)_oC@vU5r`c&WR8*|X>TOsA?G>>-!qCmy}YtS(U;@`jKVkC)AK$;v-O8=E2 zJ-;h?KQ2j{{ZWwMg`H!$vcE%UqivE51_J`CjcLsvh@8DAJbx@ zzL2O>!RX*AL=vO_aUuW~0Vt^Q>NgWrsw7}s=t_c7-!XAt16cYb%yQ~C@F%pNA-Rx8 zzmuzZdzaPJkx&18bkSwlv_bH_1lOJeKc+hxE6O?OnuSQXKhGKcKc3_>qd)W@%+JFJ zGs}Y*=1KmZCYm=DpjP4~kmAPX_f|cl%hJt^iD5!Z<$kZ0qD}H&J;{Gh%*Nd`YFP|% zPZpBp$b9K1W^vPdl264~dy=@h+`Hy0sFW-tE{l3V4Bl}YAh`AN)up4CJ1Yquw_d(2`SO_{9?_Zdl=I{S1 zY_O*olyG1Bvp^*``4_;B<=%xWvJk(6A>3Jy*O(6{ev``W;1%LONiRmTpZ<5F)l<2( zyeQF<%Jm=zCr^9>O4b1XL(2_46Bvt@2{(eHM` z#oFO}>0Kx>36}m_#KP0}=<$2bS5#5t~gC?dQ0V71ne*p3fIU=urCi>Fp zPr_cQMeD(t)V>O4DeyLJ+<-~0OFUj+*rmm_uZtMIis=qE2A4lq*;~O1-ME-RCW)82 zdVR3Q!ntSr|*7k$)h4`}|xyTSj2c)9`2VtTqEJ}Y@#>fa*S z=YPX9Ljd=4Cxi3vrTPO9kRFf7uLJ?Fe+x_Vu(e@-{-f7D|Cjqpd< ze*pI12>Tz2&h_*hEvj7q9QVi6#-;yB`_jt)y{U_rLmn)HV9=|{BdVIpH&i)JDvy}& zCG+dg{3yRTTcNTjjeR@*S^A9*@qdfPmih z16XWv0iRF23^9lu))8LE$1klZkL#u^36pE{NaHUfAgz~lxJ?0<3*}q z1dI3iFx#fpAf_>e(F;8LPVuXrSG6?pOp;%NoJ2A;Cdn^TsU$g`yb-0eRo1JUnWAO*PXm;~#GL&rJWExL_|VIV1fc(t@(t9xS&b zsl2oo5H&6%8261XI~UufeYRA^|IuYXx>=N~^fU5$;?$^ruEc-4((88!c_vG1CEiri z?Gpca?7xvcRQgqZZRm4%#`SiIKVEuy2L9}f>)&FRhWPzRrr(w6lQR9HOg|&jkIM8` znSMZ~+j)BGrXO3T81RL6jx(@8-!}flyj}zSlOGCz=_U0x{Xi(Q9E5BJWR_!YVmX{^ zt^9l$*L@k+hxS?VEyUir_%B;vS&S`9uAV#)4s0-T85+pfddJD7%`|)czkGQXRJ9|Ixub zTBWvG^JsNixmKgqYHqELy?5E=D=&||cQ(6?XO_iyavQF-Wh*X^X-F<_)^NRtEsI^f ztXZ`R>^iV?lK$N<%JXFUXt%f?$cS6YE}5w-+M4JHhRMx30&t*UG};-}iYjWVT$RA1Q)a(vMTiQGKXwg8pmHdiVui4_R-Q=ygaXIq^qVZ6m zU2E@*#k9^AEf#7Ghgw4T?Nd`wEAn}3>gqV9`p)>cSoJysZ ztRv9gjvW6XRWO1=s1t0~iW;gbloSo&UE$6>QadiUzatQDgS174o!K*|gx|*9IQA}GFLAQ-*;Z7~of#|U!7Ho=#I>SuUwuGYbM4pZrXQlkJDWP&HMC)j0Lz+HkDjpJ&QKifcq<}-fltx`Y-a-Lp?hZ{POZF5sj{-%8Q-W z{^ZQKj@bK+6H{dU$Slvi?yj}c*D~n$XIvNFYsL3vTn}_x%OA)zk z%DXbI4`%4!pK<+2#`U4h>kN9`8P~%Z*9BKt_46&WUiW3-Z!RytN-OFrTkBt2x+2mU z3w5C@wXKK-cdxoa+n5L;F6`W^p;vCcaRpsA^WR&306k>6R#Lih)yiVMDS74{djGTR z$0yhLH&ABv0|mFX-sD$m{Oq4>9377o_EsD?={KDPNWZ%PKkY<*5b5u5E=HbydpmC- zeilkNNEhMUfxL$F3Y?9|7b7jf*^Ims>1T1aAx~)mo|cItPw6A);T8_^hmgLB^Dg8m zeH_pA9YmheD%>OZ0`ip7{enZtQ~LM?jC~XN0i-{|c^r94ofk6p0`io83g-~=l+M41 zu~(3%G=Osic}hDLL*H9O`g7#xB2Ve{?_#VFc}jncb1CwaV%v%pBVT~@8JruCr}SqU zb{mkV^wK35yOF2#C7g}OQ(AHigQ2ml+MHkXdm*FR^YrJc}n9r zA3>hdzsLC)@`sTA7Uux+!$@~xfpr}D2-1(^d;$4Br1#)Fi9Gy*eI4gZ$ir9IYHX|z zA@4*=Kb?97dBh~B0qriuQ}IGxBN z*0Jxefb7T*A@!}q?Iz?YJ%V!w@`FeNSHd@tk09My4E>PrM*1>t0%4rjQI`gt~^J;Ul z9lnhGoSfjC>={S1iXA?VbFK;JZc~1&x|uXrje{RG!BsvdE0>^-IXSs=92YX4Cwg~F z+&MW3$n~-=m#RlNt4#E2P5G(dj91r8XT1EmCSHn;Y$L~vY&K&fq;1TwdnWw6S?s(! zXRv~DE+;_Sw(2=^It znK@59Y9$ZKM<>af>nb_&?7V>X|HYB_2}8}UgBbtr!PsSj-33?#u!srv7+~Fib(>(X z0M-ZCBPLkErx8~HJ8XiL0d^d)<0e=mU?%|^GQqwH*f3yQ?>6Mi`wYg7dlAD;unm9> z05)WTwE;E^*oX;sFJO818MHEUMY7B()2%XXlj(k$-Y?T9WqMSmgEDz(rY)(rT5d40D``(^q?nLaJk=VkgMnZ6~{xt|ge z6w356nR;aElj&BODtULx>$pt!%k*xUJ}T2^WI8C*lQJEW>2GDK=)NYe|0>fw_#GYR z%5f-pVTU3|1va_k!E)>nVt22-PVR42JKWff zi)MmZGHY`%?hVA^ZrU-#dL+9tjGBRV>?>s=|0&xW4D7an*=KU=g7JoMTOi!r9&C1Z zH3cKIueAxA0Kq8xVs2e~Fc@J!$gOXWf!P+?Sz>?9mHTaS-we{vFz>+OAr%&jN8_FC zGn_6)<0M~qG&~FO{B9;n1J8j|D7A)*>*zw5QEm&Q^p)-RgT5>o1)Pl`4Vu{nSq;# zhuU#l#)3{R^Um>(1>Uj1f7Jp`#9pG&AL;Mz@9XdHN8ZQ(SoZ_{4?Oa~p$85>F!P-}Vc)}z z4@VyEez@x&2L9prKM?tMj{lh!z*ZgRBXs2P|NW)nzQihiW&cN8=UMy>mjd68@ebsF zlLc@~0P}ALZ%o>!Wfli01ArFVj_zB}5qK0UW^S%-(8^b>)=JjU4M%N7M?4V@UPBKC zt-?hh+SGPU7&qR-0c}OA`l~^aI$Oe>EATiDp2}F!vXgFN@_9pOXKPavASjH*15LYD z(EWQXv#@-+ID7MX+3a;G%?_kljv0Jbo0T`Sy%YD=`M*S%Cf#_x0Mlibm6vOja6s0~ zSR3Z7cvQ%YmXpg1a|E`?&$OZxq30Or z74Euv|0b6g(m+oCrkYy+W^XymH8AQ>ROjtRb2HFf-UbsZHZP+X^7CS#vH2Ng)~fz0cNNQ@6vbazRfSi_>b}GE&7f3U z>4P=BuKLO?Zg!4=>nbmAsA>S*?XPL5-&|8!z1i=og;M7lIKJ8%Z_VZgx4)r|iXp$7 zEij7RzDis1LZg_B?{&LSXORK);kA3D9U6|EXMl;m7cPuacD@0wsA<@!z=Z}_Vb}QB z1qM_h1A3tW^|>nib)K49_+>+Nd3|L~HM_`KTI;TFsI9JJiw*Fmnuc2c^$qYGZ)H_w zJ-gT_a(VH{n7_Vqv!~wgt*P{0_-SzYhm?5_1!Y(fn;Z=E{!Zlk=$ zSMPUiZeU9dkZVg#Wd$_~@0zZPidweJD6PYDZg8mvFZtE#Ron?L8>hI8y~ijKWYMbr z8XtNZb^CJeEJX&6Y_q!hTG#|lwA?7-#;Wz-P+fClHGI`as?=?Sb!zH1vdaxTbaZZg zH`!*R1A=BlHTs&DtuhK~Fc?&B;sF|sUsugm8)eeqn=lNx zS*ZbcZ}m~Ab8W0+YYZsa!BfedWK$(fzt&n*XDV7}E!woH*6sGOG6U+~TJJ9_UR}11 z1Vg~BuCHV3jpEJl^;$7f)%iuNuY_7x85jg?s8;Rht%1YCQ7fy^JFXrN3!Z>JrO-B5 z(R{A*8{iSrzsOQL<~3H#`fWb9*Ifs}h+ZAL)>=%m6#F-B^ZT~e)UxZ0Lh5L>5E_FP z`CXmAzQ(@=ebG4q%BI?yDvsnD6G@Dtb%;iFY@>l8Mn+3VGL6x!+`yzZg$z){Z^oz? z6GM&K%xx6&&hD%8G;G?)HW^^yS*07dVO*eoS-BO4+H8~)-_5Ri4-B%3M(jGgP(XKg z-r>q!^<*wtT4^nnRZB(H>#c=#vZ^e-!CES-mWirfYoV$tORJ1hp-{=HvQ1Skf4K+G z0@tzX%;HsR)|!fIGK<%gtTGk*jN&b;DmEcvRW$H{MMV8tzXyTUSHa$A;E~hAb;`>z zlDhpE(yA-Auv(+swPhwx;$=E7prua!?Cv85QIJk#!VIsqMt!xhYcZ<#LYI0`Www7 z#`}$OIfb~fvfkrIBQn2H2?#VF)ft19ttsdV`f-CB*3>KYn-e6Gq`7aWtd86|2)PRkB4w+`70#as@ZfaY0z z#{K~ll2qh?NK`RK={b-6)b;lZ{!20T!O@t&tPaIufeST@zWZa{0tCPyUB0y%CV z3%hW4VhIDR+W&phIJ=D^9=7Z1%h?_SM%vew*Rn1HiV-%XG_{^Vg2L0=d3) z)nZLVlQrwLkE|&dm=cA9$~IzAOfJuXTd9wT)gr&%Sa+k#$HaP&1GpIYV2fjhT!)KQ zbV05k^28B>SXRMImDgA6EGsL=zlm1YC2Lt$PB!k2McRX1ngPqxVPX-URiFdZ`drf? zmKA-0qD;IE97!6$*>vO1AHkD~S(g`FiKTtcC~S2RHbv$zh|Nb_ZzVdQpIuo%TP1#f z1-Xob6%&kCsY7NiJ!{}#GpPD)bIb96R(8L9j(x_JxV&8g`!XJGN42;6aGb*m&OgU- zZhrRsi{>wzzaSS397QZUZ}A*#vMgnD=3F}`8@ofpMCKB{Iqb)E7V`O7AEOff54&4xuQ2;H=D76I)@{X! z8(Le7ukl`bX_f<(D}YP1H&C6iXlK70Ozyz>AWlv{=Q(0auei#3nR5R@|4{v%(`h^-F8heE~XD6RZ0HuK5LbWVz-Sc4vp@7Yw-O=N%Pz@BIJYX@T;q zuH-xL(az5Jm9c2kmDqz{A@=pJZ09@jSBmF+t_-a%Tf3uaZz~?pSXsx)uiBy4+tDR{ zu2iySRk7(eO9^_2BO3SbE?G^#Un&+Ab{Gs)J^Z?GMF(yH>{-2Phv3QR4uh*sTeY%O zIo|(H^Zt*Q`oFmy&&<8p*>bNbh$S3x)ygKgx~Ypy&DBK(b6=A6Os+1wmzDgOJ#a!4 zbSHBUWrp0;VOO@X)}8Gu=q6eWd81G{=E{~3ZfW7IH8}q|%CH1PuMKtup||A-$SVia zFt@i9=@kwsHgGr;4{)==8JImH&E_{5jjH0VGoB7d+0Z07KLt(>PM}H3Y2=D0 zsD+2ZB0%Bth+5+5LI&9s9r5%aJ@=>}$lwNxxEF5lx)6{?e3@n90=sh@xCc*hRaL8N}$xPoS>YfB=F`CIYiSDa_Q#=XI^}rdz;$k9sb_2&b zi9DYHjy4IeL%=DR1m_vxbWeiwQ<7&AoIeAHO@fmTrH3ccYZ-7NlhC;aID_&3hPqAEadk9KvhK zuago_!pU|lLfLh6sUPagqy!-8#)=Z^>!5@Kg8*kKWi5yL(kKCGHJa^c#DDe52xM`n zua;6Cf&hos7`S6@I#gt<2TVq`y{$COpodF$23r+s8!VwIO-Z>ij@yA#tZ?*iwTfEA z9cy-O7o+N#Sfd!#gf)!%DyOW`2!ODL{ka=u4YGl-hKgv43M?k$d>cT*8uU7h%qWj1 ziJ_@eX*!NI`hoLVg@Y%;LwJ4|Jr3dt&s5*C6?Dix^oC~qkk)j(ZT6Ahxh2vN3%oR& z)XIjWyRhL>Lbn{shU6{6hJ=GRlx7@{f=Qp=Ps=k(4Lje45@F}Cc(+c5slNd_6vO#g zX_HuxeFivhDjW{_DIkx7JFmqde*~loE@8w32gH9;hp4s?yvRQIAs+wOuHZrc-?p}p z-w3`7G=-hXBdv$Ba~HtE&i0;5HOS6GQ?PR%aD|=ek>Y5EmGRqeFwy%L5oQ+xGJuBV z78}R%%YgGEg`@X(QHyNY4LUHf>6o4k$pY3x`RZ|ig$=1MTMuQ!#{eb@*^V*#yX+Sl zG=wREQ(z?`ugK2DP(|RB+i+Ce_##S#o%NSMS!{hJ1aSg~$1zUj8iF8fPvqeZ!1`|kLGkEKQNJ9h|DK#!p@4e|hajN=Euc}C)h);S5t&){rE3;r6A zOEE+eBn!VO!LxmMO^FZG3~%`(a9+}JNSHeOQmW)!RZF#(kcaFOhL+ecHXUcuUOIR2 z=%a~>(Ow&%vuH1mrJOEQdtCt>hz@xO2jXTN)E0wNXp0w6Pqc-wPg4dRYKv}Zjj`Gy zl8CiYm7}`FBApRVV#9S`*k~yKVHOjJC8qJXo%P_H)Jk1n8=)pV`*FqJ7eKI#uNxY1!sqpHNZ3Th`@8z zK~^Dt7*kM--jX8hOpq%Gf>X!?2SAxRsGc7$=%RU3WTClMC2BOHRP+ng7D67<>t`s# zplCYmZDHj_sA|^Th`eYE@>uJk+G0R&3v28lY~}NZ^tM^zJTVdrol&Q}~p za8Y{oaotHTqHaBuUIhSiJCD^*cgA8=i~L;Zg&`p0Q1XlbF67yR=Z%{J(dOyNqk)c) zCxa0#m7TkhAJ@)u9!{Sd7xLf-aI_I&h{JztNFZS!#LThmBUfaG4TUF~rBXK30Gv$b zK3!%r1(8?2aT0RCLD61g_)nxc5D#EA3LGlUc2HYbWm0W1A2>pH`mHJb>d{bM`9}W~ zd_x0=sp~a{%(5*?b$R0Lu~;HvNCO5q8lbe0XY95hoMzw*So(4dkU^Z|M}V$oKP+}q zMJ>bxKyJmnSBDVgkAjACk%|&_`+OcaKrtO>((e7JCw!H9n)Oia{u1m%9I_oyFyl}$ zVF);)-IoF*BPNvB;=51YisMSJjGaItxl-Vi4@`t3=d|5ubYWEwYG&xp=~QgjZ8%ok z5I8Q~^5f!ow+~w6AxVux%IrEk5e{5x>Gtj0DJs(`c0mmqlv@cL1sNAd`YO#yMBnKO ziysgh-l}}V$GwGkDXK<#Ccbe9)h3H$^nPt2PZRyx+Ol)}cFQxM%VX%Ha-uEDxA#xf z7QEfdT?Z${soZ{Oavawq6XD4A+M(MAtJ93-sd`7JXs@wji`|Aal35>uIFmLVKyA^c z%5p}k))zy1|8he5jQNIK;}4@m#DwwZ2|1uM*;vr5+ovnuMz0Yt+*x0D`_2=yr>Xh# z7;#?C6DHJMwpY6@55FVnZwt0Z@b*x?Fx1;(3i1@gtdosRhCE})EajmOo{9b?UOkFC zsTL!B5{)42qm9|$sdXO&4!v)WW~X9A{%1g5KneE*hWC=@& zKL=#cg7XR>1t2os7)Nw2M!7Ztj@_y|LG`^!6PsOUbgk$V@C=b_Qa3S+eu&?z{ zqaJ;=0fNA)#MOGJQLjMv@TEXNI4~V*wsW7}f~MDEn7sUY*k%B4CFFLtNh1h00%r(W zB(ep=lwGV^N7+!&A(_28CNlgu6B`bp2In=_$S5N~nQoskX5Df&SgPBHq6ASi4rQOe z)9urRmx_-)8!X_Ol3qrAl{*u?hEYlAHGYqyPix2#4G%BK*Oi#s>i`G{c_xn7hRojr z#jzvyRQwr^F=<;==xsss2kW7Hz8lUge7*<>W8Y8l>g_fD?EQ#tA52^D_7~GaiZi|+ z_8GcZMjPOcb$k;zPNf$|_%0xt1#%J)A8r~L@#jx~6j^ZcFgOibaEbtlT%u~Jej(%` z|G5JiUTP8PO#DZekni?b$mqL#WW&kg##Y_V(->@$Dl)GH&E-K6~`Md z#G89?hegq$N^A>iHBL~=ZVkHE1QVMM)yhu5sASAYG8Jpc=y#jm$^|AaBCAG+JM~r` zKl+{4t%}L1za>&qY&0`2>22@ver6Hs1jK29lmIfQL+m#E zHJl@3-Xb<~m=naI{)9H{LwliPj*TOGN*{3IX(v&aEv#d1F%!XscUOA%C zj{Ug(RIW5P>+;ZpyZT$_xIF3=bV8o7W1Z?3hRmyBg$)0ZvBf7#CK`n&lv&1>0gxB5 zg<95ns8P5O5l+Mw-uf0K)fNp_-T7Pf)Hp0(v4>A1$w+H!QQE-^^6w!D9O^ryAsCwu z<@0Zs?$1s^_oY+Ny~(P(c-Np*UcPvcMW&#;z#-l1{@ZmwIR)K|r=a^SR^8=`7KQTa zt&4+G&|Tn=?iJ7-L`}!r-R{4fg6cCPV%Wzyfi(!{THyF* zkYCt!Ckv^VDd-Rmjo@Q@O9Um{s$+T78Q5oJ3ifH7f_?r`w+|mH10AtewRDA~jNMGS zPhcOVyTBpcX%1=iVAWH)QSx8XUEVc2gn?4D1s)N}IMkl!Te^M5=#{cJwNJr5&+GOf zM!RjjsSS|6DcDEgkbV5117|WF%07L7{g><``%Vt@f{DPZz{Evl)m)-$BHiU2V3_Mg zwpJ4Mg9w+<9@*H+5KW1euDcV{PMS-imVm6GCs8brQu1C4WNjImNkSy|k!f+i%f_9a z=C$y`uX{5fYn?Xk>^-6fpPBA`HtvNs?s+!u9)r7_!4BzOXI~+<(I+fnU&Dqi@iu%b z5_e?{UebmIN(*Z+LTyAXIfLy-UU(frt%rIJWWw=FwDPK#P?g)6uSTJy>5!gaZ+EkA zNZqODj<-5i(dI1bRa&6hYpfAXdbp-6KR(X7dzEiEE;U(3WNmucTW5kE*QhA#J#H8Q z*y{7-Q5MMB%M7oR-cqQ%<&3z~H!v-f*NoV>r)}KnNnKe>w)SQI!=~36d0mmBto!_c&Fc;+Efmh$*B~&LS)a2Ny=OXc{t6rS<2LSxZQTEA<6b;1 z?!`9lgEsC1Htu;wkCQ#6Y+Bq)ZQSWOX{ct5_@&2f+|RXfcTS6YnT`99jr*XD`(lH; z>~WP7^f(o54F6Hl#^htthCZdmS%@}|!N%Oq6GR(BX4OwkGE3e6ZUWs^uRM!-m7Y}X zHU8+iCaqd|e4KR~ly5keWW*X{ji&2$M$v|z!LxYy8hmif3Mt*Hw9uo?PE?V#q_=E+ z&vc^AFKyf-Htvl!?r|IU#%Xa++qiexxVPE3@3(Ppn-=$1Y}~tT+#@#bciXr}rp0~O z#+`n#1LCGw*Jb1WsEvEqw79=!q4pCm?0$wdN5U_k%X>LpJUQr^P+T#{H0ud%unQZw>A; z&VOlwIIqSyBWkHJ&J@{X)aqASoP{y2A6ADV*t?*+Tu{Jts8ysPvl`<}GE3brg2l#L zO{g*MEb3MIh-$C#$FDVqRV$B=vo25hhC?%1Mr3VzozWP#-`3;kxAwd()QDC(1P`!4 z*6znvmV`)edE`CQ8RPD>aUZd9PusZPZR37uTHNolac8P6blrz--1}|Z4^NAGpN)H- zjr)j=`xkB82d2gSUK{rU8+WF>S6O52(>CtMr^TI~V4n&1HFgUNZQS#0+@F7&xZiK% zuGzR3*tq}5#(i*Fy3-T>R^5wi+zV~o-?DK(IW6vAuyHT8ao23z=R#m9v+VCf)8bCQ zIFNMY9$J}=dy$QMp^bZbTHGJCad+Cd7u&dBX5&6QE$;M-43IMUyvN49%*Neg<32Ji z?vL5H`)u5uHtxQ+i97wm$g2BR8+VV5`&NUy9N(9t)_CK)n%fwom73d_Ml|WYtVoVl zh_9K)+r2}67Z`BeCz#t9GOM|bNoJ|Ldjj3n9N;YKRq9jiHU7M1O`~e%@p0CDQ~8GD z(#)pN_v>`M&S-A4RZ&*s*P4^I*~M|&2)ol3Y4en~oDugOHts_P|EK@%p>+`Ln23DgA<2^kr-vcw6SE?xMK7U-vqadY+l@2=y! z^t$FLc%31$YA=(_((6(a=&ro(Eb3J{pxSGEk6JURT6uh&b!EyoCb}=9+UtzGj-EHN zj_-$+Jj%yPA5mH;$l5ZS*L`{d%PX%l=qRr<@seIwth4~n%;W7I-|2bC$;Nj>X61Dz znWfj!8&W2Vb!SnpQo8#;S*#mStvrF(6)4|uEXiyNeSFvTIwP-p2|?KEb$v=6GRJ`;Pa}#8!f2%yQ!6B3;L86;F)>6-Ti$77);jR4VhJcH_0q@r?*N? z*5A*fUZwr2y~gj$YYwSa9v^4jE6O(}7-e+5&Zx)H6TQ~{-mTZ>c91 z^mj8^Z!O{21yf|UA{ofTy5%SOMDnsyas-Z`2I_lS-ARvUMZjXS;1 zN{%3sd-t@sx7)b;Y}}nT?niCh@0=F*HXC=3jeD7m`;#{AebeIJY~${#=XeKz0k&etBw1iX>qT& zao23z3vAq-HtvU~#ocG)UTEW&|QrMXHl=xt*X5oXxxlLY0;)yd3>C8 zUCK8c^t)#3p?)FzfUY~f(W2g>kFO0V>`!A97P@PA3PnMU^laLPxPDoe2cxh9!e@-{ zg!9k9SqS@3=~(ZyB%JR8XFqVTG8MS@_$UzIQ-x3{|%i#VdAj1}% zx%5*%9Aqm&`657uER?STMBJy=fCC%0`vdq|j78>cz)@p?pwj|~)rPkM;?yboo5Z_n z#1k(>nT}5ZrxA@dI;!OPM?mN&{08JWAnM6{QR{WW!9g=m0h!BxhOU`vT?PpGmqBME zAXY8v0a4LLYKne!+@fg&IO=XYaPUeX`ql^8&#>Wrz!?TJqjkOnh*}p22@eA@Vrh#L zfM`YJv&tGj0fe435Oi*dbw=ahBYxMWa9#yYH=smSP^On67<#p|2IKTn%kKA>DHi}o z{U%h@Dv}{bXwebuXo~EGP8NAq1LsbQNBICbX@R^S5cT~OLAetUO>cLI!tMhEYRdNN z2(;r(dgxy|FF(D4rwX5H2b!VRS5T|bLgy$T-Mp64{Re=kRh!`cV?YKh5~cy6!|;~Z z0Xb=Di*xYe4fV@AL1!@_>N!RMxf~FyhgSh&_0=FC-4^aWfT-Dypz}#Uoam&Yl}WNM z0-{-J{VO1kSY$p0NWVqq*Qge7h^nAG3$GX{gZ~&2U>zVn-OfN{6@YYGta>vb{U|Z) zvl|e#x)GEQ00J^5%7+0->%NL2b{vqC7RZkPDYMA@CqN>=HOY*=PNd-;Qj2#1GN4Ns z*eQE~#h6OdvHomqH8N`a-_3jv{(o#6>ZfHZ@S(Sr4W6k2?v z5fH1_?FNK)JPht114P}c&0t0%om?K(?hU}{*6rgLFWC(q0-oWSEx;j&p=r#< zYabx$*PTMvP628e z5^e;R0J_X1@T`%;Da8pNw6TLIZ>@$euZkLh%fVfO%nKT}&A#bv)vhxgoFj5#g5enC}q9HR4|fT-to zM7tN^oz2HB+}8l|h{dWK0cnI%0Lr!q076+Kw!{HZYidFHUOZ(O@!Y9uivd9T zExq7JfT$ z?Ti*A7h{@**Mq>h(?kb7E|A%qz6P8@ORb}Tcy!9d@dtodef3p9)J_hc`!x||!{@11 z4nB~5+(PFfK&XEk?OqCqHD+!Cggiyy_*>}Bs+h$AV)UZP?}(0WRiZN&FG}31%fnl+iSe&B8Qhlu zXUIZl1t1jb@^A`XR{^4a*DoNO08zWm0aI1s$vBphT7Ef(M-=ju)$+FgDJq0d6c1)P(*rhfXs)!I^4z#&T08-O!t zk#HLz^xUbzs|^r(5)43TpAP{-hv7e;v_T#QWY|*c>wxqxHP4Zb0)ozBvc^e3w(2qy zk6!`uh=tA{sg|YPb1xK<8S*Rvgbo9;9*~G7ih2PlvQQ2Ha?k?l0A$!w>o!0R>k^{B zw^L{<(jmn49^hy&mtn&P02#30d^%Ni@7770ZNS+09 zE?$6m7id8M*M|5==~Vf^&Yk!!w7O~! zg@Y>J5~a6wND62ol_eZ}zcNan&!G=S*Dvg=|G)=g&@_M)^#rd;ui8F%+)K@Ll=Q);;`VnB({ zioyB)qT2{yb1(xO3S-x?ntzOv#o9Xeh^%grTW`IU!RV1dG^k3j?cLrG4&9On)}mW= zb|`prBGMjeLQfE2H@+RWmo-I$fG8A9*(wwkeeo?CFQ*O`6Zv}jR3oyT5s}kBDOgX@ zMoQrcwYJ5YI-^0NA3_8X94uh44YW5U+QGSwP+5CtpjpR=u|TtN#g#Ud#R9v7rpu=G zU?6I~7W&Yn2~_GkxoGs2HE*ybUJY=Jh4Ioy0$0$Nk9d6{KT)cquiPOFHFruc^f%Kt zxGfO=Rc@Ob_{-~SYW?2Ix_V4isV9dJ;cg8!Q&kyVh?MD)kZfe+UKRpjI~+mQhz29r z#_;1yBp}cci0-2AKEy+vVZ6>e6c6mgr@%V`U3CHmVIx8Mh`2wR2-D;Pj)q1I5c53< zfy5SHL(6nye{Dl`ePxx~@2hh+RMhxu-QJpVp^v+|0y>>R1wXVDkt!Mp#e(XCDR7;J zSTI@@h_|_;#$bR~Wt%>+!2Dy!R!I?Wt|z_xyMlW~)2xK+lRl>MrWjMj{&sXRl=<-m zcOeoHfM@6gtQEO+Z1~Y&M<>P{MO0Ps*L&;q!NO*qP)9_(TyD$~QDpu&$O;k_k4X5p z(9npkVZ>(trck)q=avo3td|@2R@11fEWSAymw1~xqps#=yo#LMS2TxFSl$We$e`rz z3W7awd~Or(%2;)0Sov9HxI7V!2E%cVpwkV86CHjiOkRpt3r7Rdy%?xF&UF5u&lAR; zgqUU&DrAylQp-)bfMi*f@oSLOaoO@PAh@8VGYk;DcumaK5JSMa!W1U)nVvwi!6Fa|`8#6%J)y9lUS$k(??yN9x0m=!{KXh~ z>w@uyu=uh^vs+ERHig>39>!M_MC%mEm`e%isK4U&fk{*`kud=<_iZH%J|pDz<k z&zOJ$0dq?PotaAF&-xdnth? z=!!5AYKn1d#xTP8J6niI(=NW}iTNv;S#P!soAU8M8B}jbVKVGAB-(@iP>goJLBmR% zK4}m|5ah8v@PW>#KbF`T+lvWIhkrLdC_$qUZ(wRV-1Jk16Naq_wqu@Oj?oG;kaj(g z35S{3c1FvZN7yYPEDr+h?@I(RiOFcZ-3+D(w}e^|>)~L$FOhe0ufoL9Dw?HVDipEf zWU$WY%5)!(Q_)$A5X7gyVZ4M}ynR~8g|HQ-+haO4HDlBPlk`W?JY%dPluL5y_zlwf z_85E(BS=DZM{uXR61pg~P3HIGF^o(z_{;sVNU$l?5^B=@R@CDAfg-E!fKM1h#C*YU zAoTKx**S$VGb|?GSuNOD`ipKR(}Z21@%Sj_Sr~56x%Q~Q(}5uhYEB#r_#zpx*uLBt zzXMU*=@CiqK&FVNODmb{3#bffj76DrWgkKnW^iocpeO??>8FbUMTOrs%bikn9m!~8 zZxEB`aXO*jGFFY{44Ilu;EZN8`3ZNa>7OVhM>vUsQ#H;{`OhH+B?sQ^*#< z+9MdXDLT<2lm~FE6#aa^)lijh8S9s7c0S>_WpNRRZuCxc2{~`a6t6YR8974L)-kX^?g@Ft_erwEhTpO#WeUntkX=Xx1|S&ZN$3@v=dkItDr zR<|DoBO^3%a!o=yuI@xL{fs3958S3fmS~A51c2!Fy0-Z%t9&(hLa3s$)=jZyo6dN` z;SfQ^vMZrahj|Dw&xS>hkLzR+<@K2{MR$_OIxowhtvij{Jr#9$XvhFj=SBy{m)s_> z`dD)W-STowrO+^rc~pcWxijY`)a3eVPd(1Y=lz5&o;e%e9WuMCE|iItWk#>qNh`{G z%o#H&iaBB%9NTvKmhSjch*3(pxGuwZp=-QB*fNwTDj5PJMDRx+^cJ=*HZx;QVvMDx0d7M|kfpX_X6#hA%{;$WFMJivC7&wQ!v#Df_Y&X%>Ru9~cI^sALen$F5-yv&xw|!YyX)>= zatTC~qr$QV@*wD&f)9Q1$+td;H7zDe!FvoCFfWBjd?+Gv(9rmOv%7bDxeV;g@B4kf z`M#NN_hv5l`3ZvUx8sDo%2AAnHmlkkd);h=kh20ImyUV%3ouYJIVv2cn@pu;=e}I~J1IL8@eOGo^?Spzn~uw?yfU)$^DdI|s??BIpTL#N&N`46s@)dhH0-jH^HCL7YW zH#BhAI|cF-0NmoYj}8tTsZm>LL>6{GTWRb<^%nnx5(PDNq#ZZifT%kt{}tqX(GbG$ zL(K3HTb$0zJ)hi$)b-FDkP%1PcBQTJ(stznc>d{$OLYjjJMPr;J^h@D&z;lE6Lm9@LY>oa%Ouq7;#sF3$7 zAYSp+cc*e1}oWgK{r7*1@Vf?97MJHo3Cg&)~^jfo;*U0LQfMFI$6=8-yV^umK+kjU8X!EqW8|x* z_a>khIrkGF%F%s5FLCq`ke8#|uU?Ft0p#zu$t3~3%x8=MdWEBLKvB_@+EB+8)B=#`9vGJP!BjA=>ncd9}pA!uIHZkb+QFR87o!OsmIZ5}N>f zjlk|&t##yM&9A}JsqwB3jEwU(kJO-twB4eZCMw|fht+Sj@C^!1(6oF33g4c1r5vdV z-JH0KsDO88dkf#1c%DZEd^hbad}HEHJq_NI?d>(+#QzRa;bObfx6Xyw2+3rEnjsC9 zCx)qNc0LdxV`UYsNpMYp+1a9E`XWB7a+t}t1wsur*`MR(LgRxDM(JSYJD6$*bEAX# zvV-}qgZZJ2SqIDex6`-0yi8QhsMy}QPpqQ8=wAV0NhYI~jZ7w^WKBDx>T?-5YO^G3 zGR0cVrASGRCSr$*+bb_fYu#lN8F~tno F{{w_j_d5Up literal 0 HcmV?d00001 diff --git a/stack.h b/stack.h index f7d542d..0465503 100644 --- a/stack.h +++ b/stack.h @@ -9,6 +9,10 @@ The latest element is taken from the stack. */ //TODO: passenden Datentyp als struct anlegen +typedef struct{ + void *data; +}StackNode; + // Pushes data as pointer onto the stack. StackNode *push(StackNode *stack, void *data); diff --git a/stack.o b/stack.o new file mode 100644 index 0000000000000000000000000000000000000000..7954125b5e095cffeb36ae9f1a8ca879e0ffada7 GIT binary patch literal 1021 zcmZ`&!AiqG5S?vO5fSV`q=<(-RH)FbRcaAW!5-R!g@6`MqG=j!wb+oP5_|F>LT`SO z;4kqGQ|AeUGOybv$SZpe|-SUA^&x+%OYkLtTX-dDn1N1u564Frlx5UMwl58G2Lbo|$-V1@d;H)?917ZKLDtaMKu0YR zoloa#K;4ls@+I0#vs90a?WBmO*-9F#rl^)?#qDV9qDS)c3vkDR&~_e#BSW$Fror&v zWx%13c@L@=z?*onrQYQ^a$duPL%q#&=(bX559)QEBlGI4Qz;tDH&dN+{7sM}zg4w5 z