From 03d28ffd8fc771c36e8c59aecf976b16e46774ee Mon Sep 17 00:00:00 2001
From: PEDRO MARTINS E SA <pmes18@urquell>
Date: Fri, 22 Nov 2019 11:01:36 -0300
Subject: [PATCH] versao definitiva

---
 bin/meu_malloc.o      | Bin 5360 -> 0 bytes
 includes/meu_malloc.h |   7 +++++++
 lib/libmeu_malloc.a   | Bin 5608 -> 0 bytes
 makefile              |  10 +++++++---
 src/meu_malloc.s      |   9 +--------
 teste                 | Bin 12952 -> 0 bytes
 6 files changed, 15 insertions(+), 11 deletions(-)
 delete mode 100644 bin/meu_malloc.o
 delete mode 100644 lib/libmeu_malloc.a
 delete mode 100755 teste

diff --git a/bin/meu_malloc.o b/bin/meu_malloc.o
deleted file mode 100644
index 1efa1bd405d3b867004aff8b8761dd9b01b345f9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5360
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
HVh%n9G;z?Y

diff --git a/includes/meu_malloc.h b/includes/meu_malloc.h
index 53a4615..18fba6b 100644
--- a/includes/meu_malloc.h
+++ b/includes/meu_malloc.h
@@ -1,18 +1,25 @@
 #ifndef __MEU_MALLOC__
 #define __MEU_MALLOC__
 
+//inicia o alocador chamando a brk e atribuindo um valor pre determinado
 void iniciaAlocador();
 
+//finaliza o alocador voltando a heap para o seu inicio
 void finalizaAlocador();
 
+//Pede mais espaco na heap ao sistema operacional quando necessario
 void aloca_espaco(int tam_alloc);
 
+//Aloca o ponteiro na heap
 void* alocaMem(int tam_alloc);
 
+//rearranja os elementos dentro da heap liberando espacos desnecessarios
 void arruma_heap();
 
+//libera o ponteiro da heap
 void liberaMem(void* bloco);
 
+//escreve o estado atual da heap
 void print_mapa();
 
 #endif
