From c5467769d97b5f87606e2054d81a77e308c684ff Mon Sep 17 00:00:00 2001 From: Camille Chauvet Date: Tue, 14 Feb 2023 17:11:39 +0100 Subject: [PATCH] work --- .main.c.swp | Bin 0 -> 28672 bytes .minishell.h.swp | Bin 12288 -> 0 bytes Makefile | 2 +- builtin/env.c | 26 ++++++++ builtin/export.c | 40 +++++++++++ env.c | 103 +++++++++-------------------- env.o | Bin 0 -> 20624 bytes execution.c | 51 +++++++++----- execution.o | Bin 0 -> 19768 bytes file.o | Bin 0 -> 17840 bytes ft_split_quoted.o | Bin 0 -> 17472 bytes heredoc.o | Bin 0 -> 16320 bytes infile.o | Bin 0 -> 17576 bytes libftx/extra/extra.a | Bin 0 -> 44344 bytes libftx/extra/ft_contain_only.o | Bin 0 -> 3208 bytes libftx/extra/ft_freer.o | Bin 0 -> 4944 bytes libftx/extra/ft_is_in.o | Bin 0 -> 2376 bytes libftx/extra/ft_random_generator.o | Bin 0 -> 3480 bytes libftx/extra/ft_strchri.o | Bin 0 -> 2856 bytes libftx/extra/ft_strcmp.o | Bin 0 -> 2424 bytes libftx/extra/ft_strfjoin.o | Bin 0 -> 3344 bytes libftx/extra/ft_strgen.o | Bin 0 -> 2760 bytes libftx/extra/ft_strmerger.o | Bin 0 -> 4104 bytes libftx/extra/ft_strndup.o | Bin 0 -> 2880 bytes libftx/extra/ft_swap.o | Bin 0 -> 3064 bytes libftx/extra/ft_tabrealloc.o | Bin 0 -> 2912 bytes libftx/extra/ft_ultoa_base.o | Bin 0 -> 4720 bytes libftx/gnl/get_next_line.a | Bin 0 -> 5998 bytes libftx/gnl/get_next_line.o | Bin 0 -> 5784 bytes libftx/libft/ft_atoi.o | Bin 0 -> 2952 bytes libftx/libft/ft_bzero.o | Bin 0 -> 2432 bytes libftx/libft/ft_calloc.o | Bin 0 -> 2728 bytes libftx/libft/ft_isalnum.o | Bin 0 -> 2256 bytes libftx/libft/ft_isalpha.o | Bin 0 -> 2216 bytes libftx/libft/ft_isascii.o | Bin 0 -> 2176 bytes libftx/libft/ft_isdigit.o | Bin 0 -> 2176 bytes libftx/libft/ft_isprint.o | Bin 0 -> 2168 bytes libftx/libft/ft_itoa.o | Bin 0 -> 3472 bytes libftx/libft/ft_lstadd_back.o | Bin 0 -> 2720 bytes libftx/libft/ft_lstadd_front.o | Bin 0 -> 2464 bytes libftx/libft/ft_lstclear.o | Bin 0 -> 2744 bytes libftx/libft/ft_lstdelone.o | Bin 0 -> 2648 bytes libftx/libft/ft_lstiter.o | Bin 0 -> 2496 bytes libftx/libft/ft_lstlast.o | Bin 0 -> 2432 bytes libftx/libft/ft_lstmap.o | Bin 0 -> 3152 bytes libftx/libft/ft_lstnew.o | Bin 0 -> 2608 bytes libftx/libft/ft_lstsize.o | Bin 0 -> 2496 bytes libftx/libft/ft_memchr.o | Bin 0 -> 2736 bytes libftx/libft/ft_memcmp.o | Bin 0 -> 2840 bytes libftx/libft/ft_memcpy.o | Bin 0 -> 2736 bytes libftx/libft/ft_memmove.o | Bin 0 -> 2952 bytes libftx/libft/ft_memset.o | Bin 0 -> 2608 bytes libftx/libft/ft_putchar_fd.o | Bin 0 -> 2368 bytes libftx/libft/ft_putendl_fd.o | Bin 0 -> 2488 bytes libftx/libft/ft_putnbr_fd.o | Bin 0 -> 2736 bytes libftx/libft/ft_putstr_fd.o | Bin 0 -> 2448 bytes libftx/libft/ft_split.o | Bin 0 -> 5296 bytes libftx/libft/ft_strchr.o | Bin 0 -> 2344 bytes libftx/libft/ft_strdup.o | Bin 0 -> 2824 bytes libftx/libft/ft_striteri.o | Bin 0 -> 2600 bytes libftx/libft/ft_strjoin.o | Bin 0 -> 3432 bytes libftx/libft/ft_strlcat.o | Bin 0 -> 2912 bytes libftx/libft/ft_strlcpy.o | Bin 0 -> 2808 bytes libftx/libft/ft_strlen.o | Bin 0 -> 2464 bytes libftx/libft/ft_strmapi.o | Bin 0 -> 3000 bytes libftx/libft/ft_strncmp.o | Bin 0 -> 2840 bytes libftx/libft/ft_strnstr.o | Bin 0 -> 3072 bytes libftx/libft/ft_strrchr.o | Bin 0 -> 2736 bytes libftx/libft/ft_strtrim.o | Bin 0 -> 3736 bytes libftx/libft/ft_substr.o | Bin 0 -> 3312 bytes libftx/libft/ft_tolower.o | Bin 0 -> 2184 bytes libftx/libft/ft_toupper.o | Bin 0 -> 2184 bytes libftx/libft/libft.a | Bin 0 -> 121404 bytes libftx/libftx.a | Bin 0 -> 6070 bytes libftx/printf/ft_dprintX.o | Bin 0 -> 2528 bytes libftx/printf/ft_dprintarg.o | Bin 0 -> 4760 bytes libftx/printf/ft_dprintflag.o | Bin 0 -> 3008 bytes libftx/printf/ft_dprintl_base.o | Bin 0 -> 2904 bytes libftx/printf/ft_dprintptr.o | Bin 0 -> 2928 bytes libftx/printf/ft_dprintstrtab.o | Bin 0 -> 2856 bytes libftx/printf/ft_dprintul.o | Bin 0 -> 2520 bytes libftx/printf/ft_dprintul_base.o | Bin 0 -> 4624 bytes libftx/printf/ft_dprintx.o | Bin 0 -> 2512 bytes libftx/printf/ft_eprintf.o | Bin 0 -> 3360 bytes libftx/printf/ft_isarg.o | Bin 0 -> 2568 bytes libftx/printf/ft_isdigit.o | Bin 0 -> 2176 bytes libftx/printf/ft_printf.a | Bin 0 -> 55904 bytes libftx/printf/ft_printf.o | Bin 0 -> 3344 bytes libftx/printf/ft_putchar_fd.o | Bin 0 -> 2368 bytes libftx/printf/ft_putstr_fd.o | Bin 0 -> 2696 bytes libftx/printf/ft_skipflag.o | Bin 0 -> 2872 bytes libftx/printf/ft_strlen.o | Bin 0 -> 2472 bytes libftx/printf/ft_vdprintf.o | Bin 0 -> 3832 bytes main.c | 8 ++- main.o | Bin 0 -> 22672 bytes minishell | Bin 0 -> 113112 bytes minishell.h | 13 ++++ outfile.o | Bin 0 -> 17616 bytes syntatics.c | 2 + syntatics.o | Bin 0 -> 17256 bytes t | 1 + utils/ft_getstr.o | Bin 0 -> 4480 bytes utils/ft_is_in_quote.o | Bin 0 -> 4248 bytes utils/ft_printn.c | 25 +++++++ utils/ft_printn.o | Bin 0 -> 4128 bytes utils/ft_strnchr.o | Bin 0 -> 4088 bytes utils/ft_strncpy.o | Bin 0 -> 3952 bytes utils/ft_strreplace.o | Bin 0 -> 4824 bytes utils/utils.h | 22 ++++-- 109 files changed, 199 insertions(+), 94 deletions(-) create mode 100644 .main.c.swp delete mode 100644 .minishell.h.swp create mode 100644 builtin/env.c create mode 100644 builtin/export.c create mode 100644 env.o create mode 100644 execution.o create mode 100644 file.o create mode 100644 ft_split_quoted.o create mode 100644 heredoc.o create mode 100644 infile.o create mode 100644 libftx/extra/extra.a create mode 100644 libftx/extra/ft_contain_only.o create mode 100644 libftx/extra/ft_freer.o create mode 100644 libftx/extra/ft_is_in.o create mode 100644 libftx/extra/ft_random_generator.o create mode 100644 libftx/extra/ft_strchri.o create mode 100644 libftx/extra/ft_strcmp.o create mode 100644 libftx/extra/ft_strfjoin.o create mode 100644 libftx/extra/ft_strgen.o create mode 100644 libftx/extra/ft_strmerger.o create mode 100644 libftx/extra/ft_strndup.o create mode 100644 libftx/extra/ft_swap.o create mode 100644 libftx/extra/ft_tabrealloc.o create mode 100644 libftx/extra/ft_ultoa_base.o create mode 100644 libftx/gnl/get_next_line.a create mode 100644 libftx/gnl/get_next_line.o create mode 100644 libftx/libft/ft_atoi.o create mode 100644 libftx/libft/ft_bzero.o create mode 100644 libftx/libft/ft_calloc.o create mode 100644 libftx/libft/ft_isalnum.o create mode 100644 libftx/libft/ft_isalpha.o create mode 100644 libftx/libft/ft_isascii.o create mode 100644 libftx/libft/ft_isdigit.o create mode 100644 libftx/libft/ft_isprint.o create mode 100644 libftx/libft/ft_itoa.o create mode 100644 libftx/libft/ft_lstadd_back.o create mode 100644 libftx/libft/ft_lstadd_front.o create mode 100644 libftx/libft/ft_lstclear.o create mode 100644 libftx/libft/ft_lstdelone.o create mode 100644 libftx/libft/ft_lstiter.o create mode 100644 libftx/libft/ft_lstlast.o create mode 100644 libftx/libft/ft_lstmap.o create mode 100644 libftx/libft/ft_lstnew.o create mode 100644 libftx/libft/ft_lstsize.o create mode 100644 libftx/libft/ft_memchr.o create mode 100644 libftx/libft/ft_memcmp.o create mode 100644 libftx/libft/ft_memcpy.o create mode 100644 libftx/libft/ft_memmove.o create mode 100644 libftx/libft/ft_memset.o create mode 100644 libftx/libft/ft_putchar_fd.o create mode 100644 libftx/libft/ft_putendl_fd.o create mode 100644 libftx/libft/ft_putnbr_fd.o create mode 100644 libftx/libft/ft_putstr_fd.o create mode 100644 libftx/libft/ft_split.o create mode 100644 libftx/libft/ft_strchr.o create mode 100644 libftx/libft/ft_strdup.o create mode 100644 libftx/libft/ft_striteri.o create mode 100644 libftx/libft/ft_strjoin.o create mode 100644 libftx/libft/ft_strlcat.o create mode 100644 libftx/libft/ft_strlcpy.o create mode 100644 libftx/libft/ft_strlen.o create mode 100644 libftx/libft/ft_strmapi.o create mode 100644 libftx/libft/ft_strncmp.o create mode 100644 libftx/libft/ft_strnstr.o create mode 100644 libftx/libft/ft_strrchr.o create mode 100644 libftx/libft/ft_strtrim.o create mode 100644 libftx/libft/ft_substr.o create mode 100644 libftx/libft/ft_tolower.o create mode 100644 libftx/libft/ft_toupper.o create mode 100644 libftx/libft/libft.a create mode 100644 libftx/libftx.a create mode 100644 libftx/printf/ft_dprintX.o create mode 100644 libftx/printf/ft_dprintarg.o create mode 100644 libftx/printf/ft_dprintflag.o create mode 100644 libftx/printf/ft_dprintl_base.o create mode 100644 libftx/printf/ft_dprintptr.o create mode 100644 libftx/printf/ft_dprintstrtab.o create mode 100644 libftx/printf/ft_dprintul.o create mode 100644 libftx/printf/ft_dprintul_base.o create mode 100644 libftx/printf/ft_dprintx.o create mode 100644 libftx/printf/ft_eprintf.o create mode 100644 libftx/printf/ft_isarg.o create mode 100644 libftx/printf/ft_isdigit.o create mode 100644 libftx/printf/ft_printf.a create mode 100644 libftx/printf/ft_printf.o create mode 100644 libftx/printf/ft_putchar_fd.o create mode 100644 libftx/printf/ft_putstr_fd.o create mode 100644 libftx/printf/ft_skipflag.o create mode 100644 libftx/printf/ft_strlen.o create mode 100644 libftx/printf/ft_vdprintf.o create mode 100644 main.o create mode 100755 minishell create mode 100644 outfile.o create mode 100644 syntatics.o create mode 100644 t create mode 100644 utils/ft_getstr.o create mode 100644 utils/ft_is_in_quote.o create mode 100644 utils/ft_printn.c create mode 100644 utils/ft_printn.o create mode 100644 utils/ft_strnchr.o create mode 100644 utils/ft_strncpy.o create mode 100644 utils/ft_strreplace.o diff --git a/.main.c.swp b/.main.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..35e105dab4a21699c932cd1c12a87f8ef3ca57bf GIT binary patch literal 28672 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 literal 0 HcmV?d00001 diff --git a/.minishell.h.swp b/.minishell.h.swp deleted file mode 100644 index 6f50c2dd5d7d04fb2d4f90e24d09f8d9a2ced423..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2J#W)c6ozlvB3h{EiiDdiAuUPMRuHKOiJ_vAS{M+FSdM)iU*X!p_c(1pPzD&- zL1N_xFd#-|egOj`KLAh%5HRxkBPB^K7%CxEI+otpzUSQY@!V@EQQTR&-QF@<^`^iv zE5zH!pY5;W>Gb~Vv%&^P=vK4g0*q7U~?ncGlkA?votILgT6)5dV z-~V$}_loE7C=*};Mxe;lIul?5On?b60Vco%m;e)C z0>_B}^`^ug3OpgYhtXa$;szMm4}8}tEs3AxZkXd3!7Bg7l%3Dkw! z&;s;pT8Q`13+Oqt2R(#(PzSmJU4>fEC1@Tx2hBoL&`;F*BdP#U;<2l z2`~XBzyz4Ue;`nifume}-7b;oSY)kjn;rRUFFN%>Z?GGT2*k^n74~kx{}PqZuTtl#@fy1jYdlS zls0!FMKVD>=AQ&8@{XkC{L@(v0fbtzzAb^y=`8Y)SQ4f`h2on#1Kx(`5^hR)S>t4#xh$E9PXvIWH~Q(y)sP zlG=XkNaJ#XBUz$`hfNPk>v9aIjm6b;T diff --git a/Makefile b/Makefile index f88bd84..d33b5a0 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -UTILS_SRC = utils/ft_is_in_quote.c utils/ft_strncpy.c utils/ft_strreplace.c utils/ft_strnchr.c utils/ft_getstr.c +UTILS_SRC = utils/ft_is_in_quote.c utils/ft_strncpy.c utils/ft_strreplace.c utils/ft_strnchr.c utils/ft_getstr.c utils/ft_printn.c SRCS = ${UTILS_SRC} main.c file.c infile.c outfile.c heredoc.c syntatics.c ft_split_quoted.c env.c execution.c OBJS = ${SRCS:.c=.o} diff --git a/builtin/env.c b/builtin/env.c new file mode 100644 index 0000000..f97a271 --- /dev/null +++ b/builtin/env.c @@ -0,0 +1,26 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* env.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet content); + current = current->next; + } + return (0); +} diff --git a/builtin/export.c b/builtin/export.c new file mode 100644 index 0000000..ef2ba11 --- /dev/null +++ b/builtin/export.c @@ -0,0 +1,40 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* export.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet content, '=') + 1; + key = ft_strndup(current->content, + ft_strlen(current->content) - ft_strlen(value)); + if (key == NULL) + { + ft_lstclear(env_lst, env_del); + return (1); + } + ft_printf("declare -x %s=\"%s\"\n", key, value); + free(key); + current = current->next; + } + ft_lstclear(env_lst, env_del); + return (0); +} diff --git a/env.c b/env.c index 851a496..9b79576 100644 --- a/env.c +++ b/env.c @@ -6,57 +6,17 @@ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/02 14:39:56 by erey-bet #+# #+# */ -/* Updated: 2023/02/14 07:32:43 by cchauvet ### ########.fr */ +/* Updated: 2023/02/14 15:21:28 by cchauvet ### ########.fr */ /* */ /* ************************************************************************** */ +#include "libftx/libftx.h" #include "minishell.h" +#include "utils/utils.h" -int get_index(char *s, char c) +void env_del(void *content) { - int i; - - i = -1; - while (s[++i]) - if (s[i] == c) - return (i); - return (-1); -} - -void print_export(t_list **head, int fd) -{ - t_list *current; - char *ctn; - int v; - - current = *head; - while (current != NULL) - { - ctn = current->content; - if (*(ft_strchr(ctn, '=') - 1) != '_') - { - v = get_index(ctn, '='); - write(fd, "declare -x ", 11); - write(fd, ctn, v + 1); - write(fd, "\"", 1); - ft_putstr_fd(ctn + v + 1, fd); - write(fd, "\"\n", 2); - } - current = current->next; - } -} - -void print_env(t_list **head, int fd) -{ - t_list *current; - - current = *head; - while (current != NULL) - { - ft_putstr_fd(current->content, fd); - write(fd, "\n", 1); - current = current->next; - } + (void) content; } int strcmp_alphabet(char *s1, char *s2) @@ -139,22 +99,6 @@ char *get_value_by_index(int index, t_list **head) return (NULL); } -int is_start(char *big, char *little) -{ - int i; - - i = 0; - while (big[i]) - { - if (little[i] != big[i]) - return (0); - i++; - if (!little[i]) - return (1); - } - return (0); -} - char *get_value_by_key(char *key, t_list **head) { t_list *current; @@ -162,13 +106,39 @@ char *get_value_by_key(char *key, t_list **head) current = *head; while (current != NULL) { - if (is_start(current->content, key)) + if (ft_strncmp(current->content, key, ft_strlen(key))) return (ft_strchr(current->content, '=') + 1); current = current->next; } return (NULL); } +int set_value_by_key(t_list **env, char *key, char *value) +{ + t_list *current; + char *temp; + + current = *env; + while (current != NULL) + { + if (!ft_strncmp(key, current->content, ft_strlen(current->content))) + { + temp = current->content; + current->content = ft_strreplace(temp, value, + ft_strnchr(temp, '=') + 1, + ft_strlen(temp) - (ft_strnchr(temp, '=') - 1)); + free(temp); + if (current->content == NULL) + { + ft_eprintf("minishell: malloc failed"); + return (1); + } + } + current = current->next; + } + return (0); +} + t_list **init_env(char **env) { t_list **head; @@ -183,12 +153,3 @@ t_list **init_env(char **env) add_sort(head, env[i]); return (head); } - -/*int main(int argc, char *argv[], char **env) -{ - (void)argc; - (void)argv; - ft_putstr_fd(get_value_index(10, init_env(env)), 1); - //print_env(init_env(env), 1); - return (0); -}*/ diff --git a/env.o b/env.o new file mode 100644 index 0000000000000000000000000000000000000000..c59381db45d7a639952112a53a59104d298f647c GIT binary patch literal 20624 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, 1); dup2(cmd->fd_in, 0); - execve(executable, cmd->args, env); + execve(cmd->executable, cmd->args, env); } else waitpid(pid, &return_value, 0); @@ -72,16 +85,24 @@ int ft_cmds_executor(t_list **cmds, char **env) int fds[2]; current = *cmds; - while (current->next != NULL) + while (current != NULL) { - if (pipe(fds) == -1) + content = current->content; + if (current->next != NULL) { - ft_eprintf("minishell: pipe failed"); - return (1); + if (pipe(fds) == -1) + { + ft_eprintf("minishell: pipe failed\n"); + return (1); + } + content->fd_out = fds[1]; + ((t_cmd *) current->next->content)->fd_in = fds[0]; } - content->fd_out = fds[1]; - ((t_cmd *) current->next)->fd_in = fds[0]; - ft_excutor(content, env); + content->executable = ft_get_executable_path(content->executable, env); + if (content->executable != NULL) + ft_excutor(content, env); + close(content->fd_in); + close(content->fd_out); current = current->next; } return (0); diff --git a/execution.o b/execution.o new file mode 100644 index 0000000000000000000000000000000000000000..6a78a99c85f530cf9d81e2176d2a121d26922428 GIT binary patch literal 19768 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 Jm;Asat}oj|TfGgq3i=f&JR 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 QChDIi{SWv(RfYHeALs144FCWD literal 0 HcmV?d00001 diff --git a/ft_split_quoted.o b/ft_split_quoted.o new file mode 100644 index 0000000000000000000000000000000000000000..377f37db82a6b701e493b0d89656610fca7745f6 GIT binary patch literal 17472 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 literal 0 HcmV?d00001 diff --git a/heredoc.o b/heredoc.o new file mode 100644 index 0000000000000000000000000000000000000000..985bf7648188334b4ddb7a8e99599e8deb2d60eb GIT binary patch literal 16320 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 Ll(*!)Pc9mV+HvdvmD7BcZqViVwbwfiJ3UhOXX z-pY~_(*)ZjiW35)AtoU;v^^;_1d=qN{55d{jY~-zNQgsoPJjf`7!0kGy4V2|cV_O~ z-K&w@)6>&?tbKRBJ9qBfnYnZC`|+Q|de#R60ZW&FwaO|{8nvv!)unnTRXeTe)->xs zYiGZ+t$XY@-TU5L&^@;I#iOw|v9?B@akASf5gWF#0J{UXM9eA$x5o^VY+5>MP z%fW3Y0e!K1>{$2M(c{Q{;7IL(pJ3Cz*vY`Yy>D86<-ypS+$g0KRuP*4Ycbtpu`}KK z_MWi{m5-i-^7=hA9DpopEcWJ!`2X0koI0N92L+404jd`eo3vtChtT&>dyxJpUTG>Y zgvl#a1v~7A$^QC}=gz?lpLxnKV+)w^IN0wD%6fgivfptMR7UaKp!UoOG1VlrN|2iO2`dIALzP+ccLdDV8sTLfi z4afkI^N^ea_(lKg(QChVWNGY_KXv@j`;QcUAQAr}7-yazhTn?{=bPEYS)hG?0QM!H zOk!a&-O=OA-#d41EOu5|^5}67dK@_7H}2be*18#@?<|Lma&`!SXP)Y)v8*zfsAXYv zTUIsxnB`QkL{T;PeB)ApLXmQ8C@Zs58Q%((5fzHq2K!|+>P3os2Ao*kHpJc^j3h+1H=UMyc2c>*-AL!$fx z<(+s{#NrCnC!&Zeh^SM<5+Y_OVkr?VidaU(d_^oLVu2!75V1rND~ae-L?;p5idaL$ zHHuhE#CAno+3*7Bxle#~^wL+c6r=_GNXCV>>Q`pN?xcnO4-k ztc9FGCX}W|!WxgXvbGEsKaDg4DkUavUtKd7+dHAd2e2K7na~R`qSse=pW|)IJAY zr(;)|&}&+dMeDV$`trJJo0n*HDw@3t72&s`*9=6|Z-DAS`VA?Iv_zNH#ULk>5u(ed zW1Wc=<(*KEG`X3i646|!S_>lSynbiH`(lbU=r2#4U>1 z5p3)t=)ofN(O~1X1U*`Wu2WoUFeg}x%SaJBO`^}#Ibm8lX|~*G5?Pb*Ok&s+@G-OH z7L&NuBt9FwpaG&T9Kpn_G`w9wiZ~RUy_niDT`K6l;Oq?qVXjut*Gw0EJvak%l4|*8 zuwj^(pDy-)#AJTVB%U;hzc+~=1sng4#9+2mlK)jfig?8&P6V6ZAZFYLRQu`RtoI1Q ztgfK5rWryZW0_Qhnl7zGo8V@nn4=*QsfhYe^HtQ2SzSSmX8&0xF~=n4n#6pQxZETb zm_&z3EH#N0CedXQSD8ewNqkrlHRz#+D&F}6D)H1Fj)nmOJ3;okmkgrn_f6>qNY%e) z@H}MjJY3?bd$)wwoi*z38TCI>ovc@98R@GoU=pDKolz89nMv4zQpTzan=R#LOT;89 zP0>{*QDYKyCNae%rkO-jfWlxVnk#U%-HBH&8~GZz=MK2PXhte40HCl_`PuMeD0V(dOusz|`_O*nEQx zRw%lxYI)VtstxsU2Q$~Is#*mcaFfJU@S9x=C@dztAXoYOExbfJR9_qWu5Mb<1o6cX ziBnMJ^uWBP0I*lt)T?^BH4ivz0)Y+n2uCjjxE;jT)(1k-sw$-nw$#-ax-9{YDJ5m$ zI9v~{IA;BYV4rC?iV`>-2SEKANHS#Y#xjt+stT1aNuMzv`p*KXO)yMEn*fKI*%nyc zq^*LY&{&-_?pjOJXtoWl@N6;*=3MNLzy)nEoDw*p_iWQZ$UNsf%rK|R;g3!hDnS9I zig|adF}ywm%pq$JL`op=ZnOq|>A4cp?FBF2o=)|(4!i)-;6tqAc68V7ZXLG)j$mU(u=%ofS@w966{CpwdJL@;}!~lS_UaEnB zRF=6$J;%-G(;!rd$ft2I7}*0Ff@POGIuy?_;iu9`913u)w4(gf5aOWIAV|vQM-^<@ zkcXAeU`Eqz`?OtFup|5Is%!1=F}ukMmIZFH8}Jfov+ezM`3~D2u&WQ-<;U!BkA2Y& zyZS*p@`PPeuqzMS7eyLMbOi`{9GPmKuq%h{vdI1??V3#@V_cI`)?X4m!D<&hnBEhusa{N8C-7ED&SO_+xoZ?{|U za?Gv<{$sYi(QZb%->w=^V(qe3pwTYYs1Y>UvCuC6FFX7j+a}G+25?pt!=P#~2=VDS z+5UdVxAJKxmv^01CRgyC!EAPy!-3A5HpL4dVV~yt2LJg{Spuktq_da4E9nDiFDi>)XgwBG$i^B+Hz>ZeT9B&{kGn#*Ia{B zN@WI9u;h%XA*yW9U&tiXwA^7g!$yPFzPOi4OtcfU41+Pb7Y4kQi~EC?vtg41gJL(= z>i1ztw6&E+-RY;0!6oJrv$(#ao=}`a=x21w05#!a#TH+ zMTchG5#OSPMXq*ODOlLBF0GBR9WZ?-*1L7{4$E9<cR2n_0Vh@{j7Zm8EJY~_OlS45^sNGa>A)-<+ zXHU0)Hvr-xROn{OQkXy-ygBtC1%bYpf|R8>%yZC)wk4(1EL5I!F!(K}KOGIKiSCP9hoMGAT zf?&lBBLiEH5&TYn-gWaZJ}%O2y;p8>*2cOv^jfr$p}%3*Q0^Sp4JMex_-)Vhd+meS zA=hh9Ku{HiUBA6!Q9D>N0Q0^8$QU~^2oXbtFtjFywmCUzC|s1UwAR)W)Aylcjn~a++G{EU1p%<>nXN;J1Junuo9$qexmY|!? zNjz~{m!miq>}ok$FeF#21Lko&7jj1?;X3R-U^d3-&lWOCWtDL%WAeuoq4m(wUkrDO zA0upVsY7Oky{c$`7-k5!49b-%566?3*0Z>%LF4|^2;>xWKcy^;JUxycA9gig<$rW7 zY($y?ja%GdQ3M{sa0*Fx5?knAnJgqLSg^2bK)#jv%q!%euje`O9HvOv72M2l3iem1 zCF7&%)W9HY0Dck|h3U5>m{^&s7z-1o>lOOdbZJFz=-m?Ayp<9(pAjugvwSX52fgA{ z)l$Jk1lAbJfyGqv@GN&Ip75L@*N^L!uu&}t8l-2#maV1KLSE2z&^vy~okh)IVvs%I z;OlshM2uMR#)TFf=gDiBm5RI75Ly-`@rl9Q7a$JNXnhbNd}QL43jvsg9TWB_Xm;~( zKyYwpAEjNCH={+C=jPxr1}7fm!q|bu4BmkZ54m%Xizpm@d>S1IfYm~DhUx5NY#B!Q zD@Ri>&_R!m@}vj2U-{555p3QCu#3(HrEL$~kk4W_+(K~ofEgl*VNC{7VN71RGS(B@ z8ncS=1Z=1f_B2cf-pUMsAyoX~GP1~lz^yhn$2gApc+i2CV#1jajywpQTfuCTZ@8pf ztoKS3gbHyGl)Q=4)*9+K8Y-m0N*DtAgrGt);ipG*NP;|;Wf(qLz^wt+HYIdCZc(bx z=LhuG;tmx>YIV7KXbKn1ilxLs`-WD@EA&Aakgg3f953JZ>QmXH!YGnpOZO{wi1`c|uWcA|VTeqh>T`XL0=xVq7E@dgaG4R$^63>Z75)1!H_ z;H=radCd;o?BE}42M`FTixC0EeS|^*Z!Y$zgEh*eLzec1mva*-b29`%un-ESG+bH6 z?FGxi5%pOYa$o|Ux^=Bvx2$FUw!T8fFQ}W%)`bP47T&yQLED0kwuP4{9G`-~a|?R8 z1Wz3B4i%q(96=18G*Fqw*TA05R$!zq&|F;}xgDOE%mN($u+YQ8ShVie;JTV{XjK4M zsBML6R*xo&?K_I?*Kzwsyz2JgTI_z_0z-q&zdJV>Luk@3nQ$(8HsgDRX!heVct{U6 zz)@7u4?^*!AmWX^_H5)arkL&(C>CzjB}FHVRlWWjUONeaKa zoX`?duMsD~;R6>@E&-ZeUR3!4n@JrBP1Jh*!vJa-;^|9SAS^We7uJ{A1+06!h0 z7z3>I2ypySdcys_)77(S?V28E)B5#WVq2Z9Yu5I}9C~JfcYSS3G6^P+|y&`!MlD7@9ZFPxEbRS$OhC63a&l;P~$9q$Ofe!K`4k%g+Gno zjvy4o;n{N${}zH!5XZHv`JX`$isb*Tf(f4vbwagJCtegX%A0uT17 zpjyQTs!+#ufCc&SPnR~XXgLX{b;Ja`|0>IWTHxPj z`gwuB&HBG2@PA?do)GvNrM7iO;J;$~*nHLVdb~n)m@4q6SpPW!{}|(!3;bP{vsB>t z0V9_60{<=BVT-_j%<^{%{4q{cLjpg|{Cfm`oVVUj2^>Ea!Sbg9@8Y<SgoFF^(<|0wY9bNoCf@Y`6Q(*pk#&r9bmJ?ufv zk>jUJ;2rFjguuVV{5r1nxN-LT=LP>i^L!o__#(F33j$xraqvf~;wu$xsrQrA3K5q#8VYc&W zfjc}e^?wXX`5!;k#xjNDOOG4k_?#{99@g_Rfq$3zmk9h#)+Z+LHr9W$z+YxP9f7~f z{z?nHiuE5AxXbcy6}ZRpzaa3Rvz&Vc{%f}XHw6A|=6_t^|H1r61@5vxUJ&??nEzJ- z?`3Sgo=dt`}1diVdV>u@9&1}zC z1^#b5FP(?9{eQyw?LEQ&5X-4#y)-|5-jC%1fj_`v`|%Zl zf1J-1ZwXxApT8sUudw_^?uX4--OKvubBe}0dA|6CCl-yju-%pm{8^UMC2(!WEdpQ0 zapeg7EZcLJz*n*zb_=|N{k~7&Z!!Pp1^zbML7zkQy!JBwfZ$)letbmWuQL6Vz-O}l z&k1~p<@{3M`XSsK0vma|0Qf5CEM z0*`RM*evkdc%5F)IFcAT`Z=;M`0@WJV7XJ^mvOv(Rmjor556P#wVdY!{sY$Y6^U~m zJ0avNZ7l1Lf?vy@&+($||8br#i=*|zrX*4NS--Y}mam`dO1y;`aQbWlLOKPm?XXke z+Rj!ReC`9U?BVL?)pbzU@@_ibMsK^@=%cQ-KF_n-2u;EVclbqHf7WVK^>`nAR5m=W z8NMKZx9a1&;9E)E1;(-3;6)z2Z*R-Md)zj7H3r{U!ncQ(qT#!THhAp`uPpshmhBG0 zYe)QW?*FB zSI&PeU{WUbO!I=!_hE=(k-Xa`!H};R2ZXXfU5dZ5|25Dunf^0YsV=%dibLI{{wctu zOzgRl$N#puI49vv0yf$B-8??N55j3xMJHT2H7_d5>QxzsCE7#lifZy2)2F*Q82y$$K|6VICA_vg){hOQ|c>^!zpaEvTSO*?$4| zAJL3_mHi(Cd@}p*Wczn>KeT@x{OSJMFO!XpUGC@cx3gmS?r^gHxb4Wbi~TLmABTu2 X{Yd-a`?tyZ-_QC#QR+%H+5f)*v>)mG literal 0 HcmV?d00001 diff --git a/libftx/extra/extra.a b/libftx/extra/extra.a new file mode 100644 index 0000000000000000000000000000000000000000..b05f88ce84eda19afb3d815ff0dceecd807b97fe GIT binary patch literal 44344 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%0DtklS%;N9`--bY>_} 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 literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_is_in.o b/libftx/extra/ft_is_in.o new file mode 100644 index 0000000000000000000000000000000000000000..9ac57679739ba6a8920e6bdd498aeab6abe4b698 GIT binary patch literal 2376 zcmb_d&2JM|5TCc}brKA_PSOu3RTWjO5JFjpkV=6f>I%7p3VLXjUMjHG&e~pKuaUh@ zQ=l|_Rf*tGq#pYR@F(;`LP#9wvB&lgsANurTP2X(nf1(O^DqY_MtW~%elzptz46TY zhtiqP45dIw!3o&b1O?czw&h|h7QsQ!<)zJkiyK=@o8ND3l%6~)^~tt$yR@}bJ==Hg zXU1>*2hPoT4Rr3GeRA|q=hkk-AC;a{!pCpocDvNS@jz{s`j3Ab3|8_ICo&*>FH1Q0hksT44s|^$Smwotq;JoPvmkr zfUE=L09SEkC=rauFQ-erNDYJxfk{zclct;ychk6gaj5l%T6?HnLY6V^k~^qL@`SjK zRwhfPSk7V*E4?u4%~YFSSf5$-JKdli&K#b1=iIs3BfZ#o`06}r3+_iyi^@T_9E5Ha z3Sq5VXtY~?w@|G%yxyuG6&B_Ttso4#4ZqneG=oYlS}XW#QO8RHAqXSrMjgNq+#rBg zy8yic-iUX6)uk^%t>xAJ-DBfFVfo%goEB01>`(3dkH*P8S)+;`fa$2%@8hnNdS>q- zMpeh9k{jaFVwy+_ZaT`!?E1%==vn#f@0M}g8p}4UNfhnRtuYttS^vW_?wq$&&#>^! zVf={w8e$oEIv8OBbNdJ0VK&h+icG*R96=^vcWHDC^{LePacvNj6Lz7T<}n_^>%q zK$;pd5PX*Pw^Dd&RN54{9G%DCjMv3^R!yR0v3_!ZXqmrd?Z z!$%Yk401VN^vkhz8~>K|8Rm5N^!*Er>+b@0#jo`0Wv^1{_^aSXI1}Jj+pU(5)4)a= z3b*4oJ=TM;)=rud+^`+_?x`=9XSn{D&FGer1zys;)I_>qsVE$BkAT&8FXKo3&bw!?u!h_+{+R2e$hK9jH=(S3`(7- zeiOJPUU2#z=yyUWxlo;y6zRSm+D7I7Yeatfy6XAALd-lfpwGrSu7srj1)%#A>G^*~ UOs^gJ{mtM#QjjQ)W<<~bKY$V0v;Y7A literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_random_generator.o b/libftx/extra/ft_random_generator.o new file mode 100644 index 0000000000000000000000000000000000000000..a64dbb0eb173ef223a76f23105a0b1e8f5761ff4 GIT binary patch literal 3480 zcmbuBU5Fc16oAjnw)F>_Dn3~Hu=wP|3M~k>Aazk;J!j_L-N`unARd@| z?)mOH_iyH&J1=DqJRwUG2$5hHtXP5qO!lqRGj25lL+E)(Z~vmVe$D9Zxm$X>c|*S> z{L**chZ|(HvkR@cg{9=_0W|b0*+qgk&tq|kM!Gn(6+B11ot@WPbMp{zJ%wJKxdpw` zoWC$AoUdfBBc}ekuI^;J7=Kys%+0%_>g_M}4%!cOldUb}*ul;_2fN9Ok(iRb-p*b} z($!m+B@FA{{CsI?X(hHmtp{)D_aD5KzNY_iTW=p)ME6C#^-bpR*Qug8o3ah7Sg(OJ zB;A)7VM=0f{iei_G^_&1NgPhO7nH=Vcsvde(a>pF&1_H-562&gZ{4_W26p-tJ`sG7xbJ9njY7-Y1_uOH{HhciE*?hvnYPU0XvK2EI)rK+ zXVT-!PPS1kv&|UapJUM+i(oJE zr!0Dy$;8wb*bwSCI!c@?&g>!0n~5b_JG~(bKH(L(~J&P=E!I zYb$^+AVd_PjMgjX&>ZYVuJz6;TthzWo2UEkk*v{3_*<*+VdNyVjqU+-Er5Ht zrUZdG3jW6YN8%o5w29NI1#e=VggB)g!CxbYLcAXz!G9!(LOhC(;Fup>Azx|}B2pP~ z|636A7krEdtmB%v=#$W0K2H7Y;r3>(X&?Mw#RHs+{$J$w_Er3M2mDWP`>6mInecFc zf57b{0saZMj|KP_+Hmio_V3G!{P_NZY%&**|;n-oh ziidc;RIE}R>NBQAo)}QYnr77ZV@zG^%b z-4uXp+Hb$mJwwcYHmE&A1&YWsp7rlsL;o=T^C|p(=7;kP2b81e{fi8_f%BhG)A-}u z7HWb|RGfFg#r*wR)P)b}42Ly8#Cp(oZwRB1^W5=UGJFz@e;nJw)<45Hw95l%{e*(+ z--3)>w&CNK20tu6_#xKC_(D@23yaV2kAm(Ezlb=Y^Vlfrem^VhqYCkT-D5L+y31Y6 z@c13e#H)z)3w#zUVf(j(JBsgw_K)r#5ij^@WMT7vn~(n|w)-XMdlDPN#(z3we7ePh shrYB7I zge17G5VIt%NLCOdA_xjD=z@YCJh((X=pH?K+FU#Y51YLOJjAN*S4mHA6vQIk_3Epy z>bP;?W&OWUw3a}_}1`aGn0cu?bwb6du>zNB$&_U6RqW52CtZWwPL>2M~J%e!EFu!*jB zGB>U$#)?4y_Fzcb$}Vpz*|p5p_EpS(kTQ(woIJ@PYnfeS?!Nr9GN{~_8Wvh=;Lc;I zL1jn>Pz_{hCVGbS=}|3ps`v5U`;X2HKXDWwAwZST%rJnM>M->Ym>CWO0J`o4Ep?{1 zw-+F3AdX4Dz$bwZB0*96f^q!y4FamhC|SyjWGO}y-wE~dTxh);S_Go+GQNd+`PIN0 z+#sbd(Hljp>r{3U^~Yf6L^4SM!B|)H&jKGNHv^$k^B^@3X+o3~q@({#rs zCe3kkJpD*Ja8A5AiPn_)C{+Bs=eJ6=mSdK{ax0!yYc_1pDwS%5_Pp&|Qdx@`jF3ip0i}49P8^!uH)VuN1PrK+5vbnHE>aVs$W;XLI%J?$VtF==ui~puT(!N z+ERQJtL?Qc$1T;{W!qXfc_M#eDqVNn_CmVqwymP$d+_fRZ&5O^QdYe_-$+kPQq`_|Mcm{}+5UY>kFV5MXS);Y^PzCV(a@npR9Gt9fL_*OFMfCLiE_D5z(DbTETo>KT zqF>L6?wlCTiGiFr;)~IWIGz)uIdM-;du?5)+Q?~<(60;id!fH1dXSBO{rEl|Bxs%(1DSm0XFX;q5-yGOmb)sMe+xGj2LI= z!EsP18ONPUc-XEmq!W~td|*m%K6C*E0Lw(NRA+KyXkg6TGW+kEEv*|g^u zO0P${3ry<8e4$*%+pyXZiS2Dmz^>&htwO_&1Y%p7IG0~2qF!u}{=c%038Lqd^ZhCh z@TUw&9dAMUi6e~9JJYA-fct^*0Uk(AvGJVbx+VP$saeIjCOYC6abJ<(mmDZ{ockc+ z(LUU#%Vyh<0V&C&AAXY2PyzKDQO2dsitoj58IYRiXHEa092WnBJe>4>QQhHtqw;>M%*NN)a9f@b0?wk0U5P}Efp)_O8 zn2EpRhtL1@A@kGi&Fkm+XA#rR?$Q4~Z{f2qeEu1r^^?Ts-#{#0JK~*_MY%!-3dPZq H;`9Fvg&$Qb literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_strcmp.o b/libftx/extra/ft_strcmp.o new file mode 100644 index 0000000000000000000000000000000000000000..0ed8391828a6f116caac6763b92ed3eac382c769 GIT binary patch literal 2424 zcmbtV&2Jl35TCan#)(s};{-?vLV*HRg|bf4Ahm!>5SY4B%K_lZ zzWBDL6bLCe2eBq7z)xl@FGb=KSm?Q2+4-}wbM2_I(|K^Wd`Onc?ebB@xpZj#GL}X8 zLB&}{d9pBnaQ2Tc%lEBYj}JH**_%gTeS3hWugdrLly!?r-OJ_RHfqdRB&Q!=AfO3Iih7SUW%>BjwL4oq zt<%#sV$IO*c#$?vo)ER!G%{C3&R~yg9Y5^MI9}CXo7r^RL8Il*%rDq;_T230PGp?F zzJS`I{W8?Ul^|?8%?;aul3x!>>#e36lpJTh+Szo&(&9p?+3*{|y6br*uTiUqTP1fZ zY**t*X!s!n^ME032o|6L|LqF&9+UJyQdi#vwN+5lV~=Hbv42k^Mu&*n1aIUEpKEU( z%V^u^0nkFofD`ysO8uQbMvU5yN5wb9cZ+DG-*VkjrZM`nInptUnSImRH>W~#x^6zZ zuY0?urcb_xP5s@}zA;BXh&&4WreQ10HsVnf3S=A292n59p%kfMYp? zbii>-(J9o6iTqKo5R(j}C?~7PR1)5sRuqtmJqCi$vi?K@PpmdPmB1;_S=OInPTlG^ z9p#rEflHj!U1PuV%mt@~AX@IR{ynd;&OdY?zri@o36bRaxTnIW%mt734zU@=>F&w< z&oQ2UFR)kLT4!ygTC26)O|V1U5wM+Bv+3e;un`w6o=LFVu2*GC!>_l%_FJKApMPh0 zHVCWEM__y2W^<*wx{4dTHsJ0xe3t=teWl*6Hr+Te4!ez&!fFlqCr#r2pT5Qv$@!6t zQ#=gc3&1?RB^Kg@$vlet5(_e~f)_+!PO<5nWV*}t519)~`<_8V8YAE57~GaX=4s#4 zh$r_%+<)YzoZ$fa8zMjaG(|MUoc4iSWPTWiAO5Aj+=KoDhsD3h!)Z%G<`O6TEsjsQ z!R6#|CyWv&5bXtG8)^6V8KC|qN#0+u0EJ=w`-?&86ZLNdkHia3--Gm>5Q1H^GA#=)T{A$#HA2k|_n?|F$VJt6h zZjj$-j9o)xBQTa1uNlg!QD0RqQ+B~vGwO?LkbI+^0#?ViDDcK_fpMJ-^lw7){Amu| zL@}1fHjU-U>qg^eqyD{OG^Va6FFzSm>RU+cB_b!h(;Y)~jks@j$8KE3*c*P%?G{(Z z)_tJ9xPh^gL6LP{1RrH`eW%F!PLcb9B0eEh#84;KsnC^BA@TS@8^riA8lw)^aDTRN z-7@M|M_>Fw=};a_bTKuNy0bUYp>%2hktCK;b@X&#Wf0-e z=`H{^yvx**KxoSYpe9bVwY34n_9GIcz@*>c6~zm2|5fkvb@_G*eGyflWGT;)r6iZ} z9*ta>-DMSbEEc)&l5cfGb^rDcKQZ~^Z|XK|8UiJ4!$~s*0BBv6ugY3qJJt@rri91k)X z*R>YRj0a+!hjP_}|JGyhgx&l>m4#`*1rWIMd&e|~~{tN3w_i;34SPFsmaTfKX+r}|!ghifbE$3JSJyGr4 z?Gkigf^MXBhy?L*mXvZ}1`R3L8wI--JqDTLz?+r|&_Eu}nRoOF^nUfaV4b+H44Q;d*Kt_ZxJ+xtT}6J%WP3gMJz zgxmM>mD&owwTJh>k8xbowYY6a_yV{6QHi?XFLHcZ;xBQ#BH4gyN|E5H{tzxm*eujwX|xWPn)^wOeUMlRm?fiE2f>*Jshf_ z=gXy%iIbBva5i&y5Meoma(Lcw-8LQ2ow8@@r=FhbcfD->70_*au9V46PvZ~3%&sIj z;Y<#g#Y~}+EtycLn0WIt`K)c1^WhRW(sXRY%jR&MFVXtH$k&)9{2hy=6R|+MA^^V1 zlZJi|2ovW*&_}r<&auGdnLvLU!skWsVmx7u1H_~E%G-h-j#F*9Cvv^T!4l_*Mdltx zhl~;TPY!-70{JR)b;O(Xzr_2$$OEW9pl z3%rI{v;Hsf`WeY7nSg&Bn${m^QlDnLT;D`YJ#({+%MxDOVsN6^M(UqLu73$JdGCnV R!+#Vu$v~kv`lRIg{{lxwxJLj0 literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_strgen.o b/libftx/extra/ft_strgen.o new file mode 100644 index 0000000000000000000000000000000000000000..261ec45d5b8486417c854aed2d70c4df49444d9c GIT binary patch literal 2760 zcmbtWO>7%g5T4!j+qiaOJ4w|h6oDm*xRBi>4HC4_8X?2REgX=7%Aqp;S=%etYp~aD zs0dV8KtiO72#`Sh+$#0LnH#E9MBv;@4jgVQs45BwQQ$m`kYE9R(MNVJFmsT>$Te&0cdP%$Vs3MPGk@RO>JF{#jiJ@w zReq#lh7@XTi+I+q`&`;Q{}WbHl@18e)`z0KqC zz}LU6;5d8t?j9T*aNqFfSez0E=-5ZSZ}op#ymCjGRvu5yGA)%kc`7xn%;3z`G!Cj6 z=$X-Tb6VJ)@kOoQQvlJN_{8^pMcL z!t<%jN9qexx_Sd60PY|agV*t`D9T@{DN^*I@KMZer%g*SUANa{oWI z&ywg<3v5zvAo(ntD6m9<#q{Tx`ok3rEwCgqn5Ckr=oi%l&N&=@%zFp982ouK#swN2 zPV9(V<0tkAi9id_l1wB2;Hmx?qcRUf0$f0DCQ>)}Cdg%ZEcFUqC4XZZlZb02f!tw( zpe-sAANCg-C^Mk~!7p%pBEmCnlX@t^(>Tv?{0P^yv(a68@?ZF~oELTL99t6K<2Yz< zv_GHzZzQF`lUVE|1G{O>2#=x5jySA9OIPcDY+GmdfR} z-2vxY5hu>G2+wgt^nu{z-k~3;=s6d04NlH+g5v1=;nfz1;HkDeCknV5L;*Cp7D|pi zgASRa*c>On5s6&Ou?F(v=6{`&4W2;rr~Z`Z{}^%a`K#zf&s6;OCTb0EZt}0>Wc#{>QH^Uo8|iS3#(l^Xra1}&!Nomh7k2ApG4pg Y0o+7G-aGQ$;!Sy*01D;NkaGQh0I2IDVE_OC literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_strmerger.o b/libftx/extra/ft_strmerger.o new file mode 100644 index 0000000000000000000000000000000000000000..3526a301022e98049e9530ba20b70de95fa4b0b3 GIT binary patch literal 4104 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 literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_swap.o b/libftx/extra/ft_swap.o new file mode 100644 index 0000000000000000000000000000000000000000..bc573bde549ac12fc562fc2d19564c4a6b195d1f GIT binary patch literal 3064 zcmb_eO>7%g5T57tuHD+T)0EJbBI-)~sgQLVQt?-cp)#1zf|wn+ zs2)ijvaQs_;bWu6u`0}!o+Kb0HSjv&`#q-oitD? z_Apqfvx!84=8nq})%OtB3zXEc`Evt_h>(wBpxz;*EGx3L){lNdhiGMpqLHntMmFV! z`X>>vJ~_}Qe@1qo*9i435~|b=xk3Mserlkf`VC74dW}$DC!sq02RYlJVPX_I${|X} zb`%y$-Dc3ulgwdFtFwsa+|y7Aik%O<6}Jr8W~Gy@ zwi)v`t^FYUMp3CwXDAuv^~*@FQTG70JUZS9+aRAnkM+) zW<_^}c3ydK@91jZ+Qtk}#Xtcb8{PHmW z9`R`7@;8x>!U_CUO8uTXK#m?Kyp-G|u9&ucgN>ZBo&C4$s55Un&g&yyA%mC=?nw1u~%~s&MufDM`-3h$%C2;HY)ke`7mD8J zaqE}i=cmAhw0`^W61}Y7RpiV$kz|D*%5MmS%&evJaa{i@_m@7@pT1&de>!)q^Y`d) j+cmrfCeObRq$e}`)A?zx9o1!cQr{CmBOSdXX8*qc`r|2h literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_tabrealloc.o b/libftx/extra/ft_tabrealloc.o new file mode 100644 index 0000000000000000000000000000000000000000..973478b0421c4c6f4bbe916bf45ebe5b1edf195d GIT binary patch literal 2912 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 literal 0 HcmV?d00001 diff --git a/libftx/gnl/get_next_line.a b/libftx/gnl/get_next_line.a new file mode 100644 index 0000000000000000000000000000000000000000..7d3ebe911c407ebf42e2e9b3c1cfbfcc5fad0c31 GIT binary patch literal 5998 zcmbVQZ){sv6~E8+b!_L4cmt#ZPPMX+GTXv+_0|Oq_R|EN*w1ocIP;i zW0w>Wi0TyELz;w8CORoa`Ou+)ia>|mVwN@#!GFQ#c6%@$hWzfeBtwl@CrZ>yzz~G=sW&bB0@G8lP z*q28he>C7YNXQdM9a2qAP^HHDn)P8*9aaf2k7t(N&(znFOA9xCaX;`&)OeK$nWd4{ zOnqTh#m{w<`qs!zg0BtXw!Cm7vs_#K*~d{gL|B)IJPzjlDz zBEuCSw(SXZ>)I>p>+49#ms&o4*YmKdMt+&4h3g1*U4lu^Xf)8@>vp2Qbe2Ze>I-Y& zcCp#y0hFkjTy0JAvPJ_TANlZj&)hm*%S_RHdI1sGd5d#cwIHOzGu1LN`IL13C2M_T zmP7Z#BQ1=T%<_<_+uf%5c?@=Ieh|y!(Q1)C%cQkmDwFVV&4gKAu%@r6a1sr`TcSHD zF%ISh`Y#tDg@QN<=iZ)v9qj47?T(&=(-&4MkOJ5j9^Mx0`BdkFox8Rl>3?XuQo%tL z>^ag;P+*%T!(fXVjw?bt?m?SFot>RZMdB3h6+C7ks;G#0T4|kZ6eox* z1bz<{=d+|aN9(x5rW942V^LElJrp=!rP4Y2GW_bm`GV1&Bp$R0qdi5M3cr9`hp9P{ zMwBlC;3#pTH5|rU946S|6t#Ey$kxpC>x6lkCR=|x}2X&7iMSNxpXd9$ktA~)%4)r^h~i_oGZAc zQo2-}%va~r)8&%#b^@>}EnCB_w-0ZNY1uGTeo7U~Rrsr@ikqEsr_^LEuZrpNvN!{Mts7XA#%F&zv~>)y+HOL$0kj_T+I-5ov%!>Epg3owp` zPw3bc9RT2P}f`PItuXa3py~WKLTzP9y-Q!Cs-Zu+XcTN5N->f*E>*>^D#L0 ztRYwf!832`SP*E#dt{G}#V$7TN?bOX+<8HVC?7Ac1e$ihp&mongZg$S{ zIJk6c2aO(&>Tp$uJU83nW=GZb6gjG+u^%ARS)DLrbyn}Vph2U~#?aZwnBEG*M?pXW z(7L#DQ4r8|j9lP~-g?4}6Gn!}F|-G>BV0F~?gWP>!5izdC{Jt{^FRz!Y$mepjb5)I z^})K|_$mO0U%_O<(rrkv`5J0qR0&#q+YmH|LL2ew!4|Jgdr;9f-6}Vr_O?Ps`}ZdJ zedt#o@}y^y#5^k~e~ydrMU*7w8AN#u7vV|fn`aN$i;SZ%BG2AgXzlW$XSW?r`%F80 z-zNC4ft!5z>3a`4$v<$l^FxOP652GQxc-G>8_8h;A%tV2ZQv&egb+@1EBx;e2qC-& zm*8&@2qBziNAMNYNeHK%Tkt1%9Q}R@7Eb*T{=9`JEZm&8q5J);S$x}1kjIPowx2ZP zIAIuHD2zO~2|i-^vB%*V3nyQae{K^$C5vy5&+`^;kN@iyPKO@x|6L2GGr!V(#m~1{f5e9uS$~pC@@$*AZ_4a5B{|)2wTnhhp ztS|ZSS=P^UDfzRiUib0M=@r=be7NL8?>7>O`%_O@t2vu--k=T4*T%8nSYFNDrlX^KJcuM{|)9p z=flPS86PhGzv{!Uu%EB_@E5qn_#*2QK3v8}?BYlI^({Z2*Z&~nl$IU0 zJK7)V?1^{vCSn1VnsO&=)8pC6$%=bgr7CVIo1(upDwUg^nQ?J=PEF3u35^cYIEAAq zPt{H_-Sbc^=V$q}-u$ZrV*cc8(fr{-z2ufvsythDQ;$7yd^b+{x#!qju23m*>o&iE zQXZBnl}^u$XQ!s{WTQKzot>eiQC0J*bdVynd)1RcQ|)!56)eowyU`3!^d&2;XBj+lx-Q`?_dM(q7(+ zHec#g9>&$K{Tm$rHJ{O^;xAzP{*Te&1~R~YsQ)y^(jV#neZa`)04`ge;?3|6Hi){! zmy-6kcI|iZgr+{EeZ}%=Q;+)>1REu;aR1`9muVJQjdA;*G!U;M{TKLsRNAed7kHt~ zGm%s}n@D>ZzjuN8bD}1_d$J=kaW!Nc gKYwzL;qGk6HHn1y5oxrgN+jy3E1WPD6x$#FKLSgBZvX%Q literal 0 HcmV?d00001 diff --git a/libftx/gnl/get_next_line.o b/libftx/gnl/get_next_line.o new file mode 100644 index 0000000000000000000000000000000000000000..46741e016025c9f54dfde059777790a7e9391403 GIT binary patch literal 5784 zcmbVQeQaA-6~E8+b!_LuaZIx*GhM~Vb%w~Q{#4ePp1DoZ7%)N!6;caBr} zqojyHRIe~AnzRmSd>WBdmaAkg?w3lbAsEB*k9Ax%Ok6P=Wz{L!I;ia>lbGOj`V!*`JHor=iIM%@AH?(AN_R5ag>Oo9#CyfP^Bh^+VwG09aAZI9?!Pk%{JH4 zt;L(axDWVcYP?Dg+1B`Kwz;^flIQzLePjFQFscI^pu>-tOU>+47=<8Hy?u$^aaSj%^DM ze6sic-d)>|3_rMCsqm-@4;&dLD6~zfh*lx?I5Mo19_>)0NkwSS-DvYbZ*Q+su_T3i z3EM0}6%{kPmDb5dal*(#;CE1QK1-T&w25EXl%k4rEN<$gM?x3sR60jr1g{QVC>rf? z@`HBLXit!)qR-){$JCsdALWYxI7*V-e8OZ0VTuW7sJ$~pwsxjpC(O$<-NBLW;P@zW zoP@h_c9PcSI7OJpv7b3klY?V4bfs*x1D%o2w_82f(aLCktA{%B_>|!=BcUVe_;jOE zZ>00(TxB+W#;w*$^Of}8eVIL(J-hcejB)Rm_CXuX98j}veX8Ov)Thd&ikr!+kxHR9 zQkAS;rW*xSQm3fgOF#SYUin|Tg;Cr>!wYe~ z@T77U2AwMaMIDS z#P@YHdQB&ypFugP!_iqictvlC9@M=PI(||2M-Ra;p<~e^j1$olI&oEp061u&-u4KZ zdP`Hs0eTCj?jZNyUFnkyeNB~+NcP3*f8dy1g6-V$!@>&dX1>})`PZh0&w^hOg1cC zU&8IzkdIL%Z28-Uu+p~b*TWsGJ`5f@raR>()WJ^3X#d^>zZd-)LY}lINz7hB`Exvk zFQFtcdl2O@JcOs&-|RhL&ohp~i0r*{(7NSAd$$`-=S(+z|0ejaft!4I_q_w1-Ty5MQf`xA@{ z&#SCI9KcJgKh7ob&>9kZ$4qmx5nn{Vgsf?h@;N=2H9xe=mSbTsc6*U&gbah#`W%?x|`! z;}TciySoDZ%j|z3fJ?s)2kH`xD~051Gz1Gw;iHGp4bp05S) zA2Xijl9r{tZpQ-n66+@exQvh3g-81JO3mL0c0J{;>ENcIh;5+RkDai<%z zQ@QEss(VIds%|-#spBfGGWq$rITx4b%yg|LZgi2xEgVHpB~;P1`q51 zU2MaI*z+MochjK-8Rd24Y36<|Ra4UU2f5hqSTc;!4}?CAZ3*5P=q$3|Z{oX38x?Yz z*AKO$DxD!D_@Xzm6TgH7!l*0*;_rF4+lx-Q2fAoX(q7(+w!hS=JdCGX``0-Bw*tn1 zihlvS_kWTuH;_HdL;a^Qmi|cp?*&Gjd+^xu1RsWfutC%%zLa#nb!)$iCp7Z`?W-22 z?Rq@8AlN8z#rH2>dzof|)g-t7iH~>{>A%45qS9^sJjV-dfgMSuyNR@y@p~IsFehp< z$d`b>2aEw#{T{yE;+sn!Y!Zj!)076|)A<>Gbe)#j5*}Z+@&1#040mTku4yF1Tf}cm Rl~~+US2$rRD0VRZe*l}hOoadd literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_atoi.o b/libftx/libft/ft_atoi.o new file mode 100644 index 0000000000000000000000000000000000000000..749693b8d35870082c7affedb0f793151c683466 GIT binary patch literal 2952 zcmb_d&2Jl35P!RyStqt*Cr-zo^hPoHSQf64e~(s zUiACkuci8*@g3t%baSN>47=bPonXiX&vk-*E;!i<_PgLf3uN`l9Jn9LyxP-i>Tz~gQj zb_?6;p(a_c`-#J@?0=bPlM{$4WKktA0!1=N?+_?Ockm7Jjdf4^6qzdDSar3*r#-FU zYBBOeTh7&nNb?dyk9-s5099fOnOe!I#g_}|QZ~M3RjT=NDSmoJo7SeMo~^mY(;v^E zHmjXswzHIW%6V;>B}#TRkt-LiYGQdgm#(c@PGWW@QOuX})tpr*BntVA?W}u@p+`jo zvwX>6rB$cGs`!*^4y)#~rT^Fnb$)_gNYaOIF=>53ng|Da_i<1UAw~}o4UWAS8Q7Lz z>Q@y*LKoIVsE0j@Z%LB=iu4mBH+&?~B(Bh)}T){A)>?Z z28`P98q$cXxoOD6H-B zYBMVA!4vQ<+GB0`-EW5&-3N3>_$kbnL8pYO{7p9m5}sa{g7|h164ymV!doW`+>M>wap+NU(_^S8Jz;{5)G&;Na{zwN`@Av ziVv@IebkiYF%f+IF=N~VU ze03$C%_HVH(`Dd!dV0QOmzh>7JC^p!>kCs=C%t@GoKB_{3Twrs^vVieSJ{rRLcU~i zz{)Mzm2}Y(QFx{`tm33I$Ui6&|6k~H%+kKkMAF~*M*LC$oYTD8iS9AN#J&}_Bp1Xv z5V-#=MA6W`pM_tNZ`v^qkRN@&UakwAYWsU4m+Kt#kIC;l|1a?k?nv`#Cx84|G551{@D^7l{skX*z$L(!#ezFFNLp8%1I`hwGW?iL^6A64vgkwU}?ZnotVKE(BI zo1%;Fwui0qb}7`QB#)mH0Ow-;0{#SrZu7g%H5kJ*rIh_U-21z zDqF>fZuJkk)TcYxU!V4ua;D5cvtK0u literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_bzero.o b/libftx/libft/ft_bzero.o new file mode 100644 index 0000000000000000000000000000000000000000..77fec06bd430c62785a632d7fa4702e6f4325b52 GIT binary patch literal 2432 zcmb_d-D?v;5TCuvrPb6lO~tQ@1hfcB@7k*12WUmqC?Y6Cd{AOOHqGIEXzs4mf?Dwd ziazMGFM=Sq)IO@gGbbEL6BU3)Z}NEeWyb|uj+63ZBEVn~{a#RBy8 zL!};hVN_~3HE+5!!#jcPd!>m;YWpq^ ztVW|#cA$VckFozyrs}RFN0h(;jb@Y%hesp5xUJ{;e4L z0c+`l#OBTdn=P=BfxiBS*tgAy(ITSuz~Ox1o_1tS_7XavI*%&@=kd!J`#}RmGs53y@nGtIdp#(_5&#hn@!#_+sUM@>Yk52$c%y2-;84R zq@kTOST@qKn29{1xjD#mso>+>)LE>XVUzfrSArsq_!f79>n`leI z;uGlhAF-V);QItF^R|S3M8SQbpHc9uLa!_MU7_0w9tgc8IMtZ06K5(W8jdvH2WFGk zqv>j`UhnW3Fgx6-nIWGI!EE@h%kdK7<#f3laD)=yAnbG}R74~O+iUq?dVa{w`*>TJ^!ot{tW*A_)>5CHknInkR!Byq~E)Ov-_`W{BCSN-#%{*nlY|BBF8t)K26xs2mV(+&~$APu4{;4Y{8 z*(?5qa5VoCe>Sye+Vz7>lm>hF-b=76={rOrpG3TTF9;)&zdz9cZlTbte@_G`&zbs1 zZ-PzR_EC0(L`RPqn^V2QVPc8b$=5clDorstDsD2`;CmO(0 V6x804?U?{ylY&HXbjQ^EzX6^5-Ms(+ literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_calloc.o b/libftx/libft/ft_calloc.o new file mode 100644 index 0000000000000000000000000000000000000000..a17b032e83e911d908e02c5e7cc8188d6b668799 GIT binary patch literal 2728 zcmbtVO>Ep$5FXoWC*)^$lR#)Gpp^;&fnq0VN()6H2o{_)aHtfNBB8K9-XGQLt=4u( z11V8cDwcrM91!Bn1&KorT;K)*gu;zmkGUWPi9Z^V>uw6WY5eu-^?4o z_vZQS{QL{5qJS6*Ohd;KD8Q#iN1ut*8OS1Y!EXO#Z~T(8+iUxFJKVE3*7hND^HHSO zoB4e^vz_0Y*lGV@{}Jxn7xH_Vn}g)~K7T+-ettgUVQ6N1ZEuetyPe;~B)gD#=NR+8 zn7M0jVxr7;$m~sIxAO-$*MYt9ZSJ*ilp*Ee^oXvdv-h4#4=KY~w>k>5BU<{Y{tNv8 z+C!kFr~CU+O=U2rZeql+F>@j&JaTe&5KsRl~>48Gf(5&P`9qe)?=|%>sUSN*6WcqL`;B%V(0~7uH+WH zYHrzS`Sqrko0v4m&GE4_VdR{+K8eiM;=|j)2S3Rekt9t?X^;Ksn=%fU%;WUa73_+pzA1k{% z`WRe>)k~nPWR+6`J-xSaN$*FT9vZYv@N7DJOMPz8P~S%ez}E<+;4;1yMfo#5NP>0( zAH@p&7L{+g?s8*nVlvXBg|gxWvg%&R4a*LIAC${Z#jH_Wa*;3-q*S;|C548TQS^bn z-}ND5QGcMKpPthnU)0as(2Y4=Gpc%KN52Qv-bEe#ea1!IKuM1N9X*SV(K%fu$7Nkb zOEE60eOPgvy6gKRL{sqVVK=7+M`ayzYkVY+foN#ZBSVp`!9S0!iJoj1_6LX!C+3az z1hHHH!heZ#P?O+x!C!~*cr$_1l_GF)z4Rd#^$GJtg@nfq7dwX8FYqz8M-%u_pCLxq z2Mxi0GB)8smb4eiRkauw{A+AKA>mcFr&-E*<|Y0*+pkLadu&G?kGh!mHsi|@|3kKO zEUETn{UVQCPp<)H*(rwAr9!dTa+bktIc~uWoRt8~QnS%;u*I3-2Q6xf;;PeXGA|CT zdldw{X5g4FzPvEz2ZhoVFsa*?3gt3hMb%?;x9&L%IJKoptI%+u5nV@}p6h6MMVUA= zT_vV}tr1-*{E`1de1fsbb0t#!#)sr{0kD*NlkO?P#5oo88CFC;2wd(V`qd=Quiz~* zIL-j^XdkI(Xq<>eG`Cz6xqf7Sg{2TOmwp;DM%;4@-VlK-W$rn|yVd_LgXcLQ`lTXQ zuKzS*L=oSKYBav&xQ_+EQp_(T^>4TMOMK|*-bxM;C!~!|p(lCk$)-s-WbRvW{8gDQ z;?E~yNfqBO;5Sg|wtipn`4jt0>qosW;st&MF}Ws$;0rG3J2DbO=F<7-HvgS2^V6Lx s&%cP6Hhu4adH&B36P$>^uXS$9J8V-N^_V>W-<3}$AOHXW literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isalnum.o b/libftx/libft/ft_isalnum.o new file mode 100644 index 0000000000000000000000000000000000000000..717e49b5aa5c8456a097cb0795f55b8902d2b64b GIT binary patch literal 2256 zcmbuAL2DCH5P;|HW>eePByFv>R-}iDigeS~3fhXMNUEZUR3fDyWs`22#m%N9o0Vt zaNscoNE-)swq<4^g^~Fio1ZtI?CxAbHl5o|z3f6`_{1nB9BO?c75r0{5owIc5i}1(Y7XDJ_PTlC z1=)-kbYZwwb*%Ud2^wQF^!>J5)im}BPH==nx#aD06Ny-D)|l>9}fZn<8gViqCe zmFk&twPM#Z#bViNtlEBNaw1c4Jf~i^T{q)8g_7S4lrj|@&xa!XTV-7N5n4TpcsvK9 znHEEbI}W|V-8g}a9uoR!m`SFeYuCEtS^*;f=p17(f^Q+j&tx|#+C+SWvMl_fmUQm# zpq>&&x~pL%;`2uOve92M^!P0!9WNP)zk+!DhM_x#_TCT;&A?JY(x~?a!WjJ6iyG4p z&arJ+2ffW_M+a=H2+@JMr(LGd?N#!(_6!+kplhI3;a(#i^dK52y@3Meqtd5qK|)-) zdT_i&15SBp9V90M)w;X;dynkgUpU=Y60TbgT(~YZ^GDLZ7vgp44@*ro)w<)7)6uCM z%q6?fSYEUWg_^wzrf)ZWFpJen#m0t~gLS_KX3cgj={sJjsx%pxUe&kF>v!^_b>AvJ z1k-g_D~s0B5?;LJwwbQu*%H|0#Zt|x*h(VoRugOaRsr=|h4lZ*D@>rCJLg-GhyIp< z)Zx}nAt%Ot#Nk^ zS8mF836e4ne_C2Xe+nej$CQ))JXD#Lh1OJvHrHp}FIjm02N^)$rwY$wP5Z;P8uu*< zM#R$kFm$D@=aGGv^DnAN(dO@G?4uF2e_086pJ@L&mHEu+9!D+pj9kz<*T0cp+{u^ZBy`#8o3Af2Xp?P#i!u5Xxpg700 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isalpha.o b/libftx/libft/ft_isalpha.o new file mode 100644 index 0000000000000000000000000000000000000000..fbdbbb40e783bd6295087106ad2762370cc5d29d GIT binary patch literal 2216 zcmbVNUr!T35TCv4mOq8IfGCI>9v~`)D7n}54=v+a}Q>}`cHki=jd zDw;$AzK1IEL|L4G7<$f6?|j?YI@sStY&3Zg+igVQ>DGZB+v`AS|DnWBd-!B*w+W?B z$wR90qt26YhZo7i#gD9o^+wyc8jYXning%UFo2>V*czVbP@^M}(a6QlJ8d^R0aOl( zfbO&bgnB@Yjz=O9%=7@4cij5&RjAY0~VXZT~%JMS2Qmh55at@WV@yA zw58kG?lq(6m<79ga7Y`_2Kuj-%ErORL#PdF*C69AnT~F)=5#F$2|ME?a)rF%B+}`e zURpEU#PCoeZ`!7lGb}4%nW>Ds?lE5|n6?XP__xY<@>6trB(^yRY(37pn(FFbVK>ep zMvI6p4U^IMbLCcZSeZc&fGk2G=)s*a_B+~4jGBmx`HqD*DpSL82h|wk@x~I5gco>x zjJId_`5E4q;k^sIZ;U50JUqkIaF#0{I4da}^LiOh*s1#=_;pmvtX95Tm01O~N|%ZX zI7T%{1)7#>dV^}KFMqj5h{+5z-u^0bwg~q<5zOI{#QTL#&wz+KrJ0%&%@HMFU_^Zkyir&mC;thM}-zPyaDD_iAmnYJMS zBe#?(>UpDjBsDDH>M78ijXd$n3lyjRfA$PR{oh??nie1Ztpo%QPInA(!sHxD_X#1$ zIg@x?3W8H?FejN_3VTv;$%4Kb8iE-4eii}rJME{S?`1Ul=Ue(-5>5FjfT-}ppOP}s zp8yffG36W}#YdVbwBf@@l=UTV7g#Xt@;Bs>eH`cu>K5U n>g-Vg**30YlJhSCIzLgc{vKk%-jUz70N;~>L~-;+g7yCZbCkX! literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isascii.o b/libftx/libft/ft_isascii.o new file mode 100644 index 0000000000000000000000000000000000000000..67137bebd9e1bd52ec0556609c82c0807038cef5 GIT binary patch literal 2176 zcmbtU&1(};5TBRLrfJh8{j#=JB!`NKbko*~+DffRtS!YurBXx*o9(7qOg56;)KsVy z3PQ19y?ONLpCG7E@ZewK!CSorEYz9gO|x0ogE;Ws%>3r-?Yw!romsjQ5(1b6%tA|J z6yPA-lII%Y93;_magfs;EB6CAZVmdYxyD+@ae{&c>Q6VIug?@nWC@6{9SS*H_ z9^h&oE7~|R75tN~A{1hn6hUzy;>)-zp|`b`*371cVI^0!-D=7x>h^kS!>l+~*-lMN zYUA4Y*yU=&IPqcnJ!tj{Q|+ULpN=m}z+p$lbi6`m!+ zJ)@5~n#A~+)CWDdDrI8yB#795x~alB$*EZjZ#)$Tf>L7-WFN3Y*PYeA)Bx0CDRj#)2LxBSI;5eED`@-+Q$Um zd*^&9dFk&Nkla7qNyG``Ib!!YDe#;z-ot|A6zk7PCcejv^ke4t)zIL_$oI1hcqlnD zzwbpfc;}n_xG9GcNJu~WcMuIVS!0eV=eX3F4a!2B3`oxPnV&*DDE^Ifpzre%$1$h( z#Io1#OAr{~OXow^r{1?fc@AX!HBvmp-_MYXLQww>9EWKahe%ar8#~ G^?w7mCbang literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isdigit.o b/libftx/libft/ft_isdigit.o new file mode 100644 index 0000000000000000000000000000000000000000..6a91375b9426fecfd7627c8ddff3ad7091420563 GIT binary patch literal 2176 zcmbtU&1(};5TBRLrXOjO^uyX(ksK-_(oI?`YAZD&u~v$QN~DMq^07%4lZ_;smLJX*TPEh(CBcGru<03po|{@7yFLY=sNj>->KK5329(fpFc`#4 z_i@?B>hBzx3jT@9Ncos1Lr@%u@H##f-`iH#va_jvNM#$Q)rjWG8M7E|>b1I2HKTL$ zT3n0IUTkzW=bq1_wV+*sf|WMvd824pS`K1np&lz$D|$Va%at;Xrf$U+=3^DZH0mY2 zT#l8EY{6>T!VwCFX+aMDtumf`oKBAr&(=Y-B4T=|uYV7_aT+;V1bS(>5sJL>-5d_o z&;iX2Tz;6rrx4;-XqW^w5tncr3*V@Nf#VJ;VWEZx8|q+SLk(Y3#|vuUj;aKTs_&C3 z8a@>h*&*J~ZKVD1^T=yg>3*l4Z3UDbn+*kUY&@U)A#zoylfvdJ{BDZ&{$_s+Ee41KS;a_N!Yp&}w=)BjXIS zPzBAbTDrD!H#J+gGP%c~mCMaaI+M@i#VYo=mkm>wgkDM)YMF}eD1y_dVF4?XMY&la z`M=o11kUfy`J(cpzh^>9_i%@iCywWc-4jybIb%M;ij)-V&PiMR9h1_Jh1-|r!p)KI zXBqH7N)~S41>A7XH~Vo@4kQthe)R7kOxgm@qoka1X|tG+g*KUxlIycPfxK7z8|k3^ zC7$}jxty+FyhsmUIv=_|aoz>WvoGVXkl_HoKT{SeUi~|eL&bff{te*bc;@LIdmXhc z$%nY_gxfcVn_l(%CCPQDKK&Kl^;5_xYe!WSFL50s>PkxS1b6*+$hmt*ejAefKn8;1 J=#IGS{|30PwHg2b literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isprint.o b/libftx/libft/ft_isprint.o new file mode 100644 index 0000000000000000000000000000000000000000..bde8775f7dbd8f085de6a098866bfac41f90919e GIT binary patch literal 2168 zcmbtU-%C?*6hGg4cTJt!bXICc?7@f#@0=Nwh8bZdScG9%AhOLncWJwm?QUsg27+WS z*;@}0J@#INy$Ss-L67woDA+mMIeNX_9-;%^`}ux8-}B?UbI;w{_|#2JDG*aI3WrQo zfbG!XeyqM7gBW_w+}ixMxw@Cy`I10&)E zeO!&(G}mw1hWt-6QPM;vq9_hjY#N`s_WJ1|Yh*J*Fq5e|ZZ(lDq@Be?%_>*yl9Nac zngixQ|HW$kF!gK@*^qe&a_+ocSt{F(Yi1$oV_;ZLet%RvkEm@*=*RU_VH8j)Eeo-?{~dg+}J*E_Bn z+N`EwrbbNQa~;(X{M-*Z)DK_Okz*b7BV33MI5z>N1C7T~JApLr$zSgYYLbB_)mue| ziFD7%V~&Q2-p~A`M>lv+aLS`oo?+%^7^znWy~X{7zvx$3m%4f86F&Vh^LswM!aTu9 zHNACHto!c+=7N=}F3zVjnX**_)3uge&wPNHEftFv4lnyv+%lMDtB_`HJGl~=PRX^* zi90j>6*rxI1ZJU7E6%4E7VyhjJmOxk9g77kKc6e7i{m^yE`z=s{ZH~W8#AEXNMRIWy)W7dMRMIEvUkfgY7oEQ2psW61aSqSD z=J(CwVNiV$r4H4ne?@=&8PxQt{Sv}+Tn8reF9OAr`Rl(y&EGrnyUXGSB4`vx--y5d EZzg28asU7T literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_itoa.o b/libftx/libft/ft_itoa.o new file mode 100644 index 0000000000000000000000000000000000000000..c75cfcb517cd2e3489490ea6218f1825e5a940d8 GIT binary patch literal 3472 zcmbtWZ)jUp6hH61+?O=jlC~RL=jxWBLqYq}*2#3%+2NvToie7CZZKm0ye7fqr8Fc2;=+ETr?1d&&I zP?t3+e!>XiwJtCIh@ntAe6Am)E@^vs9aF-c8#jl$ zq;6aWIfAZ=hMI15xJL=^3Ox|IW7EjGhc*HD7|0wNSqH#&tP<55odEn1Ak)C@poDja zLLq<-Ng^b;4HY|44v{Jp+Kp5A1|J_j=wP3SHTK*)jG#_d1R6p~dYUAu_Z=L4@+@r( zN+00J&)Cw|kBQN)+jKvUJVu1PFvg3dkZcLPW^Ad8bl`s%hXBn~$!5&g zaUP}MmpI6d#_ywYAmE3wbk#7c(M&OAY{y`%R4@vayk0EEiiPxqIpZ+l2WUA(f{{*U z3%P;`1;Ydb%2gcGP&F!roS|oRUKs^HOCZno^4QPSx_BffpPUguE?_vb({rI zmSCdcH<7;%)zb1b5vD=9{8MUYT*?*5ha zp#QBWnKH!Ipl*(JY8V=m{LF%f(PorM=m*Ndd8P)RV{(05T#W~hD=oFxixSBpfvD=l`J_CsD z!l!e!sV%*J6MQ4LrLvr+-~dsM6Gm6W3idOik_)HqDsb_Y6Xvc?G#A2!4Tb2Y0ZHI} zjtF#f5D`wjUC=FjBJ8Qd6K!#reYdr`6=HYa1gG^O5^;1#gaqdTf0@g6&vV%y<9OC% zf1JycoYQ*J`-t;$gySOq6qjG~;36-bLn2`>^1kQ5EnMu!haOzy``m*!xcrp|e}l_W z&gn$E*K^o|i@G$9i+Z^T9dZz~te&pslBslhN}mR8N-w4~Q=c(G%altc9s8rZi*oCV zX*XA7+3F;Ba^e(>i85$L+0?a1pBU?_n5oROpcRYLrDQ6b#h#yAWnL^8ItTQ8a$+h~ z(xH?p7Rwn|f739JnM#9JdA>xP-wo(j&Zf*1sRy(HQPlt7Z=RxeYpY9wdN+? zW?B&41BAK1AyN+0fJE1|o4h@M{&4u*27G=e4=Bz*`O)6<*Mc5y_bGBpG00`XES{Hq z+$3Jd&Bfep*WlnuH;8ku?MNGpTsHH>-;v-Vum4`uwX1)U*MEsSQ2hjX>yIHuCjI!h z=?|WN&JE&R=rQ)`ixO{*?)TaeihH6Sd&9MNuB~?-t@rytWmD+vU&mL?RF6r`yt-pZdJA nuUSTR6rUCy<%VJz$)CuZpZ3?gc4Qajm!0!h+VP{1-u(XpD)E_C literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_lstadd_back.o b/libftx/libft/ft_lstadd_back.o new file mode 100644 index 0000000000000000000000000000000000000000..1cf324240e78fca6035f51a59a299b01dfe05f4b GIT binary patch literal 2720 zcmb_d&2Jk;6o0epSvzsFcAQcgijWUfNQkV{G*#2ID&Zrrbqj||L8THh>&-g0vR+5_ zIt_)=pzviCBnko~gsP$*;MgNaBsd`P4{(G7QYvu>2c$?Kh4*%6ob}Wkka*I}d%xd% zZ@zZk?DfS9&uNT-6b5HuA4wMAwy|$7MCJnIF>=Z7{bq0dUbK7HcI{qw$KJZO3%R$m z7=q>wot)fD- z79&zzyGfzI#v{_8-sobN-o%bXJDnkw*G`U*ejJ;23L^U}vgb2kY@z{6)ou`Wi>~hk zE5&uM-D$Lf;;|WP+M1p^-i@5c-kd=+Yn^~vSn)fdv%FlXI_|3FLMfy%u# z?sV6^urxbUYBqvKr|$WF$!}C^;YO^Kbikp&Z3Uqhgb;WeA#^H!138?8RN!3!-$CQQ zt&ui$kUA80^&+s1JUenAo%smA!o$c>BZ&_1DKr1B_RN@}xflWPG4d%mfjwjFFLR6( zeLQT;0%iTUeUxZ}Rz1G{BN|a8dXDkY(LZ^?xWp%G9DChZ;Sapb4;p1Ya)zfb@vL#4 z8|WBCM+(_Ynd@hG-nfjRWp0)^GtO%UE+HOqSpPYaDfnY=m`{iPVg}s0xRnDW0v*yS z6=5CjzqyyuQ%H;-oh5P)VarEZgWYifsUB#SzxQI1&%-Ek{UShH&PaS*LujBBVg-_) z68KPprr( z{FcIhAaGCNuM7OC!oMeQQE1w0a=%XtUOk62Sj%3uyHatg)wZ_|R@?I(E2J8YpMaQKnv##ohs_rnxy|H`3A>H-bXp?ui|ojD+!_15~cTtIC;Ni_<}HGy+~fI z8Tv;h@4bwh7UW?;P#k?ve7Yi$Jk71Hi2`U}ByYs3->b1yCn`t5j|%eZer9Z_v8Rw8 zwticXb&){prz2I@k8f=>|1|2P{3P=3BuTX8{8AqkoSGkq%TMDcMdnFeMyIrsabJr3 zBuBOy`(ezjso}Q;F{cb5_b=)9(HM4qcg6ja-nD*oMgVuwP|uEhYoaK>BY;AARAcJ= F{{a5!2_XOg literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_lstadd_front.o b/libftx/libft/ft_lstadd_front.o new file mode 100644 index 0000000000000000000000000000000000000000..8f727c5c73a83129fcb16478e48c9b6b22c9daee GIT binary patch literal 2464 zcmb_c&5smC6o1vd)jRvuGwdoZA0c}oB*yJoR#aFN)*vv9t05$7)PziCW_vzjPY;>y zSr^T&8pFqg#6S!O4F|%BaN^Fi6ES-mBMD{a*cW ze(i!K1Zfd;hF)2kCHhmo(pM98mGbahFAbiT2HP)6gZ^&m=j~m}-(b(b4q__ZIsc+` zCkNOq4NAbzb`xrlyZVRNCyu&v(sm1P9dh@HS%=8VBgXcyGV83)+wRKL>8WD}&K@8d zlVmC4(j1Y@6N9rKkh&3#&k5U|n&KFu+zi?7r8zcE!le5cV;ERT&NiLs=5!K-Wowo# z@daBVKW5$AO0}y1Sl3dk#vpl?O-xRYZHRSxoS|TSkYjus!#YKY{wwP%Ig*L*daWPE z{e^l^4Vw#_elKcw!-eC^-jcVp_-;R0JifCG>xB0nHR4JT#np|CN~6~eW3Nudun`qo z-Hsm>>-AQ(zv;)t6U)U;J8VZSKM0CJyVi)eQZVBQn^7Gb`C&|@Ix9J=i=7v8a`KsUoG+#AG-duP={jX;eJH2Pa>Dr(WLb`v zrEos7EaXX}UNheYKSqDQ9JOrIFz23Sn}$_n@Tl?;ViOnXUU?JdY-a!D&cNv%CZT7u z=#pkWEp;f6*%V0gi^|@g;WMpG+_x;+|7>c~5ruqP*;Bvs8h%CbdY_K6KQZ`iWnVG) z2g(i%o?DqEN@4h&zbN~Aga1j{w+w!u>;;8g(?wVuC8Ud)YS zbS8QAZl}X-rJSR*JMjV^g%H}<`YpRX^Xsq5d67X+J~3fdd5Ky#0K&<=e? z_$@Slwd0#9(GVW8#MK(`dWZ49aRw$AjfOR8v|XhNacP5h=ar|VX`uPQ~?wdM<2 zQOL38p1hR2$3R_I%(0lhXGU=B_narlZz&9CGyW7-vi+nTpQ=l_tO8u+mpt;&=anPg zuH>7Rl&xV$#XZ!7LY-gZQShvr@kdm#^8Q)TaT?25)Oyx$EnDoF1=DvYjlX8PUsixyx=+W2F2npTm*N*B?XWG9=@$)qHc zu&q>AR;zIpT2S%97eRbc@IjG23iS{0pAfd-LwpbxT1d~Cxi@=rjSqqc=AQF?=bU@) zy}9S+z4dc1>6!*YGj!~zKX31M2M1yBD+6kOA!GbjS5vxXMp%4qsY&x*jp@W2O z2$qocIw36;(QoX8)F8 zHNWI`{Hp7e+g25FUaga>x0+5TSFP5|-Jav;R+e+khS%uS9oNmdjY`em36-1+I0;l+ zp6_@*c+QRwos!!?4yPxz<+%TGVF339yTL=eavrpuw03+t8oQ1^!b8Z@M?yyp&n45> z^cQAK-NOiguaJtsGLD+2-AT@nqTdcb%>sGVxMP%HPgXtbi7A~Z5+kLtc>HgcF)y%% z8pF{rx0$}l;%Fv|OfRx&v(6G`k!4P?Sdq<|XIUE2{3&J>F=~@V5TQdi^Gth7H*q21 z)RV_Ak&eJ$!%1EPM(Y}L8~k#Pkq8Wks#Jgt_~!-2Gl7gWe{iPAHSkLZS>wYdhtw8S z!D60IUlMK|2fBREByN$Us3qaI2L|U_ZsK>O8jMxzfgFQpXEI5Ro?Gu z&a3AT1#8Qxbhk_8N~P`ez-l{g+48ALt!k^;q?Y9o9ltI22M-Oi8(ysime=wf>*ZHB z7CU~qdJ!zw?KMl~tu1_Iws|V{ddqXha^1#=aO$O6yWDi-I@pI6miEgP)R&v2{|EUN z=aBEAm{Q{x^=CnFP3I;Hy+6c>do6qgZiqe+yxJ@Dhb7;45%(G=k8y(H=ywdBdenla z+UlB+f}dzW`6N`MQH`bhpmG%a3@61rVgfam`ef4j>zu6f1X@4!sk;70kfV?#{A3yM zJbI^P5%q8F~9WmZpk9@gg%Q-Vasv9$W0?T)YwnM{7Y*1O-|&cTr$P}1^p2k zlg{sV{-}xHna+>i1d%WJcaT%pgcJ;T{jUi~qQ>^nH>v)?g!=SGtM%VN&Nw%0q1wgo iNO(htdbEBLfkOoF0~+etk?%Th%3lefP##UG*1rdds0=Ou literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_lstdelone.o b/libftx/libft/ft_lstdelone.o new file mode 100644 index 0000000000000000000000000000000000000000..cd26adad7abedbeab9a3381da836427517aae0ee GIT binary patch literal 2648 zcmbtVUyB=66hC(+calw-WSXtD>xwL>RK%TZw-vYBVk26eE>%lmr79(xWG8=gGAWr! zjLK>;Rk|+JiXb8)eG+}~3;0sd58#(5w9tnYUjhp2IWzaBle_UjJdk^S=XcM!=iEEz z-h6!a{L30+Acev6@W7HRz$N1WE`_iJCVH;h+js2Yebe6F8rj>uU3<8-3;AmqbU`?R z{HGk@z2exu_5{J5vm<-Bf{xk9+O>CH9oai4_kOo`wnlf6#PHwD%fGUN?8)3L*K_8> z^SOhpfMsZToYgIyDHx?AdTupyDsy!1%p5?1gC>Y`vj98~q>RI;A~%5KEYowD48;JX zvY_YA&62T#=FCIvD6W#`VHkXeX%bWkq{0(95Mp)MKtj_cOBQ>BES67bUk)O485LSr zBI_$syo!U-CWxY)N|G|Q=TfAf#-DZ)LVSbpY6>{{@^5gMNz**QdbQ^Ty@i@v@fr(# zr|Y*m-omkEYsp$#Jl+c@kA1X^)(Pubs0U@&4>ldQ<2hChieB9>Hal&{FV`Q92)UpCTfi;lCDkL*eQBk$90B@9Vm-`wIV|us>1wp|BT(rai^? zRT8|qUjwX7r`l_jE7fY(>4VjE+=>;@{j+MFcAIXa@bH7Kn2sV^UcCdB*9jc!mDko6 z{h(5N7cAH9x675yO?);Q6W3%S)@^x?Ae?5o-mSD9sCOM4Cf^ealLnP4SpNHM(*Ik& z#}(pzCKvokG|kVF5L&%@^qvqW`&PP_1lW*-(CQtb|Co3`OLtR{M+8BB^!>uO8nxsp zw^|cYaEk^M*&mU$-#2{G}eEX)>|CFfzf(W4c=}6W39~Wybp^nQh zBJSHbiCE^Bn(i}UHGW+*JJlB#87K7_oRm23H;iAF*o5kPHHyEYx?dN>N-UP3+`pvh z`%L@(1JQr-JJb2mTO;Eo-$72T2`RWO^4}mMCaN#JThsF2oRXj3U^V~i$m!?zsEn)l k8_SO(Ugo3vNu(WF06!p5&yMCUh)a2!3>1o^JErFU2NzlQhX4Qo literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_lstiter.o b/libftx/libft/ft_lstiter.o new file mode 100644 index 0000000000000000000000000000000000000000..266717a3b53f348f3faf27a8ac253e5859cd5397 GIT binary patch literal 2496 zcmbtU&u<%55T4!j+t^OCb`x4!icl`70yXO-1d*hu7?sd%R0^sHY7ddIo%Ii~UKe|9 zTu^C63Q`mal^=&5IP}O3{s;I2xN+suLnRJDy+q<*X4W(5`r!*=q_^LE-^{${_dM_2 z*|_qyX&4}8zy)~9L`Afp`o-8SLJl*xyuC->?w@&Y@Ajd$*E{fbZy!MJONA+qUHVWi ziieQ9_X4^58wcM0JBQx>+VD3d=oHi5-p1kM--pAYxBF{;`xoQ5@uD-QEGPf$8Rxh$ zi%Xk1thHQ>%-Y3Mma{&6e){a`H%Rj@Wku zs)8T8MJ}3oeu^M(zLq9@8Hc$BvHvys>uFGws~+GdlchMoR;3q4z4>ZT4(s!Mzte5D z!}+CUchOy3c%>Hymp)%cw&K1DwWt(yqh{oH+$t2pTDQ<>xBPCQT5XhjeLpI!EEihM zu-R?+K~M;qm0C0yL826J3aGZj$PXh3{XqoXQqV*VCnu==#~&4M1K=4(z>!P&4S7#2QN3n<~4htk+e>E+_}t)TT1+OUl?bZCp@h znS{G2rr@vPq?iRqKVU3u!BH=1dg9V0A{JodYW5QH*~I+u*`X#gWYJHqB8^S@sNvB; zn;ij&zQFusLZ{0u_8dEszs{WQIvE{Sa@Xf#_20VG$vh3tdy7%@F7s=e{w?#mrtdQk zHT@p*zNUY|{0mLL!+f5R_LSV$1=jWbg1h5adi7GdQt9}8a3i`wZnfQN(S71zH|iuh z7u=2?lsVK4Yi)4DcI3O4u5K-KqjL2laD$-VDwTJ3@c!4w(t~E`v*0&MwNAO^CuYWH zz{Rzqas}~Li}3&2eVicKS2Ev++$0Z0VAL-Uz3Ze&pGta>9qD7y^Wrd4tv)A(zUTO7 zi~@S@8U}QYa&s&`B$6;acLig~`y;7;@S(iN1rF!M?>qXZIFarNr7SWR_=)ReAEL|p zf+sLAss182C%%beCUt@vTtAkCCxTKZ(k*mQyQ!xSSXh-rM%ll}5jvC3Z;|^) z&WX-1gG1^?r*}gCO(?<7yuRFX(#Z7ODr%F~_a>}QudcrS7HZa&VH@Etjw6%)7lD31 anZEu5)bz8XyjAX>ABmt*9o-Rq{eJ+hZsVQ+ literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_lstlast.o b/libftx/libft/ft_lstlast.o new file mode 100644 index 0000000000000000000000000000000000000000..3d210a298a4fa2cccc7a692401aa3c39eca1b67f GIT binary patch literal 2432 zcmbtV&u<%55T3W|-8f0Jc48k?xN89kV3|(-g-gz&TCxF*9G00bMwaaI z1=HD_zdHZQ#jV2I7XdOB7%XiS0IVDk*yj<(i2ySNWjgcoR0WV-0Mpqj5ZOQq_i$uz zU?kc2xy08WAE98Fq7qXd6H__zGscg%&KOvGNbCkFXvWnUg1qromhd$k#uZ5XyX0?X z!Af#>>w_>J6dQpTwu%RSKkD?t;_8~a;;t;eF-U@|U#uZpci)6&TnnN&@S@mlKq+iS zrFO6DN2Nxi?F|n6xU{}j>UP3T)b@j*6m;s%csPbsDKvUv?1wRg{xF897IdN*aAE?S z9pFE`67B9edZ4M#Zh#u*)unSY*#~&8FQG<*j7|*Raq{ zbruNd=fI&{NWC)d7A@J2+a9;-tU(f)nN!x>+>vG5dzNXpEaOjW7TveK2kb93UiZ^EQbu)_5dNl13m&7BHLok+LQLG6~F{vit+ zlE^6g7a9K}rk>vkAF7-ao!=}DsTaMCn*L5G!MD8rS42{#=Qc1l?f1)a|H?YFK7C#F q^>3BQC^<==NBSqR7ZD2U;ha*UfWdw literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_lstmap.o b/libftx/libft/ft_lstmap.o new file mode 100644 index 0000000000000000000000000000000000000000..3122efbd2af3caea3cf31a96ea9b6f47d22af0fb GIT binary patch literal 3152 zcmb_dUuaup6hHUgd^i7^KTYhqbwesR24ZirT5;{Bi)i&WonuTYeUU6lZ<^puQj?pm z6FST4gixp5L>Z{ygAe+qJ}HPY6z6=ZAX0pgz6c#C)VHESJm=o;OOtE*Ab80A&iVbm zbI$kY-gENu zm$xDEN)X-9+=9r}5Sh0pcPa4hmju=(xAnDWcJ#IJ)`s4^y-hQEb8-^{Hr)Z&oPbT7 z-@rf&O8L;DQJwon^(wjyj3<@>8(0*2dj8 zTCEmlp-t?f-qlyXNk0Fz)Gr+k$C(n24jvBoOEDEdj$j%^!lew-UFzdH~?Q*@1ln z5+V2*9}hklZNJJs+jb8vBxFUfgrw&PNs%=iJ@WO1E>v{TEobh6gML88ZdqF z=WG-s1nN2t-gn4Ekx$xRQB;1!Pw)Yv#=*9~AbY|GD*3A4;t-(eAPu1YghQWW!%VJG zu^Pj9Gh3M-UNma;QnfOCd{j$n$&rT|_T=%)qlm_|hoN9)%(_+1E@*j3R0{P(v066j ziG048Z7dpAVr(=~E>%kPqG6f|vy>}XOOD!$gnYGP85IjE#*zi~j9IE%fN4o#ZYaQ< zVM481MVLkW-!^y;oexEN={!hFQR#4>*SC&u?Fe%8kkGq<$HUQA&<+WQeE`l~^&MP3u*akxlBEY zd(^EO56hcIR@m6~c#xB)R4G(Jt5hvRd;09mNZrcjUjWTC7t5LK+#EL2`7U>}R53VV z6f=cdwrq6u6%ALlvN_P|m&&C77x@UYbbh}g=?z|*p9_L(cW>r}s%UOLEXrfPc$Qm*rTf(|n`idlS5S|Ih9d|08$&MFeu~ zjz5chul;|=_kWWI(Ef>X@1Obrxg_!Flu!A``+g^hwpd^2`#I;1KhIw({x@}rh!Z-) zN@0sq8dXk72{1xQHSr-!cuU|z@InyGwf=^r4dAzt6+CPbV{ZEh+KDGlNKIEI) M#s2esW_%J2QG&1z5QOQw-8K6*SqtIgpK z^a3UsHhSi)>b#L(ojN`B%))x;0}1X=|kHhTJDAbLOnIYwD;A=g@m5HZ|+KK8b53`D4DHBA0vfCh@pBm81Q!!g#xn{1PMjBSZO#rO%-}M|j zqOP->L9a(W$Pr=GXLpj(^;-eheh|6#>u+u>hLO{}47TTO_3F;%CO#4Ek#Mi;yG*#9 zdaLjBTLx)C$5I`P%U@vf3rS?H z#-2nz-H%7%OkU&!+CN>Xx_|0d3Za)YE#GtA-86}|tS|a0=G6SNT5Ja1nV1!JasN#T>s+Y=LZ`RpW*Xzo= z4rx(=DlNi_5X}XFKmu<4GmtpI|IjlBjz~E~;^5BgzDZx6+yi2yx8KY+KimTWw1}qw^!V8O8#QY1rk*WX0>xx)ikWit7olQZ4T?}WlS?{^vvZOrwwbRbft9u z%v$yRGXOagbV03E0nFuNX8uhutkqJf1W+gg1r$#qWF-Kms+wVyN>mSEdIn?Hs$^V3 z6Mn>%!-YBN!B3>R`nZgQZZJ!hc7rUf?BFw}@9$)mk6`NiNoviKFYBC{EA&t=reUb) zSEk5U(chgWyogJ`45|JD=_^Gjq_G>FVU!GOZsFx30DCyB`KO5yKohTBcteM5> z$L7q?)blsZV%|5W_Dw6lZWh*&xn@q^Lb$5ySU$^m*>e{iIrwKh$#1~XhR56n91W1d zOP5RX7(nxRTyCN{C)H1Tg&bF)36gi=X(m3Ka#T>}GDs(m_<3QUl6X_-1azZGxXwyu z!W#mqUGk~ldI`^YT!-!pNh^b+`kx9ry=16!{C9%yDDknd2MYhKuG<|cjuwxoeSmKg?-CkW4PcLz?-lS1)s*tl2XbP(_L z2>-7cq(G*`KSR#(TWhAFFNbe7YEC`$7SCRJ<69RdE##fM^l>eR> zPCB0~oX1G_k##xljy&9wLye_ABX?H~XX28SODdnAY5Jp_)V~EWKintkAN^x;KJz|u z>N_C?PsI!I_kcJOHP%IL(*CUp`_tE0-G3c9|9j-r-cejl P%+FIYP$-Y?h`RrCY(?Fl literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memchr.o b/libftx/libft/ft_memchr.o new file mode 100644 index 0000000000000000000000000000000000000000..f1c3326cf967ce2eef3f8fe2ba642f3c8104a233 GIT binary patch literal 2736 zcmbtVO>7%g5T4!juI)Ot69-D$Amjr-0x7#m8c=_r1c8g2wooC0-~hotYkS3d9eLML zD53=-eykuwE*wBY0tr+>B@l;Di64OwqPOJOV=o*c^$<8k;t*zb=Q*1vBZL@fci#8S zH}Ab2zj?k?JbOx26cDDsN!Ue#1=uon$1~w@26CvJEA@Ua^b2myW#jR4W zczvaK^PS>)>9^trX_4J1ohaVOEgz52_0r0@joexym0LTve(YNA%@M(CsO%NDHxG%l z<)0KJHa4&B?Cjut+sM;=+t2@^j3{?yM|CYbeA`%dM9Je0)f}821<>vUEqgMP$p9pB zsMk%@=8c(yTK0J6MCP7Dr$-;g1q>ZjrYI{py$7c5#?15qoG{8l^fNvQd;n5mjfTRp z{CWim)xwuXk(83q$&*n;d4@(x?g4xo>gqy-K8uhWp)Vu!VuZdymsD4u4bjMb5jr2D zJjb34(I_nn>KFJ*g=_1H^bbU#sbcLXv zpzHZg!?SAzly-LK0UxU1cma6ews8Y}8F9XI!JZEwC|AINpj~&o8vM8Y!Y$F~f^y+0 zP?m<3v7uz@ef+U*N1h%s`WfJn?C@Laqx%hY5fuPekxIaG_*N9(1$Ucm^D^)b?pURSym0)Xf)^G z_Zvtj;E$a_Q4RVV+7s5Ile>o_ph4^sh($HPMw9Gb#QE6#Va<^fGwj20cp^DZv=Z@A zi$#Gv#|1ym_&|*B_ZM=9V?51sjPV`psaWx^o?u?g-(Y<7AM~dreV6gm5`T$tMdDv) z9QHkq#ky}Ze^JtZ%J^N0|D5rM5`UTT6^UPF{H?@)#P~;v?=dd0r<%pM8`i|or_QJ_pI@dBs+Hod-6^ZO+?GfbT{VC)NOn%J? zS=Qmz8rnhj)Q2PyeaAHX$$4K1g1uN@_*;=5l>Z4IPV-;#ALD#U2J7*|9Se$e1+^6A zFUax@Cd9oV^y2#k_Hi(%eg!@dqE1x5G(I9<@N_@PdqRr;@BzLj5Hnd@!Pubnj}BO$ uZgqKmy63dBJ8g8Y;nO#9{slq%CzIFz06DpKq`SsVb(sJf<&%m?qJR(uPC?HSD8NFrH=pyTbC5*le75sTwzK+sw$uJC+nK+aU0b~g z$@L+mY+JiT+}Xq-yI~>4x`7&L*7fYR)g>p|h@I^wuMNd;em%P}kMq&g^w#W;7p?8& z`Yi#eizLjwqhx2h$#=KV^|rNrMMCiv?A@KqdwYAm)DcX5mZu&{pXhe1 z-3@E^mG6|aay&7@v_$IG@kCk~)&bNcoE`zt?gA}wDjtsmL=2=2>vKo6#DnpN;`fZ5 z9(i;OfH6=xL;?ED0W*3x?kIK`a|KaoZQ&Qe4{^V~RH1*$HwdXF4jTDlN)Ullawsnn zs3bqek*SxK0_)SjsvfXj4Xn>m>FT8g-%8&bSkL;_Ft@V4HA2i_Q5I3J;yfCoB}r7n z-%Kk>E9v;x#kiz<=AYf7nrf#44YA4wRLYGCmZIZQ>7h3~~BM{K7nz zNL^4LKcuT)AOqlM#3S$$j*6oEl{iF-erNm?v)yXa(ac(Hxjs3a@#lUK&7gRu;}&b} zk`2AXV$o1qUa4f4jcU-611e!8T2f)L!9SU?0arKT2`}?cq> zU*L8_!aLkvm2i4fNHzim;#{9_`+W)jjN6wb{5-d>N%#lc{#L@pdJ`O{nuY6D=D1u> zFiLizU0KW*3Qc<%49{Niz$iBAbsJv^?!;%H*HK_J?OL9D9Jky6!)LKOMbCG z6ad$9YbFsVO!R@E&+&=q6M?71glmeGbCPS9`|Df_C37D@hl~-|;o$cokZYNH67g_< z3i=HWUgZG^&ci3zmm^$L9}-3M9fx6(UoQF+7Z$O;(DZ*tzxbbcyb%uOT!KXW6QMcb zLgM{?RCJ0s!CMKirEo8hFU8}jzF`sP7g!4?{pxp-UkFhrs^0*9B3|J1KFNDR2(oA)Bpeg literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memcpy.o b/libftx/libft/ft_memcpy.o new file mode 100644 index 0000000000000000000000000000000000000000..98e41b82c274a9a61004b49eeafe2cb9dca2bfc6 GIT binary patch literal 2736 zcmbtWPly|36n`_5Z<5_~lWbCI|A^+GR>YmzO;@O`)`&)@X)8rssfQBtXOavilQlC5 z+r?^eQ5p;49u)PUmr_Jey|my#1P=xjSv>W)7ookaCkuk{y_xT8CbJO{AI!Y>`@Q$Q z@0<61?@Qh(oPI%;BoHFO2^b^60_><`JMWo!NMhuQG5F0GT--4Rz1zlMW!u=exC6=e z_G1W|x6zy<^GX3D3U}|UjKM7=aY$jy_^~jgjEINE@xpd;vCBqmcd^rY4NekE}% zems8oz{$)r2LK`rWKNyT0I=l=s3w8f=p&dQwhwK8Fu=@1pd?Pj<8gF+i%$d}4Drgg z$Fsw)50Q`+!4i^QB_t&u!*@j9T%ABoAARQgUiZLSYdb86u9lcs@mV15E)t7U6+p;aEX|`H=%c|7fHD8TKLd|qs zaJp5nq1C}Td$waWY_pcNY~-zVv*dzXt}Fp2?UI!P3;x?O=`#WL`U<4=mqA)fNr(1C zV;|uT-H$vyB(x9kY$El({M?)>4=@7YXQU$V8onh-`ZF;{iZ&J>N$)vb`Xas6>bDn` za-QwgPWNl3TXwb8tC=wVVyqR4?e^fR;NAi!+zNW8i2{MkArPPdb;zX9g3^Kf-X0()GR&eKoJI5#@qVA7 zfs*zW2!4U%eF2_vo7BMoPkEl?_yMkIUBRz@{2%yZoEP&pIQCi(ZNb0Ed9Td_e4q0* zu0{Mh$K4SBF~^reyw~H%iTa5=S9zS!f){b$gz~(_@y!tbImcP9sW!p-)Hxrn+xX;z zRx>NTMyXt>bj?0!uDRxdR_(OgCiXgaI&K%VuGuPcY}xe=Xm-anwHIGnS#aEP^$pOd z-%90L4ezJMM0m@xO-`82QoUPlo8tvw>uH!DFA>xi+NA%#P#uHkQ)E2L4=~-jK?ye? z{_1#_fH?0WHqQ;QPl8VggKO%ja87dl!u{g>aJVb>C_1K%&vWuSF_7zU>=ERtf5LK^ zlb`Yd2@D_#uT)Ry4*|)e_)y3qfq?wQ$6X6>WQzHPevotF@mKlb)c$4s^MRbf&|iax zJKzxW3Tn+CzZwp|#R;l!P{j8O&Ou{Z{j&T(h&oaI=vP{d7d+iJ;WZ%zDSjxo2m~Y? zTS4En`HxPSpUzr%{#TGwPLDdMF5z=e#Q7Hlt)C=3|0l?WYe#Y0eEnY$K%sH8r11QI E1DnDhMF0Q* literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memmove.o b/libftx/libft/ft_memmove.o new file mode 100644 index 0000000000000000000000000000000000000000..71f160bf41a98b4e21f1fe1e981626c8b157b223 GIT binary patch literal 2952 zcmbtWPiP}$6n`_5Z<01`k|t&C?uztKT@W*AYlU@J*DMlEyQ_#$se;t}nIwbBq+}+w zySVE@P+AMJ^`c%BQE<_NcySj+Dd=G@!d`@W>qTh6!-@wBD)GH1BaeO0oKEZc9xr2NFZ}DzwvXv^Gi0rap`t`qrI2kSlrEb zF5QOs>k~*ra}Ui?GB%XIIR-cP;cU_ZQHS`wppIEY{adL z=CTVGxP{^j;J7WaX5qgrlr{?Eyu~BF_$(-E3FY`mIC2%Q=x)U6BcY3cv$4b*>f@uj zdIK2%zabQY7qC?n<&W4XDY{wwluX-c(T+0p`f4LRGs|s$cp2}|GL~Jcx63B@c8rIG z;<)9qSutu}E)J=Lk!W#+MTaA2SxR4G$0`ils9t57zQBg`Efz+d)X#CPqmH7Ff1^lA zp`KV^+5&cd$OzStFrpg-F}=oOUvo}ufrTDnLknz#7!T`OafuD<+SC$LF-FnPsl&KO zZ#4tjw-F1$uiXJ%ph0gRechT!i9Qe=4SYq%*QvpsX+tYY_&Cz6qLK8?%kL1eq99N* zV%o!>SS3ivCK<-Bmw{-@8433i7!8!9r#PSRwD75nkr1D8%WIAaTaI%|`1c4+`|zLA z1OI@_I5`fl0m$V!jauT4i0Adghp!2|EVSfPaVBYbsyEI%!oL#0spycr<*6S3BjJA> zz^@AbvjBcs_}2qCl_io%-g;-_KOeeZlHj@NBBe?z7r-c+#ddYMP%O60RWMp+yGuph&V{uK^@RrM|0`7B{qI$d_mgImfFWmh~#}&1km~k3a+2>o+#7!`6VqL>oq@!wwzz;DS-v!e-!b?zr@e`#`IIQ zL62epciqEQ#B{wOA|js7$1igK66>Hb==`pU2PN;B&W~!1jF}+vnN?G|L;A- zGlE>ISA*u?9xy-E^5Fc>Bc`42Hc?%{uO~YqUd~7BCy~DA0epf+@a(AXq*&B8IVcoI ILk8#n8$v2cMgRZ+ literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memset.o b/libftx/libft/ft_memset.o new file mode 100644 index 0000000000000000000000000000000000000000..27378089dae882bc51b1b06fb7c3923ba8c3ccbd GIT binary patch literal 2608 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 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_putstr_fd.o b/libftx/libft/ft_putstr_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..f795861d6dd0ecf4c0a8d608bcac04de9adf9a6e GIT binary patch literal 2448 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 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strchr.o b/libftx/libft/ft_strchr.o new file mode 100644 index 0000000000000000000000000000000000000000..dcad44871ad6791a457410112381896c3be9b4dc GIT binary patch literal 2344 zcmbtV&2JM|5TCc}xA}154N0M-pvn>jRI03#0BUJ18bsZiuO5ID4z$tQS%0YOHP~y{ zMJlaIixeSM?WO9W;>@K|PuxIAJpecUi5?J04Yx=f+?m~Z@$zC0RY%%4Z+`QenYZJ4 z>u(FEKQ@E_B?6AZz)~ncO%C=;(RK-JWG)xi{w}V4v%c1OR=inQx9`EtGtcaMkB&UF ze{hh;;Pnl#f1D)yL1BZ!pUkqec>TU8t`*jw-0k=K#71KS^~UFaiEUzUW=5Kssn>U9 zwuxyAz<3MH%+Yi@4Pe@EVg?}PAZ^-O+G%FqPk)f!KYL>4L(DBD7z`21+82@GDppNV zeHe}2aw6L6%OwO10xe-4Kov*eh8*HETtL_hxJu)f%dzFh7Af>~Ntsu0u_!*uB~!3m z>I7jYTlU?cn(cb6cD)&77Z#m)XMXNrCvq-aTSV)Sa~LY&N;_P;~!{?%LH=^Mt})8i9^H$97|2!MteGuKk5}?D#JMLlU39}623WhQ4U;C z6h0T5u!A+>i7N_kByh@egzYz3Q?E9gj{A2QSNW@Kzsp+Z7c_n}_=ug;@aQHW=4yD4 z?XNVPE+|PhTH`Y&&pFSyejadEy;7&T;+9G+uM1A-^+IsU%|^q+(Pt;#r@`!j)AD?m zJ@uf{1Se>Qp7Y74%X96}Eq@7)?{^z3?&>OD)apxgzaDrDc(s*E%WZgr#5mLrRtnt` z>aQE5|G)f%DUx%dGCt%XxupQs)Ssl-Xb`66PWhI2qvlfKQ)t12W9RPf#Q~S<~DTMa>Vx(BQaN)mP`({)+gg zOrZa|q^LNhKSHP4Cwa5U;Z8VoF5MTzF6;Cx1JvK7sP|V`8#lxH_Zx$%Pt?CLd{n%` z>3g7`2_d-1^*dxFMCX>!H?01jL+aC4RIh&?G4pi4iRwFiHbu?90_glCdi`G!(|bp} Q#|+*k1BK$~j_CFO1@VE^SpWb4 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strdup.o b/libftx/libft/ft_strdup.o new file mode 100644 index 0000000000000000000000000000000000000000..82b9840c80d08a304ff1deead983007a35db2c5a GIT binary patch literal 2824 zcmb_dPiP!v6n`_b-(-_bcJrsy)T%80>&46_F@n~%MkG4fRuLtlhZ6VC?C#*~Y}}a% zv6>pXt(x}IfM7upd+Jf}QctCz7{!BEkMSU+pb&2Xh4|jg`?8bi_8|CRzW3hm{rTSa z=Y8|x+?f|uMFB|)oPw?USr|so1#|s(v-3yZTwmQWudMEDlg(V;G&`Hh zElR||+_u?S-GV#k?|y8D8F6JCTOm#bYt#@}V>ux5@ZPC~ldZ z+lsk9w{>T8Z*Nc9en_P$$u=5xk?)$F@AGHBQ%01>vSUKa4&Qe)JEDy00BR1CYX(|I z_1SSPdpz@O=Gc+>vFDBeqy(r8&5r?ynFFex148>A1uc6jlgZ$|JRTzbhml2@F!!hU zrSL;@xR-;WoE)wrplT8&O?iVfCD+0+rEV-m+WW|ay3q)=5wfB7cBqYBBBuK|gy*9x z`Wnh<0{XAwK%^R>tuGA=<-qlWe8nlb_58Bc_Ux9MpPDu%jme28gU~p2ej2qI<0+{5 zi=N-E21`Z-3U19SG+Ir|D^x0tQm}0Kg_-F>({^pIVL490vCB1oC1Tx3K;Jfa&Ff$Q0I*Q(}i*9Xr&XDwo_|EaEMQHLT1%DLA-Ss7N24)&$5;$}a9IDJI4rSN=q z_#^d&Azl3fJpg`2Ch&HKUyA>y> zTF_l0ZVr;?SF2XdXhf~kuM$S22#Cp~LBZIGU9;%=EGFks4oKvn7 z)sX(=xX&cOT-GW%^*71M_=|k`>HUh6jFbFzG)g({_f5QcVuqye$5H%J(*0WoXn*1) z*DtXPDD>LDalTOUoN524*JZrK>AgwTgb?iT{J)SAqogmrGri`Y>@h#R$;tWYH>#c4 mYav_1Z=Xz#m-|BX6D8;W8Zqe;I`D9toAOuIDUMPm=l>U4zcY#e literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_striteri.o b/libftx/libft/ft_striteri.o new file mode 100644 index 0000000000000000000000000000000000000000..8ecd9453604f82706b9dcbf95c0e9b501d73371a GIT binary patch literal 2600 zcmb`J-HRJl6u{4&$(?+)$?n$H)=J5Pr4`(n-E{?NrCrh0aj8BOR+LiGd`yy|$)sjx z*6m{JLaG=Rv6VhZ1r?Cz^I|!-(&V*b@=d?(P(7% ze=1%6k|r!XzcqmJAWRPk^)!B^N)*f1(Olmn5iejEgvE-88JZSq(# zrQO+#t*fZeyB2%zqvG0~R^-ioM#`YBbYwB(1Js%9C-}`$V$9R2+&ywoG&71!XJEY= zdO=vKwJTn;wBhu8x9gP_m&^roVgC6r>Ri0Jgx<3G0yKiMAN1V7>A7YNEU)2Pt!~Hh zty-;B2{)X;T3)g`uIKtKr`@*NZnY6?#wwW$K45$g8W4KE+w`1z$@Kzoq20wrOfcWw za>@bxw`I}}pP&y4+qwvBbA}y1kj~u3-{5Iv)JW*0;pM{2$J#3g4ebg>0PG@4!6p1M z#{McCBt<_RHfDu>k9K3V+Z&zv#ihuOPR@!?%yPY2JFMfllP87weo(JF4YL&&M^-}= ziC$zpllzk!#yea$nmqL`&-QuVSmW9nf^RrSGt=NX^wxOFu(#5G zg?}W$xv)t+mEbhaS>c}$nhq*xM~pAlTn>k9u>g@?kwsBo%0k}J^{#_Qh^{(B0i zN+ub^Y8-!4_;(flweY`G_@}}z2~B%V?l*cWkg4YYX5FcV&2pt$?KvA@2F_*xX06-l zI9QUR6N?_qp3|-f-}M?@FuiWzn6JOJKJN#W+STNh2a_tKT&dUbJ!wv)wq4H=z-g5m zy-LSPX5zDA;%q^siu!to^#3ED<1op4Cr8~Am*`swgjS1-{#+1~_gIFn2t(d;$!DY? zH07#eQrCB)|GLmpsj((@sElGy2>5U7e->kt^+mZPrv+?@aSF%?;ZqpNQK6}hC}ctS zQtgSn?Qb^~++C5MWMr$cTQR$)hJPWzi^>3U{}NNZ zPdmTc;{M2UqVvmQllhX=QWqx{<)%ock3jM;Ui)tI& gSmgbefYwi<&VLV?dUh1IEsAQF92Cl<8d2x}8x~;)YybcN literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strjoin.o b/libftx/libft/ft_strjoin.o new file mode 100644 index 0000000000000000000000000000000000000000..ec8e4ff7be4960439432d56ef1773e32f8fb4797 GIT binary patch literal 3432 zcmbtWU5Fc16h4#5WRv|#vOoQ^#V)AzL3YyJuBCLPO_k_uT1CXxQqY*6$tE?K)XZev zwydp0rE95L1P(wn0xN` z-S3=xbMM?UIh8u_a6nN&ngV-Z6-gGL6j|*jMK=j?R30>Dt{ctYlE%#Rk}=a*G@8>( z5PP``CD>hr*egBMol7lK(2XAnoSj};BxKB_<`FDPFpFT`P^V{&=A2?&`W58BHB5EQ zpXznWFqc}miDsNlEf~#N1v4%fW2yPrxy@pt)RJ-b(S_Fr!YH^#-7^E>8{bpFT&l%^ zEe>p9;B4&NRyS}F)veXQmZ7@A-?_7iWXQF?4TkXtVe*;OGWunsc{%y?H%hN^PqbfC zqwx)!qrFOB2p|x{#Oit&?^mO{yT)*Xf_H-&-P6^DT}{V`zEETZ~=onoC!!b+-5ZNXi+`#-nd;r4Y0J}xs->k>6fVz|EKtLn$j!vgi)=c302>StsKH1LxR zC^{M2sUNMCEjF=;x9(UC;8Y?bYjS*au{F3JfO+a*4}(1dwT1&_I0_Zh${-`+8iDnf?F^k zHUbak#1o)Q#g)z79pN|eptc}S4;dXC?2E=<4LsBnQhODYz)9qS@C6Piit<;qhaAc9 zQ4$Tio+w-SN~2&VrgrVj>>M4cl&!|p(1g`U|1PnQvjX=nQK?K;hlWRJ0~6wW z67IRk833H)$4px<(cH2dfVHQDE3=(K!7QRoMG#aWf*RMH}IwTI)<}fzX&1JmL|>QPhv3xD-XwT2$zcU{*0l4@Tk~0Ypk@f1nfhS}y$-{~j_y z_~Yg+14yW_@{`vLt9;MbkV4<#rvz5v)>^O^NBTVZ#XEys8lSj`THCyJ8-5qd=wj0B ze^XUOOWlTl#>0m_daRJbI4(8pf#LyXsZ_?1eA+#MdC^6X}OCwn>} z?{05rUgkf^c+AH?&-g(fFKQ!lKjqUm8Jj--ZN|2be~0l)KAzquvNv1@a{cc! zmR|B7F#m~9{~_bAef%ZHSA9Hvjmds?-O9Wd8UNzrKW040p7!3m|CgEf?;Dmfya*b{gKBG4%tpN z{~YL4#4_1J0Y5AgYjR*+G?_3V|*)cOgd-Sr@P?>??k0 z=Ow{j&M!UHpLX%5_)uwmUXyXsKZ%2~@6~J>zo6ymyT9T;O}t=_Rxt-h z*}zfG<+nvg-(x>pmU54B(7bQ0|2Xy956Y-Aks4=OYUIS3)TlD11E>aqWBU9_Ep;I| zmwf!x!uX|A02%{TKnvplvDrf|I}QuuJOMyI3tH-8GMNO3rx6E8JQgVU3g;Tb50PL4 zj|FzL`3wP7g5)T#kf)^I#8y)`m$>%<_Zr;$lzWTZBW6t9ECk*tdBEPI7DY91l{mFT z{3BF>tt;^_&`uBl`Eu9wyP1kpa_gC8yW=(6Zf1JMm@=j&pXdg`>9=Okn>C(f_=9!Il%l6DlrBUiG+rBwFW44-Z(`(p{V>-=p&0pavlnPE8hw8dsv+ml} zOw;wjYhJgDK2&Yb2kfc?UZ)a(;Mi_4fdAV>abXYA>QI#HFN3l&qMSJvPke~y@GxTZ zk0972;RWb4)9+6Z$3_Ml)H! z$Q71G6aOUPbb)C(HiVpvzQ!hUY&yrz=hz%Fa%}uAQ=egqenlO^$N|71s>gpM7)2umac(OwaeXlu~aU1>}4=Iwo@{Ed&LK%(r&eE zd|M9QEJ?;EOfY$J)2+27&33_X+rDjFelb7k`K8M1V9;eRma0{J8|#M>ou+FGz-|<4 zol?t|{qQH!z@hw784T}Qi}e2?-(n}>dX#;BEeiIo1cavj3(KSE5GLze#^!|~@1w+{ zcarKhT=$Z9M}Uh0NTa6nq`OISlB?kUMCU}IUqrkuv{X^<0tTWOadQIvMkWd!_M@ui*+STz3=QT+5ihDGK{UBsZY!@Qru zmnRg6a_Ltev85>eo&cT-<&r7aFJbyeWYGRCiGq^nO#4S~jLet#8e-8oA=EGGt-v{G zqTE#s4I2N}fbr?Aj*d_DrCr@8^)`Ne`BLP|eWCf2M92RQG06!CqS+Fca$ES6M_oq8 F{|EkzPu&0j literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strlcpy.o b/libftx/libft/ft_strlcpy.o new file mode 100644 index 0000000000000000000000000000000000000000..f3e39eb4e1219ccd30a49106fdeeadb96379d272 GIT binary patch literal 2808 zcmbtUO>7%g5T4!jTf1>;J3oYk^5X-g2b8rFf&^_zgOKUQv>Z@_Dx@m-XKk-ouY-3T z(u(jSQ%G8bQlJto0?Glw4Q|{}5Qri!9Jp|6E|pS=L%0Qj6lQkcOE$0R0Ws3<%=gW_ zH}7ZWy1C>+L0|2p!U62jI^guWOKz|Ul z)MPT51c;}R2S_{=DEJ%`$0$1_f}^C>-7a4sr3#vW@;o6W{VM)7_0mF!-V4!Oh^~gH z5h99=sh3_1P#+;+@6aDbHG&(9C*mI<3T$18e};B~2$(5%T)&g8I3>59owwSa-Ey;I z<3`@dk3P}~oMW$zBbqQCg_=L>`E92%ch;yt&aHX5MyqLgxk{x`>daeyZel#wv|Zb4 zSdNo(>~hUt2vuY#I4w-oaXq{4TGg!W`rz5;tXUtbo)0)v8@zTU;K2Tm3xq-16N+-~ zIZzfd%7NZ^Vg*nCUgYQ_p+klzQ<=Bbr}pdWHH-lG6{#4!fPY0%{!Z;DMVE%3lIwVF z+C|QB=9{Bqq#7A`?@Tt z7g@TjXN9TS;8E7A|H3jD(OYENQ5G+Qy)Z;F<#;bW3i9mz6Oa)kj+bf<{)gPHZ zxC`Wp_+^4oyMG^ZNPR?E{=sG^5zkN$avF~zB{C8p_Fm}h4;2W0l;fcY&$vzMo(NC# z9On3bu4y0Jw~6+{cipnTK{cT*=DEW8m!2Qw8T8& zqh(+!zf=apJKH4ve}x{>X#I)#rg?#WEeNjZyrS{|0^&qH3*QtsM1Kfg?h&ffXq}6= zk2pEZi8N}uKYZ!}5j^#aye0~`8AJiJxE4x|okWMsQS2#B%IlY7sXz8w|2Ld$@By@b zhM&BC133!G;}?~`__%9P5^a%R=!2Y-$6w*aPV+}aj1&44I)xpLyB=+ph(nI0enf6g z4*!`Gk446kDfTbuE*g8C-!LyIanE#q^md5xf`0`$c}+-d7xixe*!jt^ZFKFGKfgzQ wsx>)(6*=w17M0l>_-%{H$BTTleiDI01n?yq^4XE^cixn%1W;%kO)2O97t=R1)Bpeg literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strlen.o b/libftx/libft/ft_strlen.o new file mode 100644 index 0000000000000000000000000000000000000000..3c922402e973bb48ea2a4da80f57d2799797f43b GIT binary patch literal 2464 zcmbtV&u<$=6n?Yo-PmzsI|-DQBIHAXg2--?2B{QOj3BTng#&6)i-fGTJ+@b@*TuVz zLZy^K2vR6Q4F?25qF4Tf-jFy{{0Cf+xFET=aErvjytg}3Pe$f|c+&3o-uHgY%=4S| zC+nBqFcSgWgp);WB+<)#R!(M-%YJ~@_`-F z8^v&D2xjv6Erh~0=|tGr(Z(=JhSg^1N1f^>AH+dFs;;a$%g*xB*xP92-c-@&FnfgC*~)H-;zRQbYq zZO%3>V+6ntNaa!wW9;wJ93aqdfe&+s@ql*khT&#!X=OFl(>}Rbf7~EyhQk(z$?32! zC~?wi@wU^=M!R4TM`D(lm7m?UZ2PKZ+8wL#>yA~lFIvV$t6<-?jCQCC-yBTalZ z>ZqVBWB`(1683S0S3UvoxWZGN7lr+#KgWH3r~Q-2bvu~}o8!tQDON5a0T@m~qMDvq~qT`DyvjiQ%O4sUq_vzK%|*t8rJ=;Z_`aEd4zpcU=#c`R9~eQswz2O@D&Z`d1P2 zBl|@CD=7Jrr|*HjC#2wx*w9@v6wzZF=$p3wnJMej*H!Lcu74Rh^U}DFa0{P@BIjQc cw0{zP{cn-edq;80Vt#%i1BLSFj_B+E16}6sAOHXW literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strmapi.o b/libftx/libft/ft_strmapi.o new file mode 100644 index 0000000000000000000000000000000000000000..c36b41bd33cfdc94652cb0e44dab0d422d3a4104 GIT binary patch literal 3000 zcmbtVO>7%g5T4!jTRV1QJ4q@10c7zP4rHCA0ii^Y<~mwY;sj8e4jEc^eXM z4t`G>Hq%aAnH=ogSi6dmO^U4Ti=f%oo8L)#E7QJtxzp*0*tJlEX4u5Q z4(c7f`QzA`AEZI)f%q^};>kM?#|Nb$6+lj4Ek(n~kUDihi64zU9veA0J$&LIK!}0N zq3K}&Ho3=D6F_MAeo*4aW3d=OM%5bN$$URNl;3>k2+0e30&*LcePV zho2CT6@ii`y+odrSjI6VUzqp2mgki{??Y5fzHrv{28oH@Y1bS2f|R<7gL}@Zq`rrC zgaGv;9Qw$LUZR04j};EZz99!i*4(^s1ZMIL%W0$vX3m;REf{sXQnOOy6WW+IHhQGt z2FKr=KyOle1WL}V?bNHe`HEJ6v{kaxPRe_JT*^WGDrr58b3OiG9Q z!;$y#i0(q19uhhTcru=RM}BHRm9HTKU=yJbyn>@7Nq@%&NYTmSBc&U5o!%yGnhVv@ z@d?*dOjS=aMV(`ZuCt_? zWp}T#d$TN(We7*rlihIWI_qn)7&7E6>sK$bIGTecHjG}DDXT1;Wzj4PsmGZ7^%+dd zvOYv`1{qCBJt;@=g}lJz<5nz#b4C#ry1nFygni$q8g7Z(#zw zjM$K`u6t&PeQ+E8D4&Cx5-$Y!2d@#5V?G>@xr-BrB#KYBL(vv1B;0FoG*E^-sWdQ$#``-re^W0ByO?%+qhdGW1_a~x)Ry6XBx!GJkUpE#& zs~cucbBsj?v_h>~HSj9o47{p%*vqI`r5f){)389ZYL1~j^W4m+?c@rt`g#^L>hRfI zv542<+@3kiie+%XD9@JaxvBxxoN3kyzI^O?4U0RuJnGl0r2nsciWB(1PcfhD-s1pY z34rThlhb`jnE2iWeTo~RuLK_KMf$P&`#|tg{9_;E0P*M?smDkTc*?CEToZ+296ZN) zLIt@;Fc8Fud!B<=MIzThu7-H8^*_(ozrqt}{R9Qqe;;B*5$}nnD=+Ym_L2a&7WIXu zd!SeTUp$}I=NFMD^fU&A?dOg3`Y3vE*F0>Vm+MaP5YKeJmFtY1V-In}A5TES;mc>jofq4kpl X>wk`z;J5@n=zLLa?o%EuDOmqsnH5*f literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strncmp.o b/libftx/libft/ft_strncmp.o new file mode 100644 index 0000000000000000000000000000000000000000..5af8cfb80bb897b420c7bced671749b734472800 GIT binary patch literal 2840 zcmbtWU1%It6h1SvceDBFZhqRBHda@$+EOx;T~n~t)`+Z5hNg(H5{eS{XZEM=&c@x@ zkQVCSHj-_SredMcmpq6TMW3Yj0}}9|`sh;wzU+(8^g*H^C#jZNn3E8}$fVx;1_9(pKnb7d z?d=6nRP+x9Cr6aeU00Ws*Q$ql3Vh0RHfY`1_9Tgfz<)-5bKfw{e z0T6O_f%C9y}-QW=bh5ADuU=wPMAJ#^UO@IzIMz-Eqd=h$EU% zk3i0zt=Uy8Q=U^Zpjo+^R;ZNCnwH5FQuTS$)+XXwxo8z@1+!GrO2u@}UT_uEty(c} znb|0YRy~EFXxUJUfkW5gU_q&ZD`|&2?&3Lf)`lYdx7F@;-xZ{DFM_ntFOBwfg;sD& z?nj;mNsAuOg!|u>pWPLdf5HfWUyusGX?#kO^jCNnDcVUKl2)%(>5a5fX}&xbi#xW{ zJk4#IR|tC`ho`Q zHrSxS_BhXo!A5L0nqv>-2gH`sx9*ufk-Y_Nj{Q@>`h9Gfs$3~fU>v%+L$_$fRA zKQQ?#w(m6CkL7v{7B|=tgFS4psKI2FNx|bX!`Gu_{IfVm5q{n76rs3h?H-o`?NhzO zrvTo*4x#{FMV}l(Jm{(4;(k$~2eEe+anXo(FQA(+$nyk0#__O+r|*l9ecTZ7$2fj~ zYid_}_s~Afc@gj2Qsm;C_s38A;^#R&<>MDQe%Z&r$MG2-zryi?kN=e83qJmBj<5Lm zC5~5p{D&NW?Bn0(ILbBk#@nAf=ly*EHEX8p`Po!DT{Y)Hwao<^)J&yZHu0Olo%p@+ z+$2z|W+}y8MJrbU)vDO0`uwTnSj|plUIUdb=4>jP#V=WYM|i1dnVc{Sv$<-jYL`Lv`Ik8Pxi`2&>;!V&dnm#;IeC@W3G+Do^g1%aHQhG~8RuB2VFVJku3w-^*wHep&$7Yc3H2-Rc`RVKJpFfG5a&nuF*;_c;BF?`cX#FJq X`L819?;XYId{Ng4pimwy$v^+!<1|Pw literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strnstr.o b/libftx/libft/ft_strnstr.o new file mode 100644 index 0000000000000000000000000000000000000000..80ab0e169808707220fe37be88390bd2d49944f3 GIT binary patch literal 3072 zcmbtWU1%It6h5=FceBa1JDZ=TZ7O!Ftpz2sNldj(LS2#3?a)a5i3CC8{>*MhXJ^aq zY#K|Wfi*U1UXp@>C>lhupx}exgAXO3Q1PLSZ+WZ_LIOV2w}3)CXXf5yGHxHl1GD#j z-}%lxch25(ci+{{KO2%H5GKJ{*hPZHF}gcXyVEozP&t-a_&wA3Bb`~8xtCd}Z)6t6 z?q(LXjoH(nymt(R1Tw?gJ!LNGqM3~i3PJhXyCB(yy4 zqIQlhxTu2=gg(ZP7D^cXnlM^Ob#u2wVJug-oq95FW$jXO%Ba@Nik<8qQ2W%r-pA{% zv;Um|M1$%nC^{20r)uM)<{@PlYpKaf*{G%R`N?d3%5YMH1F5oUo3%;9vQn0rD>~EO z0H~y(CDNUj%77 zAsyM*5?#XDK7c$uWK?T-I-Ynx^vwQG&ucAYeq`%_(X&@OsQmS67(yOE_ zYpUGaKj6;Ys-?VYrA#|-)e8pr-V&>XR&xpkqo_`LJ>ME4j!af07Hx~BSxZD`$_VQ$ zvL2ls)0tXi$949^I77ZGQerZW;m9&;ZLk;+xMRrnWkLhypQzpwjBdiqz5~yy~S#+FrW1=2JOvg;}_bmK6 zE_>+*IX2FuMyL&I;qAJ~=XK=5@aJ|D7oPE*_ub=`d86zh5y;RIq+BdFX(k;#i6-iY zk?Zi~b-!!m2Dz3R4sQbZ8}AG) ziO>&m{2(8xvi>Ud1@vy)BlqNe^jbh)=J=%mKh1GAz+d6G65tyg&jk1tju!*`=Nx|- z;OR$$>>F>`soPbKlYFEa`0G&Oe6T(dPzy$`UYf|}a#dpr)T&`+RmYfiK+RXmWdpB| z-K$E7@z&x>FW9t;6)vM2NVO}Dp+5KgSZ~eA=HCL98hs*LDBzV?+7oD*w!sNwa-vwx zmJMGz?0FSaIoTYJZT_b2|w2%d5W_e3F=IVsK^ab!X5*(Mz6Ho5RS0zM1IpFv-<{jc!- z&+-7;KT*N`tH_Z=^d(MR`-C6XF9g9ykzb6||IOml{7a?v{U+kX_%b@h+^@5n9f~H} zd5^p3?=4#AB9A{!z-Qw91=YYwv-&0Z`4itW)sOBt5ij^l$Ti#l4W9pKz!`v0y-)tr zP4d%Uu3-KGa`O3YI%c!@?AQe!FY?j;$prQgz*jg4){cBX^P;R0K%+S7v0(mx04Gp% AfdBvi literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strrchr.o b/libftx/libft/ft_strrchr.o new file mode 100644 index 0000000000000000000000000000000000000000..4b6be039a0c8b533c5aeebbb0454d07e5bfcae3d GIT binary patch literal 2736 zcmbtU-D@0G6hAYwcXpdib~lNptrc1D3o4mOVnka@jL7PAZA8?FD6;Oy?C#*~Y?+yj zFjfk_18|Sc0J^P=IgMp}icK%aB9ns?q!1=;wS)PAajUV>f$~(`9P4Hnn4xjVc{=uBxnVY3Jz#Iu;ZV1 z5ReH}CFMA(Far$=NH60Dr0hI?nY?v2^fp4z4!sXhsq)qvfj8MFrJTo4l4c8LW{K3N z1f$4WfFx6}TIo1`CttP8P9wi&x}Mc`^79MYoHjT6a3=`Pzqf$iqV@>X{gUUqZnf!Z zRnVQfr#IUz)6=WfX1TLw`ugI6-m)CaYnryL+g7FSuZIed;YRYogDO~#4;I*MtlV)t ztKpcnJYk--VU~ROZ)*!T26u2RZM*=|dQLhvo=k1xx!;XA4H7z1cruf_BtJEw%4^5~ z_zs~2yoz5*lK#p}kfPs(L()5*OWV+Gd#yD)zYy5LiRs}<>6TNqJ2ev`JH!)0@%&oN ztZU7%Hx31-PPmelSZ?eOrm96Y{R&GI*_iq)n^1paa*-v~20Mg-WRcAjS@skgKgE(7 zyA$EV2qRfmKYEQxU3m6*2oV(tzuhZnPjQ04XSqKU!5Ozn-4(%U zo|D|ahif|C+kXx1hd3_gZ*u=puH*bdjNjt^i!pqi`{fu;O-|Ad6^ObQxPLK*zsvp2 z82$%o+G( zMEZg=!(_{;w|UGq9nhS%Z)(pxw>s<(M2Wo29y2Zkdr9 z*n1jQ^~)91Z?{PQU-=3rh~7UjpTsZdHv-_A&MPW(zX=ofS;UsPA^Jez@!rW|AbQUQ z?|BX$;Q;aI|KXDsh`_0Kd`(37F<=ev7k3YEmoP9Y|2PM~6p38NxhD`Gwf-gtn>>Nm zPyHER|GkJ2We!JFuJgRhQ4noWUuf#{QTbJV+38)1ipUfCB@7BX%G-)IOC%8Iei-JT zjnhBpz+;hIGR6J{+(l#5`Q6};nfT9ie)L9&e1X4(SbR+g!3|#j2XZ13=eighRsZIQ x`t&x(>(>xd&J5b9F5nmnZwOJ3)=wh*&;$4yjriG7Y?C+TRdP@$kEV>*{|6CN8)*Ol literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strtrim.o b/libftx/libft/ft_strtrim.o new file mode 100644 index 0000000000000000000000000000000000000000..b08e9b278f581cc6c525f4b77e0161f772609731 GIT binary patch literal 3736 zcmbVOYiJx*6h1Svcb~~_ve7nuFFrxd>?XF*)=*P*?RITdD$!7^={{zY#eKwm#8|Di zO(TsfXo|nYAL0W9f9MaX6(v4e8U-KyAs7)Pph6-F>8~!d5YM@D?`AUHAbP^ix!-qQ zbI;72n-`+{?pGBBq$scpmXTxu2E5DbKECXOcJ%CzP5u!Z|0@!kJh~X0tj@>Ak1j&s zqz_$iIS+w}R$9(P>lC!`BY|3U@z{2B;uZlWI?3`mIg!lMB{mtYFT6#IndlrR&^cDy zKlhTu9jjI61Jm{SH;^B%W3qPgt3~Hx<6kHkIJfY_($Z3_c68B9H9k-5EY-#gvz818 zZ5d`U!xH&6GEmyd3$a@NZ0z=aEbx^gZ|@?SF4AqHuE)mDM-H9K=z%RK>1H9Y@3yUTa$y1gBDuLE!}PzANO1AuK^ z0iD+d0k{G{uI`&a^Y8Nc@QHeE;f!|;DlOiTr`@aE%$CC5saH z*+gcw096Cm1-!UvunXUl`x0%QvnD0f5IKvhYUDv&GUom30u>`=i-hqyU=#26%V zaRe_VNbwXD@!xJA;5u{rpd2{>%2=DSp~dBX6(8S5vEu?bQ zv;meTVSiD|m2}$3=)>j=^Qgp;XzLZ`@m^-_&H>h$VR+S?L(KgRb2;P8*UQ>6ED&eT zUgkqubNF2_5^a~zj zYtU~~hTRZnx5b$oYYZ?i2B=6Ys6k7+PcX0dC(gK>r&%jnTH?&p%Un8h;O%%nW$KwH zm{L_4cFEk&s@D(D;($v_c85ohQ1LG$67XjtoHXQ{i6%a5yG;XTr#RNk&*&PP1~lnc z%65cpD=Cg1Uxm*gAGF*jf9H_9aTWiEkSC$-n&XK>;L}5J^hICA!AkPBY39Bj3xCOz zUg8-WUl#a#8-HBj-)#Il0{>~_PYWCpn!Xro|NCsb+}Duc<$eVOx9ahMo;H%zp}|Bl zSu#dJFB!RnUNOchpr?xYyn%C`&W~!6M!4{$rFp2Nt0N-B%#tl+ipz(D>60@GmJtbh zp;$5WJrDMG;lYu55_B4{gNbw+53!*Y$#U6(AqZo5FjGq84ND@NwK^SZi6rW0@?4jS z=|m+#bhq9uclrPIXBcYjugvrueVi!2n5uE5{#u33E#j=-AlduqfpMrBH>{{P#nDrZhlD&C4LhZ%}PbY`z!lG{iAb5#>@BTHRNP3 zaM_SCk#vX6XoK(yMl`E`Sk#wws6L&}_WH+>)AlVDQ60lyL&ikB%uVqm_WI|Mv-ght Q&Wgh_BmziLZF~KH0B0uE=Kufz literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_substr.o b/libftx/libft/ft_substr.o new file mode 100644 index 0000000000000000000000000000000000000000..982ffda32765bf5653852657c5f0d0d4ac27fce3 GIT binary patch literal 3312 zcmbtWU1%It6h1SvGdoF|-Az*aD-!S@$!wa&TH9J9vO3u`B1)tbWZj?1?&9oh+?fqY zA#E{Q-7fyr7k%lA3MyD%6cHcPP_?c25W$Ci%!8tZAQ4{z3h|sf_a@uxN)Zp4Irsa{ z&%JZ*y=QYeb?gyUQ9y_SM_~&I7GTZX8jrEz7$neh%5MB@FRl*TjfJ&FebsJEt=NkT zYY>027rpGusdaL`_633F!rHHd>_)29OszJS>}INE-+hHJ2DKpm3eAE+E#^kn!>N_{ zS;jU~E6lOEfXkump1IiB<5I$_^Y>s zPHWA{Ra={Eo!f4Tke9cc*RF1CY%ttNt)pJI7r!2U`jXP8+#VaywOC^3-dLZ~Zvd!q z%%kmq@c}J%sONAGK;$;iVn=&=aHv}t(Ql0H3T=1p9v^scH-Mpo%Bk@IfavIT(2Qd; zfUY~3f*&z|1RnsC?anqfmS2A$p=t*>tynA~YU;v|?8;Mw)c6H_8|wL)5Pc9LH$)$Y z=$R1RgDR??Kh99!=OKEWp?=B&=G*vUa~X>H5steyiD*RohFnl0uC^SGKwDzox(QRc zx);<3^KRBF4$e9?zg+bO_l;P?*6`5&Iy3G&HG*i=x)-K{j9<_BLCwlT(wp{^rE10T zllgopTc34;p`?EEJr{_&i?dnV<&$?PGW;wsWnVd;*lYgtB*A)O;Pc_-5qkA)#%9 zhhmAd>chQ;`Wt!x6woIEpP)fels{v=r08Veqa^EojXpf-y0ev`eIsnlN}LQ!n=E^I zw_b37d2*1PJ9r>-V06eWd-b`YqE}Dm%7K3a7k}OdtXZMpOj{+IynT;wIl=sl6Gm84aRlUnd>(S$Sw=tndk?k=qGOLN!*rGmwR{ZNm zWTH->*G;JRq;(SwVVFp!Ud70?zAdfyqFciFNmtW)93%UX-FZZhr*-X!9z}CnSB=AZ z_X$*KT`?xqZY-);q^#dUA_Bi}$UI?15wei$;1y4RC-T2TB3K1(Lo?U8g=;vDSLmcmD<2U;f za(mi%%5y)*)SyXdBigGf)-UqUGcSPqxE6eo5d5%f`XE;6~@vm`Ql6a~w$!w@t zeQ5pfa{PkCzt8a-5`Tr`cO?EC$8^(4#CN?JLimzv!GFc^cM|_8$3IB?MUDr#rW&`` z`4Z>lx)~-|1t(W8X0o|l&6x$O=D1laaOMKA^3_Vk!9Ka!41_QCZtfVymc8jJ^9pLz zWi787IM$<&O$}ii&OZwlHLy&!P{7}X;&p-8q#RB-rOb3KTXCS0b=_)yYf}7`uyDd4 zn?pTcA^rb__O<=|i;RcpvY?243Q>4&#h5hpd#a_lPsEXou{ZDad`wEd>-3KXoiAC| z`DGIKg8XP7`LbXa51_f}k!3$81IZx!K7e+aqmcJF$^LU|%OU$7L|doz-^B~E!UJgi z^hxsisgID0_)Z)$In594_k!SB%r7+cnNIN&d{eC(#6QX7B{!JwbSOIbz7%pZe7T!x z&hU7uPrHck7u@qW=u|(GJBod#`cY31@q(v5C2E1gP5F$^Uy_Uxgy%4#)BJ-S=BM8V tdHy_d+Odr)sx$a(%0ccZ>O$)$k>~#qIpM<`_-l}#{}#s-M@LGY|8EXEoK64$ literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_tolower.o b/libftx/libft/ft_tolower.o new file mode 100644 index 0000000000000000000000000000000000000000..a1107d94c4aceeb3e907afb9857f96af97fe852b GIT binary patch literal 2184 zcmbtUOHUI~6h3#RgFvAz;Dd*eE)XS#DIg{a36_|OB>urQ%XJ*U05T!tEB{E~amJ>PlVIdf*7#ip(+jDY}y zF*wi!3$WumI7iFJC^_AjAthgTA8{A%7DUQF0?FU~4(C5Ql+(u)?;G1pa zHe!1(Z|<*tW5M^kncc6YQmJp}{zulr&IZ~vH4r-06=-3tbpVQvWNTftT@8%*NB!qI zCflxd0H_)$oSJL{@b!Qi81wu6SmO?^%KhrgcW*-dD56Lyf+mGg9I)Ut?yB^&T!C^x)1I+YdC8pdR94(yj1;%4n!IPz^Gz zv9X|a*O^-Hrq*w&&KIp$Z85b@Q)@CcMOPF|RtY=0uOa1wpQWP~d>03=>5y4POD(8? zQ&R&f&~O|^AF8cV{wOz#42`JERm3O}FMR@-qXNPAbN!^mYy3>2Q{pMl2-nYWNsX%Z z7S9*{z+d6KsGH{cgoj_``fU%N=X#h+swvkUOA?$`4M^f1Uj3-$7`v2%tHp zoC91JqMH|576g}~zK|!7uNA+=9rVA%Q-4G*+4XZRvW73+4_zP1-vZ^?;qjMAkszL5 zP%a*7_3sz&pXd|yuK|~c7d(B(HLuDqG>di_Uf&cNYt;{NQq-aP^jGxOpFvKYDmf@t gaaAGaUl0^e@Ydf#&f7cko8{y?QVcMDWTXtzJnO-`CLBy?QfJ!t+GVLR#!24$z4^`8+u7ND7Q1;}Vhn^Z zn1F^RSb!Z*;~cFXqu@u+_>J}N>nr7rSb06R7ujB0DeEs{`~Fud`g~Z%Z9G=?zu87^ zBewVQ*8b`@=6}DN-u+ssRM^ggkF1lOR=X8h4V>s#J6V?(K+=%x@4a%7*1!=8Y0HKr{99#!qjY%`wmc1NF~IuU zkF;!JGfpB$izG_hRWj}iAEaCskCMIyccaiTbf9Y=p!O=a~e&mT0b0plO{2);90de3+ zvF@B?TBQvoR)hNP_NBRSbL9MqN8IBm!0kJV2IqVWzZTwR{;4$Qz#cy#3?Jx1vACb%H`neg|#Fy@et_#j@f%5F|_)DZXL_EKs zY&0c;UX@>H7VS=P`zF!YtbTx#q7K!kzoNT-969-BC5Nzz gt1e>x1wrv7?)qEExqC-`vz&ZK3JS&1H{!1U8~%944FCWD literal 0 HcmV?d00001 diff --git a/libftx/libft/libft.a b/libftx/libft/libft.a new file mode 100644 index 0000000000000000000000000000000000000000..c0094b05b30ff4cfa7843d4dc4466540c9a582ec GIT binary patch literal 121404 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 literal 0 HcmV?d00001 diff --git a/libftx/libftx.a b/libftx/libftx.a new file mode 100644 index 0000000000000000000000000000000000000000..0afbcc0535967c36e13991e2662654699745180f GIT binary patch literal 6070 zcmbVPEsz{V6z+-$ut0!7LKT8KA`pn|^w0cVQ4t6PB7!Oqi0sYo&fX1~o!Oe5O~MHT z0ug~gAR-V51OkCTAP|TM1OgF(Kp+qZ1OkDe`1*Hdu5$ETuIk(E?(MI?*YCZ4-S^7t z?NL!(n@snHe?hOS+x^eIJ<4M<UT$k6i?=19yS@ggkx@xCR^p z-vWOT^2Al(ec(&rH$o;a1MdN!0Y4M+W8U65Bx*Ov(ZD)VC-w)4?>=M6_^8`1HTY*@iOo>@CooE zA3vfkrUdwtZ(ZkCM=HBAX>dnPywX%1S zm1Vs!;>(?)Zg+Dt3t#Woh1vs}ZBwZ2F0yKomx{9~jWgO>`3JMs*+#95X3^%2YHxP! z;wWootEFV2habC6UM zG^Ax-)|H*MDDzD19rL7RW)AF?t;4*{@3f8D1=?kyd1y9yyK9sW(19V_BZ9`P!t|M) zwp3BinnSsi?ySnJ*DGi9Y^yBMzixCGbVvF&n|IXR$=N&QZ9Vx;H*cmALk%EDwRo|0 z8LDhr$?2!~f2PBIv)EW;VTsAvTV@xMo_8xP5P__yW_4An?Ctku{>tgACeNFh*^%qa zc4b?vvsO7lkM>83?Mx?HlU2)ljd)afgDh1mVqqk^O{*@OSH0{6L5gGQI&Ti$A*oDK z!<;5}$qwZ@b0OK@);S=*XEIUMLb4-|^7Ld`?p5W7HDhK+4<=Se$&uolG0^ibOxK9jhdT? zj-<@8_~%PKIG(<2`~Kv;Nr+ljsb(iLDdL z=7@&lbCUBxK1U+8cKB`P!?TYNF_((2aY{b(VSMAR*86osW{axYZybl?eZ_^HtGEfJ z<7*BN?0MB(L2b?T+l<=QKMP6ZVzxK+`HJzuy^y5L*1i$C!k%?ybBgQ9%K3Fg($C3M z@JFugX?zAh!&d{{G`2AtvtJt%wO<-Amn{B!UkvgJ7AMZp)@kxK({26f?)~9eph4`4 zu3tB{=SJI1gYM$@>biU0a9Q`n@^WKaj}14B?1k*N`Gl`%LR0&+^XYPG-3nbA?$gj+ zzuue-V_Q?f<n1}#<2>6!;y=G> duhwC|u-N*_%f&Go#8*&e2fQ}(z`EvO@*iLPi_QQ5 literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintX.o b/libftx/printf/ft_dprintX.o new file mode 100644 index 0000000000000000000000000000000000000000..f17c096d06e776c6d1079b8fcac1fac601d361be GIT binary patch literal 2528 zcmbVN&2JM|5TEthP8t*ABvlJd)fx!|63Y66&;qR>d<24u03ii&L1t~Q?N!$6$li@y zR6eRyl_DpCDe}e-n{wE%$u3F zGxnYN3uhCC0YU~GhoK}Wz=PEAJQp43U;-@{7uNn>SbdROyS2U+zPfj7{oeemwci(h z6zk`7SXlincm3C5seEYm@F$-hIePNc=`-_Z!I&`iWv5bRHuwH?cEXrU10*a2C)0Dg z%W0wm93&xoH-Om%F^vJ zO0(8sXatq|a@X~PYgP>kexp}tb=pp^P^-1Pg@-nfimu2g44?`%G{xzk8Zk3C6!oc=sDb}f~7 zmPn)Tz$#|{0kI^!+=x+uIsAlM)FwB;77zs!l%`dbCQwD&$%OH3AZ0qK#EsqtF&|fM zn>D~L#>mf9^n3VBeMHgMHwJ_~AJG`@QID}KZA`dY#U$$mpJDku1(!Ps`ar?yo?|S3 z#GLZn{8o6D`gHs#+e=)R<#QT-o8?6f|C(i6!*8P|ImR_toE>#Ts)bv)Y&oPGdStCi19I`&#TSb5cbHXqM>v z%4EtM{e&3BFXK{aiG>Lj#IxitoaRN&s%i9tkHEYN#@L>T!N}zo+K@T}wz=!EPM{{P z{<~a%o*k%udSku*S;WXh-U*Kp71{5;0L&%6aQZ%R{y(#U^%noj?5~-@KN3Jw=m=*Jfita{Q^^caqstlLFtnm+GTKwzu?~>rssqZ9N>g5k)V)ndk1xK@gK*; wr+*JU{td*;3meoXcX4gfpX@L3D1Rc62NJ*|Jm_ynx;}$X*^vB3aOv^i0Br5ycmMzZ literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintarg.o b/libftx/printf/ft_dprintarg.o new file mode 100644 index 0000000000000000000000000000000000000000..2bbcb2d49e4e2638cb8485e4db8f06466fdc62b4 GIT binary patch literal 4760 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 YasGSAhV~BGO_sPvNhp*@LyGhN3)A0J!~g&Q literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintl_base.o b/libftx/printf/ft_dprintl_base.o new file mode 100644 index 0000000000000000000000000000000000000000..0f75c8d03c7e6d6a775f4af28d1b5d514817c43e GIT binary patch literal 2904 zcmbtVU1%It6h1SvGds<;yPHI6YKtuXAflN~(kN1EnDcoGGePwv<=!kmFDGUwdY-`$lzCRUekyQ|?XcXe*VU0L3M z%=x{@`nj;Vg>usu_B!QZ^cG|;+=u4m4fl}(rWDrt%eSwOBeFpZqp-eOSifnb>Grqd zZa-Xe`*RyH%F6P(mbnn$$HJUGrEm5No9@bw6K8(VhP4ONqo$G0-hD7Vtc@T=&(JOo zMn^X)j*8>T$;=7l%%B`Ny#U?w7E zCofCL(gc*WVXhqdL71zwN`5`J=yiL|j-Q*HaweRK@x!4APM)1YZ`yebYC*BO&~5rb zt5`1eJf{MAzt+n)I&H6)uT&bPaM26$(^L6&({J_~UaOUFHOsYNDKD~W>H>gEL9Gft zv^u!Gco9U411{HvCivwj82Y_t-S?_FBK)_qsR;mgMGCanUI1+=s~y~%v@hZZI)peq zB=i~JL^}JX{`5Xe{|p%bpCgojhw-gx+TZDYq%e){gr@!=?1+#(dZh7CWi&H2WKWrv zHE$YL-Ar6F?NE5O)j(Y{_gl}Iwsq7rFPl0N?3WOoHOCM=glKNoOwO8#d8E`ufEF3L zhSZ~`W<90v!FuFo1NAqECg88FK|uqy3*8kq_yF$$(J>%)>0?0y?mXml!$)H4i{2u3 z2A^y!SDJJ<2jQogKv#+;fS4aRLb@@Ws*<=k+2{}9vwgqNmK72nT~9PnMj|Engwxa^ z*&iu^n{1Q1Cx#RMIQ#dqrmqq2>ZAXHA7Nb9L;WIgBeh-68|;hefVSkHXS}NLKVo0@ zNAl?$lbjRpopt1Qc~`;Dvj2gCzs0^>PpzZ*~%#s#gx{ z#ZtN4^%lYDdaaTZcuN5|l}@|u;UHi}FX(bO%4qtv4mf@%@SJC#pBwK5rOGSdv|5Yp zVyRliAy?nIxnVTSb^!LH?V|NsP2b}UyhgFsEww%3FN6V2sUnWBJ4d5~MFpiYIK5Zf zr2ns6#|7f&S+4gEANXG+z?%9Q7n*;B$@?K=Gi=CnAaV6B(qANw^ zG===hdEZHZwcKB7nj3@iukvM}`r;zf&c&j literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintptr.o b/libftx/printf/ft_dprintptr.o new file mode 100644 index 0000000000000000000000000000000000000000..5b1369493ffa8b88fe6eb934e06afce8baf43c4a GIT binary patch literal 2928 zcmbtW-ESL35TCpAT|V46UkK6 z*S?v({F16DAVh(4aOepXAU$wsFNWqKj3aY7*S?$E_%qpF|2x+Xc5@r+yD)m|1Tr=e z`9=iokkQWW{c!ZW_Iq(GtbUHXBCPiy9~;>@@QgG*Ain7oJ@=>69#}fin+8$Kues9 z$KwDo6G;=s;*^$nK7Ka-`0B$EnPy$R1R;kpqJrAnz z-{waPyN@~)<((^_tc@urj|~iN;WnQ_j2cOcy7P9Y}IhWait0B#}_gU7H}6y=}9 z2r2qH*p!}$;=)52qN5jzHmc~u!#lcRys4isDtg>l(6x?!%Gl6{jZ1pWctsx%bQRGl z<1WGr`T(LG9IS+>V!WUZVLg$rul^Fz82q*0Z%~7Sx%3Qc7|~BO(EGu7C~zbChz29~ zpe7;{Qr#9aZlE4xTUKX}z#n1~tv)=I?4M>$D;UDIx8Ic<ZeHv{%7w+Ky%V_L>i7v0kg$_;4`8!?!|ylgMcVKEnBODc|7GZnmmhu7l~; zecOEb)#Yi=w~E)nbez>%o}L?gl@3z{PQGAyc2B%hbp>Frbn@;wpxuJ9rIO#rOvJjp`uBVqEHr13@SP+DPs*hTL$ z{Q}DOLNFH@++u*@=zEJ7Ws31%P*eR3`$B!khPWRB7xS03umy+o@9exKgJ?&&bPu8! zh0HQ|n;c1^+)FstZ~ebAxWoape%j;c`X5G&C~0i6e9Lj4%OKjKzRhoYFv)`$adt5v6Z2FfYZDDb_FG&(P?%e@Q-&;+)X_;XkZ{c!7U{ zSaePZ!OvWOgB(esTzZ%K)t~QEpMLek{6&3w7q!d#byO{E2eQQRVqa+fB+>fcBPKW@ Sfx9KX)Vu6c9Q|dE*8dkLxGUxW literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintstrtab.o b/libftx/printf/ft_dprintstrtab.o new file mode 100644 index 0000000000000000000000000000000000000000..b2635fb106201e8cf6317df5d7dfb5f5f8bc3c04 GIT binary patch literal 2856 zcmbtW-D@0G6hAYwcXpeP%~$D%5ncSCeK0dgj38}nQ)P7C)e$Rcwpw7^Si%u z?wxz@IlFHaPd%?|8c5OL7~JzD3UD}k&t8bl1sFxK9xJiSh zTg9zdZxrv8HeTE+tX6b&+y6MgLu3#L$R&CA_R0pqU32W zlc$ZG$9G1*^5!nDop_f~3H?eV_QpO+JSX=B%fn9+sVU#|y%4*a<6Ds|I#Z z@7j%4)9u=|TB8!Jx}iNcYd5{X>o#29w|%c#57+ECs;(vgOa*lZFc)BS2Yts~1HXl9 ziGr@T61Yx*I9>0YTMog4|F&M(n|v;4=UxJBZB&~a%H}@6^LP+(dPr#3;Y5D)9sRjs zQ*R>!;5&peP{y~WX@BR3NzpOlquEinL!V{){%Uh-W;V9t{j-yOv%R3^M~(~X=i+{$ zbVJ8+>sBKvm_0gSB*us)G6P#87l}RVV%S_1dl!YiEcTlXF=@_=hZn`*s)*eNr#28mlXUG`*D*%Tk_v# z+)?;c`y`!2?eM>3|AK-`|9u6gMnXdOheXc%dE&yStR?;-`vumt2kCwA8CUlwmj%ml ztIa$I1Y5!lo z#}w&%D>J^z7yB0pu%`V?3-v$3WF5${1vX?IN?ff)`gu&(hvcm>IL!d@=zOUrNe(0` zo?BfL4SmDoP1aJW+-Gq>#fbX|gV$srYnA&9;{Dctjlqi?K_? zkxoh<<_jgynf8xrU&c%P4aC$nQJUX){vXImiOQuu(eL~g`piFsTy_34h#9B0Tc|GL ivm?tKFZYGkPomC$6EVq&3H-XsMfofH6h|r5`Tqfph&x&U literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintul.o b/libftx/printf/ft_dprintul.o new file mode 100644 index 0000000000000000000000000000000000000000..85d8866aa5c6a601925f95b1bcc6cdd8d0125f40 GIT binary patch literal 2520 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 literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintx.o b/libftx/printf/ft_dprintx.o new file mode 100644 index 0000000000000000000000000000000000000000..6bcdbb9f71af3d81f3fd164a65e54d3ddafe5070 GIT binary patch literal 2512 zcmbVN-D?wD5TDH^skgCd+Fq_76^)?Whf6mf)^Dj5sm2c!go<3a#7(lBEZuA**_8NE z6$GLBpuXup;G_8DgKy#o`WNUQpwI_jd@ER}GiT2>yQGmyZ{&`v)r(pywXG@FUO835J78h0)yUPz3RvykQFMcS!X6q$7l!=WxX-2y7C0Zx-k9_74Iv21(E^lcWt_#a)j*xwTH} z1yY@uxH}OSY#e+d#-Emr8woo+kMt)*nS11d&izrPR`@#0hwQFt1 z^Ls`Wa-QAEHCj!pldD!6W_RB5bCbnf)A5{6!*bo6>r`yNmlF=Q;tO~I*fsE=>vf#E zXVtQV{9Y=5QY}c@jZ2{QGTQj&flZIGVLK3`MMQmp6Y0$T*vX-!jRq*5!xe`;xNDmB zGd)C%`ix6ca>V)s{jt_$eOOD34}MPUN*+rLUP;8h#**k8SVip55R1c))d&^n{ZF?} zt;-L;4n#o*WmpxZ4ph-b(qU)=*gzz+0Tp$_sFIK98QN`?wp5|6`0bWwnx6q&E2{zF ztP2{%UCfr0d3*_1s~DAf#wVowmxA-11Z`Jvy61?LcS=rqu6-*!a~)y)u(ap6j+9S_ zaPedin+@SNrEG?9oL@oIXCl6TArK)eIpwJ4S&(=*&jDo^!Khi4ZoO<)Ds5{XjJD;P zhHv$JFsiL))56CiEjoT%ssj(lvs++zE#ERuUznZf_-1tu4A-4+md#oXAA7wYrt6j~ zX2)9R?>Zg>R-0q`SqsY?N-h7O@a#s*CtE+U+g)0sq@E|e3C=< zo&m|Jk1Fj#fiQKJNIy**63ZG0m%cj`Q|T}dXDmjJyj`mX#U`Te{?jN%t@sWc~r z5f#KU=g*wp51&<2@dJ;*j0#5BPDNnk@`g5~R>0Qwa4dQ+QT6v^{aNWi^;3_-^&5zh z3HJ$)g7VVu0RxhAeCB%*kMe&l4d{NA*pK;HRPtH1TZ#fBY##;KHTBKXJ?wvo1ckVM zhN!-%{ymi-&k6M}g^T?ezl~T_s#%%PMbxVlw!MzZsQ51<;?uuIIR3wg>E~BzOzz@Z hqmR;`<5B)ZEC&+63p|8-M>=lk7ima-^nVhL{|itI+>8JK literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_eprintf.o b/libftx/printf/ft_eprintf.o new file mode 100644 index 0000000000000000000000000000000000000000..2b649ef24bd33cd7c2f5caddbf1be6ee5924e764 GIT binary patch literal 3360 zcmb_eU1(cn7=BMq{@S!TX{)nyA{GBqq$gcBu}q}~l2*7yC+_oZjYC)l+pF_pIckX=-Lv4 z^UDm*on>(5B7@Zp2JI^h8rKkJo9#^ojavwbW*fE$R)Y-IA`I4t5l(F=r*tf?L>py_ zkG5H*=;|`F&ag_+a~GL)o>hvjU18QbRl*MEFb#HijKTRb17k@UJ-V!nE}T_HpS!4x z#y1kJ2GvWn+N^rZ?xnTHI%};{pR=vTCPA~2AkXIdG=sHC2CL%?+EE7aTZwjK#8x*G z?RX^7jNiBv|7je*1w5Fyd3-TKNyN_*kj4Mb?hueRb>6DPl+xjp)|G$1`39`ecI z$UVEl1Ja-$z@s8L=${^z!}~%{g&y5GGqisvfb0Vgr)Gu#ynF93eZ!dB{}9OGsZb~c z5Kw@;f{!rh*@0lE1L(C4fRH4SPu~ML_yorE4@q*Eg2VloXJ&}1Pok+Pm^(tbL!l|O z;U+#_d@w)TRDDc$zf2sXPiI1gbcj?*DdAi8tSs7A9l`5aImWDk)3)^rvj)l22RJ7P z-oTp(!6ke#!Y}o_hdPNT-20)eLFf}y`hLcj1pUMfhw1$TKGFaaayfk1 zzGacyuS5Jp=+sh`+jwh{u#<##FFrCpLPSO4?UQbg3~~p-k8yj4gZFWr;9dt$dG>Mp zevZ^uXEjiN>>v0iIWOwseq?gc#j`sFxdj)0irZ{Apf2)w`Mi`}{uZ}Sy7&{^e%Hm{ z=Jp3J{wB9Sb@7+EeZj?_=JuB^{v&RG>*7V;?_9iy|Ix*-aQhb*|2?-yIMSLp*Coq& z_j(0DO&iG?-Z#l)#i)Z?G4i@<8H*OEsZya};627Ys#b*$+Yx3lQv$VEvJCa$^9y5D zOHaK9DxGajPp9#g%{q=Tsr59!C+#A3mb_Uscv>T;Wh#2XaD?IMSFx_8ClQYq2>&1X z7}Ge$LJB_Pl5TCvCT}+(V`GaUm5m<$a2b6P?2C1}FYlKWwRDlEvs)Qh%?Xz?0`5f-f zu0a%v3YDU~5Z-v?81VWXNXukoU0I7WoZ;_~EX6|;J_11lWk#=Y1xASLrJahiC zcI8b&2w)O$0gg0A0q$Ezay1pJFprj-8@qq)-Z;E<;}A;U%;3Sj+9UFR_zrFxKc|)? z?bZ%9_G$+=&p_$xWdcws{RZc1hvRNb@@(VQT|rI{{}>L37?T3+)gFELdn4Xy`n|!` zQ}2P87pIDgmRX!TcA_{h7Hj~+L2$vYE}6x%g>!|Mk6&KAcpSjAz>v`8MS$G;m}0{hYV}Ed@<&1rbiFa-jORH(+ z?0{t(OIh!QNw3@p+^}8ldr|Cn!}98yv*N5QpYElHt6!|4w(h(Ntz^rO-Kgy}pc1y? z%67No#g#^5+wJweq_VzN>G+`^Z+k&d3H*918B}&6KTKL9Pe2VC&8HS=$KE0-%FX4o>1Og!rd8ON=Uw zON_3Fk4x#PQIXA(u=3N_E!%#}GVQjN|HYdA(=t%Y+uvDJ$cyK#sq-EU% zgA;jy>m=SF0jJUJbUd6LX%Q!pJkC7)u+;@8>?WRb>Fv$sIB^@-MjZ`K5cE4+ZnKHw z-5&D`{Lqttx4qSh+>SSL!$EK`PvX{*f7(fT)NQ(nOYo|*Dqr#c**?0e{lt-$WYgSX zKys>=O7tBdOzjyuuhNFZ{hMh3b1X<+Laz2LAK#IeqW=XV@}u96CyDVN5TpESxK#R4 zD)?<5Bfh`NSyl~ymC6Syh_Y^bdICl+$D|?mGhsx!zk}GM_urTAFG~k{Kh;=&|BEu_ z3UZb9q~BL6h%)DAPV-H&?mr`kh3=;k`!TPNl6{)}HkOurLCFp&B6{?%<;XgeuCe{?wy<)^Q`p8qOh=9OU= i*-cy{;`w8M{E77Z-y^2ij_eL3c$X9;@|(h?=l>V{4&q4w literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_isdigit.o b/libftx/printf/ft_isdigit.o new file mode 100644 index 0000000000000000000000000000000000000000..e6094e703f2370bdbac435bdcf5ab45a524c026b GIT binary patch literal 2176 zcmbtV&ubG=5T3W2P1B~`q-oXGisVock#5o-f~`;^5^JS+s6F4&CK_{nRz=qo4m-b-H{jrAqj@O#Ak?)p9Ww(lWajSfe%swX+Sxu@jJ-LF2WX{Zd&6jb%^p*x?*pEVJG{;wKmEc+ z*(G&Mk=6LQDRq=3!T^$nU?QBEkkzH=jp*gc)v=qC0I~uShgQb`Len6t%h6~QGd;xR zT`AJJE*1P;<`I$vOb(+sV6k=FW$A6Z>v`Ff5abF?+ifO|s&1E)EwkZRbvrpbr=_*@ z%zU$RIQx7Ky#?(Wl-#`K6s@x5Y6hh2l9Q^`Yo?PjjEdfDnQm%fE>*K^%c+>vYN~1# zN^U!~(Xec{|;kRAWn;f9vp6|@mJFAk+6*f zbaS{uFpWE7?58?HiW-TF`EG_!)sex|F3K^cM24D5EPPKHFDbao;j$uqR#;O~FpJ0k zb!VgfD-mCy0p*LumV}hY&+m z*VI<-=VlyNH=co3t+r};y;#JLtK37cTDHjnvyv}0^qT1_g43vB0aq`e-mH=SU)je5 z{`W5OCHYH#F95EC^BqH+Ffm7hp5ca=Gl9p2!8OGObJCH+&$C<$739)f1To@%qu&ma2~WWl)RZ&LeW4P((3SwW7WIWbgLuFAJxNdR zx%|{m{lGrlO%L1fe+!i7fX81a$0y?X1w`Lfzy2Nap%Q(f{te<1@dB?P*6*rE9DI!D zehG37JnUCL!a-4o>eH`cus;0{$ZIEcR4;LzN-~g?;z@$_-ys(49q}G<@B=w06i44k Gu>LQfvb5U( literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_printf.a b/libftx/printf/ft_printf.a new file mode 100644 index 0000000000000000000000000000000000000000..cbf2819c85ba38867b2f809ce20d5e2fa0ea2301 GIT binary patch literal 55904 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 ObyNVx!z$%p|NjTl7qf=| literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_printf.o b/libftx/printf/ft_printf.o new file mode 100644 index 0000000000000000000000000000000000000000..0a01be8915747bc3b8c57b7741253e13487a3c42 GIT binary patch literal 3344 zcmbtVTWB0*6h1S1O*YxtBwAA|67iNGnN8D*^+K8=YbOx3R8y>2r?b1Wo58)YGrLB` zno3t$*2Po_eb8cGYW1PDFM%Qi1B&&rh>u14V6})yeJd))bN>1N&1AYhhzDlAbH4xF z=D*Dwso5uFNdh4fOu>dFSb#*&hCa>IX-J^woYuUm9sP9)W0bMg%HQkj%Gk;xgR@Hv zPM>0M@;rm(H3scV3>sGuW}EHn3>r5Ov}POD36`S_RuT+WhY^mgDaQ;fu8cM+6hGQ# zl}4ABn01m>8a;iUS!Y?L(UnWgTBSV(c@LMjXu0#>ER_(?YH1S${?#eYpXr?Z=QkS)(U(wti`cfK@?u`$H0`bIc z+u{S#U>HDFksJ(94+r9p#2$^^zjbD4_f~*F2xLyp3;_gpZZbo|m^*wA1maV%SPUSd z0C`34W6-k&!A%Fy>ly$tNg|)VyKwL!jOibe0&xnC_hX)!A*#L$O+~@n3CbOdO`#3H z;1k3L^V7FMAH8l83&&)^k|7-+OH#`C4#>wBT&s={l#d@~*1+4Y^#Zd7$uk5vCkVmF zYY5Rrd@&*{^}L5Vi5&0!z||mj29>^_@FhV%al>(Xe~*te03JQa^s9`Idh~>wJrYzB z6c~-bT)I|rY9pC~QOb|h&8lscOC#GS)d_WCd`FE9Za*@K)=u?7$T@nYYL%Rvnt@~~ zXD8>&Mbl1ZGV?~QZaT@GlgXl0vg~=YP)HW6bk12wx&a%ZfbozkSBr)N7*~b50r`qv z&gE>=fm+G7@+C7n!n`_k89U1r$}j6iHII*JK-J9awox}-OV{g$Ua)LOcZ@vf`kwv! z_Z-xpnRz~?KYMUrO4pG~*Q|nLm4qkOWf5S(f13n=TWIc3q*wQYw2+Xt^+lqz;qO3> z9unFTuqU2)OMbjR9LP%O0`DLdgoF5&BbN4*qBOO1r*!K;;g9i?iJY6*^~iA3dz0lIeAOy*68t2IQ&g0_*|$rJQb3| zkI6k)oT9tQ`$z`i_w{aLfsI|iX*j^o%q9|z07U#0vjbhu6|Mvfdh)Y5MD7qiY`?O| zjn@JG1$0`e%3pX}k+2hlb}v2we1wRTOuT!--H}1=Aoy`^Z}IRUt`pqu;VI9<+`f|| zwbfY$)F1d4Uc`yI^W1MQN5Ru2LNez9`!1^cCb!u(KwbFDd|oO(|0=hS`uNwmP5YBX z+&<^y8{Gcf$A8Fe5hwD0%=vG9{uj9YgO7ig+dupG@3=j} zk=De!E;-Ko*DC^Q)=by%rb(x(W*yY3Suj+`TyQ|ml#4|ZZ!qp*J5@gHMp&g>8PrnQ zG1a|K&5hfRk$DMJI@7w5&EoBvr{i1C-gGOvHQXcxt7P)5=DeP(8bx!{p;xi0W28Z~ zUnvs)U-<|Vc+ZK*XGC4?GeL0V+pELUeMnrm!??;cx5YUY!~V0Z;DGl$3cn~%NPmA4 z@}u?RZGqsaw!bH&;8RYnkl_)(?+zUEbL9Ra-z>j*VoCM;s>pTge}wm+;CZNjx<~x| z-_3JQAbMq%FG|o?P?!SgJ|f*8zmGRX{dq;i3EYi?LihR|>Gn}we48#;;h)(_vB=|h zbr@F>-!JH6sB|ke!5zgq)BMpLA>swUfLyo!FYu&GIPMj{uZ@G<>T6x<(?7&t|7qj` qv+HGqMSMDPm^+Gk)IW)^T?^n0D*m~nF^&Ip*2qAiINDPF`u_ljisz{S literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_putchar_fd.o b/libftx/printf/ft_putchar_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..55544636ae2a462b1eacb2a1cddccfdbe0e91d94 GIT binary patch literal 2368 zcmb_cPiqrV5TDH^X>8gwO+;HO5>e?vy6Hcm{%a#ro1!QP6)z>-B%5UEW)qT4Y^$wG zK~hApAHidfdJ<29euw%61P>nc+(Mn%eJ|a8?nQ9my_xyV%$wPH^Y;1ty*mL(0!|Xl z!m-9tfK13G+hPXd=(&{L`JUbW8P9Zn?Q9-)<_}(P9%kRP4nEN#KgjVTN!jhM@#Qbl zpmZsg49T(h>5x9s+)SVq8Uco(DNm0EnRQurd9HW142+LLILPJ__spfBz+2!wDAz6wYW6W*Asb* z{W^;nEh1_Q+=|6t1#b6;E9ijgU0gvJ#a)u5gIGT?YBMg$TOWR&O((i-mItIzq&Jcb z1;RJN`++FNIxar@E@DCWedJ>T`S|8MW|`f)2Si1N9ucy28UCJ)ZL}m@=i5C%Y#CSF zj`D8jm`dY7Sq_gJ!qK&<7k8P-#CS%+ohfyU35Nm4dEQel-1WrZj0>l8ZZe(ML!Iq5 z9_7o-F5*`i&hr{fUl8yurY{NjOQx#=zQOd0fKz{oQuglD=&o~`;bNUVpcJ)ytDIBw z`G(d8rJ)(BVrgp@D1}?Iki~C z2U~_G4c*c_L56N}K&#|R4YjIy$J?vnuq&9?QuD~ytHl2gy~AVN^TSWwVZ-yD1B_GO z+(hr3Fg}mmmSF;)GmeWhK7a=IoN~VuD{6=VL=p5qXF!pAoh-ID-8Th M3KGT98x!;Y0byy(v;Y7A literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_putstr_fd.o b/libftx/printf/ft_putstr_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..918d6ace11644f5de8897ab47e314f7b12434531 GIT binary patch literal 2696 zcmbtW&2Jl35TD)kuHCrtM?&crLY4{zB(hG@AXUYb05WV*+XEt~LIQVfuM;clwXt_C zw=^waie!RBd+mRK!~srx9C~PxDEtF(@XvHDv(kiMQm3+rp) zVGW8q-xr6ZTHD1Pt8#9bz8y>S|AO>~#}M2`U&Oc14F^B=?aqB{LN>6n<-qfUT*bA$^<39!cj`?qx3p|7 znu`l3f^c!^>N098<}*<9ORd1~`0Y}yYE~fc)jIi&X2a>^E0qm9=sJFWWjWudd-cwS zB-(2A1*> z#ApzO^>`tb`AB_f)=)Rm0>DQ+2FGz$6y@*KEHU~5IFyMz@suI$Q^y>?eOl3HW`5HR z?{(A7xH?%2j>(U+`0m zi@2MtTM_&!>tSD_EbQNByc)6pm~~M}MS4rbLU2kRxf zTy8sEFx!r6o4(WY!K^eJ4F`LWEvOIW{>Ba+TaP!Wd$lH*UekBXSI)03bbPzA38w3I z8zsA1#b;xE!rZNU4g=0csn)g|4)0FAj?c$LEbKB9EX1=eTd>apfkIcO9{l4G( z-uu3J?;{@+uD+rw3J6hP2~I760$fO*j+evXGUSlCTHO4j*#9$M+`M&A+%4?URB@|t zP~3WTFZ)9x)jvF+-55h~w{S#r`=3OFy<-1IrMOwx8ze*aE+-$O>|5kPZl|nEsW3+W z5V9K+(pvk!qSJ6{E=Juf9PQI~cuHG^qhkN({M$b%6UzC_6w@-fN6uv?lt~>xH4vQC zmuIxh3+apLr_WxQdhslP#z5uJl_`M4;(*DX1TC|aPNxC%ED$02RH#yCP(>?Y_>b{P z-~*5fPnpNn2QT$)A1a?VY{yBI^|l>GuPUV7u4d;fB^VG8_=x{4!A80 z-tl~=?%CCRIO(k0r2zh0dePpdBL&L(8=&-Z%DJ&*>Qg-C#}KE7giaG)%H%#$Umn-h zU1R|KhEM|D!ndL*e`m%?(bvI8F*|;nwqv?(w>dk%5RSt$Go!OI9k1ecsy4*8iD!i3 z2i2-wGa6BIjhuW@EvvA^==V(Tvr&D8;cpz@mzbv4cbLBO5XjUWHmzS{Gb?O*g^jE* z^%_g)+f4nAWv{a-^v}{NcUW4lvvD*vq~PL8M;*bvP%1;^3q%v}*YU7P?X&;~rZrx^ z10Wh2#4d~2qy}R#D;i!$MZGD@69^2$sg5UO`GnsPF|3kMsG%tO5#1jsUqx`3DfaUT zPGgc$e6(;By+nqDN6i`Glbj>)S#F<+;bAv%`_ULq>s;ja<6P61I4J@gKl3m6^Bfm( z-{JOU318>-s)UPPwG3;b{!0A)RI-L;)Pa^_vFADuH)Gpup6aX+iKczF7~g1VFRm-`n@LU|3SXNHR5$A zmR#qBxg!9s<<6!1jWAKig1*cLqAvt4_fi%o;`J?f_c%Dm0pij3#H%rs8Lla|oD)rr zaj?aCLdo1EoRBf%zR$re;mEbjrM?)J{~-ro=MI!V^`)G@ff!N5K5-a|&Wra;0dOti z3r+n!%>QfdPwU4;_zAs&lVTj_{lfj@7>#A_XA!n0(;sl)g0z6xzkum)*s${}@`4iI zna+>y9^o(WJBZ0SAp|*I)W4Gv6PZi*%dq%2hQy~kS&m;pOuKqaW%eOHC(`5o;#??y Z5;^|2hzU+e;I9Lo{{wE5A1x`z{|A+wN>Ts- literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_strlen.o b/libftx/printf/ft_strlen.o new file mode 100644 index 0000000000000000000000000000000000000000..f576670de2992f22614d023ea90dc15548f6d95c GIT binary patch literal 2472 zcmbtV&u<%55T3W|-Pmzs=LeLOR>%ivg+z9fG)SSKk_u8bZQ+1Y)FM^Z+J3fIU9Y3v zbrdS46w*|RB2Zf)Bo2VM@h@;g;(+)gDse$_Z|N-(2Q#z#Uc7m752z#Uely?9ym@at zZ~f)!waXe~Acet27+R7A=o>?QB~e$PjFH!!y?>m&?E`0L`vA(j6Xn*lJEj+y33Ser=`0LESiy>ziy zECS@q$O9D4CIDaI`Z;{ik@Vn1qN}f)NNBob$zq?8#mX+ebK0Yg)QS)c?NK|irpO1T zPj3{>8Y39X=eH0F+oTg=Vn=JeAnsM_z8kbEn>>uXZctfRwC1h(x%0imxo~$8ttIPi zXvWnj4t*Y2b+ChGWVgE=9@+JJ+wE=g*j`$+J6_;LZSMQF@70>|mc0>rLEIdsg5SkT zy&&>h0dG{$36Xb)R}lc$3BiN^w<$WvOY}lvcRmHSHOWq&7|TDzrk+8L9ujIDTq;dI z&_0+jwRMaD_z|gG;$e*aTbcj_`YrHbb}tI)5Vr4ccIFlq6FupZo%YA}g1X;pa2OsA z`+^e1jRtR8?R2yY8gV3gnHl-vK`;)^CGFb6#~D4g3bQjwSkDzy-nE)n@2+ z_;4K@c?&DWZVmB^4&jT-x41-he&mXd7>1uDAyB<1^ywx}&Z7)p5sI8w$xli}AmyrS zlIsWIj|EClV=Z*39K}uua#tn_RAb*nK6_7O_}`)_%Oas9;_y?J$gDuR4-_&lYzdD= z-glA^DCPy8)JZI+K&1AB95Kovn z=X~eqp8GTRY)N+iK={mztxqk^k%5r28VVImRVgmcy^L~M zuT~CKDaMF>X-HofWqq-tR~7wcS-&~|#EQ338JV-wV8rxPb$RvpJJHdo@PW#ot(Wfz z)>@&|OBH>|n7-P5`16(dEz$h0=?j?3o`exQv=F}BR^Ww+7sLx+_7n>eLvRVV<2;As2zayuTs^uK>!WgKnd*& z27>_pFi=$BKASbROG=2~U^99QwLgp^+=Blqe45qmf~oW6@gb#ke(q;>iP!X zK6!R>l{VpM-#NB%N4tfL$+K}=+d^@u9kI20NCR97ht445`NKT_i)4|6=Hw4ke$0`! zZLM~W29lZ2e*;;diZ2^bB|mMoee64E*3e0ltw}yxx*s8bO=@vM8+ed?A&~cJJ!bdbQr2yNkAQ*Gqk<^=l77!itpQ6ZuruN@y|Y$tDUtil{ zNI}8M!+)DHY@iiIl1@Ag(qxO&+0@{l!3FL@j2@yYy&es2JE{Qca`umuwjxt3}GT$W@D6)3d zV)6j8an_&?v(8c0Fu*pV)~OD##$o0kWg+zu7DO$eeviQec5uh@tP90$!`!C{ef${D zF!AO~7&6R)RxLtSm3)FVDy^eT#wZD$L3wV5`5JFg4K33 zz(023ZvQU6s6Mp2@gWzE$F!D5Tu^k6P>dk40)$gf5Y)y6fm7!qy4zv)eI#-cwAqDI zp1oY(!a0>yyM$4Ga2sLLvsOP!|FLC`R4?fHFUp@E_T>sO9zs>c3 zJUE?iq6U6`#Jny#FtmE`uQ@Kxq40m7^9tk8h~SVB2w8z4zz5}GPTE_9NAg0qOoJ3rPHNM zBpQ!nH^kPos!s_ek;bNiroyq*gpfsVTs1;El{GnFjz<#tXvU6Bsagbg}^y|q@-n%Z0M)!Rp zeCK#V`^Oc6pRA#L>pcvPSt`t|BRLYFYo z1kXeD)4k@ce=A~?vlkyXJyRi7+>(s9P`Ex@uH|cH;FjG_oGqBZolL8CRNAx zLkAPntfiRb@uM}w5yboj{2mJRhPqBo2}#V0){l;)h!^|+CSvvKzs{33dyF0x=zP>0 z-}%7|AjYBbo9c}J6k^K3executable != NULL) - free(content->executable); if (content->args != NULL) ft_freer_tab_ultimate(1, content->args); + if (content->executable != NULL) + free(content->executable); free(content); } @@ -132,6 +132,7 @@ int ft_cmd_filler(t_list *element, char **args) i++; } content->args = args; + //pas free:10 content->executable = args[0]; return (0); } @@ -179,7 +180,6 @@ t_list **ft_parse_cmds(char *line) return (NULL); if (ft_cmds_fill(cmds, line) == 1) return (NULL); - ft_printf("%s\n", line); return (cmds); } @@ -204,5 +204,7 @@ int main(int ac, char **av, char **env) } ft_lstclear(data.env, env_del); ft_lstclear(cmds, ft_lstdel); + free(cmds); + free(data.env); return (0); } diff --git a/main.o b/main.o new file mode 100644 index 0000000000000000000000000000000000000000..24722c1a05ae7742fb78f31dcbc88d09d18156f5 GIT binary patch literal 22672 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 c%%xA9LxlcNJp1f6RsX-g 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 LyfIWEl(qgp;k&w( literal 0 HcmV?d00001 diff --git a/minishell.h b/minishell.h index ea70e06..6bf32c9 100644 --- a/minishell.h +++ b/minishell.h @@ -1,3 +1,15 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* minishell.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet kI|5bkC_2NkT(N5FbEEckbprydb+=vY3b>1yT2Z0 zNN}S-A{rAkyIGSp5%*zUMw2}rqml=!BqS&9S=>Z4*<<3K#9frQi-`$nQ1*ALZgtmO zhI8`A)?xaq`>R{GZryw9R(%its&oD7a46)M5^|P170RHFb6`cK-l3`;&ID(?^M}S6 z?`-bc|7zEs-_7aTzx$=Gqn&4{`Do|w=mPQ-U0-{Oh`Tqx)OB~~sjkqm#wVPm%NzH7 zS)-?bzSOnNDg4dxVzYH6T*@{?51d?0(BB)g0}7 ztA$2s0~u1}B}C2ye(_&CdgJ#GFY0_N7&~(4y@yNBNF=xz<6II{e-`A# zXWlz^PWfjP3oFwdJu&^=bLaMVp4FB-dZLIP`wj<__Uu0E+*W&c=UEO|6)z_v0Dki9 zhZ-CQzDJ2sWH|NoW0$d!3WW%8obdCL7U2?!MTx4aa?{zsiBu^n5_1VOmrzVmVciz0 z)|6sVq9XTC=?13jUudSf8>^1pk84D8M^#-9rG!<@3^$S$s$=)zw+4TXJ1btP&#Uh! z<5ybsC8}QgHX7@Q!>MnWfC<;)FHY0xaH8+vQXP8`ztKj(YPjkdp{c~9iJ6*c1dH=h zbZ+brG;bmz`oU-iT{W?whV+SP;z~s{X=0%wCTn7mB3d-DSP`=|u|yGbG_h0>3pKG! z5gnT7P(+s|Rx08;O{`MH7EN3|@#oNUyCznT|0RfiO>`-(^O{(zh(Ht9)D2+@Lz=jD zY!bvLG|}C73y3>3u_5*fr0vnf^^K=M+^LDJ4ST_MKocLG^k=l(uZe9_su5BLHF1+t z=c}5yx#j@+d`lBvZ7YZ;HL+dkc32ZVv3dwNqQfQ@oiZQ(83SG?dU<>-U8`gNhT*DX z)X+cyM0zPN6M7T`v;C=34MC*hora3y9jBwKW`BG(plao86>l|nDMZ)ruGDL%su)vo zbrZUbbD|q@QGB({QwhR&h`$95yHFqBf%<1qQSqpLxP4LM7pa|s=uv8?XtdiGH$6@5 zvtog__S#{NKIvBxqYM3LyOrIr$wym zo8$jeu5WEThOQH+tD4YnjUY#@*QWX_n(AF%qV=sR$v7&Y>f0t#LkvF7LM0`+zCA+y zb^XeTm!Z93EPj^YZzAOj96NO5!bxj@RmZ5ch8pTuG|#Bi=UMg6O1;D4>6k;flGbop z;|my8$!VC={E(8o-$-j%pb*`A>P?^Z+XbojTG5DCN|i_ z4L0$S@Z|aEP#yEjVz!1Stx?b;W$2^fNjEC!$uhJ}bLqjna3d`vO>DP`9$V+6ZRwQV za*IvmY@%orgSLQ=*)4b2#3yay)8Xk85p~ruO3Yfr0~*rA{oxr4R6C_h4LuZ|u~tEp zt2Okn?V@jlCsR(+E#C@H98}Cl%Ke|PnV+(W@7lz_*u-<;N#9dqC|hdDztE5-Ua^Uj z;pW#BGwlPq{d9QRy9%PLuA#HG86pvDnbbt4Tvkgqq0L4!$0JIlCdNgYuTkxk)ipH9 z?mx{YX4=Foo0x4ASJ=cHo0xACi)>=4O{}qrYiy$1CO)i*2J+CvI^Ow1I`K3<7_SBd zJ0W`=R0h%YhsJaR()EWeo<}X7$0|Hcf3Dz7XRZ3XR{cFySJrECtn}3svWZAYol!Jf zl})&zO2%rcwp*fhOUx!}ZP9f$(O?rzHZjH~#@ob{kP3sTWUkP)ZU>Do9>lN6J^EPo9nb z(;#&UhKU&y&@fZmLMx^itB@!%R>$PeuTs-!b}g;wa54>ZF83#3dK-q*0?+F`!!{5x z&%6LL=5z)A)X_p`C{ViCx3>nP>tQfQoR1+?LZLs$8}O?hI}zPpDi+!^>7Mq!WU_r| z;R0{L{MJl5TN-NZ%a+;~wWqVmOey6%ijRr&`FhepaRkcZ}r;sodA&7D>Vp6=a_4_==p_0212!nLWTyz$VJeImL2}^KqAjXkj|uNDBwnG zO$F%z!l6??B;^Xj8g^V{V(m1{Xo4F(?bhsZt4eNck6U-6TYcP};)JV0ceoSj5^Hna zy>9(hH+tNyUXRM>+-S*lOYTL7+`32H=plD9u?6k~x;*W=;5p=0J>)h-c5HED$6Yrv z=?=G6b&2-5ZtTl$bg#OE``nsCZfM)q;hxA7yW zxlQZcXl$$7*yq;Yi{JZb42ud`|y4H}c zp{;Y>=pWtcS6%mMnsQa2Tl=6}Gw6nvg~Nzg&&&1pdVy2Oc=>|wrL*}`;PvNnJDg&F zt`M})gB!F_&}0(>zISUW7x-SXKT${|1HVvosGiOePck=<&-g()mxY+Y+>Ug%&x3EB zVtSXaN5Fz8BnrdcAUcB0S<}6_<*K3w7I-6<@5I3pT;7zrbei?L2oIW)YI|@{VW>| ztv!iiI(fdG&@u>PaxYo|PCgOzJKow29tNduzN4aFncri^49!9Pl(Mw;{FHHtpGpU0 z;(;9Uh?0W&m-1Q=MoR>NKadanl%>6wgXw7s`5ZYm>kkERAOs`_0|yHo>(p7-xfQeb zI=eS*-0FB9t-D=0-l(N{F-#v4csL0V8qBfE}NN;wmdKjbG%$|pLdm3>P}c*#-$ zGs%<&vI;j=M?W1gJ9CAU*8`<@*vkve@XA0MNtdq18r_*r`Ccj!B&aQ&%;(u$aJlJFS-i%R10=&QY9E!ufU~c5P_ev1{GogT z0jm9;%nw#vZh5cbD&=kpS}gJ%2ua#6vehyId(c*^b3Jrlso$qDtW>-nRF6qgl(Nl z7gUNG#+Z6Am2he7Vq(xQuVBk^WG1gTJb=mX@X){L45ndw8Vfe3G)vaNl!(#sGP&fA zvc8odVS#?({Pfftc-ZSbJ|8%G0`Lj|5?fK(Qc7u^$kQ?+9`-~N9Fzc)GQi~(ePo7g()ZXoV73JI=1SR=p7RLZ zD3MbFFaw&{E(f!U4l5{VrdTuBcgohqFawnSRVLK=JCUN)oTDWRjeFBW$Qa~Ym5?Z| zpxvn1nHG(jl~Kefh%GG8NuE55UB@txnakTLjX_5+lArQNF_!6-%^_D|y<%%Xx|Qjy zSjwYsvFNdDJvd-6jm;FhK`JqvN%!?5{|6~r6Bw!N=@fjR?OC43dG;uldbK^&f?nHw zL+8d#DnIiH(V;BMhY)?tD^FFg6v{)e#y}n>)w!eS_ydV#(HroCgjopd^m?eAcGYm} z*WR$Hl4F#^j77{wU-5i-4wxd+C=S405!u8FtKx_##JOHMn9@^u+ZrGnlO#SU*c${w zmdw|KVB(V!FJZ)L4qGQSD>VBBoC`eK$cNQ-%Dd7$r|9Q#2E##zxG2o9s^KT3dL+?Z zKA|}A1Zs350PDr+4XPuPwRc!6MY~*ug*xA& z6c*6A1}){#JTEYL5FA%ww$XQ9rCewC)g*`%;vlGalcsGnG;uUg%D_q#0_LcogEJXq zhD>lm9?P-}pDNKFfmN^F)Rk+Y;qLO3OS<}o2VvyJBp%7Fx$3ILEweZG zl(Iod-*>joEh%d5ZS&@|&6(de_fn116A~(TuAyE(;fVy@u+kHf!-U~Ugev3t8rrqd z2@N%cn(L#n19+k`4LJQ#QI8Wl<4vCoU)4|@*%kteYFnzC^~1|@`_^*%Hf~=>SJNI| zMcpr0Ff??2^W10*kx{>dqPdvajO-Orvmc4!fgNl>qv&EDmC{39!VPU6$P!nCp685G zB98j(jI zz50gEP2Q%JtJZgV4)}1Vp3d^gn(o&Kqx%STE>+Jr04M^SYFX25Kk|Z~C03KylbIZz ze&|AWqC#toKG`@+U#_9tPaq26WASJ3ZxDz=I37Zm@n;A`A)MBz;s196QKXy?a7YtA z0e^;n?FI0UTDYyxS1jDt-(|m$d>aq*(j%N+&zo`a4qFw9cze0y?M4}=wYZyUl1YX5 z34fV8(Ojq){1-G33ZCSvLh7<=ioR6Cir-#sZ5B@QlT4c&X5{~X->M)^B^DeHNNjr0|P zALKZAMBwjZ{eK|v_c#uID)4!nB3~4E9nb4G0>7D4UNetx{8Gh%Ltj`@G5Bv;&W8m4 z9FMz7;LWV(27&i8|2BcY$nw(ye~#@rDDZn(|2+b4WdG9MYU@9X$NiGPZ)f`J0;g}R zsC-A@ceDH>0zb<1^8$Z^_5YQ?53zqw3Vfv=);S|^`VNhX$q&Xa-&QY=k?XjYpwZLCsJKP}f@3H*t0>^6vRR#q9D)a9W_#b#H{glAJ$ob)~ z1-_i)_91~!;sp7q!1pr$cLm-;21NO>z#rlGIVSLrvp%N)I(^>x|0$<4Svqs<-vtN<|-^=_tfp1~Ie^%i1K`NEU1b!*o?dJlY%W?9yz`w=u zKZWOK=KDUz=L`Hkw*O{<(;Hway#mj&eQp={jjaDe0zbw2eN*7OINqKTxXDL96!=D_ zUlsTRtk3TSzLV{9PT+f4&vEQGV;{4gX9|2B$InuMA7}q|3;Z7T*Np-{!u-7gPq3W} z0)L9>+XVhO=D$nepW*p_Uf@4teZDI2E7>%=$kk@Ml<`UkQ9S%m1yw zhgi<*0{;s8>6E~yvi#Em&vX1#vHy)9-(@?D5xCEOyj?XZd>tZsPMkfsf~TeOcgXw!;$wzeO)!=UIXOn)#0jd^PL;vcPw+ zeO?#1*{4qn{92xu{$B-^^Gq%0fiWCk#$WHSe`g5%Bdq7;0)Ld_d7;4HV*7Lo{Qa!| zMuGn;>*)#ndG=RE;BRx@7#8?8mj6kCCs_XH1pY&|!$E=ng6;oJfgfc4rv?6B%zsqi zUF?sa3;bE;|4)H;vOV7tIET5T|077nk1N^Eab_@nJj`}z7I=p3He29D9(ReruV(&k zfq$Lnl@Ry~tan!6YuRoe6ZmaxhdTwnn&a(n1bz$i|GmHuvp$ar{7cOLU4hSI`9Bf( zI~;FjKQZ=P%l7<@;5X-hQv!dP^V_=u|0kAH%X%649*;X+;E%JM%LINg)5`>2V*6hw z@Y~t`HwpYS>tpO{^cm0g*)90ZK5>`8&3(?_3Vasly?+$=L7ta6zngJqu^*2J{#$wd zJ}>a^aoqk&;G0>_n*w*)&Q&~bGwyEYA0zNL8J{8WUot&c;49eQ%LRT9ucPY){vxm6 zn+3jr{blk!HB)NtVtWn=esk{MC-4x{=3HsyxUA=cf`2pH^AUl+$aZ*2;5*olKN9#6 zj-Q_i{0r>IR|H<P+|hgi=C1b!!v`!#_#aDI3~ z;J;-0S%Ht?csM5TMJ(rKfxp4{>jIy_dY%^eT(cf|9OIYIvm7(N!A;(uA^44-E*JQB zSk6L$AK-W}`>m0Gj`59x{~wsXiLbP5X-S*s$bsPhXP(!60{&-cBx}NC4*JXnvn(+kz-l~u6LT?~V7mVYy;ia8=-`0>h`3_|(wR zG`@Ri!z)g_o(zUrw%?CejPwQF|4V6s6tb=HixJwv75Q~GyTh=l|4Kk1YxqsW;Y)N) z|DR_4PJ#OJGU5Li=Qtk#MmVQ0-3h<+|29V}a{Md6L^37&U)p~G`bwEJuIaysYoNCWm3;uc>E*w;v9uH1#GnO^E^KOPk|~Vj&h6~zXXiNH+rI~ zN*mk#e|i5fxY5;IKY@nP`cI#wdr*AY#q=}R{b)3Gn{O@mw=t?q-Y)>7JSfcMT*v)e z&}J7ie}jD+6_P3Y=ehroVdSgq{|N9Z{B>}0SX oqj!g+^{4Gfu3hRsoAbwgL|8@IkKW6T*8dpmf5_@fRoVal08_N!KL7v# literal 0 HcmV?d00001 diff --git a/syntatics.c b/syntatics.c index ab9cc7d..f09460a 100644 --- a/syntatics.c +++ b/syntatics.c @@ -46,6 +46,8 @@ static int ft_pipe_is_alone(const char *str) return (0); i--; } + if (i == 0) + return (0); ft_eprintf("minishell: Pipe must be followed by a command or redirection\n"); return (1); } diff --git a/syntatics.o b/syntatics.o new file mode 100644 index 0000000000000000000000000000000000000000..b15b208529a5e09af5b9bb63e84d145bc485ff0d GIT binary patch literal 17256 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 RQ}s`%|Ct5W(f`u_e*lfIQgHwP literal 0 HcmV?d00001 diff --git a/t b/t new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/t @@ -0,0 +1 @@ +7 diff --git a/utils/ft_getstr.o b/utils/ft_getstr.o new file mode 100644 index 0000000000000000000000000000000000000000..b76c43ae0975fad5605fc5e98ea8048a1745eebe GIT binary patch literal 4480 zcmbtXTWB0r7(TO;$!@aA=GNMT*gBTlT6AZV8q%cKG+~>mrZ#GWl?v-#W_Jg7XX9LA zT4=3A#ibUEf+&dKgMy%-FGUa~BDT~Q>w~c%f-i!S3K1VHUa0?n=A6y$$@E1J$(;ZD z{@XeKoXhMp$*IF3Ng}*S1xMCGLl?zWBS6GRpR}CM#&psG;<9MZs;|G?ndglC2yG;+=D|p3dS?5 zy7ZM^y`)#aqocX<#Wc*hiB2m*XJ0p4%96`|N1q{lHhr^c6goK)rl?6VEtkkm6v+_< zN#02jibB3lYW5K|Q6gv2(C3<|><6T_p*unyZ-HKk%)`@hj^WH|H(F0%s z-pcHtr4NkONBef#>L6pW&Ae5ys04)*cjJNl0FV9v4L*T(xKh|#LR z+u(^qy@W*TBOuWRM1uvn7pH?0@heXyeDE692qv^Z6=m`sAW8Zw)(%g)uYi?2*DN_C z;W>7~w6Y~HXEcDs{K#->cqm>nEpI+vu)IXZbeVn0%p?lg?0S>YS}2ltQw76?m#M*P zA;hyx$IWR)96j)rSvQrf*ai?XA)v__d603rD-vn(rwCx95{Zl};RU62K~W-)6_jSP zP*fsQ38n2(P^rph5^9o8D3LiO>~qV?7N6?HZdqxaQl!Y0Pza`8s#pb;K5$<+#ft5! zp5>SY%gCunHGrqQifa%UDEtw}JZ+?0lCbhlqF5;#P9mEvroB1CO$_Zyluejj(I}M& zjouJuEolP{K@Hnp%LvhILLZeJEyE{ z5yDhFC+=BK!_eYxI#V(nP(tMFlkr&_3YB#$b{yU|mY6HDrL{0KY$#|CQ`9q2idK3+w-8G;M3~7TqeIC~{u8vOl$5RUCflFx#IaoooZD750`e7o? zcS`+j;mFId_HG9r|FO}Hl8kk}5SnOj4t)j|J|FZ1SIGI>%^;l|cq8Fh_-GovWIFmr z4v|b}6U5WgcAY{NHa<6yNh=o{dYP=dHmF`EaKHsLnREoOI8Lnm`X-b1btE#~b@kzg z6CAdIQSdkqioWj_{MsIXv!%A?NosQH*!ZET)Um^dA4wih9X~Wal}w@DbW*03^7k`9 zSfy6Znwl0tG{ph?Q@@|d>6=^rqBxs>p6cX!w(7k2MnJOcm_#I z;9q4pFYtVYl?DE5hFyWb$ndiQ|2D%H1m0u#6@mYi;dcc7ABH~?_;(rpRN!A?_=>;} zG5oE-f64HVtQX&74-(LL{r~VG*(&f$j6Wdo{C)GahjH*McZrruyJ@0j9EWI>%^4Z506Q&T0UedonT&1BHK@~e z+A0{0F7SzAa2Lo!v}~nZHsC(iEVx-TIO^eMft!Y5_!iON&Y3lA_Y{k56jOOST{hT+ z{%5CxKh}!ZnTH!=0zc0<&t4OUq#qkg{}&)d0lxqM literal 0 HcmV?d00001 diff --git a/utils/ft_is_in_quote.o b/utils/ft_is_in_quote.o new file mode 100644 index 0000000000000000000000000000000000000000..74e622364666a1b443a8e3661e53c8e9bb25cc2a GIT binary patch literal 4248 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 literal 0 HcmV?d00001 diff --git a/utils/ft_strncpy.o b/utils/ft_strncpy.o new file mode 100644 index 0000000000000000000000000000000000000000..ef6d219ffb00e16635c68bbfaefdbac309654c8b GIT binary patch literal 3952 zcmbtWU1%It6uvW?NjBMJH$Sayi0CTST5)HR7?P%cSq$55t(GbT@*>OZ?A_hL-Ptfd zX;QJGRcRW5HS>TigY-E60$PTq4SK)lYL~2{E@lu&!ytV&&7=w?-nuRVPiSRlX7+#*-i;+4X#!eqw_ciiuhdhUy92;IZH zC)p+j86BC-UYdqT!T6Eawy%Qrw8+Gd@e#CXLLWvh>}R=aOFd!p}b>2o&y!n2aR#` zsBSF}c&-KPqbO3hE(|!p%%ZirRZQ7L(fUKC4jXz69V#QrL+PX$smfwwP9squrIj@SLj~A@gE1f@P+j7>+0fAuUY_& z5RaR|6fV~9f5*uZu^k)t(!PRSW{LJLyI?@W-rJ3$AJ!{n7;x4eV{q2K@E6TJ?41jo1!a{h#b*Es*Ago{c(BjF!$ep$jfOG*-co%2-* zzs>okg#W;KU&24-{L2#lKIh+%@O93=CE=o8!cNrxC$1;*6ZlPzeKEe6# zB>W;C9E=?{!&3xn^c=;V!MNBX#K4|`L)QN!g!kZCj-&6Wf1-QqP3VHK`fj+^1?AH< zpXe3SH;G>MJfgd_Vd@oH4r(RaskT7IXtP{)>1vnQbWNv5yG`Krq{0M35Z!7un-m(q z?m*Yoq5DDCg)Yo_cxH9z$1BwJ*ST+6FI8Q$NqH{+XTkHp+KKuKUwKZnzi-a-V-jlQ z0iX~QeOd_K6oj_rSoVM83%bQ&htw$0y5MS zJp_JJl1)-p$dUMex6A{R|Z-Wf$%FET(Jj(5}Z6qW_{sP_x0)5K%%iR8`P~@v@ z{{i4}^?xs>{`krZdvPvtu`$#pk6-5rj{=5oo@|d{ah3esY$0EmzR< z=ga6m0U;;$-v*yqt^8fZHW;$}6$b_y`Mg4h_N7NIXMSb)e5l`nqqib zJDce8gALDV(k%@_R|8c&CQv&=d%)ySnly7Ai^UGU-t_GA*Peo5HeeSdOvl9sMMgCmP_OYD#>95LB2>~DusNV)aXmpLc)66ufZT@0~%NhGozEMTaNg;tdgKvCVen&8ru@SPNN+R?qW z8wSE48pns4RcS{z5B_lX-o==6VENmF-4euTQQ(>I#G&PcL;$E%f zmNyp5Szdg^beVm@9Es<2eZEP5B^1fJDR`c?FXNQ^FS%<*w4=DWMO-Ii)kSX0g&Z zrSx7@LQ~3$efZlNep+dnQhHoPag~Q$rFokoJr4U_k_sg&7o|V=et4E+<}4!zs4R>seURXX{S?b3Q3D3@eSD8yTWjs#Yn}E^0B9 zWZG3doF2mS6tZvSY2aULBH2M;#RF#3wMHWYRVd>;hy_U_NyA zfUShTdQl!*0N=3yzIy?D-XT=;;*r#zp#y_Ehf)W2?>?M7k~*?;a44B#J_W-f#dM)i z(ivdsqsJi)rB!U@`|$63J|z~w4+Lz6jrbK5={vli~KHgzlANA9$`u z`{1joQtN8`2bsK8!1pnkuRJf`>4yaSD@;Br;7lYb0mrW)q^!SG`u%~)MFF2%745vx5C|Onyti?=tyg0dK&;0$ui(N}XK(Lcrf)@;3tB!(`qcuhU`pEL+9r z*vRs8`x$1pRKWjX_$mSamf?KwVH`aBIpJPK67zoU!}IVc!*Q<#_Zv~2<3+gCV0CSO z&2!E+3Tf3f#$2Li(r%ilBaTBbeZ4Uxgul_N1&~tyRA8QxuH|xX%h # include "../libftx/libftx.h" size_t ft_strncpy(char *dst, const char *src, size_t n); -int ft_is_in_quote(const char *str, size_t n); -char *ft_strreplace(char *str, const char *fill, size_t start, size_t stop); +int ft_is_in_quote(const char *str, size_t n); +char *ft_strreplace(char *str, const char *fill, + size_t start, size_t stop); ssize_t ft_strnchr(const char *str, char c); char *ft_getstr(const char *str, size_t n); +void ft_printn(const char *str, size_t n); #endif