\ No newline at end of file
diff --git a/lib/libmeu_malloc.a b/lib/libmeu_malloc.a
deleted file mode 100644
index 7acda28347d161f4c2d02e5220ed1e8c21b86684..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5608
zcmbW4UyK_^8Nk0iH>rEHcTSs1h*ZTUP1J_OK3~#PA@%9pyK8r~dv{STSCUJDyY}s!
zxA>oIZwoC|BW;9g3=)D0RaGB~cmRadmlg?89tv$`sHlX1hk`)m1xV!}r4OK!5-EJ&
z>^HaTIa@-VyPZG3`Tou9%+5IVu-z<`XU8+i!88?V2K8v3OlGI0#1rEHa4SB)9QC+0
zx8&OSO1)%n)SIyB*6fP=ObBf1DLAc$U8;j<EIC!Mn@z837s`&^fQnmmnl{l!)2+1&
zRl8vWR2>g%71U1GDSjCdg&vJ|=EMmxng@^1u*ehR&o5e!j%gZ(93%~9A#6zsa4iwm
z=R|c55-<sCdgmW{uSetxWn9;LZ{3cq$vt}KmP3N?N!)_HveoH@5?z+)3CBk7U6M5X
ze<!R?IezhN;X%sy+t5C&N40x_cHld#_klG#+q(Z&Lf6<y_u(KM86QjeSK~(KhT-1;
zZ?EpZgKqVROK(pww(dQFa_8c<-o@u+(0+bH_fKlxlJ$jB{Ok7_{yPclfl}P+ekE@B
zR}+T+Zo<;~dM`#XTAfn7pVHaVQs-a!Gs1TM!j8bR@jmqT>Hd5?VRcvImiEVwXi4dv
z55!1BbYfD_xYgY+Lb5t*7}6p>9HRerLXVw|>z#|&WSGw#6Jg%1`wwZ}WMKMKT=(bV
zi9Wuk5Bd;<EW+*o7N;R0=kU7To4-cOLd3c=XNl0=b@1*SSO-E|xbKD`On&?OG?L!p
zHWuj4*~TePJU5_;^QZN%$aU0h#e=!089p4<v`&`d!!-N<pHy_PA6>Y4^XBg8DaL48
z&aWgF&l;;|7L$vsr}FbF$-K2PpI=x>jl)4W21meHHs+1|^1@1Tr|&d&E-s%ronOc&
zjpfJlma&jWG!BP0@c(G?&_;3`>h3tul#Iaxm}}bgi90YC+Y)D8OJ`cm(!f4%1)KD?
zF&SU%UM)52t$W^-zjZl>x#yWy>R@WtH#69L^UW+Za;EQlQ&`JcIWuFX4r1^6Wz+IA
z*vgoca-KQm=Q8IqSZ2?ex$`*-<xs&#G1FWML@jfDDwj3Q*%|7b&H3vrlkv`(sn4P4
zmT#HV$a?0wnc>D%cBg{67rb>dHKyT6kBG6;SmMJzK5~$v)GlfJAhCC!cBdAbI52T&
z;;ucB{-anACM6!B0Ds+?sR0aPYBP~9XbUpsdezAkOQlSs>a?;CWmX@_w3~LZRj<Kg
z%WKK}YH~V#d}`3nuvTp7mlPm|f5TD?@WZF1U^;foe@e*3U~rTGcQcQCt_ArFbDE!M
z`mAWgARUERzmK^(Oj@5bf@x8PS)d;SBSfNhT;wshpzvAdUsm`$b6eqo-55Nna7(m5
zzDZ|BG_5gLm(zLXQCX_v_QIsW%c2akz@G+x4w0xmD{>94D*Ri_Zz%i+%%4;O`Wf?c
z3jZDR8HIny{7VX-6>SX;E9?9}EdN7A{$u8UQTVNF=Qj#J!2ErMr<vcY`28aD_Y}Uw
zd`{s8^Ro&+&-_J&SD8PfaF_Xa75+5yUnu+q=C3OJGV`A+oTe=%u6bet2eKI4Hqe%h
z7(~BNl9HX<!$zbQ!_z@cFJe52A>R{vuf&Ur!W+zAQTVTz|61YKu}yY@c?vt<WBI>h
z8BKp;{$GWED0ozo>kYS64=%B7r_HriyO{;drYSp4*$K)Xq-+KnUd1k0Zmn#?X2ss3
z4D-4ReCnPC%Xs|sBCO1>ox(#H@6*+SyD5r>vt@6PrUdS0A-G*v@$UR|*{wK*O1<8Q
zK++C6Lcze|F6>lV4jK-Xr`fkk*k0rUzoQyq>?L~7XC$uoVPF)o@U&TP7D{%}DcO~B
z9i&a+ZKuEDKGk$&T!UTplGngrAn?h4j|}|{B7Tl+;;W_~K$PfwqOBv(3AxgV&ERtb
zZ(Njub0(C>E|H|3v?I^CN4Z~eZtk25D!;7AOFQ3DxU}<Ag-iL@NASNXT-v$96&h~_
zA35G@%+)yM)|OoQ4Zfq{{7AmQ`;P2qBldmf(hj?W?~UL;Qn<7)Zu_WA_UR0l@sAO}
zq}rcUxV(StXHG@*y&qBJrC&qgM};?l<q>wyEAsL_u`xp4SLEfr=Y<jSKT+i6edx6j
z^6xA1^4{}@5%M%Al;}0^s}SwIA_s92e4gu6$bCd7gq$1Va=ukNpQcVslFNH=QqaKu
zF|Jb~_aoUSeiuPZ_XmZDhd8ZiO3^rv1W4qg;(>JQYt^=0#IoHC%Cf9Aor;}qJ6~->
zdc$tpkS?}bkQQ{qDSBIlid%CAfLq(Fqp;|-i^Zn%)Ihi0v};=q+6W}jPb9)mR!yQB
z&7~Z-v@*vPIlq!e-zl*J_|R2#4xeZ`#V>Y>uljdjC+W(4A>ZR+=ISqkdl=NBMp-tB
zXw8sKRsWkRU?nwvTCXZ2QK_%qdsSKbRt+2frAe{^Aje7Lr(2Uc{>PB1HW9%$$S5Yc
zpM%zJ*+;NrnE#j9|BqRb{L@*c`d>vh%>Ntge?RNXLY3Vdq5pf<m){quFZYpb+gKSE
z{~QZSeTtv<uo}OIjAD{<SPc?iQBTS?mooln$)B<T$vM`)pUVmCrEi4lpKi#*mRgyD
b#q>|<C}{4Q>wU<F={I=%msn30iaGcn)t?MN

diff --git a/makefile b/makefile
index 99920b2..5bd6fcc 100644
--- a/makefile
+++ b/makefile
@@ -1,21 +1,22 @@
-###########COMPILADORES##############
+############COMPILADORES###############
 GCC = gcc
 AR = ar
 AS = as
 
-#########DIRETORIOS CRIADOS###########
+##########DIRETORIOS CRIADOS###########
 INC=./includes
 SRC=./src
 BIN=./bin
 LIB=./lib
 
+#################FLAGS#################
 LIBFLAGS=-lmeu_malloc -L$(LIB)
 INCFLAGS=-I$(INC)
 CFLAGS=-Wall -g -no-pie -fno-pie 
 ARFLAGS=rcs
 
 
-#LIGACOES
+##############LIGACOES#################
 build: diretorios libmeu_malloc.a
 	$(GCC) $(CFLAGS) $(INCFLAGS) $(SRC)/teste.c -o teste $(LIBFLAGS)
 
@@ -25,6 +26,8 @@ libmeu_malloc.a: meu_malloc.o
 meu_malloc.o:
 	$(AS) $(SRC)/meu_malloc.s -o $(BIN)/meu_malloc.o -g 
 
+
+########CRICACAO DE DIRETORIOS#########
 diretorios:
 	@echo "Criando Diretorios \n"
 	
@@ -36,6 +39,7 @@ diretorios:
 		mkdir $(LIB); \
 	fi
 
+####LIMPA OS DIRETORIOS E ARQUIVOS#####
 clean:
 	@echo "Limpando Diretorios\n"
 	
diff --git a/src/meu_malloc.s b/src/meu_malloc.s
index 4038e13..950e382 100644
--- a/src/meu_malloc.s
+++ b/src/meu_malloc.s
@@ -7,9 +7,7 @@
 	str4: .string "*"
 	str5: .string "INICIANDO O ALOCADOR!\n"
 	str6: .string "ENTRADA INVALIDA!\n"
-	pula_Linha: .string "\n"
-
-	flag: .string "%d"
+	pula_Linha: .string "\n"#
 
 .section .bss
 	.equ ALOCADOR, 1040
@@ -139,7 +137,6 @@ alocaMem:
 			jmp fim_if_aloca_mem2
 			fim_if_aloca_mem2:
 			jmp fim_while_aloca_mem	
-		
 		fim_if_while_aloca_mem:
 		addq $16, 8(%rbx)
 		movq 8(%rbx), %r10
@@ -241,10 +238,6 @@ print_mapa:
 			jmp for_cabecalho
 		fim_for_cabecalho:
 			
-			movq $flag,%rdi		
-			movq 8(%rbx),%rsi
-			call printf		
-		
 		cmpq $LIVRE, (%rbx)
 		jne else_if_while
 			movq $0, -8(%rbp)		#i = 0
diff --git a/teste b/teste
deleted file mode 100755
index df0132ad4d2865cb6d0e7bde28bb0d15e3072564..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12952
zcmeHNdvILUc|Uh|C9PK0YAxAV*bc0~1_RcvWXraQk-e*jxr^41*fOyV;(E1vB`xf0
z_F-%wM9BhSN0>S-Wn7xnB5etsDVa>tp&nprdkj{Xwy85o2TJMG$v_YYiYSk9Y;5)S
zoqNt|_i8<pna=c&PL8zaJKyhnobNpDx%ZrVzu6buVo?+(lZ9<!#O<*8IAr9EHQ&rx
zfpxN4=402f7FG?!hM$j1h#DnH&kNU*+J&AKl<Yb!2GD8o@q(nw4VXzPBP3cSWCrmG
z&Y)_Y!Ai=Qn*(G=vAUd`1>MgJl0GfsI4Y>LBbMyk!p<%1Bt0tvlT@~k+D5+t;cvj=
z14q1%2<zqf93@>!JKoJksJy_zSx_G@NP3$AGfAc0*I-v8WWNt_38kH)zAN?1jA);v
zf@R)VbZC8tHx_A)MH9J$tp_{Tx32H-WRjjWyxruVbZ_6bo7Y6+ExVRtUW6ZEBoBW3
zS4*qgFEtN-?<f5;FaG@5Pn~RlY~>Hd-#gLpH&)Q5cq-vbu7Ixt?#6FkLc7D%%=Ijl
z%Vt<A9Zh71nWho0WwN1kR*Q$C33huh(A}f0@vQNzgLEXGObDq4mlpm<z7_t5c_}K&
zEsfTa{3gNAH0<XknuF9|GMz8M<s2Ycvui(Bp}9c)CzHDbm*YS(HUFVq9k2SR&dt<E
zPi8H%XVv_x_S4dg&93_mM6)a3LEdn!4<+J9N&f!1S)`S35l>aUe->=}M}fjG?okWB
zQS<N2>=+14o;+9UW9sCo6ep7#s^DYs0oZ)jaBVMRpPnA}G+g@#uaEriKK?u+Rl9gz
zcsIM`IEg5<`oR+f&Yt6TgQtf%{RhH!tKa%BVW6J6Y*h<0>Zz&Cs&YpC#pUecqKCRU
z4@}yRbsa-2EVpF0T6lNrVYJ{()nOpY;As&bMKu>AsSQpSh@k7-C#EncQ?=+(wa|Bt
z*EHn?bmB8Kcj{j*&(5Cs8RDOM4;=)JDMO>4G`=8>7f53@gj25>8Z(B*G(4U-Pa5N-
zafCGf($F|>XuM7u7f2%t4RyS4N-a!IeIKYH{~MBjN%8=BSVK{S3=blT?~ul2(zwy^
zFhd^hDtZ_pIm7xhRb$A{k$huOemlu6B!BPHTm;LC@*7ERBl)BuKTq}-5rYw74auuX
z{zJ$)_WEhwv6GYcVpOLl$ZT>Fkz)d#TmaHgr50=}J86bgxiIaC^AT5=oYNQ=8k772
z2u!|4nt}XBu3%x*K4{b+b@Jy~_J%U+NyDR2so{yr)0i<lw!(Qef6}EYqT=z}i~wYO
zLJL<_pzviN|0T;+(*-qnS}mzES2eW=Gff>|ZnUK^cwQaHZ{u?A?3)oazfs9;4c;2I
zKeQr{f7KPdDQpjp-)9fxKXe81uepNCv^t4N#8|KpwokW^C+df-h4=geQv>krzq_dL
zpnaN6FI4kAc2{tGmp!Qb^8Hs}sTSVkE#c9L`3!|cJfvV@H$v*ePlT91?NY6K>}p|f
zMuz!~RvzYJHQ%Y^8VuJv>}uX;cTHoQ-kfGe$UNNX*U=3w*@qX^$sT@3naU&9VxPI@
zs=LT?jTn2C=E2d6=qql`s~?{Wq2ch;)RM`*^Sm#{_4DX**Eh&ALYDWy68)!4PXT$F
zCdzomKBaPh=;0emErT1wc5XRLmMe;u)0MSGN$c_j>A$S8@83<MJ309j>AVFUBYIj%
z{9pIq87REr-|Zg=9$xvR&5gzDa4XSW{=%g|;fvr+w6NIKQ<tn$8ks)&QP$o5?{bX{
z7A^z}U-T9}_RlVQTg{(V)LZ`}_W@0@y9WJt`v?8^__fnV=GLoEPosaxpIFru+*{h&
z8n%{ouyt%b+rT>6t*pI``cGMA-Pj3A_nJkh`YF&}&;iga=osiN=ogwj5w!4a&|iVB
zz$H!hb4tnsJDGCOr7T-eV?UzQxahvN9KWgG&CcFJ3P_c8je8*Jeh6Kx4Lq$tPQe`n
z#)EXawm6&bXsEm2KE^gL-FWlb71xm>+3mq^1aa;~Jk0NOJ!a{tueJ^-2!%gy9Rxgv
zrA!B9-A>mZS-PFgPg?t&?!&fj=c*^FRA<{`)vB{IU$fQeOFKLL&NjbuRkza(J?M8k
z?fgD{66VjtkBpJr{UQCK2mU|wKpURVcoLK@B}$UgU6?1EkCS?XWAETOg3{GIr+wCb
zURox2yP!)2Z5DF6ZYfFm=a*-b#2>Zzh!ppFZB~P)wTaSki;oC%@O*9`RVVmnK^F@u
z3BPF)gQc00yoUMO0$#37HC)OV?GGrO74=JeLhv$fX^)3@o@D)4CU|?sgg%x_&MQK1
zM(|l77x4cXk^5M4h3m!mZV}WhH}l*4+ueP80=owK+<m)t_<Ody{lV=${@(2^4t70j
zWjC|Hwm?t7zpZz>yC~ZUVc)iao&H|GJFx9ee=yMN2jpNYBlutKUKw#aSTgEhxA*jX
z)xB!>P%e?pxi@$^JZ-J*InK2|+}`PF>+rPSWZ>qwRs%4`*cd6=e^BE02wp1B4E=4G
zCWiizY9Cj4TTYa6b#@0d@py@3SMEo?pa&y62<1u@SvsL%d6ROhz2+1&t&05yB9@vl
zBDR_{9IRf&!72|lZMG_GF=0^kpJY8vk|&~6{52I1Q?bfkZGRHfs#JRc)==606_nnz
zeZCaI)NTb}`(g+=tIYtnU3{EWYVRfdODel+uYscN5|x{4?;@ScRCd>HCY@O-uX6m7
zaHbH`=Ah>So5Gn+ejVB@obfqmlVG!PMs-{un<~!iaI}z3HD~rXLd4jWozULz_>|Nf
z${sMIj@{&7fieVzl*2`gi!)gVEkL$LB?WTOF-6Q($`+6@$7)hrqEJ-dc6^PzH7oZ3
z%RBy!)Rrp=FpoQ2#H>^v1UcgP3sP%U9s_gK@z=z7I5Xk+TVlMNdEW6;V%j+KW5-Lx
ztWjEFbKKEPm9FKnopjtwl66WJ*sHAW2#KDt{~UVFwh3xv?NL&AmWr%)36+09&9&Dy
zQu(<dz%Ev8Zvj?qe+JwF8b}Jep5_dpG@2ZJM50a1X@hw~2l?2n5Z*9`%;q!7pTW-N
z=jCeqpMt4*0aBL(S=D!_de<Q;KF*7ikXIFWkyfzkr9;RU{1gfw<F}C2yaVD2Agf+R
zNaLTNR>d|1E%Ss|zSk6DN)>gj<-0qYhKl7qP2pmBe^aDb9%Wc1pv*o-ZdX1>F0a0r
zxV!v0s-%nSNBAjY%0gwOv#HMNT;^P;G}gGVR$H!OR_9miHr552a5b!8b#<E{M+b<a
z9nEV1iuj3;R?Q8Jh`mX%I_v7lRsmaEUv$(7ZHHj10!_r$$!gF!iV|odi~1J$@j~cq
zg6VCz5jJ!fK47%@Y64sWK)nXAumz25^eCIJmQhnfe9cdHL%RvucB3s88VqG2b5%o*
zIF~uma5@J41V0OViKNO!XFYNS1Hx!fJl;$?%)Gfwn$GIHBjK<YhjiNd4sl{PlE`^C
zc%zAMEEmxYJ;BV^8;atni@TEgEURa-x(6f4SSA~Z=);~-T4=L}QhEkOEQ_c$nly^g
z;6<#InL`;(Pp4ziOxBR0uPt)!EPnKjW5<gBFCUwD<JiQ@$BxPWiM<vJns}Z!noh{B
z&}bIdb2x>I#gaIxqX?-EIhU;0C@q_E`*OLq{Kz9+$aA^=V9WI_oAUi$urI&dPE1#S
zKA&qtsVmsk@9l579@2e}^at}^aNd4OUAg|Ye3y5x7qoqEf7e}ILFmCC54HaOt%ho_
ze_vZydw>6?^(5TXmER|Hyt%#oE!RPHBp>W2rajlcuiq<}w)SEHws+_D^|x4XR;Xx!
z?b=XoSkn^`rX^z$Ejc`#(X+f;6X;h)3YpLWooi%9lj*FRZXcQG1G<*w()-iVtgfZ9
z&>fD2Mlu{EpF^RH&d_h^`}DMdru9&SJHj!oyQjU~xW~F%<Jnw7?;6ojV>Aplln#$}
z8ArhG))9B>a3a~7is~rfL^OO~Ybu@0>fvlM-I~d!lZg?UGBQ}BKBi%??qe|sdAwRU
zm)63`ST3I6@vYI?aehih8t1nJf_+*lmP4GWB(e+|P!zCSA`=}+=n;2#G-Py%u#YA*
z#xD%7oWC0HBWZ2)jnNUgL@uL8)^M-9BdE)a9xeK(uI0zQT0%dF?$uJENV`E`NZeY3
zbQolv(ZVu&8Zo0@KBzRJ>pN(ys6-Tvz=1L!d30tjWegNuQ$YC;qON!nS25}EP>mKG
z$cBbux||}#nZbo6*CCulV|pUVyrapu?j6EPk&5e?_D=7vZf`an8p<RSG-Amdf<X<U
zFTomPK_iDajeae=^k~}nce&Si*2?E&x)!gLthiJ=ExvhTD;Ac4inx_!E8@1|{-M;F
z6}yS!74@r`++URI*RV>@<yJf!j#+)Bs=RE)Td|3XxTCm#C^fP&+%0UC{48MZig<nT
zy<E8;XL0{kjyJHG+DiUi#rI0(`U{!rsHERm+|QNkH!-=7E5{e%ecAp}h?lKwF_Z5z
zN`+Q-74D6d^p~(z74c^FTtysr%?ioN<gT+^Xk~JDYR2WR)Qo?n91xt9T{91-n~sfr
zGHVvl<Ew?$vm>VQ#WM=WPnz%+fitmhk^VNIps=}qp!z6n!B1iH$0ZJ&>Mic?Ng3%7
zehS`<$^AM9ksZaaQv4HFz+V7PyJb3?FHL{XnI())r%Tf*fzttRX*wftI=(GU|0r-e
zoGndf1y0AYrRiS<PA?Kl(^~@nmI<f56~#|Swx#I<&MaYccwCz38I|<^%!JcZE8#yd
z;q=Uc$F*6Pv03CCW&CjsxEwzzsNul;`P0DhdUkV-PpWcymB6DW{6>L4WWqZI{)7qN
zD)0*?JS6b<P5429pE2R%0)Nkhe<1J|?d9=5EAX`@{QCmG*M!rK4A0zbj|ra?_@D`Y
zOW;2;;lCC5KGQn+JAt1y>3=TpDHBdFvnZYwCO=mT++o5O3;a40e!al&FyS2nZ!_U-
z0#{8qg<0wP^+8|3My|KcM*)|mO8VQl|HgUiyvF^^U*|`KzIi=)kmK|3J5O>y^Vk2s
z0^W%Jq_@YExH;%G*jTu6eVOkIf5-K?YFYL}bc73jYE0vG2Kp}eG2ci2nd4ZW#kr4k
zMmx?%Hvc|L=R%dfE0_^}R-5Mkr7P$!N4qE<bGvTh?Uhl?(N3;k&vu&p`++aCEMaY?
z^@mQh7P7hL0l5qf0;hha*YlKgo-?+O$KTAJH~EQ^zNMaxiTf1Pc)Cvbk>3s7BJf9n
zyGrg;0%qS8`f}$d&*Prv`t|HF(|A2A@c%ZA%TENJGU>kpoch5W{|NBLO3z*4bT*UC
z4G&{Wi(Q63g8iwU*0OOej6I2t9flT3Y9q1aP$;HFu#?GXq1-_hPR3I)J*!7N8`j^t
zp|TR5t`ku$lum~ZVK0?UA7aDlP+Zp{xp@2#OiDNnn%Oc{xlJi~tWL62G?Uau^-v1C
z@T@3dW7Up_^z<6a)>76%**ePTTa{Qy3q}*8Ax0Yp%8)0cOq|m0WWm6lJNwx7p4~fe
zXv>D9aV<K`NlG6HVW%+~l0bA=3*nJJq{a0(yMGj02khOFsS=Q^4Z)nE;c*_U$1*w`
z&l#@~b(<04FP+ZCLq^++rX`rD1)W_~6Hq*qLfeahQN)}bPGX-K8q&j|*l3bTpS-rB
zJQh8W)@5AfqGULSO<oeixMin*YoFG)tyjaYsC*!?Rqx%q&A&C!Q!e433jxA5N$XRE
z2eo%6({2xL@Ae0^?OV3&>Ko7o{N32?LXm%D6wc)Ml;R&C`Fv#`8tIWxHpDQC!qJeQ
z1}TzEi*J<5HI0GMGpSIRg6EFszFsQV#ngva<MSoxmVL{_{cOcVfD%p0P$CjD_Mv=#
zs?io&`lrBYf-@}=!#0(|!$AaU%|^o-jtihSl*x#C_^z6NU4;_~K6HstEc(D)s}QoD
z4jEMsZ0!*}&peq!acp}*vuT5l$`Ur~dOF2C2^>av{M~`pEUp2A!(o_bC>O=&Y|#kw
z5H}jij51H;Py+r8irqh#9Kh*F6g%QlMuQA33Xy>*rDE6;^X7W8bT;6jWdO1yA0m%F
zDlYud2y7*1SQsmSVIj+K9EwN7s5J>+$UM9P!x_4bd9W76vA!T!eJD2qyHH{T3zuM{
ziQ%LyhlYmI`T@z|13q1r(N%JV{@+pBS<y3yyg$f&eWw7-J1o*IP1l2=cWu&M?*HZY
zl<rbxl;!<Q!tE%O+RJkSI-94o!XU-mY~KsX7kD=(>pyDoaowY)_^UXI<6}W3*@i+L
ze$xK9#RrbwTXMn<8iZAYQro3{v%v2J#jUDnFV8312t=azN|U+&?tzfrHOl(sIYw64
zJA|=}U+PJEALR7zQu1R~AGa72_HNGM7#*}UegU%wP@q1Q_7lQ>LfFgmAX&e;{f`Ly
zZsG8(us>VD9#4<+`j1|mP+SxrPvUt+P87T=C`%M;X)1szwRa19w@{SvOB<IcNcxn?
zUOpG?5cYp88*Z|b{+=<}%lGT=)EXLsNOjq)B0qr=#V`9`o&(JYL-R?Ax&6<Z?B(~z
z^1I~QATLd3`xhZBtzVuisdD0xuq4Uxm(WQR=uAWmckz5eey42Km%OC^1lxuZdwEXP
zOiq!cp25xW5`Pl{nme+7w>Zy|-+`YM@yq!o?d16X8n&b&?d7@G3<ZTG^$c!){lA5v
z)V_E=CJa|eLqTQzlG6D^slD7+tP=JQU%_6&bdEv3Wc+fU^qjDl^GfPdU8U&)7{c00
zL6oJv+#g7>w3pP1f-FlNqUS{Y`%6KT1zbewjcO%(-$Fy>A=xltVb;Co3ihuoG7Kob
z(qv-U>MPivSZr8*VlptXjLv5WGxy(*#lrQHX#k{sDK)9^ic?FC`j3k1&<*zM_{n)A
n??1Fmn7RlE^j31her6KNdJQS<H7nbnU1ey{XA-5!#IpYZ7uTO$

-- 
GitLab