diff options
| author | JozanLeClerc <bousset.rudy@gmail.com> | 2020-04-14 18:13:58 +0200 | 
|---|---|---|
| committer | JozanLeClerc <bousset.rudy@gmail.com> | 2020-04-14 18:13:58 +0200 | 
| commit | 9a128c613af5e927676589fdeff47135d8819f59 (patch) | |
| tree | a348a31a4c4702546c202bc39134a366f576a60e /minilibx | |
| parent | More norm (diff) | |
| download | 42-cub3d-9a128c613af5e927676589fdeff47135d8819f59.tar.gz 42-cub3d-9a128c613af5e927676589fdeff47135d8819f59.tar.bz2 42-cub3d-9a128c613af5e927676589fdeff47135d8819f59.tar.xz 42-cub3d-9a128c613af5e927676589fdeff47135d8819f59.tar.zst 42-cub3d-9a128c613af5e927676589fdeff47135d8819f59.zip | |
Changed lib
Diffstat (limited to '')
52 files changed, 0 insertions, 7370 deletions
| diff --git a/minilibx-linux b/minilibx-linux new file mode 160000 +Subproject 36f40598fddf05894012c40692f865e89db7129 diff --git a/minilibx_linux/Makefile b/minilibx_linux/Makefile deleted file mode 100644 index ccf7387..0000000 --- a/minilibx_linux/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -## -## Makefile for MiniLibX in /home/boulon/work/c/raytraceur/minilibx -##  -## Made by Olivier Crouzet -## Login   <ol@epitech.net> -##  -## Started on  Tue Oct  5 15:56:43 2004 Olivier Crouzet -## Last update Tue May 15 15:44:41 2007 Olivier Crouzet -## - -## Please use configure script - - -all	: do_configure - -do_configure	: -	./configure - -clean	: -	./configure clean - -re	: clean all - -install: -	$(MAKE) -f Makefile.gen $@ diff --git a/minilibx_linux/Makefile.gen b/minilibx_linux/Makefile.gen deleted file mode 100644 index f93b892..0000000 --- a/minilibx_linux/Makefile.gen +++ /dev/null @@ -1,71 +0,0 @@ -INC=/usr/include -HT=x86_64 -DOCP=do_cp -## -## Makefile for MiniLibX in /home/boulon/work/c/raytraceur/minilibx -## -## Made by Olivier Crouzet -## Login   <ol@epitech.net> -## -## Started on  Tue Oct  5 15:56:43 2004 Olivier Crouzet -## Last update Tue May 15 15:41:20 2007 Olivier Crouzet -## - -## Please use configure script - - - -CC		=	gcc - -NAME	=	libmlx.a - -SRC		=	mlx_init.c \ -			mlx_new_window.c \ -			mlx_pixel_put.c \ -			mlx_loop.c \ -			mlx_mouse_hook.c \ -			mlx_key_hook.c \ -			mlx_expose_hook.c \ -			mlx_loop_hook.c \ -			mlx_int_anti_resize_win.c \ -			mlx_int_do_nothing.c \ -			mlx_int_wait_first_expose.c \ -			mlx_int_get_visual.c \ -			mlx_flush_event.c \ -			mlx_string_put.c \ -			mlx_new_image.c \ -			mlx_get_data_addr.c \ -			mlx_put_image_to_window.c \ -			mlx_get_color_value.c \ -			mlx_clear_window.c \ -			mlx_xpm.c \ -			mlx_int_str_to_wordtab.c \ -			mlx_destroy_window.c \ -			mlx_int_param_event.c \ -			mlx_int_set_win_event_mask.c \ -			mlx_hook.c \ -			mlx_rgb.c \ -			mlx_destroy_image.c - -OBJ		=	$(SRC:.c=.o) -CFLAGS	=	-O3 -I$(INC) - -DESTDIR	=	/usr/local - -all: $(NAME) $(DOCP) - -$(NAME): $(OBJ) -	ar -r $(NAME) $(OBJ) -	ranlib $(NAME) - -do_cp: -	cp $(NAME) libmlx_$(HT).a - -clean: -	rm -f $(OBJ) $(NAME) *~ core *.core - -install: -	mkdir -p $(DESTDIR)/lib && cp $(NAME) $(DESTDIR)/lib -	mkdir -p $(DESTDIR)/lib/pkgconfig && cp mlx.pc $(DESTDIR)/lib/pkgconfig -	mkdir -p $(DESTDIR)/include && cp mlx.h $(DESTDIR)/include -	mkdir -p $(DESTDIR)/man/man3 && cp man/man3/*.3 $(DESTDIR)/man/man3 diff --git a/minilibx_linux/Makefile.mk b/minilibx_linux/Makefile.mk deleted file mode 100644 index 4f919ac..0000000 --- a/minilibx_linux/Makefile.mk +++ /dev/null @@ -1,71 +0,0 @@ -## -## Makefile for MiniLibX in /home/boulon/work/c/raytraceur/minilibx -## -## Made by Olivier Crouzet -## Login   <ol@epitech.net> -## -## Started on  Tue Oct  5 15:56:43 2004 Olivier Crouzet -## Last update Tue May 15 15:41:20 2007 Olivier Crouzet -## - -## Please use configure script - - -INC		=	%%%% -HT		=	%%%% -DOCP	=	%%%% - -CC		=	gcc - -NAME	=	libmlx.a - -SRC		=	mlx_init.c \ -			mlx_new_window.c \ -			mlx_pixel_put.c \ -			mlx_loop.c \ -			mlx_mouse_hook.c \ -			mlx_key_hook.c \ -			mlx_expose_hook.c \ -			mlx_loop_hook.c \ -			mlx_int_anti_resize_win.c \ -			mlx_int_do_nothing.c \ -			mlx_int_wait_first_expose.c \ -			mlx_int_get_visual.c \ -			mlx_flush_event.c \ -			mlx_string_put.c \ -			mlx_new_image.c \ -			mlx_get_data_addr.c \ -			mlx_put_image_to_window.c \ -			mlx_get_color_value.c \ -			mlx_clear_window.c \ -			mlx_xpm.c \ -			mlx_int_str_to_wordtab.c \ -			mlx_destroy_window.c \ -			mlx_int_param_event.c \ -			mlx_int_set_win_event_mask.c \ -			mlx_hook.c \ -			mlx_rgb.c \ -			mlx_destroy_image.c - -OBJ		=	$(SRC:.c=.o) -CFLAGS	=	-O3 -I$(INC) - -DESTDIR	=	/usr/local - -all: $(NAME) $(DOCP) - -$(NAME): $(OBJ) -	ar -r $(NAME) $(OBJ) -	ranlib $(NAME) - -do_cp: -	cp $(NAME) libmlx_$(HT).a - -clean: -	rm -f $(OBJ) $(NAME) *~ core *.core - -install: -	mkdir -p $(DESTDIR)/lib && cp $(NAME) $(DESTDIR)/lib -	mkdir -p $(DESTDIR)/lib/pkgconfig && cp mlx.pc $(DESTDIR)/lib/pkgconfig -	mkdir -p $(DESTDIR)/include && cp mlx.h $(DESTDIR)/include -	mkdir -p $(DESTDIR)/man/man3 && cp man/man3/*.3 $(DESTDIR)/man/man3 diff --git a/minilibx_linux/README b/minilibx_linux/README deleted file mode 100644 index 7adcb2f..0000000 --- a/minilibx_linux/README +++ /dev/null @@ -1,42 +0,0 @@ - -This is the MinilibX, a simple X-Window (X11R6) programming API -in C, designed for students, suitable for X-beginners. - - -Contents - - - source code in C to create the mlx library - - man pages (in man/ directory) - - a test program (in test/ directory) is built -   with the library - - a public include file mlx.h - - a tiny configure script to generate an appropriate Makefile.gen - - -Requirements - - - MinilibX only support TrueColor visual type (8,15,16,24 or 32 bits depth) - - gcc - - X11 include files - - XShm extension must be present - - -Compile MinilibX - - - run ./configure or make -   both will make a few tests, create Makefile.gen -   and then automatically run make on this generated Makefile.gen . -   libmlx.a and libmlx_$(HOSTTYPE).a are created. -   test/mlx-test binary is also created. - - -Install MinilibX - - - no installation script is provided. You may want to install -     - libmlx.a and/or libmlx_$(HOSTTYPE).a in /usr/X11/lib or /usr/local/lib -     - mlx.h in /usr/X11/include or /usr/local/include -     - man/man3/mlx*.1 in /usr/X11/man/man3 or /usr/local/man/man3 - - or make DESTDIR=/usr/local install - - - Olivier CROUZET - 2014-01-06 - diff --git a/minilibx_linux/README.md b/minilibx_linux/README.md deleted file mode 100644 index f75e806..0000000 --- a/minilibx_linux/README.md +++ /dev/null @@ -1,131 +0,0 @@ -# minilibx_linux - -This is a mirror of the minilibx library. - -Ubuntu: You need to install Xlib.h (pd-maxlib) and XShm.h (libxtst-dev) libraries to make it work on a classic 18.04/18.10 installation. - -``` -# sudo apt install pd-maxlib -# sudo apt install libxtst-dev - -``` - -## Original minilibx for Linux readme - -## What is minilibx? - -Minilibx is a very basic graphical library writting in C used in -[42](https://42.fr) (also exported in US in the Silicon Valley, see [42 -US](https://42.us.org)) and in [Epitech](http://www.epitech.eu/) for infography -project such like *fdf* and *Raytracer*. - -You can find a mirror to the native version for Mac OSX -[here](https://github.com/dannywillems/minilix-mac-osx). - -## Compile - -1. Add a variable named PKG_CONFIG_PATH containing the path to the minilibx -directory. -2. Compile and install with -``` -make && sudo make install -``` - -## Tutorials - -Here some tutorials and articles (in French): -* [Installation and basic usage](https://achedeuzot.me/2014/12/20/installer-la-minilibx/) -* [Manual](http://thomas.tissotdupont.free.fr/MinilibX%20Manual/) - -## Related projects - -* [Binding OCaml](https://github.com/dannywillems/ocaml-minilibx) - -## Licence - -Licence BSD: Copyright Olivier Crouzet - 2014 - -Minilibx -====================================== - -Ce dépot est un mirroir pour la librairie graphique *minilibx*. - -## Qu'est-ce que minilibx ? - -Minilibx est une librairie graphique très basique écrite en C utilisée à -[42](https://42.fr) (aussi exporté aux USA dans la Silicon Valley, voir [42 -US](https://42.us.org)) et à [Epitech](http://www.epitech.eu) - -Vous pouvez trouver un mirroir pour la version native pour Mac OSX -[ici](https://github.com/dannywillems/minilibx-mac-osx). - -## Compiler - -1. Ajouter une variable PKG_CONFIG_PATH contenant le chemin vers le dossier de -   la minilibx. -2. Compilation and installation avec -``` -make && sudo make install -``` - -## Tutoriels - -Ici des articles et des tutoriels (en français): - -* [Installation et utilisation basique](https://achedeuzot.me/2014/12/20/installer-la-minilibx/) -* [Manuel](http://thomas.tissotdupont.free.fr/MinilibX%20Manual/) - -## Projets connexes - -* [Binding OCaml](https://github.com/dannywillems/ocaml-minilibx) - -## License - -License BSD: Copyright Olivier Crouzet - 2014 - - -## Original README - - -This is the MinilibX, a simple X-Window (X11R6) programming API -in C, designed for students, suitable for X-beginners. - - -Contents - - - source code in C to create the mlx library - - man pages (in man/ directory) - - a test program (in test/ directory) is built -   with the library - - a public include file mlx.h - - a tiny configure script to generate an appropriate Makefile.gen - - -Requirements - - - MinilibX only support TrueColor visual type (8,15,16,24 or 32 bits depth) - - gcc - - X11 include files - - XShm extension must be present - - -Compile MinilibX - - - run ./configure or make -   both will make a few tests, create Makefile.gen -   and then automatically run make on this generated Makefile.gen . -   libmlx.a and libmlx_$(HOSTTYPE).a are created. -   test/mlx-test binary is also created. - - -Install MinilibX - - - no installation script is provided. You may want to install -     - libmlx.a and/or libmlx_$(HOSTTYPE).a in /usr/X11/lib or /usr/local/lib -     - mlx.h in /usr/X11/include or /usr/local/include -     - man/man3/mlx*.1 in /usr/X11/man/man3 or /usr/local/man/man3 - - or make DESTDIR=/usr/local install - -## Credits - - Olivier CROUZET - 2014-01-06 - diff --git a/minilibx_linux/configure b/minilibx_linux/configure deleted file mode 100755 index 8366568..0000000 --- a/minilibx_linux/configure +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/sh - - -if [ -n "$1" -a "$1" = "--help" ] ; then -	echo "Usage : $0\n Auto-configure and make MinilibX" -	exit -fi - - -conf_inc=NO - -for inc in \ -    /usr/X11/include          \ -    /usr/X11R6/include        \ -    /usr/X11R5/include        \ -    /usr/X11R4/include        \ -                              \ -    /usr/include	      \ -    /usr/include/X11          \ -    /usr/include/X11R6        \ -    /usr/include/X11R5        \ -    /usr/include/X11R4        \ -                              \ -    /usr/local/X11/include    \ -    /usr/local/X11R6/include  \ -    /usr/local/X11R5/include  \ -    /usr/local/X11R4/include  \ -                              \ -    /usr/local/include/X11    \ -    /usr/local/include/X11R6  \ -    /usr/local/include/X11R5  \ -    /usr/local/include/X11R4  \ -                              \ -    /usr/X386/include         \ -    /usr/x386/include         \ -    /usr/XFree86/include/X11  \ -                              \ -    /usr/include              \ -    /usr/local/include        \ -    /usr/athena/include       \ -    /usr/local/x11r5/include  \ -    /usr/lpp/Xamples/include  \ -                              \ -    /usr/openwin/include      \ -    /usr/openwin/share/include - do -	if [ -f "$inc/X11/Xlib.h" -a -f "$inc/X11/extensions/XShm.h" ]; then -		conf_inc=$inc -		break -	fi - done - - -if [ "$conf_inc" = "NO" ]; then -	echo "Can't find a suitable X11 include directory...." -	exit -else -	echo "X11 include dir : $conf_inc" -fi - -if [ -z "$HOSTTYPE" ]; then -    conf_ht=`uname -s` -else -    conf_ht=$HOSTTYPE -fi - -if [ -z "$conf_ht" ]; then -    conf_docp="" -else -    conf_docp="do_cp" -    echo "lib_$conf_ht generation" -fi - - -/bin/echo "INC=$conf_inc" > Makefile.gen -/bin/echo "HT=$conf_ht" >> Makefile.gen -/bin/echo "DOCP=$conf_docp" >> Makefile.gen -cat Makefile.mk | grep -v %%%% >> Makefile.gen - -/bin/echo "INC=$conf_inc" > test/Makefile.gen -/bin/echo "HT=$conf_ht" >> test/Makefile.gen -/bin/echo "DOCP=$conf_docp" >> test/Makefile.gen -cat test/Makefile.mk | grep -v %%%% >> test/Makefile.gen - - -if [ -n "$1" -a "$1" = "clean" ] ; then -    echo "Now make it clean." -    make -f Makefile.gen clean -    (cd test ; make -f Makefile.gen clean) -    exit -fi - -echo "Now make it." -make -f Makefile.gen all -#(cd test ; make -f Makefile.gen all ) diff --git a/minilibx_linux/man/man3/mlx.3 b/minilibx_linux/man/man3/mlx.3 deleted file mode 100644 index 9ad0ac1..0000000 --- a/minilibx_linux/man/man3/mlx.3 +++ /dev/null @@ -1,93 +0,0 @@ -.TH MiniLibX 3 "September 19, 2002" -.SH NAME -MiniLibX - Simple X-Window Interface Library for students -.SH SYNOPSYS -#include <mlx.h> - -.nf -.I void * -.fi -.B mlx_init -(); - -.SH DESCRIPTION -MiniLibX is an easy way to create graphical software, -without any X-Window programming knowledge. It provides -simple window creation, a drawing tool, image and basic events -management. - -.SH X-WINDOW CONCEPT - -X-Window is a network-oriented graphical system for Unix. -It is based on two main parts: -.br -On one side, your software wants to draw something on the screen and/or -get keyboard & mouse entries. -.br -On the other side, the X-Server manages the screen, keyboard and mouse -(It is often refered to as a "display"). -.br -A network connection must be established between these two entities to send -drawing orders (from the software to the X-Server), and keyboard/mouse -events (from the X-Server to the software). - -.SH INCLUDE FILE -.B mlx.h -should be included for a correct use of the MiniLibX API. -It only contains function prototypes, no structure is needed. - -.SH LIBRARY FUNCTIONS -.P -First of all, you need to initialize the connection -between your software and the display. -Once this connection is established, you'll be able to -use other MiniLibX functions to send the X-Server messages, -like "I want to draw a yellow pixel in this window" or "did the -user hit a key?". -.P -The -.B mlx_init -function will create this connection. No parameters are needed, ant it will -return a -.I "void *" -identifier, used for further calls to the library routines. -.P -All other MiniLibX functions are described in the following man pages: - -.TP 20 -.B mlx_new_window -: manage windows -.TP 20 -.B mlx_pixel_put -: draw inside window -.TP 20 -.B mlx_new_image -: manipulate images -.TP 20 -.B mlx_loop -: handle keyboard or mouse events - -.SH LINKING MiniLibX -To use MiniLibX functions, you'll need to link -your software with several libraries, including the MiniLibX library itself. -To do this, simply add the following arguments at linking time: - -.B -lmlx -lXext -lX11 - -You may also need to specify the path to these libraries, using -the -.B -L -flag. - - -.SH RETURN VALUES -If -.B mlx_init() -fails to set up the connection to the X server, it will return NULL, otherwise -a non-null pointer is returned as a connection identifier. - -.SH SEE ALSO -mlx_new_window(3), mlx_pixel_put(3), mlx_new_image(3), mlx_loop(3) - -.SH AUTHOR -Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx_linux/man/man3/mlx_loop.3 b/minilibx_linux/man/man3/mlx_loop.3 deleted file mode 100644 index 3397ce2..0000000 --- a/minilibx_linux/man/man3/mlx_loop.3 +++ /dev/null @@ -1,141 +0,0 @@ -.TH MiniLibX 3 "September 19, 2002" -.SH NAME -MiniLibX - Handle events -.SH SYNOPSYS - -.nf -.I int -.fi -.B mlx_loop -( -.I void *mlx_ptr -); - -.nf -.I int -.fi -.B mlx_key_hook -( -.I void *win_ptr, int (*funct_ptr)(), void *param -); - -.nf -.I int -.fi -.B mlx_mouse_hook -( -.I void *win_ptr, int (*funct_ptr)(), void *param -); - -.nf -.I int -.fi -.B mlx_expose_hook -( -.I void *win_ptr, int (*funct_ptr)(), void *param -); - -.nf -.I int -.fi -.B mlx_loop_hook -( -.I void *mlx_ptr, int (*funct_ptr)(), void *param -); - -.SH X-WINDOW EVENTS - -The X-Window system is bi-directionnal. On one hand, the program sends orders to -the screen to display pixels, images, and so on. On the other hand, -it can get information from the keyboard and mouse associated to -the screen. To do so, the program receives "events" from the keyboard or the -mouse. - -.SH DESCRIPTION - -To receive events, you must use -.B mlx_loop -(). This function never returns. It is an infinite loop that waits for -an event, and then calls a user-defined function associated with this event. -A single parameter is needed, the connection identifier -.I mlx_ptr -(see the -.B mlx manual). - -You can assign different functions to the three following events: -.br -- A key is pressed -.br -- The mouse button is pressed -.br -- A part of the window should be re-drawn -(this is called an "expose" event, and it is your program's job to handle it). -.br - -Each window can define a different function for the same event. - -The three functions -.B mlx_key_hook -(), -.B mlx_mouse_hook -() and -.B mlx_expose_hook -() work exactly the same way. -.I funct_ptr -is a pointer to the function you want to be called -when an event occurs. This assignment is specific to the window defined by the -.I win_ptr -identifier. The -.I param -adress will be passed to the function everytime it is called, and should be -used to store the parameters it might need. - -The syntax for the -.B mlx_loop_hook -() function is identical to the previous ones, but the given function will be -called when no event occurs. - -When it catches an event, the MiniLibX calls the corresponding function -with fixed parameters: -.nf - -  expose_hook(void *param); -  key_hook(int keycode,void *param); -  mouse_hook(int button,int x,int y,void *param); -  loop_hook(void *param); - -.fi -These function names are arbitrary. They here are used to distinguish -parameters according to the event. These functions are NOT part of the -MiniLibX. - -.I param -is the address specified in the mlx_*_hook calls. This address is never -used nor modified by the MiniLibX. On key and mouse events, additional -information is passed: -.I keycode -tells you which key is pressed (look for the X11 include file "keysymdef.h"), -( -.I x -, -.I y -) are the coordinates of the mouse click in the window, and -.I button -tells you which mouse button was pressed. - -.SH GOING FURTHER WITH EVENTS -The MiniLibX provides a much generic access to all X-Window events. The -.I mlx.h -include define -.B mlx_hook() -in the same manner mlx_*_hook functions work. The event and mask values -will be taken from the X11 include file "X.h". - -See source code of mlx_int_param_event.c to find out how the MiniLibX will -call your own function for a specific event. - -.SH SEE ALSO -mlx(3), mlx_new_window(3), mlx_pixel_put(3), mlx_new_image(3) - -.SH AUTHOR -Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx_linux/man/man3/mlx_new_image.3 b/minilibx_linux/man/man3/mlx_new_image.3 deleted file mode 100644 index f2160a2..0000000 --- a/minilibx_linux/man/man3/mlx_new_image.3 +++ /dev/null @@ -1,192 +0,0 @@ -.TH MiniLibX 3 "September 19, 2002" -.SH NAME -MiniLibX - Manipulating images -.SH SYNOPSYS - -.nf -.I void * -.fi -.B mlx_new_image -( -.I void *mlx_ptr, int width, int height -); - -.nf -.I char * -.fi -.B mlx_get_data_addr -( -.I void *img_ptr, int *bits_per_pixel, int *size_line, int *endian -); - -.nf -.I int -.fi -.B mlx_put_image_to_window -( -.I void *mlx_ptr, void *win_ptr, void *img_ptr, int x, int y -); - -.nf -.I unsigned int -.fi -.B mlx_get_color_value -( -.I void *mlx_ptr, int color -); - -.nf -.I void * -.fi -.B mlx_xpm_to_image -( -.I void *mlx_ptr, char **xpm_data, int *width, int *height -); - -.nf -.I void * -.fi -.B mlx_xpm_file_to_image -( -.I void *mlx_ptr, char *filename, int *width, int *height -); - -.nf -.I int -.fi -.B mlx_destroy_image -( -.I void *mlx_ptr, void *img_ptr -); - - -.SH DESCRIPTION - -.B mlx_new_image -() creates a new image in memory. It returns a -.I void * -identifier needed to manipulate this image later. It only needs -the size of the image to be created, using the -.I width -and -.I height -parameters, and the -.I mlx_ptr -connection identifier (see the -.B mlx -manual). - -The user can draw inside the image (see below), and -can dump the image inside a specified window at any time to -display it on the screen. This is done using -.B mlx_put_image_to_window -(). Three identifiers are needed here, for the connection to the -display, the window to use, and the image (respectively -.I mlx_ptr -, -.I win_ptr -and -.I img_ptr -). The ( -.I x -, -.I y -) coordinates define where the image should be placed in the window. - -.B mlx_get_data_addr -() returns information about the created image, allowing a user -to modify it later. The -.I img_ptr -parameter specifies the image to use. The three next parameters should -be the addresses of three different valid integers. -.I bits_per_pixel -will be filled with the number of bits needed to represent a pixel color -(also called the depth of the image). -.I size_line -is the number of bytes used to store one line of the image in memory. -This information is needed to move from one line to another in the image. -.I endian -tells you wether the pixel color in the image needs to be stored in -little endian ( -.I endian -== 0), or big endian ( -.I endian -== 1). - -.B mlx_get_data_addr -returns a -.I char * -address that represents the begining of the memory area where the image -is stored. From this adress, the first -.I bits_per_pixel -bits represent the color of the first pixel in the first line of -the image. The second group of -.I bits_per_pixel -bits represent the second pixel of the first line, and so on. -Add -.I size_line -to the adress to get the begining of the second line. You can reach any -pixels of the image that way. - -.B mlx_destroy_image -destroys the given image ( -.I img_ptr -). - -.SH STORING COLOR INSIDE IMAGES - -Depending on the display, the number of bits used to store a pixel color -can change. The user usually represents a color in RGB mode, using -one byte for each component (see -.B mlx_pixel_put -manual). This must be translated to fit the -.I bits_per_pixel -requirement of the image, and make the color understandable to the X-Server. -That is the purpose of the -.B mlx_get_color_value -() function. It takes a standard RGB -.I color -parameter, and returns an -.I unsigned int -value. -The -.I bits_per_pixel -least significant bits of this value can be stored in the image. - -Keep in mind that the least significant bits position depends on the local -computer's endian. If the endian of the image (in fact the endian of -the X-Server's computer) differs from the local endian, then the value should -be transformed before being used. - -.SH XPM IMAGES - -The -.B mlx_xpm_to_image -() and -.B mlx_xpm_file_to_image -() functions will create a new image the same way. -They will fill it using the specified -.I xpm_data -or -.I filename -, depending on which function is used. -Note that MiniLibX does not use the standard -Xpm library to deal with xpm images. You may not be able to -read all types of xpm images. It however handles transparency. - -.SH RETURN VALUES -The three functions that create images, -.B mlx_new_image() -, -.B mlx_xpm_to_image() -and -.B mlx_xpm_file_to_image() -, will return NULL if an error occurs. Otherwise they return a non-null pointer -as an image identifier. - - -.SH SEE ALSO -mlx(3), mlx_new_window(3), mlx_pixel_put(3), mlx_loop(3) - -.SH AUTHOR -Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx_linux/man/man3/mlx_new_window.3 b/minilibx_linux/man/man3/mlx_new_window.3 deleted file mode 100644 index 90f6d47..0000000 --- a/minilibx_linux/man/man3/mlx_new_window.3 +++ /dev/null @@ -1,79 +0,0 @@ -.TH MiniLibX 3 "September 19, 2002" -.SH NAME -MiniLibX - Managing windows -.SH SYNOPSYS - -.nf -.I void * -.fi -.B mlx_new_window -( -.I void *mlx_ptr, int size_x, int size_y, char *title -); - -.nf -.I int -.fi -.B mlx_clear_window -( -.I void *mlx_ptr, void *win_ptr -); - -.nf -.I int -.fi -.B mlx_destroy_window -( -.I void *mlx_ptr, void *win_ptr -); - - -.SH DESCRIPTION -The -.B mlx_new_window -() function creates a new window on the screen, using the -.I size_x -and -.I size_y -parameters to determine its size, and -.I title -as the text that should be displayed in the window's title bar. -The -.I mlx_ptr -parameter is the connection identifier returned by -.B mlx_init -() (see the -.B mlx -man page). -.B mlx_new_window -() returns a -.I void * -window identifier that can be used by other MiniLibX calls. -Note that the MiniLibX -can handle an arbitrary number of separate windows. - -.B mlx_clear_window -() and -.B mlx_destroy_window -() respectively clear (in black) and destroy the given window. They both have -the same parameters: -.I mlx_ptr -is the screen connection identifier, and -.I win_ptr -is a window identifier. - -.SH RETURN VALUES -If -.B mlx_new_window() -fails to create a new window (for wathever reason), it will return NULL, -otherwise a non-null pointer is returned as a window identifier. -.B mlx_clear_window -and -.B mlx_destroy_window -right now return nothing. - -.SH SEE ALSO -mlx(3), mlx_pixel_put(3), mlx_new_image(3), mlx_loop(3) - -.SH AUTHOR -Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx_linux/man/man3/mlx_pixel_put.3 b/minilibx_linux/man/man3/mlx_pixel_put.3 deleted file mode 100644 index f4d131e..0000000 --- a/minilibx_linux/man/man3/mlx_pixel_put.3 +++ /dev/null @@ -1,81 +0,0 @@ -.TH MiniLibX 3 "September 19, 2002" -.SH NAME -MiniLibX - Drawing inside windows -.SH SYNOPSYS - -.nf -.I int -.fi -.B mlx_pixel_put -( -.I void *mlx_ptr, void *win_ptr, int x, int y, int color -); - -.nf -.I int -.fi -.B mlx_string_put -( -.I void *mlx_ptr, void *win_ptr, int x, int y, int color, char *string -); - - -.SH DESCRIPTION -The -.B mlx_pixel_put -() function draws a defined pixel in the window -.I win_ptr -using the ( -.I x -, -.I y -) coordinates, and the specified -.I color -\&. The origin (0,0) is the upper left corner of the window, the x and y axis -respectively pointing right and down. The connection -identifier, -.I mlx_ptr -, is needed (see the -.B mlx -man page). - -Parameters for -.B mlx_string_put -() have the same meaning. Instead of a simple pixel, the specified -.I string -will be displayed at ( -.I x -, -.I y -). - -In both functions, it is impossible to display anything outside the -specified window, nor display in another window in front of the selected one. - -.SH COLOR MANAGEMENT -The -.I color -parameter has an integer type. The displayed color needs to be encoded -in this integer, following a defined scheme. All displayable colors -can be split in 3 basic colors: red, green and blue. Three associated -values, in the 0-255 range, represent how much of each color is mixed up -to create the original color. Theses three values must be set inside the -integer to display the right color. The three least significant bytes of -this integer are filled as shown in the picture below: - -.nf -        | 0 | R | G | B |   color integer -        +---+---+---+---+ -.fi - - -While filling the integer, make sure you avoid endian problems. Remember -that the "blue" byte should always be the least significant one. - - -.SH SEE ALSO -mlx(3), mlx_new_window(3), mlx_new_image(3), mlx_loop(3) - - -.SH AUTHOR -Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx_linux/mlx.h b/minilibx_linux/mlx.h deleted file mode 100644 index a2cc7e5..0000000 --- a/minilibx_linux/mlx.h +++ /dev/null @@ -1,129 +0,0 @@ -/* -** mlx.h for MinilibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Mon Jul 31 16:37:50 2000 Charlie Root -** Last update Tue May 15 16:23:28 2007 Olivier Crouzet -*/ - -/* -**   MinilibX -  Please report bugs -*/ - - -/* -** FR msg - FR msg - FR msg -** -** La MinilibX utilise 2 librairies supplementaires qu'il -**      est necessaire de rajouter a la compilation : -**   -lmlx -lXext -lX11 -** -** La MinilibX permet le chargement des images de type Xpm. -** Notez que cette implementation est incomplete. -** Merci de communiquer tout probleme de chargement d'image -** de ce type. -*/ - - -#ifndef MLX_H - -#define	MLX_H - - -void	*mlx_init(); -/* -**  needed before everything else. -**  return (void *)0 if failed -*/ - - -/* -** Basic actions -*/ - -void	*mlx_new_window(void *mlx_ptr, int size_x, int size_y, char const *title); -/* -**  return void *0 if failed -*/ -int	mlx_clear_window(void *mlx_ptr, void *win_ptr); -int	mlx_pixel_put(void *mlx_ptr, void *win_ptr, int x, int y, int color); -/* -**  origin for x & y is top left corner of the window -**  y down is positive -**  color is 0x00RRGGBB -*/ - - -/* -** Image stuff -*/ - -void	*mlx_new_image(void *mlx_ptr,int width,int height); -/* -**  return void *0 if failed -**  obsolete : image2 data is stored using bit planes -**  void	*mlx_new_image2(void *mlx_ptr,int width,int height); -*/ -char	*mlx_get_data_addr(void *img_ptr, int *bits_per_pixel, -			   int *size_line, int *endian); -/* -**  endian : 0 = sever X is little endian, 1 = big endian -**  for mlx_new_image2, 2nd arg of mlx_get_data_addr is number_of_planes -*/ -int	mlx_put_image_to_window(void *mlx_ptr, void *win_ptr, void *img_ptr, -				int x, int y); -unsigned int	mlx_get_color_value(void *mlx_ptr, int color); - - -/* -** dealing with Events -*/ - -int	mlx_mouse_hook (void *win_ptr, int (*funct_ptr)(), void *param); -int	mlx_key_hook (void *win_ptr, int (*funct_ptr)(), void *param); -int	mlx_expose_hook (void *win_ptr, int (*funct_ptr)(), void *param); - -int	mlx_loop_hook (void *mlx_ptr, int (*funct_ptr)(), void *param); -int	mlx_loop (void *mlx_ptr); - - -/* -**  hook funct are called as follow : -** -**   expose_hook(void *param); -**   key_hook(int keycode, void *param); -**   mouse_hook(int button, int x,int y, void *param); -**   loop_hook(void *param); -** -*/ - - -/* -**  Usually asked... -*/ - -int	mlx_string_put(void *mlx_ptr, void *win_ptr, int x, int y, int color, -		       char *string); -void	*mlx_xpm_to_image(void *mlx_ptr, char **xpm_data, -			  int *width, int *height); -void	*mlx_xpm_file_to_image(void *mlx_ptr, char const *filename, -			       int *width, int *height); -int	mlx_destroy_window(void *mlx_ptr, void *win_ptr); - -int	mlx_destroy_image(void *mlx_ptr, void *img_ptr); - -/* -**  generic hook system for all events, and minilibX functions that -**    can be hooked. Some macro and defines from X11/X.h are needed here. -*/ - -int	mlx_hook(void *win_ptr, int x_event, int x_mask, -                 int (*funct)(), void *param); - -int	mlx_do_key_autorepeatoff(void *mlx_ptr); -int	mlx_do_key_autorepeaton(void *mlx_ptr); -int	mlx_do_sync(void *mlx_ptr); - -#endif /* MLX_H */ diff --git a/minilibx_linux/mlx.pc b/minilibx_linux/mlx.pc deleted file mode 100644 index e032212..0000000 --- a/minilibx_linux/mlx.pc +++ /dev/null @@ -1,12 +0,0 @@ -prefix=/usr/local -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: MiniLibX -Description: Simple X-Window Interface Library for students -Version: 2014-01-06 -URL: https://projects.intrav2.42.fr/fdf/mine -Requires.private: xext x11 libbsd -Libs: -L${libdir} -lmlx -Cflags: -I${includedir} diff --git a/minilibx_linux/mlx_clear_window.c b/minilibx_linux/mlx_clear_window.c deleted file mode 100644 index f621090..0000000 --- a/minilibx_linux/mlx_clear_window.c +++ /dev/null @@ -1,21 +0,0 @@ -/* -** mlx_clear_window.c for MiniLibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Thu Sep  7 19:46:15 2000 Charlie Root -** Last update Tue Sep 25 17:11:19 2001 Charlie Root -*/ - - - -#include	"mlx_int.h" - - -int		mlx_clear_window(t_xvar *xvar,t_win_list *win) -{ -  XClearWindow(xvar->display,win->window); -  if (xvar->do_flush) -    XFlush(xvar->display); -} diff --git a/minilibx_linux/mlx_destroy_image.c b/minilibx_linux/mlx_destroy_image.c deleted file mode 100644 index afd4d1a..0000000 --- a/minilibx_linux/mlx_destroy_image.c +++ /dev/null @@ -1,31 +0,0 @@ -/* -** mlx_destroy_image.c for MinilibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Tue Mar 12 10:25:15 2002 Charlie Root -** Last update Tue May 15 16:45:54 2007 Olivier Crouzet -*/ - - -#include	"mlx_int.h" - - -int	mlx_destroy_image(t_xvar *xvar, t_img *img) -{ -  if (img->type == MLX_TYPE_SHM_PIXMAP || -      img->type == MLX_TYPE_SHM) -    { -      XShmDetach(xvar->display, &(img->shm)); -      shmdt(img->shm.shmaddr); -      /* shmctl IPC_RMID already done */ -    } -  XDestroyImage(img->image);  /* For image & shm-image. Also free img->data */ -  XFreePixmap(xvar->display, img->pix); -  if (img->gc) -    XFreeGC(xvar->display, img->gc); -  free(img); -  if (xvar->do_flush) -    XFlush(xvar->display); -} diff --git a/minilibx_linux/mlx_destroy_window.c b/minilibx_linux/mlx_destroy_window.c deleted file mode 100644 index 464790c..0000000 --- a/minilibx_linux/mlx_destroy_window.c +++ /dev/null @@ -1,38 +0,0 @@ -/* -** mlx_destroy_window.c for MinilibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Tue Mar 12 10:25:15 2002 Charlie Root -** Last update Tue May 15 16:46:08 2007 Olivier Crouzet -*/ - - -#include	"mlx_int.h" - - -int	mlx_destroy_window(t_xvar *xvar,t_win_list *win) -{ -  t_win_list	*w; -  t_win_list	*prev; -  t_win_list	first; - -  first.next = xvar->win_list; -  prev = &first; -  w = prev->next; -  while (w) -    { -      if (w==win) -	prev->next = w->next; -      else -	prev = w; -      w = w->next; -    } -  xvar->win_list = first.next; -  XDestroyWindow(xvar->display,win->window); -  XFreeGC(xvar->display,win->gc); -  free(win); -  if (xvar->do_flush) -    XFlush(xvar->display); -} diff --git a/minilibx_linux/mlx_expose_hook.c b/minilibx_linux/mlx_expose_hook.c deleted file mode 100644 index b00b675..0000000 --- a/minilibx_linux/mlx_expose_hook.c +++ /dev/null @@ -1,22 +0,0 @@ -/* -** mlx_expose_hook.c for MiniLibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Thu Aug  3 11:49:06 2000 Charlie Root -** Last update Fri Feb 23 17:07:42 2001 Charlie Root -*/ - - -#include	"mlx_int.h" - - - - -int		mlx_expose_hook(t_win_list *win,int (*funct)(),void *param) -{ -  win->hooks[Expose].hook = funct; -  win->hooks[Expose].param = param; -  win->hooks[Expose].mask = ExposureMask; -} diff --git a/minilibx_linux/mlx_flush_event.c b/minilibx_linux/mlx_flush_event.c deleted file mode 100644 index 1e586ad..0000000 --- a/minilibx_linux/mlx_flush_event.c +++ /dev/null @@ -1,25 +0,0 @@ -/* -** mlx_flush_event.c for MiniLibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Wed Aug  2 18:58:11 2000 Charlie Root -** Last update Fri Feb 23 17:08:48 2001 Charlie Root -*/ - - -#include	"mlx_int.h" - - - - -int	mlx_flush_event(t_xvar *xvar) -{ -  XEvent	ev; - -  while (XPending(xvar->display)) -  { -     XNextEvent(xvar->display,&ev); -  } -} diff --git a/minilibx_linux/mlx_get_color_value.c b/minilibx_linux/mlx_get_color_value.c deleted file mode 100644 index b620970..0000000 --- a/minilibx_linux/mlx_get_color_value.c +++ /dev/null @@ -1,33 +0,0 @@ -/* -** mlx_get_color_value.c for MiniLibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Mon Jul 31 19:01:33 2000 Charlie Root -** Last update Thu Oct  4 15:04:13 2001 Charlie Root -*/ - - -#include	"mlx_int.h" - - -int             mlx_get_color_value(t_xvar *xvar,int color) -{ -  return(mlx_int_get_good_color(xvar,color)); -} - -int		mlx_int_get_good_color(t_xvar *xvar,int color) -{ -  XColor	xc; - -  if (xvar->depth>=24) -    return (color); -  xc.red = (color>>8)&0xFF00; -  xc.green = color&0xFF00; -  xc.blue = (color<<8)&0xFF00; -  xc.pixel = ((xc.red>>(16-xvar->decrgb[1]))<<xvar->decrgb[0])+ -    ((xc.green>>(16-xvar->decrgb[3]))<<xvar->decrgb[2])+ -    ((xc.blue>>(16-xvar->decrgb[5]))<<xvar->decrgb[4]); -  return (xc.pixel); -} diff --git a/minilibx_linux/mlx_get_data_addr.c b/minilibx_linux/mlx_get_data_addr.c deleted file mode 100644 index 45e7a85..0000000 --- a/minilibx_linux/mlx_get_data_addr.c +++ /dev/null @@ -1,23 +0,0 @@ -/* -** mlx_get_data_addr.c for MiniLibX in raytraceur -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Mon Aug 14 15:45:57 2000 Charlie Root -** Last update Thu Sep 27 19:05:25 2001 Charlie Root -*/ - - - -#include	"mlx_int.h" - - -char	*mlx_get_data_addr(t_img *img,int *bits_per_pixel, -			   int *size_line,int *endian) -{ -  *bits_per_pixel = img->bpp; -  *size_line = img->size_line; -  *endian = img->image->byte_order; -  return (img->data); -} diff --git a/minilibx_linux/mlx_hook.c b/minilibx_linux/mlx_hook.c deleted file mode 100644 index 98e509a..0000000 --- a/minilibx_linux/mlx_hook.c +++ /dev/null @@ -1,40 +0,0 @@ -/* -** mlx_hook.c for MiniLibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Thu Aug  3 11:49:06 2000 Charlie Root -** Last update Fri Jan 28 17:05:28 2005 Olivier Crouzet -*/ - - -#include	"mlx_int.h" - - - - -int	mlx_hook(t_win_list *win, int x_event, int x_mask,  -		 int (*funct)(),void *param) -{ -  win->hooks[x_event].hook = funct; -  win->hooks[x_event].param = param; -  win->hooks[x_event].mask = x_mask; -} - - -int	mlx_do_key_autorepeatoff(t_xvar *xvar) -{ -  XAutoRepeatOff(xvar->display); -} - -int	mlx_do_key_autorepeaton(t_xvar *xvar) -{ -  XAutoRepeatOn(xvar->display); -} - - -int	mlx_do_sync(t_xvar *xvar) -{ -  XSync(xvar->display, False); -} diff --git a/minilibx_linux/mlx_init.c b/minilibx_linux/mlx_init.c deleted file mode 100644 index 7a8db8f..0000000 --- a/minilibx_linux/mlx_init.c +++ /dev/null @@ -1,91 +0,0 @@ -/* -** mlx_init.c for MiniLibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Mon Jul 31 16:52:42 2000 Charlie Root -** Last update Fri Jan 28 17:05:09 2005 Olivier Crouzet -*/ - - -#include	"mlx_int.h" - - - -void		*mlx_init() -{ -  t_xvar	*xvar; -   -  if (!(xvar = malloc(sizeof(*xvar))) || (xvar->display = XOpenDisplay(""))==0) -    return ((void *)0); -  xvar->screen = DefaultScreen(xvar->display); -  xvar->root = DefaultRootWindow(xvar->display); -  xvar->cmap = DefaultColormap(xvar->display,xvar->screen); -  xvar->depth = DefaultDepth(xvar->display,xvar->screen); -  if (mlx_int_get_visual(xvar)==-1) -    { -      printf(ERR_NO_TRUECOLOR); -      exit(1); -    } -  xvar->win_list = 0; -  xvar->loop_hook = 0; -  xvar->loop_param = (void *)0; -  xvar->do_flush = 1; -  mlx_int_deal_shm(xvar); -  if (xvar->private_cmap) -    xvar->cmap = XCreateColormap(xvar->display,xvar->root, -				 xvar->visual,AllocNone); -  mlx_int_rgb_conversion(xvar); -  return (xvar); -} - - -/* -** pshm_format of -1 :  Not XYBitmap|XYPixmap|ZPixmap -** alpha libX need a check of the DISPLAY env var, or shm is allowed -** in remote Xserver connections. -*/ - -int	mlx_int_deal_shm(t_xvar *xvar) -{ -  int	use_pshm; -  int	bidon; -  char	*dpy; -  char	buff[33]; - -  xvar->use_xshm = XShmQueryVersion(xvar->display,&bidon,&bidon,&(use_pshm)); -  if (xvar->use_xshm && use_pshm) -    xvar->pshm_format = XShmPixmapFormat(xvar->display); -  else -    xvar->pshm_format = -1; -  gethostname(buff,32); -  dpy = getenv(ENV_DISPLAY); -  if (dpy && strlen(dpy) && *dpy!=':' && strncmp(dpy,buff,strlen(buff)) && -      strncmp(dpy,LOCALHOST,strlen(LOCALHOST)) ) -    { -      xvar->pshm_format = -1; -      xvar->use_xshm = 0; -    } -} - -/* -** TrueColor Visual is needed to have *_mask correctly set -*/ - -int	mlx_int_rgb_conversion(t_xvar *xvar) -{ -  bzero(xvar->decrgb,sizeof(int)*6); -  while (!(xvar->visual->red_mask&1)) -    { xvar->visual->red_mask >>= 1; xvar->decrgb[0] ++; } -  while (xvar->visual->red_mask&1) -    { xvar->visual->red_mask >>= 1; xvar->decrgb[1] ++; } -  while (!(xvar->visual->green_mask&1)) -    { xvar->visual->green_mask >>= 1; xvar->decrgb[2] ++; } -  while (xvar->visual->green_mask&1) -    { xvar->visual->green_mask >>= 1; xvar->decrgb[3] ++; } -  while (!(xvar->visual->blue_mask&1)) -    { xvar->visual->blue_mask >>= 1; xvar->decrgb[4] ++; } -  while (xvar->visual->blue_mask&1) -    { xvar->visual->blue_mask >>= 1; xvar->decrgb[5] ++; } -} diff --git a/minilibx_linux/mlx_int.h b/minilibx_linux/mlx_int.h deleted file mode 100644 index 4349f5f..0000000 --- a/minilibx_linux/mlx_int.h +++ /dev/null @@ -1,125 +0,0 @@ -/* -** mlx_int.h for mlx in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Mon Jul 31 16:45:48 2000 Charlie Root -** Last update Wed May 25 16:44:16 2011 Olivier Crouzet -*/ - - - -/* -** Internal settings for MiniLibX -*/ - - -#include	<stdlib.h> -#include	<stdio.h> -#include	<string.h> -#include        <unistd.h> -#include        <fcntl.h> -#include        <sys/mman.h> -#include	<X11/Xlib.h> -#include	<X11/Xutil.h> -#include	<sys/ipc.h> -#include	<sys/shm.h> -#include	<X11/extensions/XShm.h> -/* #include	<X11/xpm.h> */ - - -#define	MLX_TYPE_SHM_PIXMAP	3 -#define	MLX_TYPE_SHM		2 -#define	MLX_TYPE_XIMAGE		1 - -#define	MLX_MAX_EVENT		LASTEvent - - -#define	ENV_DISPLAY		"DISPLAY" -#define	LOCALHOST		"localhost" -#define	ERR_NO_TRUECOLOR	"MinilibX Error : No TrueColor Visual available.\n" -#define	WARN_SHM_ATTACH		"MinilibX Warning : X server can't attach shared memory.\n" - - -typedef	struct	s_xpm_col -{ -  int		name; -  int		col; -} t_xpm_col; - - -struct	s_col_name -{ -  char	*name; -  int	color; -}; - -typedef struct	s_event_list -{ -  int		mask; -  int		(*hook)(); -  void		*param; -} t_event_list; - - -typedef struct	s_win_list -{ -  Window		window; -  GC			gc; -  struct s_win_list	*next; -  int			(*mouse_hook)(); -  int			(*key_hook)(); -  int			(*expose_hook)(); -  void			*mouse_param; -  void			*key_param; -  void			*expose_param; -  t_event_list		hooks[MLX_MAX_EVENT]; -} t_win_list; - - -typedef struct	s_img -{ -  XImage	*image; -  Pixmap	pix; -  GC		gc; -  int		size_line; -  int		bpp; -  int		width; -  int		height; -  int		type; -  int		format; -  char		*data; -  XShmSegmentInfo shm; -} t_img; - -typedef struct	s_xvar -{ -  Display	*display; -  Window	root; -  int		screen; -  int		depth; -  Visual	*visual; -  Colormap	cmap; -  int		private_cmap; -  t_win_list	*win_list; -  int		(*loop_hook)(); -  void		*loop_param; -  int		use_xshm; -  int		pshm_format; -  int		do_flush; -  int		decrgb[6]; -} t_xvar; - - -int	mlx_int_do_nothing(); -int	mlx_int_get_good_color(); -int	mlx_int_find_in_pcm(); -int	mlx_int_anti_resize_win(); -int	mlx_int_wait_first_expose(); -int	mlx_int_rgb_conversion(); -int	mlx_int_deal_shm(); -void	*mlx_int_new_xshm_image(); -char    **mlx_int_str_to_wordtab(); -void	*mlx_new_image(); -int	shm_att_pb(); diff --git a/minilibx_linux/mlx_int_anti_resize_win.c b/minilibx_linux/mlx_int_anti_resize_win.c deleted file mode 100644 index 2f20b44..0000000 --- a/minilibx_linux/mlx_int_anti_resize_win.c +++ /dev/null @@ -1,28 +0,0 @@ -/* -** mlx_int_anti_resize_win.c for MiniLibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Tue Aug  8 14:31:05 2000 Charlie Root -** Last update Tue Sep 25 15:56:58 2001 Charlie Root -*/ - -#include	"mlx_int.h" - - -int	mlx_int_anti_resize_win(t_xvar *xvar,Window win,int w,int h) -{ -  XSizeHints    hints; -  long		toto; -   -  XGetWMNormalHints(xvar->display,win,&hints,&toto); -  hints.width = w; -  hints.height = h; -  hints.min_width = w; -  hints.min_height = h; -  hints.max_width = w; -  hints.max_height = h; -  hints.flags = PPosition | PSize | PMinSize | PMaxSize; -  XSetWMNormalHints(xvar->display,win,&hints); -} diff --git a/minilibx_linux/mlx_int_do_nothing.c b/minilibx_linux/mlx_int_do_nothing.c deleted file mode 100644 index 49524e4..0000000 --- a/minilibx_linux/mlx_int_do_nothing.c +++ /dev/null @@ -1,16 +0,0 @@ -/* -** mlx_int_do_nothing.c for MiniLibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Tue Aug  8 12:58:24 2000 Charlie Root -** Last update Tue Sep 25 15:56:22 2001 Charlie Root -*/ - - - -int	mlx_int_do_nothing(void *param) -{ -   -} diff --git a/minilibx_linux/mlx_int_get_visual.c b/minilibx_linux/mlx_int_get_visual.c deleted file mode 100644 index 440a7ca..0000000 --- a/minilibx_linux/mlx_int_get_visual.c +++ /dev/null @@ -1,39 +0,0 @@ -/* -** mlx_int_get_visual.c for MinilibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Wed Oct  3 17:01:51 2001 Charlie Root -** Last update Thu Oct  4 15:00:45 2001 Charlie Root -*/ - - - -#include	"mlx_int.h" - - -/* -** We need a private colormap for non-default Visual. -*/ - - -int		mlx_int_get_visual(t_xvar *xvar) -{ -  XVisualInfo	*vi; -  XVisualInfo	template; -  int		nb_item; - -  xvar->private_cmap = 0; -  xvar->visual = DefaultVisual(xvar->display,xvar->screen); -  if (xvar->visual->class == TrueColor) -    return (0); -  template.class = TrueColor; -  template.depth = xvar->depth; -  if (!(vi = XGetVisualInfo(xvar->display,VisualDepthMask|VisualClassMask, -			    &template,&nb_item)) ) -    return (-1); -  xvar->visual = vi->visual; -  xvar->private_cmap = 1; -  return (0); -} diff --git a/minilibx_linux/mlx_int_param_event.c b/minilibx_linux/mlx_int_param_event.c deleted file mode 100644 index 8756a22..0000000 --- a/minilibx_linux/mlx_int_param_event.c +++ /dev/null @@ -1,100 +0,0 @@ -/* -** mlx_int_param_event.c for MinilibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Mon Jul 31 16:37:50 2000 Charlie Root -** Last update Wed Oct  6 13:14:52 2004 Olivier Crouzet -*/ - -#include	"mlx_int.h" - -int	mlx_int_param_undef() -{ -} - -int	mlx_int_param_KeyPress(t_xvar *xvar, XEvent *ev, t_win_list *win) -{ -  win->hooks[KeyPress].hook(XkbKeycodeToKeysym(xvar->display, -					       ev->xkey.keycode, 0, 0), -			    win->hooks[KeyPress].param); -} - -int	mlx_int_param_KeyRelease(t_xvar *xvar, XEvent *ev, t_win_list *win) -{ -  win->hooks[KeyRelease].hook(XkbKeycodeToKeysym(xvar->display, -						 ev->xkey.keycode, 0, 0), -			      win->hooks[KeyRelease].param); -} - -int	mlx_int_param_ButtonPress(t_xvar *xvar, XEvent *ev, t_win_list *win) -{ -  win->hooks[ButtonPress].hook(ev->xbutton.button,ev->xbutton.x,ev->xbutton.y, -			       win->hooks[ButtonPress].param); -} - -int	mlx_int_param_ButtonRelease(t_xvar *xvar, XEvent *ev, t_win_list *win) -{ -  win->hooks[ButtonRelease].hook(ev->xbutton.button, -				 ev->xbutton.x, ev->xbutton.y, -				 win->hooks[ButtonRelease].param); -} - -int	mlx_int_param_MotionNotify(t_xvar *xvar, XEvent *ev, t_win_list *win) -{ -  win->hooks[MotionNotify].hook(ev->xbutton.x,ev->xbutton.y, -				win->hooks[MotionNotify].param); -} - -int	mlx_int_param_Expose(t_xvar *xvar, XEvent *ev, t_win_list *win) -{ -  if (!ev->xexpose.count) -    win->hooks[Expose].hook(win->hooks[Expose].param); -} - - -int	mlx_int_param_generic(t_xvar *xvar, XEvent *ev, t_win_list *win) -{ -  win->hooks[ev->type].hook(win->hooks[ev->type].param); -} - -int	(*(mlx_int_param_event[]))() = -{ -  mlx_int_param_undef,   /* 0 */ -  mlx_int_param_undef, -  mlx_int_param_KeyPress, -  mlx_int_param_KeyRelease,  /* 3 */ -  mlx_int_param_ButtonPress, -  mlx_int_param_ButtonRelease, -  mlx_int_param_MotionNotify,  /* 6 */ -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_Expose,   /* 12 */ -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic, -  mlx_int_param_generic -}; diff --git a/minilibx_linux/mlx_int_set_win_event_mask.c b/minilibx_linux/mlx_int_set_win_event_mask.c deleted file mode 100644 index 55650cd..0000000 --- a/minilibx_linux/mlx_int_set_win_event_mask.c +++ /dev/null @@ -1,34 +0,0 @@ -/* -** mlx_int_set_win_event_mask.c for MiniLibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Thu Aug  3 11:49:06 2000 Charlie Root -** Last update Fri Feb 23 17:07:42 2001 Charlie Root -*/ - - -#include	"mlx_int.h" - - - - -int	mlx_int_set_win_event_mask(t_xvar *xvar) -{ -  t_win_list	*win; -  int		mask; -  int		i; -  XSetWindowAttributes	xwa; - -  win = xvar->win_list; -  while (win) -    { -      xwa.event_mask = 0; -      i = MLX_MAX_EVENT; -      while (i--) -	xwa.event_mask |= win->hooks[i].mask; -      XChangeWindowAttributes(xvar->display, win->window, CWEventMask, &xwa); -      win = win->next; -    } -} diff --git a/minilibx_linux/mlx_int_str_to_wordtab.c b/minilibx_linux/mlx_int_str_to_wordtab.c deleted file mode 100644 index 7f92089..0000000 --- a/minilibx_linux/mlx_int_str_to_wordtab.c +++ /dev/null @@ -1,113 +0,0 @@ -/* -** mlx_int_str_to_wordtab.c for MinilibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Wed Sep 13 11:36:09 2000 Charlie Root -** Last update Fri Dec 14 11:02:09 2001 Charlie Root -*/ - - -#include	"mlx_int.h" - - -int	mlx_int_str_str(char *str,char *find,int len) -{ -  int	len_f; -  int	pos; -  char	*s; -  char	*f; - -  len_f = strlen(find); -  if (len_f>len) -    return (-1); -  pos = 0; -  while (*(str+len_f-1)) -    { -      s = str; -      f = find; -      while (*(f++) == *(s++)) -        if (!*f) -          return (pos); -      str ++; -      pos ++; -    } -  return (-1); -} - - - -int	mlx_int_str_str_cote(char *str,char *find,int len) -{ -  int	len_f; -  int	pos; -  char	*s; -  char	*f; -  int	cote; - -  len_f = strlen(find); -  if (len_f>len) -    return (-1); -  cote = 0; -  pos = 0; -  while (*(str+len_f-1)) -    { -      if (*str=='"') -	cote = 1-cote; -      if (!cote) -	{ -	  s = str; -	  f = find; -	  while (*(f++) == *(s++)) -	    if (!*f) -	      return (pos); -	} -      str ++; -      pos ++; -    } -  return (-1); -} - - -char	**mlx_int_str_to_wordtab(char *str) -{ -  char	**tab; -  int	pos; -  int	nb_word; -  int	len; - -  len = strlen(str); -  nb_word = 0; -  pos = 0; -  while (pos<len) -  { -    while (*(str+pos)==' ' || *(str+pos)=='\t') -      pos ++; -    if (*(str+pos)) -      nb_word ++; -    while (*(str+pos) && *(str+pos)!=' ' && *(str+pos)!='\t') -      pos ++; -  } -  if (!(tab = malloc((1+nb_word)*sizeof(*tab)))) -    return ((char **)0); -  nb_word = 0; -  pos = 0; -  while (pos<len) -    { -      while (*(str+pos)==' ' || *(str+pos)=='\t') -	{ -	  *(str+pos) = 0; -	  pos ++; -	} -      if (*(str+pos)) -	{ -	  tab[nb_word] = str+pos; -	  nb_word ++; -	} -      while (*(str+pos) && *(str+pos)!=' ' && *(str+pos)!='\t') -	pos ++; -    } -  tab[nb_word] = 0; -  return (tab); -} diff --git a/minilibx_linux/mlx_int_wait_first_expose.c b/minilibx_linux/mlx_int_wait_first_expose.c deleted file mode 100644 index 0d549ee..0000000 --- a/minilibx_linux/mlx_int_wait_first_expose.c +++ /dev/null @@ -1,23 +0,0 @@ -/* -** mlx_int_wait_first_expose.c for minilibx in  -**  -** Made by olivier crouzet -** Login   <ol@epita.fr> -**  -** Started on  Tue Oct 17 09:26:45 2000 olivier crouzet -** Last update Fri Feb 23 17:27:10 2001 Charlie Root -*/ - - - -#include	"mlx_int.h" - - - -int	mlx_int_wait_first_expose(t_xvar *xvar,Window win) -{ -  XEvent	ev; - -  XWindowEvent(xvar->display,win,ExposureMask,&ev); -  XPutBackEvent(xvar->display,&ev); -} diff --git a/minilibx_linux/mlx_key_hook.c b/minilibx_linux/mlx_key_hook.c deleted file mode 100644 index eea6484..0000000 --- a/minilibx_linux/mlx_key_hook.c +++ /dev/null @@ -1,22 +0,0 @@ -/* -** mlx_key_hook.c for MiniLibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Thu Aug  3 11:49:06 2000 Charlie Root -** Last update Fri Feb 23 17:10:09 2001 Charlie Root -*/ - - -#include	"mlx_int.h" - - - - -int		mlx_key_hook(t_win_list *win,int (*funct)(),void *param) -{ -  win->hooks[KeyRelease].hook = funct; -  win->hooks[KeyRelease].param = param; -  win->hooks[KeyRelease].mask = KeyReleaseMask; -} diff --git a/minilibx_linux/mlx_lib_xpm.c b/minilibx_linux/mlx_lib_xpm.c deleted file mode 100644 index 4a3c5ad..0000000 --- a/minilibx_linux/mlx_lib_xpm.c +++ /dev/null @@ -1,96 +0,0 @@ -/* -** mlx_xpm.c for minilibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Fri Dec  8 11:07:24 2000 Charlie Root -** Last update Thu Oct  4 16:00:22 2001 Charlie Root -*/ - - -#include	"mlx_int.h" - - - - -void		*mlx_int_xpm_f_image(t_xvar *xvar,int *width,int *height, -				     int (*xpm_func)(),void *param) -{ -  XImage	*img1; -  XImage	*img2; -  t_img		*im2; -  XpmAttributes	xpm_att; - -  xpm_att.visual = xvar->visual; -  xpm_att.colormap = xvar->cmap; -  xpm_att.depth = xvar->depth; -  xpm_att.bitmap_format = ZPixmap; -  xpm_att.valuemask = XpmDepth|XpmBitmapFormat|XpmVisual|XpmColormap; -  if (xpm_func(xvar->display,param,&img1,&img2,&xpm_att)) -    return ((void *)0); -  if (img2) -    XDestroyImage(img2); - -  if (!(im2 = (void *)mlx_new_image(xvar,img1->width,img1->height))) -    { -      XDestroyImage(img1); -      return ((void *)0); -    } -  *width = img1->width; -  *height = img1->height; -  if (mlx_int_egal_img(im2->image,img1)) -    { -      bcopy(img1->data,im2->data,img1->height*img1->bytes_per_line); -      XDestroyImage(img1); -      return (im2); -    } -  if (im2->type==MLX_TYPE_SHM_PIXMAP) -    { -      XFreePixmap(xvar->display,im2->pix); -      im2->pix = XCreatePixmap(xvar->display,xvar->root, -			       *width,*height,xvar->depth); -    } -  if (im2->type>MLX_TYPE_XIMAGE) -    { -      XShmDetach(xvar->display,&(im2->shm)); -      shmdt(im2->data); -    } -  XDestroyImage(im2->image); -  im2->image = img1; -  im2->data = img1->data; -  im2->type = MLX_TYPE_XIMAGE; -  im2->size_line = img1->bytes_per_line; -  im2->bpp = img1->bits_per_pixel; -  return (im2); -} - - -int	mlx_int_egal_img(XImage *img1,XImage *img2) -{ -  if (img1->width!=img2->width || img1->height!=img2->height || -      img1->xoffset!=img2->xoffset || img1->format!=img2->format || -      img1->byte_order!=img2->byte_order || -      img1->bitmap_unit!=img2->bitmap_unit || -      img1->bitmap_bit_order!=img2->bitmap_bit_order || -      img1->bitmap_pad!=img2->bitmap_pad || img1->depth!=img2->depth || -      img1->bytes_per_line!=img2->bytes_per_line || -      img1->bits_per_pixel!=img2->bits_per_pixel || -      img1->red_mask!=img2->red_mask || img1->green_mask!=img2->green_mask || -      img1->blue_mask!=img2->blue_mask ) -    return (0); -  return (1); -} - - -void	*mlx_xpm_file_to_image(t_xvar *xvar,char const *filename, -			       int *width,int *height) -{ -  return (mlx_int_xpm_f_image(xvar,width,height,XpmReadFileToImage,filename)); -} - - -void	*mlx_xpm_to_image(t_xvar *xvar,char **data,int *width,int *height) -{ -  return (mlx_int_xpm_f_image(xvar,width,height,XpmCreateImageFromData,(void *)data)); -} diff --git a/minilibx_linux/mlx_loop.c b/minilibx_linux/mlx_loop.c deleted file mode 100644 index 74af0a5..0000000 --- a/minilibx_linux/mlx_loop.c +++ /dev/null @@ -1,38 +0,0 @@ -/* -** mlx_loop.c for MiniLibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Wed Aug  2 18:58:11 2000 Charlie Root -** Last update Fri Sep 30 14:47:41 2005 Olivier Crouzet -*/ - - -#include	"mlx_int.h" - -extern int	(*(mlx_int_param_event[]))(); - - -int		mlx_loop(t_xvar *xvar) -{ -  XEvent	ev; -  t_win_list	*win; - -  mlx_int_set_win_event_mask(xvar); -  xvar->do_flush = 0; -  while (42) -    { -      while (!xvar->loop_hook || XPending(xvar->display)) -	{ -	  XNextEvent(xvar->display,&ev); -	  win = xvar->win_list; -	  while (win && (win->window!=ev.xany.window)) -	    win = win->next; -	  if (win && ev.type < MLX_MAX_EVENT) -	    if (win->hooks[ev.type].hook) -	      mlx_int_param_event[ev.type](xvar, &ev, win); -	} -      xvar->loop_hook(xvar->loop_param); -    } -} diff --git a/minilibx_linux/mlx_loop_hook.c b/minilibx_linux/mlx_loop_hook.c deleted file mode 100644 index 1f8b9ed..0000000 --- a/minilibx_linux/mlx_loop_hook.c +++ /dev/null @@ -1,21 +0,0 @@ -/* -** mlx_loop_hook.c for MiniLibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Thu Aug  3 11:49:06 2000 Charlie Root -** Last update Fri Feb 23 17:11:39 2001 Charlie Root -*/ - - -#include	"mlx_int.h" - - - - -int	mlx_loop_hook(t_xvar *xvar,int (*funct)(),void *param) -{ -  xvar->loop_hook = funct; -  xvar->loop_param = param; -} diff --git a/minilibx_linux/mlx_mouse_hook.c b/minilibx_linux/mlx_mouse_hook.c deleted file mode 100644 index cb567ab..0000000 --- a/minilibx_linux/mlx_mouse_hook.c +++ /dev/null @@ -1,22 +0,0 @@ -/* -** mlx_mouse_hook.c for MiniLibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Thu Aug  3 11:49:06 2000 Charlie Root -** Last update Fri Feb 23 17:11:05 2001 Charlie Root -*/ - - -#include	"mlx_int.h" - - - - -int		mlx_mouse_hook(t_win_list *win,int (*funct)(),void *param) -{ -  win->hooks[ButtonPress].hook = funct; -  win->hooks[ButtonPress].param = param; -  win->hooks[ButtonPress].mask = ButtonPressMask; -} diff --git a/minilibx_linux/mlx_new_image.c b/minilibx_linux/mlx_new_image.c deleted file mode 100644 index 9967401..0000000 --- a/minilibx_linux/mlx_new_image.c +++ /dev/null @@ -1,155 +0,0 @@ -/* -** mlx_new_image.c for MiniLibX in raytraceur -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Mon Aug 14 15:29:14 2000 Charlie Root -** Last update Wed May 25 16:46:31 2011 Olivier Crouzet -*/ - - - - -#include	"mlx_int.h" - -/* -** To handle X errors -*/ - -#define	X_ShmAttach	1 - -int	mlx_X_error; - -int	shm_att_pb(Display *d,XErrorEvent *ev) -{ -  if (ev->request_code==146 && ev->minor_code==X_ShmAttach) -    write(2,WARN_SHM_ATTACH,strlen(WARN_SHM_ATTACH)); -  mlx_X_error = 1; -} - - -/* -**  Data malloc :  width+32 ( bitmap_pad=32 ),    *4 = *32 / 8bit -*/ - - -void	*mlx_int_new_xshm_image(t_xvar *xvar,int width,int height,int format) -{ -  t_img	*img; -  int	(*save_handler)(); - -  if (!(img = malloc(sizeof(*img)))) -    return ((void *)0); -  bzero(img,sizeof(*img)); -  img->data = 0; -  img->image = XShmCreateImage(xvar->display,xvar->visual,xvar->depth, -			       format,img->data,&(img->shm),width,height); -  if (!img->image) -    { -      free(img); -      return ((void *)0); -    } -  img->width = width; -  img->height = height; -  img->size_line = img->image->bytes_per_line; -  img->bpp = img->image->bits_per_pixel; -  img->format = format; -  img->shm.shmid = shmget(IPC_PRIVATE,(width+32)*height*4,IPC_CREAT|0777); -  if (img->shm.shmid==-1) -    { -      XDestroyImage(img->image); -      free(img); -      return ((void *)0); -    } -  img->data = img->shm.shmaddr = img->image->data = shmat(img->shm.shmid,0,0); -  if (img->data==(void *)-1) -    { -      shmctl(img->shm.shmid,IPC_RMID,0); -      XDestroyImage(img->image); -      free(img); -      return ((void *)0); -    } -  img->shm.readOnly = False; -  mlx_X_error = 0; -  save_handler = XSetErrorHandler(shm_att_pb); -  if (!XShmAttach(xvar->display,&(img->shm)) || -      0&XSync(xvar->display,False) || mlx_X_error) -    { -      XSetErrorHandler(save_handler); -      shmdt(img->data); -      shmctl(img->shm.shmid,IPC_RMID,0); -      XDestroyImage(img->image); -      free(img); -      return ((void *)0); -    } -  XSetErrorHandler(save_handler); -  shmctl(img->shm.shmid,IPC_RMID,0); -  if (xvar->pshm_format==format) -    { -      img->pix = XShmCreatePixmap(xvar->display,xvar->root,img->shm.shmaddr, -				  &(img->shm),width,height,xvar->depth); -      img->type = MLX_TYPE_SHM_PIXMAP; -    } -  else -    { -      img->pix = XCreatePixmap(xvar->display,xvar->root, -			       width,height,xvar->depth); -      img->type = MLX_TYPE_SHM; -    } -  if (xvar->do_flush) -    XFlush(xvar->display); -  return (img); -} - - - -void	*mlx_int_new_image(t_xvar *xvar,int width, int height,int format) -{ -  t_img	*img; - -  if (!(img = malloc(sizeof(*img))) || -      !(img->data = malloc((width+32)*height*4))) -    return ((void *)0); -  bzero(img->data,(width+32)*height*4); -  img->image = XCreateImage(xvar->display,xvar->visual,xvar->depth,format,0, -			    img->data,width,height,32,0); -  if (!img->image) -    { -      free(img->data); -      free(img); -      return ((void *)0); -    } -  img->gc = 0; -  img->size_line = img->image->bytes_per_line; -  img->bpp = img->image->bits_per_pixel; -  img->width = width; -  img->height = height; -  img->pix = XCreatePixmap(xvar->display,xvar->root,width,height,xvar->depth); -  img->format = format; -  img->type = MLX_TYPE_XIMAGE; -  if (xvar->do_flush) -    XFlush(xvar->display); -  return (img); -} - - -void	*mlx_new_image(t_xvar *xvar,int width, int height) -{ -  t_img	*img; - -  if (xvar->use_xshm) -    if (img = mlx_int_new_xshm_image(xvar,width,height,ZPixmap)) -      return (img); -  return (mlx_int_new_image(xvar,width,height,ZPixmap)); -} - -void	*mlx_new_image2(t_xvar *xvar,int width, int height) -{ -  t_img	*img; - -  if (xvar->use_xshm) -    if (img = mlx_int_new_xshm_image(xvar,width,height,XYPixmap)) -      return (img); -  return (mlx_int_new_image(xvar,width,height,XYPixmap)); -} diff --git a/minilibx_linux/mlx_new_window.c b/minilibx_linux/mlx_new_window.c deleted file mode 100644 index c049285..0000000 --- a/minilibx_linux/mlx_new_window.c +++ /dev/null @@ -1,61 +0,0 @@ -/* -** mlx_new_window.c for MiniLibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Mon Jul 31 17:29:02 2000 Charlie Root -** Last update Thu Oct  4 15:44:43 2001 Charlie Root -*/ - - -/* -** We do not use White/BlackPixel macro, TrueColor Visual make sure -** 0 is black & -1 is white -** -** With mlx_int_wait_first_expose, no flush is needed. -*/ - -#include	"mlx_int.h" - - -void	*mlx_new_window(t_xvar *xvar,int size_x,int size_y,char const *title) -{ -  t_win_list		*new_win; -  XSetWindowAttributes  xswa; -  XGCValues		xgcv; - -  xswa.background_pixel = 0; -  xswa.border_pixel = -1; -  xswa.colormap = xvar->cmap; -  /* -  xswa.event_mask = ButtonPressMask | ButtonReleaseMask | ExposureMask | -    KeyPressMask | KeyReleaseMask | StructureNotifyMask; -  */ -  /* xswa.event_mask = ExposureMask; */ -  xswa.event_mask = 0xFFFFFF;  /* all events */ -  if (!(new_win = malloc(sizeof(*new_win)))) -    return ((void *)0); -  new_win->window = XCreateWindow(xvar->display,xvar->root,0,0,size_x,size_y, -				  0,CopyFromParent,InputOutput,xvar->visual, -				  CWEventMask|CWBackPixel|CWBorderPixel| -				  CWColormap,&xswa); -  mlx_int_anti_resize_win(xvar,new_win->window,size_x,size_y); -  XStoreName(xvar->display,new_win->window,title); -  xgcv.foreground = -1; -  xgcv.function = GXcopy; -  xgcv.plane_mask = AllPlanes; -  new_win->gc = XCreateGC(xvar->display,new_win->window, -			  GCFunction|GCPlaneMask|GCForeground,&xgcv); -  new_win->next = xvar->win_list; -  xvar->win_list = new_win; -  /* -  new_win->mouse_hook = mlx_int_do_nothing; -  new_win->key_hook = mlx_int_do_nothing; -  new_win->expose_hook = mlx_int_do_nothing; -  */ -  bzero(&(new_win->hooks), sizeof(new_win->hooks)); -  XMapRaised(xvar->display,new_win->window); -  mlx_int_wait_first_expose(xvar,new_win->window); -  return (new_win); -} diff --git a/minilibx_linux/mlx_pixel_put.c b/minilibx_linux/mlx_pixel_put.c deleted file mode 100644 index c411f36..0000000 --- a/minilibx_linux/mlx_pixel_put.c +++ /dev/null @@ -1,26 +0,0 @@ -/* - ** mlx_pixel_put.c for MiniLibX in  - **  - ** Made by Charlie Root - ** Login   <ol@epitech.net> - **  - ** Started on  Mon Jul 31 19:01:33 2000 Charlie Root -** Last update Tue Sep 25 17:09:49 2001 Charlie Root - */ - - -#include	"mlx_int.h" - - - -int		mlx_pixel_put(t_xvar *xvar,t_win_list *win, -			      int x,int y,int color) -{ -   XGCValues	xgcv; -    -   xgcv.foreground = mlx_int_get_good_color(xvar,color); -   XChangeGC(xvar->display,win->gc,GCForeground,&xgcv); -   XDrawPoint(xvar->display,win->window,win->gc,x,y); -   if (xvar->do_flush) -     XFlush(xvar->display); -} diff --git a/minilibx_linux/mlx_put_image_to_window.c b/minilibx_linux/mlx_put_image_to_window.c deleted file mode 100644 index 86ba3f4..0000000 --- a/minilibx_linux/mlx_put_image_to_window.c +++ /dev/null @@ -1,37 +0,0 @@ -/* -** mlx_put_image_to_window.c for MiniLibX in raytraceur -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Mon Aug 14 15:55:49 2000 Charlie Root -** Last update Sun Oct  2 09:53:00 2005 Olivier Crouzet -*/ - - - -#include	"mlx_int.h" - - -int	mlx_put_image_to_window(t_xvar *xvar,t_win_list *win,t_img *img, -				int x,int y) -{ -  GC	gc; - -  gc = win->gc; -  if (img->gc) -    { -      gc = img->gc; -      XSetClipOrigin(xvar->display, gc, x, y); -    } -  if (img->type==MLX_TYPE_SHM) -    XShmPutImage(xvar->display,img->pix, win->gc, img->image,0,0,0,0, -		 img->width,img->height,False); -  if (img->type==MLX_TYPE_XIMAGE) -    XPutImage(xvar->display,img->pix, win->gc, img->image,0,0,0,0, -	      img->width,img->height); -  XCopyArea(xvar->display,img->pix,win->window, gc, -	    0,0,img->width,img->height,x,y); -  if (xvar->do_flush) -    XFlush(xvar->display); -} diff --git a/minilibx_linux/mlx_rgb.c b/minilibx_linux/mlx_rgb.c deleted file mode 100644 index 0cfccf6..0000000 --- a/minilibx_linux/mlx_rgb.c +++ /dev/null @@ -1,764 +0,0 @@ -/* -** This is a generated file with rgb2c.pl and rgb.txt from -** the XFree86 distribution. -*/ - -#include	"mlx_int.h" - -struct s_col_name mlx_col_name[] = -{ - { "snow" , 0xfffafa }, - { "ghost white" , 0xf8f8ff }, - { "ghostwhite" , 0xf8f8ff }, - { "white smoke" , 0xf5f5f5 }, - { "whitesmoke" , 0xf5f5f5 }, - { "gainsboro" , 0xdcdcdc }, - { "floral white" , 0xfffaf0 }, - { "floralwhite" , 0xfffaf0 }, - { "old lace" , 0xfdf5e6 }, - { "oldlace" , 0xfdf5e6 }, - { "linen" , 0xfaf0e6 }, - { "antique white" , 0xfaebd7 }, - { "antiquewhite" , 0xfaebd7 }, - { "papaya whip" , 0xffefd5 }, - { "papayawhip" , 0xffefd5 }, - { "blanched almond" , 0xffebcd }, - { "blanchedalmond" , 0xffebcd }, - { "bisque" , 0xffe4c4 }, - { "peach puff" , 0xffdab9 }, - { "peachpuff" , 0xffdab9 }, - { "navajo white" , 0xffdead }, - { "navajowhite" , 0xffdead }, - { "moccasin" , 0xffe4b5 }, - { "cornsilk" , 0xfff8dc }, - { "ivory" , 0xfffff0 }, - { "lemon chiffon" , 0xfffacd }, - { "lemonchiffon" , 0xfffacd }, - { "seashell" , 0xfff5ee }, - { "honeydew" , 0xf0fff0 }, - { "mint cream" , 0xf5fffa }, - { "mintcream" , 0xf5fffa }, - { "azure" , 0xf0ffff }, - { "alice blue" , 0xf0f8ff }, - { "aliceblue" , 0xf0f8ff }, - { "lavender" , 0xe6e6fa }, - { "lavender blush" , 0xfff0f5 }, - { "lavenderblush" , 0xfff0f5 }, - { "misty rose" , 0xffe4e1 }, - { "mistyrose" , 0xffe4e1 }, - { "white" , 0xffffff }, - { "black" , 0x0 }, - { "dark slate" , 0x2f4f4f }, - { "darkslategray" , 0x2f4f4f }, - { "dark slate" , 0x2f4f4f }, - { "darkslategrey" , 0x2f4f4f }, - { "dim gray" , 0x696969 }, - { "dimgray" , 0x696969 }, - { "dim grey" , 0x696969 }, - { "dimgrey" , 0x696969 }, - { "slate gray" , 0x708090 }, - { "slategray" , 0x708090 }, - { "slate grey" , 0x708090 }, - { "slategrey" , 0x708090 }, - { "light slate" , 0x778899 }, - { "lightslategray" , 0x778899 }, - { "light slate" , 0x778899 }, - { "lightslategrey" , 0x778899 }, - { "gray" , 0xbebebe }, - { "grey" , 0xbebebe }, - { "light grey" , 0xd3d3d3 }, - { "lightgrey" , 0xd3d3d3 }, - { "light gray" , 0xd3d3d3 }, - { "lightgray" , 0xd3d3d3 }, - { "midnight blue" , 0x191970 }, - { "midnightblue" , 0x191970 }, - { "navy" , 0x80 }, - { "navy blue" , 0x80 }, - { "navyblue" , 0x80 }, - { "cornflower blue" , 0x6495ed }, - { "cornflowerblue" , 0x6495ed }, - { "dark slate" , 0x483d8b }, - { "darkslateblue" , 0x483d8b }, - { "slate blue" , 0x6a5acd }, - { "slateblue" , 0x6a5acd }, - { "medium slate" , 0x7b68ee }, - { "mediumslateblue" , 0x7b68ee }, - { "light slate" , 0x8470ff }, - { "lightslateblue" , 0x8470ff }, - { "medium blue" , 0xcd }, - { "mediumblue" , 0xcd }, - { "royal blue" , 0x4169e1 }, - { "royalblue" , 0x4169e1 }, - { "blue" , 0xff }, - { "dodger blue" , 0x1e90ff }, - { "dodgerblue" , 0x1e90ff }, - { "deep sky" , 0xbfff }, - { "deepskyblue" , 0xbfff }, - { "sky blue" , 0x87ceeb }, - { "skyblue" , 0x87ceeb }, - { "light sky" , 0x87cefa }, - { "lightskyblue" , 0x87cefa }, - { "steel blue" , 0x4682b4 }, - { "steelblue" , 0x4682b4 }, - { "light steel" , 0xb0c4de }, - { "lightsteelblue" , 0xb0c4de }, - { "light blue" , 0xadd8e6 }, - { "lightblue" , 0xadd8e6 }, - { "powder blue" , 0xb0e0e6 }, - { "powderblue" , 0xb0e0e6 }, - { "pale turquoise" , 0xafeeee }, - { "paleturquoise" , 0xafeeee }, - { "dark turquoise" , 0xced1 }, - { "darkturquoise" , 0xced1 }, - { "medium turquoise" , 0x48d1cc }, - { "mediumturquoise" , 0x48d1cc }, - { "turquoise" , 0x40e0d0 }, - { "cyan" , 0xffff }, - { "light cyan" , 0xe0ffff }, - { "lightcyan" , 0xe0ffff }, - { "cadet blue" , 0x5f9ea0 }, - { "cadetblue" , 0x5f9ea0 }, - { "medium aquamarine" , 0x66cdaa }, - { "mediumaquamarine" , 0x66cdaa }, - { "aquamarine" , 0x7fffd4 }, - { "dark green" , 0x6400 }, - { "darkgreen" , 0x6400 }, - { "dark olive" , 0x556b2f }, - { "darkolivegreen" , 0x556b2f }, - { "dark sea" , 0x8fbc8f }, - { "darkseagreen" , 0x8fbc8f }, - { "sea green" , 0x2e8b57 }, - { "seagreen" , 0x2e8b57 }, - { "medium sea" , 0x3cb371 }, - { "mediumseagreen" , 0x3cb371 }, - { "light sea" , 0x20b2aa }, - { "lightseagreen" , 0x20b2aa }, - { "pale green" , 0x98fb98 }, - { "palegreen" , 0x98fb98 }, - { "spring green" , 0xff7f }, - { "springgreen" , 0xff7f }, - { "lawn green" , 0x7cfc00 }, - { "lawngreen" , 0x7cfc00 }, - { "green" , 0xff00 }, - { "chartreuse" , 0x7fff00 }, - { "medium spring" , 0xfa9a }, - { "mediumspringgreen" , 0xfa9a }, - { "green yellow" , 0xadff2f }, - { "greenyellow" , 0xadff2f }, - { "lime green" , 0x32cd32 }, - { "limegreen" , 0x32cd32 }, - { "yellow green" , 0x9acd32 }, - { "yellowgreen" , 0x9acd32 }, - { "forest green" , 0x228b22 }, - { "forestgreen" , 0x228b22 }, - { "olive drab" , 0x6b8e23 }, - { "olivedrab" , 0x6b8e23 }, - { "dark khaki" , 0xbdb76b }, - { "darkkhaki" , 0xbdb76b }, - { "khaki" , 0xf0e68c }, - { "pale goldenrod" , 0xeee8aa }, - { "palegoldenrod" , 0xeee8aa }, - { "light goldenrod" , 0xfafad2 }, - { "lightgoldenrodyellow" , 0xfafad2 }, - { "light yellow" , 0xffffe0 }, - { "lightyellow" , 0xffffe0 }, - { "yellow" , 0xffff00 }, - { "gold" , 0xffd700 }, - { "light goldenrod" , 0xeedd82 }, - { "lightgoldenrod" , 0xeedd82 }, - { "goldenrod" , 0xdaa520 }, - { "dark goldenrod" , 0xb8860b }, - { "darkgoldenrod" , 0xb8860b }, - { "rosy brown" , 0xbc8f8f }, - { "rosybrown" , 0xbc8f8f }, - { "indian red" , 0xcd5c5c }, - { "indianred" , 0xcd5c5c }, - { "saddle brown" , 0x8b4513 }, - { "saddlebrown" , 0x8b4513 }, - { "sienna" , 0xa0522d }, - { "peru" , 0xcd853f }, - { "burlywood" , 0xdeb887 }, - { "beige" , 0xf5f5dc }, - { "wheat" , 0xf5deb3 }, - { "sandy brown" , 0xf4a460 }, - { "sandybrown" , 0xf4a460 }, - { "tan" , 0xd2b48c }, - { "chocolate" , 0xd2691e }, - { "firebrick" , 0xb22222 }, - { "brown" , 0xa52a2a }, - { "dark salmon" , 0xe9967a }, - { "darksalmon" , 0xe9967a }, - { "salmon" , 0xfa8072 }, - { "light salmon" , 0xffa07a }, - { "lightsalmon" , 0xffa07a }, - { "orange" , 0xffa500 }, - { "dark orange" , 0xff8c00 }, - { "darkorange" , 0xff8c00 }, - { "coral" , 0xff7f50 }, - { "light coral" , 0xf08080 }, - { "lightcoral" , 0xf08080 }, - { "tomato" , 0xff6347 }, - { "orange red" , 0xff4500 }, - { "orangered" , 0xff4500 }, - { "red" , 0xff0000 }, - { "hot pink" , 0xff69b4 }, - { "hotpink" , 0xff69b4 }, - { "deep pink" , 0xff1493 }, - { "deeppink" , 0xff1493 }, - { "pink" , 0xffc0cb }, - { "light pink" , 0xffb6c1 }, - { "lightpink" , 0xffb6c1 }, - { "pale violet" , 0xdb7093 }, - { "palevioletred" , 0xdb7093 }, - { "maroon" , 0xb03060 }, - { "medium violet" , 0xc71585 }, - { "mediumvioletred" , 0xc71585 }, - { "violet red" , 0xd02090 }, - { "violetred" , 0xd02090 }, - { "magenta" , 0xff00ff }, - { "violet" , 0xee82ee }, - { "plum" , 0xdda0dd }, - { "orchid" , 0xda70d6 }, - { "medium orchid" , 0xba55d3 }, - { "mediumorchid" , 0xba55d3 }, - { "dark orchid" , 0x9932cc }, - { "darkorchid" , 0x9932cc }, - { "dark violet" , 0x9400d3 }, - { "darkviolet" , 0x9400d3 }, - { "blue violet" , 0x8a2be2 }, - { "blueviolet" , 0x8a2be2 }, - { "purple" , 0xa020f0 }, - { "medium purple" , 0x9370db }, - { "mediumpurple" , 0x9370db }, - { "thistle" , 0xd8bfd8 }, - { "snow1" , 0xfffafa }, - { "snow2" , 0xeee9e9 }, - { "snow3" , 0xcdc9c9 }, - { "snow4" , 0x8b8989 }, - { "seashell1" , 0xfff5ee }, - { "seashell2" , 0xeee5de }, - { "seashell3" , 0xcdc5bf }, - { "seashell4" , 0x8b8682 }, - { "antiquewhite1" , 0xffefdb }, - { "antiquewhite2" , 0xeedfcc }, - { "antiquewhite3" , 0xcdc0b0 }, - { "antiquewhite4" , 0x8b8378 }, - { "bisque1" , 0xffe4c4 }, - { "bisque2" , 0xeed5b7 }, - { "bisque3" , 0xcdb79e }, - { "bisque4" , 0x8b7d6b }, - { "peachpuff1" , 0xffdab9 }, - { "peachpuff2" , 0xeecbad }, - { "peachpuff3" , 0xcdaf95 }, - { "peachpuff4" , 0x8b7765 }, - { "navajowhite1" , 0xffdead }, - { "navajowhite2" , 0xeecfa1 }, - { "navajowhite3" , 0xcdb38b }, - { "navajowhite4" , 0x8b795e }, - { "lemonchiffon1" , 0xfffacd }, - { "lemonchiffon2" , 0xeee9bf }, - { "lemonchiffon3" , 0xcdc9a5 }, - { "lemonchiffon4" , 0x8b8970 }, - { "cornsilk1" , 0xfff8dc }, - { "cornsilk2" , 0xeee8cd }, - { "cornsilk3" , 0xcdc8b1 }, - { "cornsilk4" , 0x8b8878 }, - { "ivory1" , 0xfffff0 }, - { "ivory2" , 0xeeeee0 }, - { "ivory3" , 0xcdcdc1 }, - { "ivory4" , 0x8b8b83 }, - { "honeydew1" , 0xf0fff0 }, - { "honeydew2" , 0xe0eee0 }, - { "honeydew3" , 0xc1cdc1 }, - { "honeydew4" , 0x838b83 }, - { "lavenderblush1" , 0xfff0f5 }, - { "lavenderblush2" , 0xeee0e5 }, - { "lavenderblush3" , 0xcdc1c5 }, - { "lavenderblush4" , 0x8b8386 }, - { "mistyrose1" , 0xffe4e1 }, - { "mistyrose2" , 0xeed5d2 }, - { "mistyrose3" , 0xcdb7b5 }, - { "mistyrose4" , 0x8b7d7b }, - { "azure1" , 0xf0ffff }, - { "azure2" , 0xe0eeee }, - { "azure3" , 0xc1cdcd }, - { "azure4" , 0x838b8b }, - { "slateblue1" , 0x836fff }, - { "slateblue2" , 0x7a67ee }, - { "slateblue3" , 0x6959cd }, - { "slateblue4" , 0x473c8b }, - { "royalblue1" , 0x4876ff }, - { "royalblue2" , 0x436eee }, - { "royalblue3" , 0x3a5fcd }, - { "royalblue4" , 0x27408b }, - { "blue1" , 0xff }, - { "blue2" , 0xee }, - { "blue3" , 0xcd }, - { "blue4" , 0x8b }, - { "dodgerblue1" , 0x1e90ff }, - { "dodgerblue2" , 0x1c86ee }, - { "dodgerblue3" , 0x1874cd }, - { "dodgerblue4" , 0x104e8b }, - { "steelblue1" , 0x63b8ff }, - { "steelblue2" , 0x5cacee }, - { "steelblue3" , 0x4f94cd }, - { "steelblue4" , 0x36648b }, - { "deepskyblue1" , 0xbfff }, - { "deepskyblue2" , 0xb2ee }, - { "deepskyblue3" , 0x9acd }, - { "deepskyblue4" , 0x688b }, - { "skyblue1" , 0x87ceff }, - { "skyblue2" , 0x7ec0ee }, - { "skyblue3" , 0x6ca6cd }, - { "skyblue4" , 0x4a708b }, - { "lightskyblue1" , 0xb0e2ff }, - { "lightskyblue2" , 0xa4d3ee }, - { "lightskyblue3" , 0x8db6cd }, - { "lightskyblue4" , 0x607b8b }, - { "slategray1" , 0xc6e2ff }, - { "slategray2" , 0xb9d3ee }, - { "slategray3" , 0x9fb6cd }, - { "slategray4" , 0x6c7b8b }, - { "lightsteelblue1" , 0xcae1ff }, - { "lightsteelblue2" , 0xbcd2ee }, - { "lightsteelblue3" , 0xa2b5cd }, - { "lightsteelblue4" , 0x6e7b8b }, - { "lightblue1" , 0xbfefff }, - { "lightblue2" , 0xb2dfee }, - { "lightblue3" , 0x9ac0cd }, - { "lightblue4" , 0x68838b }, - { "lightcyan1" , 0xe0ffff }, - { "lightcyan2" , 0xd1eeee }, - { "lightcyan3" , 0xb4cdcd }, - { "lightcyan4" , 0x7a8b8b }, - { "paleturquoise1" , 0xbbffff }, - { "paleturquoise2" , 0xaeeeee }, - { "paleturquoise3" , 0x96cdcd }, - { "paleturquoise4" , 0x668b8b }, - { "cadetblue1" , 0x98f5ff }, - { "cadetblue2" , 0x8ee5ee }, - { "cadetblue3" , 0x7ac5cd }, - { "cadetblue4" , 0x53868b }, - { "turquoise1" , 0xf5ff }, - { "turquoise2" , 0xe5ee }, - { "turquoise3" , 0xc5cd }, - { "turquoise4" , 0x868b }, - { "cyan1" , 0xffff }, - { "cyan2" , 0xeeee }, - { "cyan3" , 0xcdcd }, - { "cyan4" , 0x8b8b }, - { "darkslategray1" , 0x97ffff }, - { "darkslategray2" , 0x8deeee }, - { "darkslategray3" , 0x79cdcd }, - { "darkslategray4" , 0x528b8b }, - { "aquamarine1" , 0x7fffd4 }, - { "aquamarine2" , 0x76eec6 }, - { "aquamarine3" , 0x66cdaa }, - { "aquamarine4" , 0x458b74 }, - { "darkseagreen1" , 0xc1ffc1 }, - { "darkseagreen2" , 0xb4eeb4 }, - { "darkseagreen3" , 0x9bcd9b }, - { "darkseagreen4" , 0x698b69 }, - { "seagreen1" , 0x54ff9f }, - { "seagreen2" , 0x4eee94 }, - { "seagreen3" , 0x43cd80 }, - { "seagreen4" , 0x2e8b57 }, - { "palegreen1" , 0x9aff9a }, - { "palegreen2" , 0x90ee90 }, - { "palegreen3" , 0x7ccd7c }, - { "palegreen4" , 0x548b54 }, - { "springgreen1" , 0xff7f }, - { "springgreen2" , 0xee76 }, - { "springgreen3" , 0xcd66 }, - { "springgreen4" , 0x8b45 }, - { "green1" , 0xff00 }, - { "green2" , 0xee00 }, - { "green3" , 0xcd00 }, - { "green4" , 0x8b00 }, - { "chartreuse1" , 0x7fff00 }, - { "chartreuse2" , 0x76ee00 }, - { "chartreuse3" , 0x66cd00 }, - { "chartreuse4" , 0x458b00 }, - { "olivedrab1" , 0xc0ff3e }, - { "olivedrab2" , 0xb3ee3a }, - { "olivedrab3" , 0x9acd32 }, - { "olivedrab4" , 0x698b22 }, - { "darkolivegreen1" , 0xcaff70 }, - { "darkolivegreen2" , 0xbcee68 }, - { "darkolivegreen3" , 0xa2cd5a }, - { "darkolivegreen4" , 0x6e8b3d }, - { "khaki1" , 0xfff68f }, - { "khaki2" , 0xeee685 }, - { "khaki3" , 0xcdc673 }, - { "khaki4" , 0x8b864e }, - { "lightgoldenrod1" , 0xffec8b }, - { "lightgoldenrod2" , 0xeedc82 }, - { "lightgoldenrod3" , 0xcdbe70 }, - { "lightgoldenrod4" , 0x8b814c }, - { "lightyellow1" , 0xffffe0 }, - { "lightyellow2" , 0xeeeed1 }, - { "lightyellow3" , 0xcdcdb4 }, - { "lightyellow4" , 0x8b8b7a }, - { "yellow1" , 0xffff00 }, - { "yellow2" , 0xeeee00 }, - { "yellow3" , 0xcdcd00 }, - { "yellow4" , 0x8b8b00 }, - { "gold1" , 0xffd700 }, - { "gold2" , 0xeec900 }, - { "gold3" , 0xcdad00 }, - { "gold4" , 0x8b7500 }, - { "goldenrod1" , 0xffc125 }, - { "goldenrod2" , 0xeeb422 }, - { "goldenrod3" , 0xcd9b1d }, - { "goldenrod4" , 0x8b6914 }, - { "darkgoldenrod1" , 0xffb90f }, - { "darkgoldenrod2" , 0xeead0e }, - { "darkgoldenrod3" , 0xcd950c }, - { "darkgoldenrod4" , 0x8b6508 }, - { "rosybrown1" , 0xffc1c1 }, - { "rosybrown2" , 0xeeb4b4 }, - { "rosybrown3" , 0xcd9b9b }, - { "rosybrown4" , 0x8b6969 }, - { "indianred1" , 0xff6a6a }, - { "indianred2" , 0xee6363 }, - { "indianred3" , 0xcd5555 }, - { "indianred4" , 0x8b3a3a }, - { "sienna1" , 0xff8247 }, - { "sienna2" , 0xee7942 }, - { "sienna3" , 0xcd6839 }, - { "sienna4" , 0x8b4726 }, - { "burlywood1" , 0xffd39b }, - { "burlywood2" , 0xeec591 }, - { "burlywood3" , 0xcdaa7d }, - { "burlywood4" , 0x8b7355 }, - { "wheat1" , 0xffe7ba }, - { "wheat2" , 0xeed8ae }, - { "wheat3" , 0xcdba96 }, - { "wheat4" , 0x8b7e66 }, - { "tan1" , 0xffa54f }, - { "tan2" , 0xee9a49 }, - { "tan3" , 0xcd853f }, - { "tan4" , 0x8b5a2b }, - { "chocolate1" , 0xff7f24 }, - { "chocolate2" , 0xee7621 }, - { "chocolate3" , 0xcd661d }, - { "chocolate4" , 0x8b4513 }, - { "firebrick1" , 0xff3030 }, - { "firebrick2" , 0xee2c2c }, - { "firebrick3" , 0xcd2626 }, - { "firebrick4" , 0x8b1a1a }, - { "brown1" , 0xff4040 }, - { "brown2" , 0xee3b3b }, - { "brown3" , 0xcd3333 }, - { "brown4" , 0x8b2323 }, - { "salmon1" , 0xff8c69 }, - { "salmon2" , 0xee8262 }, - { "salmon3" , 0xcd7054 }, - { "salmon4" , 0x8b4c39 }, - { "lightsalmon1" , 0xffa07a }, - { "lightsalmon2" , 0xee9572 }, - { "lightsalmon3" , 0xcd8162 }, - { "lightsalmon4" , 0x8b5742 }, - { "orange1" , 0xffa500 }, - { "orange2" , 0xee9a00 }, - { "orange3" , 0xcd8500 }, - { "orange4" , 0x8b5a00 }, - { "darkorange1" , 0xff7f00 }, - { "darkorange2" , 0xee7600 }, - { "darkorange3" , 0xcd6600 }, - { "darkorange4" , 0x8b4500 }, - { "coral1" , 0xff7256 }, - { "coral2" , 0xee6a50 }, - { "coral3" , 0xcd5b45 }, - { "coral4" , 0x8b3e2f }, - { "tomato1" , 0xff6347 }, - { "tomato2" , 0xee5c42 }, - { "tomato3" , 0xcd4f39 }, - { "tomato4" , 0x8b3626 }, - { "orangered1" , 0xff4500 }, - { "orangered2" , 0xee4000 }, - { "orangered3" , 0xcd3700 }, - { "orangered4" , 0x8b2500 }, - { "red1" , 0xff0000 }, - { "red2" , 0xee0000 }, - { "red3" , 0xcd0000 }, - { "red4" , 0x8b0000 }, - { "deeppink1" , 0xff1493 }, - { "deeppink2" , 0xee1289 }, - { "deeppink3" , 0xcd1076 }, - { "deeppink4" , 0x8b0a50 }, - { "hotpink1" , 0xff6eb4 }, - { "hotpink2" , 0xee6aa7 }, - { "hotpink3" , 0xcd6090 }, - { "hotpink4" , 0x8b3a62 }, - { "pink1" , 0xffb5c5 }, - { "pink2" , 0xeea9b8 }, - { "pink3" , 0xcd919e }, - { "pink4" , 0x8b636c }, - { "lightpink1" , 0xffaeb9 }, - { "lightpink2" , 0xeea2ad }, - { "lightpink3" , 0xcd8c95 }, - { "lightpink4" , 0x8b5f65 }, - { "palevioletred1" , 0xff82ab }, - { "palevioletred2" , 0xee799f }, - { "palevioletred3" , 0xcd6889 }, - { "palevioletred4" , 0x8b475d }, - { "maroon1" , 0xff34b3 }, - { "maroon2" , 0xee30a7 }, - { "maroon3" , 0xcd2990 }, - { "maroon4" , 0x8b1c62 }, - { "violetred1" , 0xff3e96 }, - { "violetred2" , 0xee3a8c }, - { "violetred3" , 0xcd3278 }, - { "violetred4" , 0x8b2252 }, - { "magenta1" , 0xff00ff }, - { "magenta2" , 0xee00ee }, - { "magenta3" , 0xcd00cd }, - { "magenta4" , 0x8b008b }, - { "orchid1" , 0xff83fa }, - { "orchid2" , 0xee7ae9 }, - { "orchid3" , 0xcd69c9 }, - { "orchid4" , 0x8b4789 }, - { "plum1" , 0xffbbff }, - { "plum2" , 0xeeaeee }, - { "plum3" , 0xcd96cd }, - { "plum4" , 0x8b668b }, - { "mediumorchid1" , 0xe066ff }, - { "mediumorchid2" , 0xd15fee }, - { "mediumorchid3" , 0xb452cd }, - { "mediumorchid4" , 0x7a378b }, - { "darkorchid1" , 0xbf3eff }, - { "darkorchid2" , 0xb23aee }, - { "darkorchid3" , 0x9a32cd }, - { "darkorchid4" , 0x68228b }, - { "purple1" , 0x9b30ff }, - { "purple2" , 0x912cee }, - { "purple3" , 0x7d26cd }, - { "purple4" , 0x551a8b }, - { "mediumpurple1" , 0xab82ff }, - { "mediumpurple2" , 0x9f79ee }, - { "mediumpurple3" , 0x8968cd }, - { "mediumpurple4" , 0x5d478b }, - { "thistle1" , 0xffe1ff }, - { "thistle2" , 0xeed2ee }, - { "thistle3" , 0xcdb5cd }, - { "thistle4" , 0x8b7b8b }, - { "gray0" , 0x0 }, - { "grey0" , 0x0 }, - { "gray1" , 0x30303 }, - { "grey1" , 0x30303 }, - { "gray2" , 0x50505 }, - { "grey2" , 0x50505 }, - { "gray3" , 0x80808 }, - { "grey3" , 0x80808 }, - { "gray4" , 0xa0a0a }, - { "grey4" , 0xa0a0a }, - { "gray5" , 0xd0d0d }, - { "grey5" , 0xd0d0d }, - { "gray6" , 0xf0f0f }, - { "grey6" , 0xf0f0f }, - { "gray7" , 0x121212 }, - { "grey7" , 0x121212 }, - { "gray8" , 0x141414 }, - { "grey8" , 0x141414 }, - { "gray9" , 0x171717 }, - { "grey9" , 0x171717 }, - { "gray10" , 0x1a1a1a }, - { "grey10" , 0x1a1a1a }, - { "gray11" , 0x1c1c1c }, - { "grey11" , 0x1c1c1c }, - { "gray12" , 0x1f1f1f }, - { "grey12" , 0x1f1f1f }, - { "gray13" , 0x212121 }, - { "grey13" , 0x212121 }, - { "gray14" , 0x242424 }, - { "grey14" , 0x242424 }, - { "gray15" , 0x262626 }, - { "grey15" , 0x262626 }, - { "gray16" , 0x292929 }, - { "grey16" , 0x292929 }, - { "gray17" , 0x2b2b2b }, - { "grey17" , 0x2b2b2b }, - { "gray18" , 0x2e2e2e }, - { "grey18" , 0x2e2e2e }, - { "gray19" , 0x303030 }, - { "grey19" , 0x303030 }, - { "gray20" , 0x333333 }, - { "grey20" , 0x333333 }, - { "gray21" , 0x363636 }, - { "grey21" , 0x363636 }, - { "gray22" , 0x383838 }, - { "grey22" , 0x383838 }, - { "gray23" , 0x3b3b3b }, - { "grey23" , 0x3b3b3b }, - { "gray24" , 0x3d3d3d }, - { "grey24" , 0x3d3d3d }, - { "gray25" , 0x404040 }, - { "grey25" , 0x404040 }, - { "gray26" , 0x424242 }, - { "grey26" , 0x424242 }, - { "gray27" , 0x454545 }, - { "grey27" , 0x454545 }, - { "gray28" , 0x474747 }, - { "grey28" , 0x474747 }, - { "gray29" , 0x4a4a4a }, - { "grey29" , 0x4a4a4a }, - { "gray30" , 0x4d4d4d }, - { "grey30" , 0x4d4d4d }, - { "gray31" , 0x4f4f4f }, - { "grey31" , 0x4f4f4f }, - { "gray32" , 0x525252 }, - { "grey32" , 0x525252 }, - { "gray33" , 0x545454 }, - { "grey33" , 0x545454 }, - { "gray34" , 0x575757 }, - { "grey34" , 0x575757 }, - { "gray35" , 0x595959 }, - { "grey35" , 0x595959 }, - { "gray36" , 0x5c5c5c }, - { "grey36" , 0x5c5c5c }, - { "gray37" , 0x5e5e5e }, - { "grey37" , 0x5e5e5e }, - { "gray38" , 0x616161 }, - { "grey38" , 0x616161 }, - { "gray39" , 0x636363 }, - { "grey39" , 0x636363 }, - { "gray40" , 0x666666 }, - { "grey40" , 0x666666 }, - { "gray41" , 0x696969 }, - { "grey41" , 0x696969 }, - { "gray42" , 0x6b6b6b }, - { "grey42" , 0x6b6b6b }, - { "gray43" , 0x6e6e6e }, - { "grey43" , 0x6e6e6e }, - { "gray44" , 0x707070 }, - { "grey44" , 0x707070 }, - { "gray45" , 0x737373 }, - { "grey45" , 0x737373 }, - { "gray46" , 0x757575 }, - { "grey46" , 0x757575 }, - { "gray47" , 0x787878 }, - { "grey47" , 0x787878 }, - { "gray48" , 0x7a7a7a }, - { "grey48" , 0x7a7a7a }, - { "gray49" , 0x7d7d7d }, - { "grey49" , 0x7d7d7d }, - { "gray50" , 0x7f7f7f }, - { "grey50" , 0x7f7f7f }, - { "gray51" , 0x828282 }, - { "grey51" , 0x828282 }, - { "gray52" , 0x858585 }, - { "grey52" , 0x858585 }, - { "gray53" , 0x878787 }, - { "grey53" , 0x878787 }, - { "gray54" , 0x8a8a8a }, - { "grey54" , 0x8a8a8a }, - { "gray55" , 0x8c8c8c }, - { "grey55" , 0x8c8c8c }, - { "gray56" , 0x8f8f8f }, - { "grey56" , 0x8f8f8f }, - { "gray57" , 0x919191 }, - { "grey57" , 0x919191 }, - { "gray58" , 0x949494 }, - { "grey58" , 0x949494 }, - { "gray59" , 0x969696 }, - { "grey59" , 0x969696 }, - { "gray60" , 0x999999 }, - { "grey60" , 0x999999 }, - { "gray61" , 0x9c9c9c }, - { "grey61" , 0x9c9c9c }, - { "gray62" , 0x9e9e9e }, - { "grey62" , 0x9e9e9e }, - { "gray63" , 0xa1a1a1 }, - { "grey63" , 0xa1a1a1 }, - { "gray64" , 0xa3a3a3 }, - { "grey64" , 0xa3a3a3 }, - { "gray65" , 0xa6a6a6 }, - { "grey65" , 0xa6a6a6 }, - { "gray66" , 0xa8a8a8 }, - { "grey66" , 0xa8a8a8 }, - { "gray67" , 0xababab }, - { "grey67" , 0xababab }, - { "gray68" , 0xadadad }, - { "grey68" , 0xadadad }, - { "gray69" , 0xb0b0b0 }, - { "grey69" , 0xb0b0b0 }, - { "gray70" , 0xb3b3b3 }, - { "grey70" , 0xb3b3b3 }, - { "gray71" , 0xb5b5b5 }, - { "grey71" , 0xb5b5b5 }, - { "gray72" , 0xb8b8b8 }, - { "grey72" , 0xb8b8b8 }, - { "gray73" , 0xbababa }, - { "grey73" , 0xbababa }, - { "gray74" , 0xbdbdbd }, - { "grey74" , 0xbdbdbd }, - { "gray75" , 0xbfbfbf }, - { "grey75" , 0xbfbfbf }, - { "gray76" , 0xc2c2c2 }, - { "grey76" , 0xc2c2c2 }, - { "gray77" , 0xc4c4c4 }, - { "grey77" , 0xc4c4c4 }, - { "gray78" , 0xc7c7c7 }, - { "grey78" , 0xc7c7c7 }, - { "gray79" , 0xc9c9c9 }, - { "grey79" , 0xc9c9c9 }, - { "gray80" , 0xcccccc }, - { "grey80" , 0xcccccc }, - { "gray81" , 0xcfcfcf }, - { "grey81" , 0xcfcfcf }, - { "gray82" , 0xd1d1d1 }, - { "grey82" , 0xd1d1d1 }, - { "gray83" , 0xd4d4d4 }, - { "grey83" , 0xd4d4d4 }, - { "gray84" , 0xd6d6d6 }, - { "grey84" , 0xd6d6d6 }, - { "gray85" , 0xd9d9d9 }, - { "grey85" , 0xd9d9d9 }, - { "gray86" , 0xdbdbdb }, - { "grey86" , 0xdbdbdb }, - { "gray87" , 0xdedede }, - { "grey87" , 0xdedede }, - { "gray88" , 0xe0e0e0 }, - { "grey88" , 0xe0e0e0 }, - { "gray89" , 0xe3e3e3 }, - { "grey89" , 0xe3e3e3 }, - { "gray90" , 0xe5e5e5 }, - { "grey90" , 0xe5e5e5 }, - { "gray91" , 0xe8e8e8 }, - { "grey91" , 0xe8e8e8 }, - { "gray92" , 0xebebeb }, - { "grey92" , 0xebebeb }, - { "gray93" , 0xededed }, - { "grey93" , 0xededed }, - { "gray94" , 0xf0f0f0 }, - { "grey94" , 0xf0f0f0 }, - { "gray95" , 0xf2f2f2 }, - { "grey95" , 0xf2f2f2 }, - { "gray96" , 0xf5f5f5 }, - { "grey96" , 0xf5f5f5 }, - { "gray97" , 0xf7f7f7 }, - { "grey97" , 0xf7f7f7 }, - { "gray98" , 0xfafafa }, - { "grey98" , 0xfafafa }, - { "gray99" , 0xfcfcfc }, - { "grey99" , 0xfcfcfc }, - { "gray100" , 0xffffff }, - { "grey100" , 0xffffff }, - { "dark grey" , 0xa9a9a9 }, - { "darkgrey" , 0xa9a9a9 }, - { "dark gray" , 0xa9a9a9 }, - { "darkgray" , 0xa9a9a9 }, - { "dark blue" , 0x8b }, - { "darkblue" , 0x8b }, - { "dark cyan" , 0x8b8b }, - { "darkcyan" , 0x8b8b }, - { "dark magenta" , 0x8b008b }, - { "darkmagenta" , 0x8b008b }, - { "dark red" , 0x8b0000 }, - { "darkred" , 0x8b0000 }, - { "light green" , 0x90ee90 }, - { "lightgreen" , 0x90ee90 }, - { "none", -1 }, - { 0, 0 } -}; diff --git a/minilibx_linux/mlx_string_put.c b/minilibx_linux/mlx_string_put.c deleted file mode 100644 index 8492a09..0000000 --- a/minilibx_linux/mlx_string_put.c +++ /dev/null @@ -1,26 +0,0 @@ -/* - ** mlx_string_put.c for MiniLibX in  - **  - ** Made by Charlie Root - ** Login   <ol@epitech.net> - **  - ** Started on  Mon Jul 31 19:01:33 2000 Charlie Root -** Last update Tue Sep 25 17:11:47 2001 Charlie Root - */ - - -#include	"mlx_int.h" - - - -int		mlx_string_put(t_xvar *xvar,t_win_list *win, -			       int x,int y,int color,char *string) -{ -   XGCValues	xgcv; -    -   xgcv.foreground = mlx_int_get_good_color(xvar,color); -   XChangeGC(xvar->display,win->gc,GCForeground,&xgcv); -   XDrawString(xvar->display,win->window,win->gc,x,y,string,strlen(string)); -   if (xvar->do_flush) -     XFlush(xvar->display); -} diff --git a/minilibx_linux/mlx_xpm.c b/minilibx_linux/mlx_xpm.c deleted file mode 100644 index 1ab8acd..0000000 --- a/minilibx_linux/mlx_xpm.c +++ /dev/null @@ -1,317 +0,0 @@ -/* -** xpm-read.c for MinilibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Tue Dec 11 15:25:27 2001 olivier crouzet -** Last update Sat Oct  1 14:56:13 2005 Olivier Crouzet -*/ - - -#include	"mlx_int.h" - -extern struct s_col_name mlx_col_name[]; - - -#define	RETURN	{ if (colors) free(colors); if (tab) free(tab); \ -		  if (colors_direct) free(colors_direct); \ -                  if (img) {XDestroyImage(img->image); \ -                            XFreePixmap(xvar->display,img->pix);free(img);} \ -                  return ((void *)0);} - - - - -char	*mlx_int_get_line(char *ptr,int *pos,int size) -{ -  int	pos2; -  int	pos3; -  int	pos4; - -  if ((pos2 = mlx_int_str_str(ptr+*pos,"\"",size-*pos))==-1) -    return ((char *)0); -  if ((pos3 = mlx_int_str_str(ptr+*pos+pos2+1,"\"",size-*pos-pos2-1))==-1) -    return ((char *)0); -  *(ptr+*pos+pos2) = 0; -  *(ptr+*pos+pos2+1+pos3) = 0; -  pos4 = *pos+pos2+1; -  *pos += pos2+pos3+2; -  return (ptr+pos4); -} - - - -char	*mlx_int_static_line(char **xpm_data,int *pos,int size) -{ -  static char	*copy = 0; -  static int	len = 0; -  int		len2; -  char		*str; - -  str = xpm_data[(*pos)++]; -  if ((len2 = strlen(str))>len) -    { -      if (copy) -	free(copy); -      if (!(copy = malloc(len2+1))) -	return ((char *)0); -      len = len2; -    } -  /* strcpy(copy,str); */ -  strlcpy(copy, str, len2+1); -  return (copy); -} - - -int	mlx_int_get_col_name(char *str,int size) -{ -  int	result; - -  result = 0; -  while (size--) -    result = (result<<8)+*(str++); -  return (result); -} - -int	mlx_int_get_text_rgb(char *name, char *end) -{ -  int	i; -  char	buff[64]; - -  if (*name == '#') -    return (strtol(name+1,0,16)); -  if (end) -    { -      snprintf(buff, 64, "%s %s", name, end); -      name = buff; -    } -  i = 0; -  while (mlx_col_name[i].name) -    { -      if (!strcasecmp(mlx_col_name[i].name, name)) -	return (mlx_col_name[i].color); -      i ++; -    } -  return (0); -} - - -int	mlx_int_xpm_set_pixel(t_img *img, char *data, int opp, int col, int x) -{ -  int	dec; - -  dec = opp; -  while (dec--) -    { -      if (img->image->byte_order) -	*(data+x*opp+dec) = col&0xFF; -      else -	*(data+x*opp+opp-dec-1) = col&0xFF; -      col >>= 8; -    } -} - - -void	*mlx_int_parse_xpm(t_xvar *xvar,void *info,int info_size,char *(*f)()) -{ -  int	pos; -  char	*line; -  char	**tab; -  char	*data; -  char	*clip_data; -  int	nc; -  int	opp; -  int	cpp; -  int	col; -  int	rgb_col; -  int	col_name; -  int	method; -  int	x; -  int	i; -  int	j; -  t_img	*img; -  t_xpm_col	*colors; -  int		*colors_direct; -  int	width; -  int	height; -  XImage	*clip_img; -  XGCValues	xgcv; -  Pixmap	clip_pix; - -  colors = 0; -  colors_direct = 0; -  img = 0; -  tab = 0; -  pos = 0; -  if (!(line = f(info,&pos,info_size)) || -      !(tab = mlx_int_str_to_wordtab(line)) || !(width = atoi(tab[0])) || -      !(height = atoi(tab[1])) || !(nc = atoi(tab[2])) || -      !(cpp = atoi(tab[3])) ) -    RETURN; -  free(tab); -  tab = 0; - -  method = 0; -  if (cpp<=2) -    { -      method = 1; -      if (!(colors_direct = malloc((cpp==2?65536:256)*sizeof(int)))) -	RETURN; -    } -  else -    if (!(colors = malloc(nc*sizeof(*colors)))) -      RETURN; - -  clip_data = 0; - -  i = nc; -  while (i--) -    { -      if (!(line = f(info,&pos,info_size)) || -	  !(tab = mlx_int_str_to_wordtab(line+cpp)) ) -	RETURN; -      j = 0; -      while (tab[j] && strcmp(tab[j++],"c")); - -      if (!tab[j]) -	RETURN; -       -      if ((rgb_col = mlx_int_get_text_rgb(tab[j], tab[j+1]))==-1) -	{ -	  if (!(clip_data = malloc(4*width*height)) ||   /* ok, nice size .. */ -	      !(clip_img = XCreateImage(xvar->display, xvar->visual, -					1, XYPixmap, 0, clip_data, -					width, height, 8, (width+7)/8)) ) -	    RETURN; -	  memset(clip_data, 0xFF, 4*width*height); -	} - -      if (method) -	colors_direct[mlx_int_get_col_name(line,cpp)] = -	  rgb_col>=0?mlx_get_color_value(xvar, rgb_col):rgb_col; -      else -	{ -	  colors[i].name = mlx_int_get_col_name(line,cpp); -	  colors[i].col = rgb_col>=0?mlx_get_color_value(xvar,rgb_col):rgb_col; -	} -      free(tab); -    } - -  if (!(img = mlx_new_image(xvar,width,height))) -    RETURN; -  opp = img->bpp/8; - - -  i = height; -  data = img->data; -  while (i--) -    { -      if (!(line = f(info,&pos,info_size))) -	RETURN; -      x = 0; -      while (x<width) -	{ -	  col = 0; -	  col_name = mlx_int_get_col_name(line+cpp*x,cpp); -	  if (method) -	    col = colors_direct[col_name]; -	  else -	    { -	      j = nc; -	      while (j--) -		if (colors[j].name==col_name) -		  { -		    col = colors[j].col; -		    j = 0; -		  } -	    } -	  if (col==-1) -	    XPutPixel(clip_img, x, height-1-i, 0); -	  else -	    mlx_int_xpm_set_pixel(img, data, opp, col, x); -	  x ++; -	} -      data += img->size_line; -    } -  if (clip_data) -    { -      if (!(clip_pix = XCreatePixmap(xvar->display, xvar->root, -					   width, height, 1)) ) -	RETURN; -      img->gc = XCreateGC(xvar->display, clip_pix, 0, &xgcv); -      XPutImage(xvar->display, clip_pix, img->gc, clip_img, -		0, 0, 0, 0, width, height); -      XFreeGC(xvar->display, img->gc); -      xgcv.clip_mask = clip_pix; -      xgcv.function = GXcopy; -      xgcv.plane_mask = AllPlanes; -      img->gc = XCreateGC(xvar->display, xvar->root, GCClipMask|GCFunction| -			  GCPlaneMask, &xgcv); -      XSync(xvar->display, False); -      XDestroyImage(clip_img); -    } -  if (colors) -    free(colors); -  if (colors_direct) -    free(colors_direct); -  return (img); -} - - -int	mlx_int_file_get_rid_comment(char *ptr, int size) -{ -  int	com_begin; -  int	com_end; - -  while ((com_begin = mlx_int_str_str_cote(ptr,"/*",size))!=-1) -    { -      com_end = mlx_int_str_str(ptr+com_begin+2,"*/",size-com_begin-2); -      memset(ptr+com_begin,' ',com_end+4); -    } -  while ((com_begin = mlx_int_str_str_cote(ptr,"//",size))!=-1) -    { -      com_end = mlx_int_str_str(ptr+com_begin+2,"\n",size-com_begin-2); -      memset(ptr+com_begin,' ',com_end+3); -    } -} - - -void	*mlx_xpm_file_to_image(t_xvar *xvar,char const *file,int *width,int *height) -{ -  int	fd; -  int	size; -  char	*ptr; -  t_img	*img; - -  fd = -1; -  if ((fd = open(file,O_RDONLY))==-1 || (size = lseek(fd,0,SEEK_END))==-1 || -      (ptr = mmap(0,size,PROT_WRITE|PROT_READ,MAP_PRIVATE,fd,0))== -      (void *)MAP_FAILED) -    { -      if (fd>=0) -	close(fd); -      return ((void *)0); -    } -  mlx_int_file_get_rid_comment(ptr, size); -  if (img = mlx_int_parse_xpm(xvar,ptr,size,mlx_int_get_line)) -    { -      *width = img->width; -      *height = img->height; -    } -  munmap(ptr,size); -  close(fd); -  return (img); -} - -void	*mlx_xpm_to_image(t_xvar *xvar,char **xpm_data,int *width,int *height) -{ -  t_img	*img; - -  if (img = mlx_int_parse_xpm(xvar,xpm_data,0,mlx_int_static_line)) -    { -      *width = img->width; -      *height = img->height; -    } -  return (img); -} diff --git a/minilibx_linux/mlx_xpm.c.ok b/minilibx_linux/mlx_xpm.c.ok deleted file mode 100644 index 73f2d9e..0000000 --- a/minilibx_linux/mlx_xpm.c.ok +++ /dev/null @@ -1,310 +0,0 @@ -/* -** xpm-read.c for MinilibX in  -**  -** Made by Charlie Root -** Login   <ol@epitech.net> -**  -** Started on  Tue Dec 11 15:25:27 2001 olivier crouzet -** Last update Sat Oct  1 14:40:55 2005 Olivier Crouzet -*/ - - -#include	"mlx_int.h" - -extern struct s_col_name mlx_col_name[]; - - -#define	RETURN	{ if (colors) free(colors); if (tab) free(tab); \ -		  if (colors_direct) free(colors_direct); \ -                  if (img) {XDestroyImage(img->image); \ -                            XFreePixmap(xvar->display,img->pix);free(img);} \ -                  return ((void *)0);} - - - - -char	*mlx_int_get_line(char *ptr,int *pos,int size) -{ -  int	pos2; -  int	pos3; -  int	pos4; - -  if ((pos2 = mlx_int_str_str(ptr+*pos,"\"",size-*pos))==-1) -    return ((char *)0); -  if ((pos3 = mlx_int_str_str(ptr+*pos+pos2+1,"\"",size-*pos-pos2-1))==-1) -    return ((char *)0); -  *(ptr+*pos+pos2) = 0; -  *(ptr+*pos+pos2+1+pos3) = 0; -  pos4 = *pos+pos2+1; -  *pos += pos2+pos3+2; -  return (ptr+pos4); -} - - - -char	*mlx_int_static_line(char **xpm_data,int *pos,int size) -{ -  static char	*copy = 0; -  static int	len = 0; -  int		len2; -  char		*str; - -  str = xpm_data[(*pos)++]; -  if ((len2 = strlen(str))>len) -    { -      if (copy) -	free(copy); -      if (!(copy = malloc(len2+1))) -	return ((char *)0); -      len = len2; -    } -  /* strcpy(copy,str); */ -  strlcpy(copy, str, len2+1); -  return (copy); -} - - -int	mlx_int_get_col_name(char *str,int size) -{ -  int	result; - -  result = 0; -  while (size--) -    result = (result<<8)+*(str++); -  return (result); -} - -int	mlx_int_get_text_rgb(char *name) -{ -  int	i; - -  if (*name == '#') -    return (strtol(name+1,0,16)); -  i = 0; -  while (mlx_col_name[i].name) -    { -      if (!strcasecmp(mlx_col_name[i].name, name)) -	return (mlx_col_name[i].color); -      i ++; -    } -  return (0); -} - - -int	mlx_int_xpm_set_pixel(t_img *img, char *data, int opp, int col, int x) -{ -  int	dec; - -  dec = opp; -  while (dec--) -    { -      if (img->image->byte_order) -	*(data+x*opp+dec) = col&0xFF; -      else -	*(data+x*opp+opp-dec-1) = col&0xFF; -      col >>= 8; -    } -} - - -void	*mlx_int_parse_xpm(t_xvar *xvar,void *info,int info_size,char *(*f)()) -{ -  int	pos; -  char	*line; -  char	**tab; -  char	*data; -  char	*clip_data; -  int	nc; -  int	opp; -  int	cpp; -  int	col; -  int	rgb_col; -  int	col_name; -  int	method; -  int	x; -  int	i; -  int	j; -  t_img	*img; -  t_xpm_col	*colors; -  int		*colors_direct; -  int	width; -  int	height; -  XImage	*clip_img; -  XGCValues	xgcv; -  Pixmap	clip_pix; - -  colors = 0; -  colors_direct = 0; -  img = 0; -  tab = 0; -  pos = 0; -  if (!(line = f(info,&pos,info_size)) || -      !(tab = mlx_int_str_to_wordtab(line)) || !(width = atoi(tab[0])) || -      !(height = atoi(tab[1])) || !(nc = atoi(tab[2])) || -      !(cpp = atoi(tab[3])) ) -    RETURN; -  free(tab); -  tab = 0; - -  method = 0; -  if (cpp<=2) -    { -      method = 1; -      if (!(colors_direct = malloc((cpp==2?65536:256)*sizeof(int)))) -	RETURN; -    } -  else -    if (!(colors = malloc(nc*sizeof(*colors)))) -      RETURN; - -  clip_data = 0; - -  i = nc; -  while (i--) -    { -      if (!(line = f(info,&pos,info_size)) || -	  !(tab = mlx_int_str_to_wordtab(line+cpp)) ) -	RETURN; -      j = 0; -      while (tab[j] && strcmp(tab[j++],"c")); -      if (!tab[j]) -	RETURN; -       -      if ((rgb_col = mlx_int_get_text_rgb(tab[j]))==-1) -	{ -	  if (!(clip_data = malloc(4*width*height)) ||   /* ok, nice size .. */ -	      !(clip_img = XCreateImage(xvar->display, xvar->visual, -					1, XYPixmap, 0, clip_data, -					width, height, 8, (width+7)/8)) ) -	    RETURN; -	  memset(clip_data, 0xFF, 4*width*height); -	} - -      if (method) -	colors_direct[mlx_int_get_col_name(line,cpp)] = -	  rgb_col>=0?mlx_get_color_value(xvar, rgb_col):rgb_col; -    else -	{ -	  colors[i].name = mlx_int_get_col_name(line,cpp); -	  colors[i].col = rgb_col>=0?mlx_get_color_value(xvar,rgb_col):rgb_col; -	} -      free(tab); -    } - -  if (!(img = mlx_new_image(xvar,width,height))) -    RETURN; -  opp = img->bpp/8; - - -  i = height; -  data = img->data; -  while (i--) -    { -      if (!(line = f(info,&pos,info_size))) -	RETURN; -      x = 0; -      while (x<width) -	{ -	  col = 0; -	  col_name = mlx_int_get_col_name(line+cpp*x,cpp); -	  if (method) -	    col = colors_direct[col_name]; -	  else -	    { -	      j = nc; -	      while (j--) -		if (colors[j].name==col_name) -		  { -		    col = colors[j].col; -		    j = 0; -		  } -	    } -	  if (col==-1) -	    XPutPixel(clip_img, x, height-1-i, 0); -	  else -	    mlx_int_xpm_set_pixel(img, data, opp, col, x); -	  x ++; -	} -      data += img->size_line; -    } -  if (clip_data) -    { -      if (!(clip_pix = XCreatePixmap(xvar->display, xvar->root, -					   width, height, 1)) ) -	RETURN; -      img->gc = XCreateGC(xvar->display, clip_pix, 0, &xgcv); -      XPutImage(xvar->display, clip_pix, img->gc, clip_img, -		0, 0, 0, 0, width, height); -      XFreeGC(xvar->display, img->gc); -      xgcv.clip_mask = clip_pix; -      xgcv.function = GXcopy; -      xgcv.plane_mask = AllPlanes; -      img->gc = XCreateGC(xvar->display, xvar->root, GCClipMask|GCFunction| -			  GCPlaneMask, &xgcv); -      XSync(xvar->display, False); -      XDestroyImage(clip_img); -    } -  if (colors) -    free(colors); -  if (colors_direct) -    free(colors_direct); -  return (img); -} - - -int	mlx_int_file_get_rid_comment(char *ptr, int size) -{ -  int	com_begin; -  int	com_end; - -  while ((com_begin = mlx_int_str_str_cote(ptr,"/*",size))!=-1) -    { -      com_end = mlx_int_str_str(ptr+com_begin+2,"*/",size-com_begin-2); -      memset(ptr+com_begin,' ',com_end+4); -    } -  while ((com_begin = mlx_int_str_str_cote(ptr,"//",size))!=-1) -    { -      com_end = mlx_int_str_str(ptr+com_begin+2,"\n",size-com_begin-2); -      memset(ptr+com_begin,' ',com_end+3); -    } -} - - -void	*mlx_xpm_file_to_image(t_xvar *xvar,char const *file,int *width,int *height) -{ -  int	fd; -  int	size; -  char	*ptr; -  t_img	*img; - -  fd = -1; -  if ((fd = open(file,O_RDONLY))==-1 || (size = lseek(fd,0,SEEK_END))==-1 || -      (ptr = mmap(0,size,PROT_WRITE|PROT_READ,MAP_PRIVATE,fd,0))== -      (void *)MAP_FAILED) -    { -      if (fd>=0) -	close(fd); -      return ((void *)0); -    } -  mlx_int_file_get_rid_comment(ptr, size); -  if (img = mlx_int_parse_xpm(xvar,ptr,size,mlx_int_get_line)) -    { -      *width = img->width; -      *height = img->height; -    } -  munmap(ptr,size); -  close(fd); -  return (img); -} - -void	*mlx_xpm_to_image(t_xvar *xvar,char **xpm_data,int *width,int *height) -{ -  t_img	*img; - -  if (img = mlx_int_parse_xpm(xvar,xpm_data,0,mlx_int_static_line)) -    { -      *width = img->width; -      *height = img->height; -    } -  return (img); -} diff --git a/minilibx_linux/rgb2c.pl b/minilibx_linux/rgb2c.pl deleted file mode 100755 index 9ef39a0..0000000 --- a/minilibx_linux/rgb2c.pl +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/perl -# -## rgb2c.pl for MiniLibX in /home/boulon/work/c/raytraceur/minilibx -##  -## Made by Olivier Crouzet -## Login   <ol@epitech.net> -##  -## Started on  Tue Oct  5 16:33:46 2004 Olivier Crouzet -## Last update Tue Oct  5 16:36:11 2004 Olivier Crouzet -## - - -# -# Generate a .c file with encoded colors, from the XFree86 rgb.txt file. -# - -open(RGB, "/usr/X11/lib/X11/rgb.txt"); - - -printf("/*\n** This is a generated file with rgb2c.pl and rgb.txt from\n"); -printf("** the XFree86 distribution.\n*/\n\n"); -printf("struct s_col_name mlx_col_name[] =\n{\n"); - -while (<RGB>) -{ -    @tab = split; -    if ($tab[0] ne "!") -    { -	$color = $tab[3]; -	if ("$tab[4]" ne "") -	{ -	    $color = "$tab[3] $tab[4]"; -	} -	printf(" { \"%s\" , 0x%x },\n", $color, $tab[0]*65536+$tab[1]*256+$tab[2]); -    } -} - -printf(" { 0, 0 }\n};\n"); diff --git a/minilibx_linux/test/Makefile.gen b/minilibx_linux/test/Makefile.gen deleted file mode 100644 index c13f70c..0000000 --- a/minilibx_linux/test/Makefile.gen +++ /dev/null @@ -1,26 +0,0 @@ -INC=/usr/include -HT=x86_64 -DOCP=do_cp - - - -INCLIB=$(INC)/../lib - -CC=gcc - -CFLAGS= -I$(INC) -O3 -I.. - -NAME= mlx-test -SRC = main.c -OBJ = $(SRC:.c=.o) - -all	:$(NAME) - -$(NAME)	:$(OBJ) -	$(CC) -o $(NAME) $(OBJ) $(shell pkg-config --libs --static mlx) - -clean	: -	rm -f $(NAME) $(OBJ) *~ core *.core - - -re	: clean all diff --git a/minilibx_linux/test/Makefile.mk b/minilibx_linux/test/Makefile.mk deleted file mode 100644 index 5238a12..0000000 --- a/minilibx_linux/test/Makefile.mk +++ /dev/null @@ -1,24 +0,0 @@ - - -INC=%%%% - -INCLIB=$(INC)/../lib - -CC=gcc - -CFLAGS= -I$(INC) -O3 -I.. - -NAME= mlx-test -SRC = main.c -OBJ = $(SRC:.c=.o) - -all	:$(NAME) - -$(NAME)	:$(OBJ) -	$(CC) -o $(NAME) $(OBJ) $(shell pkg-config --libs --static mlx) - -clean	: -	rm -f $(NAME) $(OBJ) *~ core *.core - - -re	: clean all diff --git a/minilibx_linux/test/main.c b/minilibx_linux/test/main.c deleted file mode 100644 index ea132b4..0000000 --- a/minilibx_linux/test/main.c +++ /dev/null @@ -1,284 +0,0 @@ - -#include	"mlx.h" -#include	"mlx_int.h" - -#define	WIN1_SX		242 -#define	WIN1_SY		242 -#define	IM1_SX		42 -#define	IM1_SY		42 -#define	IM3_SX		242 -#define	IM3_SY		242 - -void	*mlx; -void	*win1; -void    *win2; -void    *win3; -void    *im1; -void	*im2; -void	*im3; -void	*im4; -int	bpp1; -int	bpp2; -int	bpp3; -int	bpp4; -int	sl1; -int	sl2; -int	sl3; -int	sl4; -int	endian1; -int	endian2; -int	endian3; -int	endian4; -char	*data1; -char	*data2; -char	*data3; -char	*data4; -int	xpm1_x; -int	xpm1_y; - -int	local_endian; - -int	expose_win1(void *p) -{ -  mlx_put_image_to_window(mlx,win1,im3,0,0); -} - -int	expose_win2(void *p) -{ -  mlx_put_image_to_window(mlx,win2,im4,0,0); -  mlx_put_image_to_window(mlx,win2,im2,0,0); -} - -int	key_win1(int key,void *p) -{ -  printf("Key in Win1 : %d\n",key); -  if (key==0xFF1B) -    exit(0); -} - -int	key_win2(int key,void *p) -{ -  printf("Key in Win2 : %d\n",key); -  if (key==0xFF1B) -    exit(0); -} - -int	key_win3(int key,void *p) -{ -  printf("Key in Win3 : %d\n",key); -  if (key==0xFF1B) -    mlx_destroy_window(mlx,win3); -} - -int	mouse_win1(int button,int x,int y, void *p) -{ -  printf("Mouse in Win1, button %d at %dx%d.\n",button,x,y); -} - -int	mouse_win2(int button,int x,int y, void *p) -{ -  printf("Mouse in Win2, button %d at %dx%d.\n",button,x,y); -} - -int	mouse_win3(int x,int y, void *p) -{ -  printf("Mouse moving in Win3, at %dx%d.\n",x,y); -} - - -int	main() -{ -  int	a; - -  printf("MinilibX Test Program\n"); -  a = 0x11223344; -  if (((unsigned char *)&a)[0] == 0x11) -    local_endian = 1; -  else -    local_endian = 0; -  printf(" => Local Endian : %d\n",local_endian); - -  printf(" => Connection ..."); -  if (!(mlx = mlx_init())) -    { -      printf(" !! KO !!\n"); -      exit(1); -    } -  printf("OK (use_xshm %d pshm_format %d)\n",((t_xvar *)mlx)->use_xshm,((t_xvar *)mlx)->pshm_format); - -  printf(" => Window1 %dx%d \"Title 1\" ...",WIN1_SX,WIN1_SY); -  if (!(win1 = mlx_new_window(mlx,WIN1_SX,WIN1_SY,"Title1"))) -    { -      printf(" !! KO !!\n"); -      exit(1); -    } -  printf("OK\n"); - -  printf(" => Colormap sans event ..."); -  color_map_1(win1,WIN1_SX,WIN1_SY); -  printf("OK\n"); -  sleep(2); - -  printf(" => Clear Window ..."); -  mlx_clear_window(mlx,win1); -  printf("OK\n"); -  sleep(2); - -  printf(" => Image1 ZPixmap %dx%d ...",IM1_SX,IM1_SY); -  if (!(im1 = mlx_new_image(mlx,IM1_SX,IM1_SY))) -    { -      printf(" !! KO !!\n"); -      exit(1); -    } -  data1 = mlx_get_data_addr(im1,&bpp1,&sl1,&endian1); -  printf("OK (bpp1: %d, sizeline1: %d endian: %d type: %d)\n",bpp1,sl1,endian1, -	 ((t_img *)im1)->type); - -  printf(" => Fill Image1 ..."); -  color_map_2(data1,bpp1,sl1,IM1_SX,IM1_SY,endian1, 1); -  printf("OK (pixmap : %d)\n",(int)((t_img *)im1)->pix); - -  printf(" => Put Image1 ..."); -  mlx_put_image_to_window(mlx,win1,im1,20,20); -  printf("OK\n"); -  sleep(2); - -  printf(" => Destroy Image1 ... "); -  mlx_destroy_image(mlx, im1); -  printf("OK\n"); -  sleep(2); - -  printf(" => Image3 ZPixmap %dx%d ...",IM3_SX,IM3_SY); -  if (!(im3 = mlx_new_image(mlx,IM3_SX,IM3_SY))) -    { -      printf(" !! KO !!\n"); -      exit(1); -    } -  data3 = mlx_get_data_addr(im3,&bpp3,&sl3,&endian3); -  printf("OK (bpp3 %d, sizeline3 %d endian3 %d type %d)\n",bpp3,sl3,endian3, -	 ((t_img *)im3)->type); - -  printf(" => Fill Image3 ..."); -  color_map_2(data3,bpp3,sl3,IM3_SX,IM3_SY,endian3, 1); -  printf("OK (pixmap : %d)\n",(int)((t_img *)im3)->pix); - -  printf(" => Put Image3 ..."); -  mlx_put_image_to_window(mlx,win1,im3,20,20); -  printf("OK\n"); -  sleep(2); - -  printf(" => String ..."); -  mlx_string_put(mlx,win1,5,WIN1_SY/2,0xFF99FF,"String output"); -  mlx_string_put(mlx,win1,15,WIN1_SY/2+20,0x00FFFF,"MinilibX test"); -  printf("OK\n"); -  sleep(2); - -  printf(" => Xpm from file ..."); -  if (!(im2 = mlx_xpm_file_to_image(mlx,"open.xpm",&xpm1_x,&xpm1_y))) -    { -      printf(" !! KO !!\n"); -      exit(1); -    } -  data2 = mlx_get_data_addr(im2,&bpp2,&sl2,&endian2); -  printf("OK (xpm %dx%d)(img bpp2: %d, sizeline2: %d endian: %d type: %d)\n", -	 xpm1_x,xpm1_y,bpp2,sl2,endian2,((t_img *)im2)->type); -  sleep(2); - -  printf(" => Put xpm ..."); -  mlx_put_image_to_window(mlx,win1,im2,0,0); -  mlx_put_image_to_window(mlx,win1,im2,100,100); -  printf("OK\n"); -  sleep(2); - -  printf(" => 2nd window,"); -  win2 = mlx_new_window(mlx,WIN1_SX,WIN1_SY,"Title2"); -  if (!(im4 = mlx_new_image(mlx,IM3_SX, IM3_SY))) -    { -      printf(" !! KO !!\n"); -      exit(1); -    } -  data4 = mlx_get_data_addr(im4,&bpp4,&sl4,&endian4); -  color_map_2(data4,bpp4,sl4,IM3_SX,IM3_SY,endian4, 2); - -  printf(" 3rd window, Installing hooks ..."); -  win3 = mlx_new_window(mlx,WIN1_SX,WIN1_SY,"Title3"); -  mlx_expose_hook(win1,expose_win1,0); -  mlx_mouse_hook(win1,mouse_win1,0); -  mlx_key_hook(win1,key_win1,0); -  mlx_expose_hook(win2,expose_win2,0); -  mlx_mouse_hook(win2,mouse_win2,0); -  mlx_key_hook(win2,key_win2,0); -  mlx_key_hook(win3,key_win3,0); - -  mlx_hook(win3, MotionNotify, PointerMotionMask, mouse_win3, 0); - -  printf("OK\nNow in Loop. Just play. Esc in 3 to destroy, 1&2 to quit.\n"); -   -  mlx_loop(mlx); -} - - -int	color_map_1(void *win,int w,int h) -{ -  int	x; -  int	y; -  int	color; - -  x = w; -  while (x--) -    { -      y = h; -      while (y--) -        { -          color = (x*255)/w+((((w-x)*255)/w)<<16)+(((y*255)/h)<<8); -	  mlx_pixel_put(mlx,win,x,y,color); -        } -    } -} - - -int	color_map_2(unsigned char *data,int bpp,int sl,int w,int h,int endian, int type) -{ -  int	x; -  int	y; -  int	opp; -  int	dec; -  int	color; -  int	color2; -  unsigned char *ptr; - -  opp = bpp/8; -  printf("(opp : %d) ",opp); -  y = h; -  while (y--) -    { -      ptr = data+y*sl; -      x = w; -      while (x--) -        { -	  if (type==2) -	    color = (y*255)/w+((((w-x)*255)/w)<<16) -	      +(((y*255)/h)<<8); -	  else -	    color = (x*255)/w+((((w-x)*255)/w)<<16)+(((y*255)/h)<<8); -          color2 = mlx_get_color_value(mlx,color); -	  dec = opp; -	  while (dec--) -	    if (endian==local_endian) -	      { -		if (endian) -		  *(ptr+x*opp+dec) = ((unsigned char *)(&color2))[4-opp+dec]; -		else -		  *(ptr+x*opp+dec) = ((unsigned char *)(&color2))[dec]; -	      } -	    else -	      { -		if (endian) -		  *(ptr+x*opp+dec) = ((unsigned char *)(&color2))[opp-1-dec]; -		else -		  *(ptr+x*opp+dec) = ((unsigned char *)(&color2))[3-dec]; -	      } -        } -    } - -} diff --git a/minilibx_linux/test/new_win.c b/minilibx_linux/test/new_win.c deleted file mode 100644 index 62bed4b..0000000 --- a/minilibx_linux/test/new_win.c +++ /dev/null @@ -1,31 +0,0 @@ - - - -#include "mlx.h" - - -void *mlx; -void *win1; -void *win2; - - - -int gere_mouse(int x,int y,int button,void*toto) -{ -  printf("Mouse event - new win\n"); -  mlx_destroy_window(mlx,win1); -  win1 = mlx_new_window(mlx,random()%500,random()%500,"new win"); -  mlx_mouse_hook(win1,gere_mouse,0); -} - - -int main() -{ -  srandom(time(0)); -  mlx = mlx_init(); -  win1 = mlx_new_window(mlx,300,300,"win1"); -  win2 = mlx_new_window(mlx,600,600,"win2"); -  mlx_mouse_hook(win1,gere_mouse,0); -  mlx_mouse_hook(win2,gere_mouse,0); -  mlx_loop(mlx); -} diff --git a/minilibx_linux/test/open.xpm b/minilibx_linux/test/open.xpm deleted file mode 100644 index 87be371..0000000 --- a/minilibx_linux/test/open.xpm +++ /dev/null @@ -1,1439 +0,0 @@ -/* XPM */ -static char * open30_2_xpm[] = { -"64 64 1372 2", -"  	c None", -". 	c #08090D", -"+ 	c #1A1E23", -"@ 	c #1F2124", -"# 	c #060809", -"$ 	c #1A1E21", -"% 	c #4F606C", -"& 	c #3D4145", -"* 	c #868D93", -"= 	c #454E56", -"- 	c #627481", -"; 	c #667C8A", -"> 	c #2D3031", -", 	c #D7E1E7", -"' 	c #4D5157", -") 	c #8997A5", -"! 	c #282E31", -"~ 	c #333B41", -"{ 	c #A5C6DB", -"] 	c #718C9B", -"^ 	c #000000", -"/ 	c #181B1F", -"( 	c #262828", -"_ 	c #D2DEE7", -": 	c #B8C5D0", -"< 	c #151719", -"[ 	c #08090B", -"} 	c #272B30", -"| 	c #2D3037", -"1 	c #26282C", -"2 	c #1A1D1F", -"3 	c #B1CADB", -"4 	c #56646E", -"5 	c #080809", -"6 	c #080A0C", -"7 	c #1E2126", -"8 	c #98B7C9", -"9 	c #A2CAE2", -"0 	c #7FA1B5", -"a 	c #06080A", -"b 	c #252729", -"c 	c #A7ADB2", -"d 	c #272B2E", -"e 	c #1E2023", -"f 	c #C8D8E5", -"g 	c #C9DDED", -"h 	c #8996A3", -"i 	c #6B7782", -"j 	c #C7DFF0", -"k 	c #CCE0F0", -"l 	c #AFC1CF", -"m 	c #47535B", -"n 	c #B0D3E8", -"o 	c #7E99A9", -"p 	c #738493", -"q 	c #97B4C7", -"r 	c #53606A", -"s 	c #6E8996", -"t 	c #A1CBE3", -"u 	c #9CC6DE", -"v 	c #90B5CB", -"w 	c #171D22", -"x 	c #1E2629", -"y 	c #020202", -"z 	c #ABB3BA", -"A 	c #BBC4C8", -"B 	c #222323", -"C 	c #141617", -"D 	c #5D6164", -"E 	c #ACB5BC", -"F 	c #676D74", -"G 	c #BDD4E5", -"H 	c #B3D1E7", -"I 	c #B0D1E7", -"J 	c #728A99", -"K 	c #94AEBF", -"L 	c #B1D1E7", -"M 	c #505C64", -"N 	c #7B98A9", -"O 	c #A1CBE0", -"P 	c #99C3D9", -"Q 	c #475863", -"R 	c #A0C9DE", -"S 	c #9CC6DA", -"T 	c #9ECAE1", -"U 	c #9CC5DD", -"V 	c #9AC4DC", -"W 	c #263137", -"X 	c #3C4A55", -"Y 	c #658190", -"Z 	c #66686B", -"` 	c #7D8085", -" .	c #363839", -"..	c #797E81", -"+.	c #D2DBE1", -"@.	c #DDE9F4", -"#.	c #CADEEF", -"$.	c #778593", -"%.	c #AED0E5", -"&.	c #9EC9DE", -"*.	c #9EC8DF", -"=.	c #9BC1D8", -"-.	c #9EC8DE", -";.	c #6B8596", -">.	c #9BC5DC", -",.	c #9BC6DF", -"'.	c #9CC5DC", -").	c #688595", -"!.	c #6B8698", -"~.	c #9CC4DC", -"{.	c #9BC4DC", -"].	c #9DC5DD", -"^.	c #647D8C", -"/.	c #485864", -"(.	c #161A1D", -"_.	c #36444C", -":.	c #95BDD5", -"<.	c #566E7E", -"[.	c #A4AAAD", -"}.	c #E9F2F7", -"|.	c #DEEAF6", -"1.	c #B5D4E9", -"2.	c #A9CFE3", -"3.	c #90B3C9", -"4.	c #9FCAE1", -"5.	c #9BC4DD", -"6.	c #7490A2", -"7.	c #99C2DB", -"8.	c #81A5BA", -"9.	c #9CC5DE", -"0.	c #98C1DA", -"a.	c #5F7889", -"b.	c #96BFD8", -"c.	c #44545F", -"d.	c #565A5E", -"e.	c #DFE6EC", -"f.	c #E6EEF7", -"g.	c #D6E4F2", -"h.	c #BFD6E9", -"i.	c #A9CCE3", -"j.	c #9FC8DD", -"k.	c #9DC6DD", -"l.	c #9CC4DD", -"m.	c #7D9FB0", -"n.	c #98C0D6", -"o.	c #9AC5DD", -"p.	c #97BFD8", -"q.	c #9BC5DF", -"r.	c #2D3840", -"s.	c #626567", -"t.	c #E7ECF5", -"u.	c #E1EAF5", -"v.	c #CEE3F3", -"w.	c #B7D6EA", -"x.	c #A4CBE0", -"y.	c #8AAFC5", -"z.	c #647F90", -"A.	c #648092", -"B.	c #89B0C7", -"C.	c #9CC6DF", -"D.	c #5D7486", -"E.	c #7B9BAF", -"F.	c #84A8BF", -"G.	c #9BC5DD", -"H.	c #96BED5", -"I.	c #4B5D69", -"J.	c #9BC5DE", -"K.	c #536B77", -"L.	c #2E3B41", -"M.	c #1B2124", -"N.	c #3F4F58", -"O.	c #4D5152", -"P.	c #E7EEF3", -"Q.	c #E2EAF5", -"R.	c #CEE2F2", -"S.	c #BAD5E9", -"T.	c #9DC2D7", -"U.	c #5C7281", -"V.	c #232A31", -"W.	c #08090A", -"X.	c #121418", -"Y.	c #131619", -"Z.	c #131719", -"`.	c #87ACC3", -" +	c #7B9BAE", -".+	c #87ADC3", -"++	c #8FB5CB", -"@+	c #678295", -"#+	c #96C0D8", -"$+	c #607787", -"%+	c #6B8595", -"&+	c #96C1DB", -"*+	c #6A8595", -"=+	c #35424A", -"-+	c #7090A1", -";+	c #15191C", -">+	c #2D3033", -",+	c #DDE5EB", -"'+	c #D2E3F1", -")+	c #BAD7EB", -"!+	c #A9CFE5", -"~+	c #272F35", -"{+	c #1C2227", -"]+	c #4F697B", -"^+	c #6B8FA9", -"/+	c #759CB6", -"(+	c #7BA0BB", -"_+	c #80A5BC", -":+	c #88B0C8", -"<+	c #96C3DB", -"[+	c #8FB6CD", -"}+	c #80A1B3", -"|+	c #556876", -"1+	c #96BFD7", -"2+	c #566B77", -"3+	c #93B8CD", -"4+	c #637A8D", -"5+	c #9DC6DE", -"6+	c #8FB4CA", -"7+	c #55697A", -"8+	c #6F8F9F", -"9+	c #91BDD5", -"0+	c #283239", -"a+	c #050406", -"b+	c #767B80", -"c+	c #BDC6CE", -"d+	c #D4E5F3", -"e+	c #C1D7EA", -"f+	c #A7CDE4", -"g+	c #9FC9DE", -"h+	c #668596", -"i+	c #6D90AA", -"j+	c #5C7994", -"k+	c #60849F", -"l+	c #6286A1", -"m+	c #688CA8", -"n+	c #7298B2", -"o+	c #82A8C2", -"p+	c #8FBAD5", -"q+	c #96C2DB", -"r+	c #89ADC4", -"s+	c #96BED6", -"t+	c #99C2DA", -"u+	c #6C899A", -"v+	c #92BBD2", -"w+	c #9AC4DD", -"x+	c #5B717D", -"y+	c #9EC6DE", -"z+	c #8BB1C9", -"A+	c #718EA0", -"B+	c #94C3DB", -"C+	c #536B78", -"D+	c #3E505F", -"E+	c #4E6373", -"F+	c #2C333C", -"G+	c #070708", -"H+	c #040404", -"I+	c #1A1C1E", -"J+	c #202326", -"K+	c #050606", -"L+	c #23292E", -"M+	c #A1C0D4", -"N+	c #9FC9DD", -"O+	c #97C2DB", -"P+	c #80A8C1", -"Q+	c #668AA6", -"R+	c #4B5D72", -"S+	c #4C647A", -"T+	c #5F80A0", -"U+	c #60859E", -"V+	c #678AA6", -"W+	c #739BB5", -"X+	c #85AEC7", -"Y+	c #92BDD7", -"Z+	c #96BFD5", -"`+	c #627B8A", -" @	c #89B1C9", -".@	c #2B353C", -"+@	c #7597B2", -"@@	c #779CB8", -"#@	c #52697C", -"$@	c #1D2328", -"%@	c #445663", -"&@	c #5E7A8D", -"*@	c #252F37", -"=@	c #090909", -"-@	c #859BB2", -";@	c #859DB8", -">@	c #6E8396", -",@	c #252C33", -"'@	c #9CC4D7", -")@	c #92C0D9", -"!@	c #79A0BA", -"~@	c #6487A3", -"{@	c #566979", -"]@	c #8CB0C2", -"^@	c #51697C", -"/@	c #60849D", -"(@	c #6D8EAC", -"_@	c #7BA0BC", -":@	c #8AB4CE", -"<@	c #95C2DB", -"[@	c #9AC5DC", -"}@	c #95C1DA", -"|@	c #607B8C", -"1@	c #597488", -"2@	c #7EA6BF", -"3@	c #597587", -"4@	c #455664", -"5@	c #668598", -"6@	c #82A9C4", -"7@	c #617F92", -"8@	c #1A2328", -"9@	c #2B3137", -"0@	c #728FAC", -"a@	c #51657B", -"b@	c #6B8AA8", -"c@	c #8EAEC7", -"d@	c #A8C8E2", -"e@	c #92BDD6", -"f@	c #769DBA", -"g@	c #526E87", -"h@	c #7490A0", -"i@	c #A6CDE4", -"j@	c #97BFD4", -"k@	c #55697D", -"l@	c #6286A0", -"m@	c #7399B3", -"n@	c #84ACC5", -"o@	c #92BFD9", -"p@	c #99C4DC", -"q@	c #94C0DA", -"r@	c #4F6575", -"s@	c #7DA5BF", -"t@	c #7FA2BC", -"u@	c #8FB6CE", -"v@	c #95C3DB", -"w@	c #8EB8D2", -"x@	c #6A879D", -"y@	c #111318", -"z@	c #252A30", -"A@	c #81868C", -"B@	c #A5ABAD", -"C@	c #70767C", -"D@	c #38434F", -"E@	c #637F9B", -"F@	c #516980", -"G@	c #799AB5", -"H@	c #A5C3D9", -"I@	c #93BDD6", -"J@	c #779EBA", -"K@	c #445A6B", -"L@	c #93B5C9", -"M@	c #B6D3E8", -"N@	c #AECFE4", -"O@	c #95BDD2", -"P@	c #52687A", -"Q@	c #6486A3", -"R@	c #7092B0", -"S@	c #90BCD6", -"T@	c #97C4DC", -"U@	c #A0C9E0", -"V@	c #99C5DD", -"W@	c #86AEC6", -"X@	c #8FBAD4", -"Y@	c #91BDD6", -"Z@	c #7094AC", -"`@	c #2A353E", -" #	c #0B0E10", -".#	c #888D90", -"+#	c #787D82", -"@#	c #465360", -"##	c #56697F", -"$#	c #A6CADD", -"%#	c #5A7382", -"&#	c #6C8CAA", -"*#	c #A5BED3", -"=#	c #A7CAE0", -"-#	c #94C1DA", -";#	c #7EA4BF", -">#	c #415160", -",#	c #9DC3D5", -"'#	c #B3CFE1", -")#	c #AAC3D4", -"!#	c #A8CDE4", -"~#	c #89ACBE", -"{#	c #567088", -"]#	c #6C91AC", -"^#	c #81A7C2", -"/#	c #96C4DC", -"(#	c #85A9BD", -"_#	c #708C9B", -":#	c #5A6E7B", -"<#	c #6C8695", -"[#	c #97C3DB", -"}#	c #8BB5CE", -"|#	c #425461", -"1#	c #63819E", -"2#	c #415465", -"3#	c #0B0D0E", -"4#	c #607387", -"5#	c #687D8C", -"6#	c #B8D6E9", -"7#	c #7893A2", -"8#	c #576F85", -"9#	c #A7BACF", -"0#	c #B0CEE5", -"a#	c #98C4DC", -"b#	c #88B1CA", -"c#	c #36444E", -"d#	c #8FA0AD", -"e#	c #73818D", -"f#	c #596D81", -"g#	c #B4D0E4", -"h#	c #A3CDE2", -"i#	c #658296", -"j#	c #6A8DAB", -"k#	c #7BA5C0", -"l#	c #94BAD2", -"m#	c #6D899B", -"n#	c #99C3DC", -"o#	c #8EB9D2", -"p#	c #7AA0BA", -"q#	c #6C8FAB", -"r#	c #6484A1", -"s#	c #1F252C", -"t#	c #121619", -"u#	c #7E96B0", -"v#	c #7A8A96", -"w#	c #BCD7EA", -"x#	c #A0C5D9", -"y#	c #3C4B57", -"z#	c #A9BACD", -"A#	c #BCD5E8", -"B#	c #84A6BA", -"C#	c #8EA1AE", -"D#	c #CFD1D4", -"E#	c #ECF6FA", -"F#	c #ABB7C2", -"G#	c #556F84", -"H#	c #57626A", -"I#	c #5C7078", -"J#	c #6C8AA7", -"K#	c #80A6C0", -"L#	c #91B8D0", -"M#	c #94BFD8", -"N#	c #87B0CA", -"O#	c #7CA2BB", -"P#	c #7097AF", -"Q#	c #495E6F", -"R#	c #0C0E11", -"S#	c #3A3F43", -"T#	c #8AA3BB", -"U#	c #778592", -"V#	c #C0D8EB", -"W#	c #B3D5E9", -"X#	c #404A53", -"Y#	c #B2C2D3", -"Z#	c #96A1AC", -"`#	c #9DB2C3", -" $	c #AEBECE", -".$	c #EDEFF3", -"+$	c #F7FAFC", -"@$	c #B6BFC7", -"#$	c #556E85", -"$$	c #121314", -"%$	c #2B2E2F", -"&$	c #555A5E", -"*$	c #3B4C5B", -"=$	c #6F8EA4", -"-$	c #92BED8", -";$	c #9DC7DF", -">$	c #87ACC1", -",$	c #546A78", -"'$	c #516874", -")$	c #4E6570", -"!$	c #4D6271", -"~$	c #4C6271", -"{$	c #4E677A", -"]$	c #38454E", -"^$	c #6C7278", -"/$	c #86A1B6", -"($	c #5C656C", -"_$	c #A4B0BA", -":$	c #555D64", -"<$	c #657178", -"[$	c #A6B0B5", -"}$	c #939CA1", -"|$	c #D4E4F1", -"1$	c #A0BACE", -"2$	c #B9C7D7", -"3$	c #F6F7F9", -"4$	c #C6CED1", -"5$	c #506A7C", -"6$	c #060607", -"7$	c #676A6B", -"8$	c #91999F", -"9$	c #7CA3BE", -"0$	c #96BCD4", -"a$	c #5B717E", -"b$	c #4B5F6C", -"c$	c #455864", -"d$	c #5B717F", -"e$	c #81A5B9", -"f$	c #98C4DD", -"g$	c #93BFD8", -"h$	c #87B1CA", -"i$	c #7BA1BC", -"j$	c #5A7489", -"k$	c #222A33", -"l$	c #838A92", -"m$	c #9DADBC", -"n$	c #ECF0F5", -"o$	c #F1F9FB", -"p$	c #818A8D", -"q$	c #4A5155", -"r$	c #6A6F72", -"s$	c #7E898F", -"t$	c #E6F1F7", -"u$	c #CADCED", -"v$	c #A0B7CC", -"w$	c #C6D1DF", -"x$	c #AFB3B4", -"y$	c #5F707D", -"z$	c #CBCFD1", -"A$	c #F4F5F6", -"B$	c #66737F", -"C$	c #87B2CB", -"D$	c #90B7CD", -"E$	c #596E7B", -"F$	c #586F7E", -"G$	c #8BB0C8", -"H$	c #91BED6", -"I$	c #83ADC7", -"J$	c #6D8EA7", -"K$	c #3F5161", -"L$	c #2D3A45", -"M$	c #1F2020", -"N$	c #BDC5CC", -"O$	c #E0EDF5", -"P$	c #BBCAD8", -"Q$	c #E1E4E7", -"R$	c #5E6368", -"S$	c #5B5F62", -"T$	c #D9E7F3", -"U$	c #A4C3D6", -"V$	c #89A3B3", -"W$	c #7B91A1", -"X$	c #627990", -"Y$	c #42505A", -"Z$	c #CACCCE", -"`$	c #F9F9F9", -" %	c #FDFDFD", -".%	c #BCBEC0", -"+%	c #5C7689", -"@%	c #8DB9D3", -"#%	c #8FB5CC", -"$%	c #536471", -"%%	c #98C1D9", -"&%	c #91BED7", -"*%	c #81AAC5", -"=%	c #597386", -"-%	c #41535F", -";%	c #6486A2", -">%	c #4D667D", -",%	c #070809", -"'%	c #44484E", -")%	c #BEC8D0", -"!%	c #8096A6", -"~%	c #516473", -"{%	c #A9ACAF", -"]%	c #8B8F91", -"^%	c #A8B3BD", -"/%	c #C5DAEB", -"(%	c #9FC8E1", -"_%	c #8FBCD6", -":%	c #81A8C2", -"<%	c #6C90AC", -"[%	c #56728C", -"}%	c #585B5F", -"|%	c #CBCDCD", -"1%	c #C1C3C6", -"2%	c #4F565F", -"3%	c #82ABC3", -"4%	c #93BCD3", -"5%	c #95BED7", -"6%	c #8EB9D3", -"7%	c #5B788B", -"8%	c #627E91", -"9%	c #7FA7C1", -"0%	c #6C91AB", -"a%	c #546F87", -"b%	c #6F7376", -"c%	c #D5E2EF", -"d%	c #A9C4D8", -"e%	c #81A1BA", -"f%	c #333940", -"g%	c #5F6B76", -"h%	c #C0D5E8", -"i%	c #AACCE2", -"j%	c #8EB8D3", -"k%	c #7FA5BF", -"l%	c #7095B0", -"m%	c #4E697E", -"n%	c #07090A", -"o%	c #0D0F10", -"p%	c #7193A6", -"q%	c #96C3DC", -"r%	c #8EBCD7", -"s%	c #91BDD7", -"t%	c #8FBBD6", -"u%	c #7699AD", -"v%	c #4D626F", -"w%	c #252D33", -"x%	c #101215", -"y%	c #0C0D0E", -"z%	c #0A0C0E", -"A%	c #06090A", -"B%	c #7F8488", -"C%	c #D7E3F1", -"D%	c #B6D0E4", -"E%	c #A3C2D7", -"F%	c #596872", -"G%	c #A9BED0", -"H%	c #B4D0E5", -"I%	c #9EC8DC", -"J%	c #8FB9D4", -"K%	c #85ADC7", -"L%	c #7FA4BE", -"M%	c #4B606F", -"N%	c #4E6372", -"O%	c #89B6D0", -"P%	c #92C1DA", -"Q%	c #9DC7DD", -"R%	c #95C0DA", -"S%	c #94BED8", -"T%	c #8BB8D1", -"U%	c #7AA0B9", -"V%	c #4E667A", -"W%	c #344151", -"X%	c #0C0D0F", -"Y%	c #8A8F92", -"Z%	c #D4E6F5", -"`%	c #BCD5E9", -" &	c #8599A5", -".&	c #939DA6", -"+&	c #C4DAEB", -"@&	c #89A6B9", -"#&	c #7D9FB5", -"$&	c #98C3DC", -"%&	c #95C0D9", -"&&	c #7CA2B9", -"*&	c #7697AE", -"=&	c #698498", -"-&	c #7394A8", -";&	c #9EC7DF", -">&	c #8DB1C4", -",&	c #6B8594", -"'&	c #50636C", -")&	c #50626C", -"!&	c #7F9FB1", -"~&	c #93B8D0", -"{&	c #627A88", -"]&	c #90B6CC", -"^&	c #93BDD7", -"/&	c #87AFC9", -"(&	c #7291A7", -"_&	c #384651", -":&	c #121618", -"<&	c #12171B", -"[&	c #4F6986", -"}&	c #597998", -"|&	c #324052", -"1&	c #969CA1", -"2&	c #D6E6F5", -"3&	c #C6DCEE", -"4&	c #505A64", -"5&	c #82929F", -"6&	c #99ABBB", -"7&	c #A1B9CA", -"8&	c #87A0B0", -"9&	c #718EA1", -"0&	c #8DB2C9", -"a&	c #8BAEC4", -"b&	c #586D7D", -"c&	c #97C0D9", -"d&	c #8DB3C9", -"e&	c #95B8CD", -"f&	c #9DC0D6", -"g&	c #6F8B9C", -"h&	c #354249", -"i&	c #464E54", -"j&	c #8A98A5", -"k&	c #AABAC7", -"l&	c #86939E", -"m&	c #41494F", -"n&	c #4A5861", -"o&	c #97C1DA", -"p&	c #5E7888", -"q&	c #5C7482", -"r&	c #88ACC2", -"s&	c #91BFD7", -"t&	c #799CB5", -"u&	c #47596A", -"v&	c #0D0F12", -"w&	c #1A2127", -"x&	c #56778D", -"y&	c #688BA9", -"z&	c #5D7F9E", -"A&	c #547391", -"B&	c #0E1013", -"C&	c #9DA6AB", -"D&	c #C8DCED", -"E&	c #7A8996", -"F&	c #B5CEE0", -"G&	c #BCDBEC", -"H&	c #B9D5EA", -"I&	c #8BA2B2", -"J&	c #6C8A9D", -"K&	c #97BFD7", -"L&	c #3E4E59", -"M&	c #92B5CB", -"N&	c #535F68", -"O&	c #454F56", -"P&	c #6F7C87", -"Q&	c #ABC0D1", -"R&	c #C7DCEE", -"S&	c #C5DBED", -"T&	c #C2D7EA", -"U&	c #BFD8EA", -"V&	c #BCD7EB", -"W&	c #62717B", -"X&	c #5B6F7B", -"Y&	c #95C3DC", -"Z&	c #8BB2C9", -"`&	c #485761", -" *	c #42525F", -".*	c #6686A1", -"+*	c #587896", -"@*	c #1B2129", -"#*	c #5C7A94", -"$*	c #7DA2BD", -"%*	c #84AEC7", -"&*	c #749BB5", -"**	c #5C7E9C", -"=*	c #27343F", -"-*	c #A4A9B2", -";*	c #D9E7F4", -">*	c #C8DBEC", -",*	c #B1C8DA", -"'*	c #5D6C76", -")*	c #A8C5D8", -"!*	c #A6BDD0", -"~*	c #B9D6EA", -"{*	c #B9D4E9", -"]*	c #8198A8", -"^*	c #8AADC3", -"/*	c #8CB1CA", -"(*	c #96C2D8", -"_*	c #A3C7DF", -":*	c #ADCDE3", -"<*	c #ABD0E4", -"[*	c #ADCFE3", -"}*	c #AACEE4", -"|*	c #A4CDE3", -"1*	c #A1CBE1", -"2*	c #A3CCE3", -"3*	c #A2C9DF", -"4*	c #41515A", -"5*	c #81A2B5", -"6*	c #94C0D7", -"7*	c #5E7789", -"8*	c #526777", -"9*	c #516777", -"0*	c #6B8CA5", -"a*	c #759CBA", -"b*	c #658AA5", -"c*	c #587798", -"d*	c #1B242B", -"e*	c #0E1110", -"f*	c #101214", -"g*	c #202931", -"h*	c #59758E", -"i*	c #799FBB", -"j*	c #84B1CA", -"k*	c #86ACC6", -"l*	c #354758", -"m*	c #A0A6AE", -"n*	c #DAE6F2", -"o*	c #C4DCEE", -"p*	c #B4D2E8", -"q*	c #3E4A53", -"r*	c #698091", -"s*	c #5D7581", -"t*	c #A3CAE0", -"u*	c #A6CFE5", -"v*	c #A5CCE5", -"w*	c #718A9C", -"x*	c #98C3DB", -"y*	c #83ABC7", -"z*	c #2E3B46", -"A*	c #33414A", -"B*	c #678398", -"C*	c #8AB3CE", -"D*	c #93BED7", -"E*	c #97C4DB", -"F*	c #42525E", -"G*	c #88ACC0", -"H*	c #789EB9", -"I*	c #7A9FBB", -"J*	c #7EA2BD", -"K*	c #779DB5", -"L*	c #577081", -"M*	c #5B7B9B", -"N*	c #1D2229", -"O*	c #547390", -"P*	c #54728D", -"Q*	c #6082A0", -"R*	c #688EA9", -"S*	c #6689A7", -"T*	c #6086A0", -"U*	c #6285A1", -"V*	c #6B8DAA", -"W*	c #718FAB", -"X*	c #3E5568", -"Y*	c #969DA1", -"Z*	c #DBE8F4", -"`*	c #95ACBD", -" =	c #758B9A", -".=	c #A4C9DE", -"+=	c #698190", -"@=	c #667E8A", -"#=	c #7D99AA", -"$=	c #7B9BAD", -"%=	c #6F8C9A", -"&=	c #536976", -"*=	c #84ADC6", -"==	c #6D92AD", -"-=	c #62829E", -";=	c #43576A", -">=	c #2F3B46", -",=	c #5C788A", -"'=	c #86AFC8", -")=	c #93BED8", -"!=	c #93BAD5", -"~=	c #93BAD2", -"{=	c #92BCD4", -"]=	c #7EA2B6", -"^=	c #3D4D56", -"/=	c #485B67", -"(=	c #7596A9", -"_=	c #8CBBD4", -":=	c #90BCD5", -"<=	c #91BFD9", -"[=	c #789BAD", -"}=	c #465B6A", -"|=	c #59789A", -"1=	c #5D7F9D", -"2=	c #5E839C", -"3=	c #59799A", -"4=	c #415569", -"5=	c #2D3A46", -"6=	c #2E3B49", -"7=	c #4A647C", -"8=	c #587690", -"9=	c #39485A", -"0=	c #7F8589", -"a=	c #D9E8F5", -"b=	c #CCDEEE", -"c=	c #8597A5", -"d=	c #B3D2E3", -"e=	c #9BB3C4", -"f=	c #B2CEE1", -"g=	c #B2D1E7", -"h=	c #ABCFE6", -"i=	c #94B7CB", -"j=	c #495C6A", -"k=	c #688498", -"l=	c #617B8A", -"m=	c #85ADC8", -"n=	c #78A0B9", -"o=	c #62819B", -"p=	c #2E3843", -"q=	c #485A6C", -"r=	c #67889C", -"s=	c #8AB5CF", -"t=	c #8EB9D1", -"u=	c #6C899B", -"v=	c #6E91A7", -"w=	c #678399", -"x=	c #6888A1", -"y=	c #323E48", -"z=	c #5B7585", -"A=	c #98C5DD", -"B=	c #83ACC1", -"C=	c #2D373F", -"D=	c #4B637C", -"E=	c #567694", -"F=	c #26313C", -"G=	c #15191F", -"H=	c #4D647A", -"I=	c #252F39", -"J=	c #5D6163", -"K=	c #DDE9F5", -"L=	c #CEDFEE", -"M=	c #8898A5", -"N=	c #B0CBDC", -"O=	c #BFDAEC", -"P=	c #BFDBEC", -"Q=	c #BBDAEC", -"R=	c #BAD7EA", -"S=	c #6B808F", -"T=	c #7297B0", -"U=	c #8CB8D1", -"V=	c #95C1D9", -"W=	c #91BCD6", -"X=	c #86AEC8", -"Y=	c #7496B3", -"Z=	c #6587A2", -"`=	c #384958", -" -	c #323F4B", -".-	c #546A7C", -"+-	c #6C88A1", -"@-	c #779AB1", -"#-	c #658297", -"$-	c #3B4A58", -"%-	c #33404B", -"&-	c #202830", -"*-	c #577287", -"=-	c #86B1CC", -"--	c #86ACC0", -";-	c #6E8797", -">-	c #9CC7DF", -",-	c #92BCD5", -"'-	c #91BCD5", -")-	c #8EB6CE", -"!-	c #344453", -"~-	c #263039", -"{-	c #364452", -"]-	c #2B3643", -"^-	c #2A2D2E", -"/-	c #E1EBF4", -"(-	c #D2E4F3", -"_-	c #A0B2C3", -":-	c #8094A1", -"<-	c #BAD8EB", -"[-	c #B8D6EA", -"}-	c #485A6A", -"|-	c #789FB9", -"1-	c #90BBD3", -"2-	c #94C4DC", -"3-	c #88B3CD", -"4-	c #7A9EB9", -"5-	c #698BA8", -"6-	c #4D677C", -"7-	c #151A1E", -"8-	c #1A2125", -"9-	c #171C21", -"0-	c #1D2329", -"a-	c #1D262E", -"b-	c #486073", -"c-	c #6A8CAA", -"d-	c #7CA2BE", -"e-	c #90BDD7", -"f-	c #9AC5DE", -"g-	c #7493A2", -"h-	c #708B99", -"i-	c #8CB7D1", -"j-	c #7494AB", -"k-	c #68889F", -"l-	c #6A8FA5", -"m-	c #7BA2BC", -"n-	c #171D21", -"o-	c #1D262F", -"p-	c #212B36", -"q-	c #09090B", -"r-	c #BBC2C9", -"s-	c #D4E4F2", -"t-	c #C1D9EB", -"u-	c #44515A", -"v-	c #92B5C9", -"w-	c #6B8795", -"x-	c #4E687E", -"y-	c #7EA6C0", -"z-	c #91BED8", -"A-	c #93BFD9", -"B-	c #8CB5D0", -"C-	c #7DA4BE", -"D-	c #6F92AE", -"E-	c #6687A5", -"F-	c #526C85", -"G-	c #415669", -"H-	c #384655", -"I-	c #6589A4", -"J-	c #6E92AE", -"K-	c #80A8C2", -"L-	c #92BCD6", -"M-	c #91BFD8", -"N-	c #799AAF", -"O-	c #6A8796", -"P-	c #81AAC3", -"Q-	c #577187", -"R-	c #1F2930", -"S-	c #192027", -"T-	c #1B2227", -"U-	c #0D1010", -"V-	c #0E1012", -"W-	c #070709", -"X-	c #5C6062", -"Y-	c #DCE8F3", -"Z-	c #C4DCEF", -"`-	c #9BB3C6", -" ;	c #3A424F", -".;	c #313A44", -"+;	c #35424C", -"@;	c #374655", -"#;	c #6E91AD", -"$;	c #87B2CC", -"%;	c #799EBA", -"&;	c #618298", -"*;	c #7095AF", -"=;	c #435663", -"-;	c #80A7C0", -";;	c #95C4DC", -">;	c #779CB3", -",;	c #526D7E", -"';	c #516A7A", -");	c #526B7B", -"!;	c #465764", -"~;	c #34414E", -"{;	c #5C7E9A", -"];	c #2B3741", -"^;	c #4B657F", -"/;	c #5C7D9C", -"(;	c #557088", -"_;	c #0F0F10", -":;	c #B9C2CA", -"<;	c #CCDFEF", -"[;	c #B4CDE1", -"};	c #8DAEC8", -"|;	c #6F93AE", -"1;	c #678CA6", -"2;	c #6E92AF", -"3;	c #81A8C1", -"4;	c #8FBBD5", -"5;	c #8DB9D2", -"6;	c #6D8FA2", -"7;	c #586F82", -"8;	c #394851", -"9;	c #86B0C6", -"0;	c #85AFC8", -"a;	c #6F94AF", -"b;	c #698DA8", -"c;	c #6889A7", -"d;	c #5E7E9F", -"e;	c #475D75", -"f;	c #2E3C4A", -"g;	c #5D7E9D", -"h;	c #405465", -"i;	c #36393B", -"j;	c #D7E5F1", -"k;	c #A4C5DC", -"l;	c #668496", -"m;	c #7595AB", -"n;	c #7798AE", -"o;	c #97C2DA", -"p;	c #789DB3", -"q;	c #8BB1C8", -"r;	c #93C0D9", -"s;	c #8BB5CF", -"t;	c #85AFC9", -"u;	c #82AAC6", -"v;	c #5F7C95", -"w;	c #1E252C", -"x;	c #54728E", -"y;	c #587899", -"z;	c #5A7B9B", -"A;	c #2D3843", -"B;	c #798086", -"C;	c #D1E3F1", -"D;	c #B7D3E8", -"E;	c #7E98AB", -"F;	c #181C1F", -"G;	c #46525F", -"H;	c #80A1B8", -"I;	c #99C3DB", -"J;	c #85ACC2", -"K;	c #21272D", -"L;	c #0A0B0D", -"M;	c #53718C", -"N;	c #577797", -"O;	c #1B2229", -"P;	c #0D0E0F", -"Q;	c #B3BDC4", -"R;	c #CADDED", -"S;	c #B4D3E7", -"T;	c #2B3339", -"U;	c #2F3840", -"V;	c #7899AC", -"W;	c #93C1D9", -"X;	c #8FBCD5", -"Y;	c #8BB6D1", -"Z;	c #8DB8D2", -"`;	c #92BFD8", -" >	c #678092", -".>	c #547089", -"+>	c #5C7F9B", -"@>	c #1F262E", -"#>	c #202223", -"$>	c #B1BECB", -"%>	c #C3D9EB", -"&>	c #7B8D99", -"*>	c #708B9A", -"=>	c #85ABC1", -"->	c #7FA3BA", -";>	c #92BBD3", -">>	c #7CA0B4", -",>	c #97BDD4", -"'>	c #657E8F", -")>	c #93BDD4", -"!>	c #88ADC7", -"~>	c #6F94AE", -"{>	c #526A7E", -"]>	c #65849B", -"^>	c #799DBB", -"/>	c #84AFC9", -"(>	c #8FB9D2", -"_>	c #323C45", -":>	c #516C84", -"<>	c #658AA4", -"[>	c #5B7C9B", -"}>	c #2E3A49", -"|>	c #2A3038", -"1>	c #252D3A", -"2>	c #1B1E20", -"3>	c #ADBFCF", -"4>	c #C0D6E7", -"5>	c #B0CDE2", -"6>	c #8EB3C9", -"7>	c #526975", -"8>	c #6B899D", -"9>	c #597183", -"0>	c #90BAD5", -"a>	c #94C2DA", -"b>	c #82ABC5", -"c>	c #495E6E", -"d>	c #82A8C3", -"e>	c #81A4BA", -"f>	c #7594A5", -"g>	c #87ABC3", -"h>	c #4D6573", -"i>	c #6689A6", -"j>	c #526E85", -"k>	c #243037", -"l>	c #607B96", -"m>	c #7699B6", -"n>	c #789EB5", -"o>	c #303D48", -"p>	c #7498B4", -"q>	c #7094AF", -"r>	c #597792", -"s>	c #242F39", -"t>	c #1A1D25", -"u>	c #374553", -"v>	c #4D677D", -"w>	c #14191E", -"x>	c #040505", -"y>	c #171A1D", -"z>	c #8A9FAD", -"A>	c #BCD9EC", -"B>	c #B5D3E7", -"C>	c #A2CAE1", -"D>	c #9DC7DE", -"E>	c #9EC7DD", -"F>	c #3B4A57", -"G>	c #455867", -"H>	c #98C2DB", -"I>	c #85B0CC", -"J>	c #7496B2", -"K>	c #4C606F", -"L>	c #6E8EA3", -"M>	c #7EA0B6", -"N>	c #91BBD3", -"O>	c #8DB7D1", -"P>	c #90BAD4", -"Q>	c #96C1DA", -"R>	c #3B4853", -"S>	c #688AA5", -"T>	c #4C657A", -"U>	c #1B2026", -"V>	c #2B3C44", -"W>	c #5F7A90", -"X>	c #587284", -"Y>	c #536978", -"Z>	c #88B1CC", -"`>	c #759AB8", -" ,	c #617E9A", -".,	c #556F85", -"+,	c #20272E", -"@,	c #323D48", -"#,	c #333E4A", -"$,	c #060707", -"%,	c #4A5159", -"&,	c #ACC3D5", -"*,	c #ACCFE5", -"=,	c #5A6874", -"-,	c #AACDE1", -";,	c #9CC6DC", -">,	c #35414C", -",,	c #769AB2", -"',	c #80AAC5", -"),	c #6F92AB", -"!,	c #38464F", -"~,	c #7EA4B9", -"{,	c #97C3DC", -"],	c #7A9FB6", -"^,	c #3F505C", -"/,	c #6D8DA6", -"(,	c #1E282E", -"_,	c #080909", -":,	c #090A0C", -"<,	c #344452", -"[,	c #3B4857", -"},	c #7799AE", -"|,	c #8DB6D1", -"1,	c #66869E", -"2,	c #3D4957", -"3,	c #536C84", -"4,	c #353F4C", -"5,	c #111215", -"6,	c #65727E", -"7,	c #A6BCCD", -"8,	c #5D6972", -"9,	c #AED0E6", -"0,	c #99C5DC", -"a,	c #8DB5D0", -"b,	c #8DB5CE", -"c,	c #90BBD5", -"d,	c #84AAC5", -"e,	c #8EBBD5", -"f,	c #80A7C1", -"g,	c #6C8DA2", -"h,	c #85AFC6", -"i,	c #61839B", -"j,	c #374352", -"k,	c #576D83", -"l,	c #80A6C1", -"m,	c #81A4BB", -"n,	c #111315", -"o,	c #111418", -"p,	c #4C6378", -"q,	c #33424C", -"r,	c #37454D", -"s,	c #8DB4CF", -"t,	c #7397B3", -"u,	c #3A495A", -"v,	c #0D0F13", -"w,	c #27303A", -"x,	c #272E36", -"y,	c #0F1012", -"z,	c #90A4B2", -"A,	c #A8CBE2", -"B,	c #91BCD4", -"C,	c #80ABC3", -"D,	c #567083", -"E,	c #67899D", -"F,	c #94C2DB", -"G,	c #95C1DB", -"H,	c #779CB2", -"I,	c #60849E", -"J,	c #64849F", -"K,	c #1A1F22", -"L,	c #405061", -"M,	c #79A1BD", -"N,	c #324051", -"O,	c #6183A1", -"P,	c #6B8FAD", -"Q,	c #6485A2", -"R,	c #34444F", -"S,	c #060606", -"T,	c #2D3339", -"U,	c #B2CBDF", -"V,	c #94BCD5", -"W,	c #7DA2BA", -"X,	c #3F5264", -"Y,	c #5A7991", -"Z,	c #7195B3", -"`,	c #7BA5BD", -" '	c #81AAC6", -".'	c #88B2CC", -"+'	c #8EBBD4", -"@'	c #8AB2CC", -"#'	c #82ADC7", -"$'	c #7092A5", -"%'	c #95C2DA", -"&'	c #41525F", -"*'	c #6387A3", -"='	c #475F72", -"-'	c #21282F", -";'	c #5B7288", -">'	c #0D0F11", -",'	c #0B0E11", -"''	c #212C36", -")'	c #26323C", -"!'	c #161B20", -"~'	c #55616D", -"{'	c #9BB9D0", -"]'	c #799EB6", -"^'	c #27313A", -"/'	c #1A222B", -"('	c #5D7E99", -"_'	c #6587A4", -":'	c #6789A6", -"<'	c #6B8EAB", -"['	c #628097", -"}'	c #6D8B9D", -"|'	c #769AAF", -"1'	c #6E91A9", -"2'	c #6C8EAD", -"3'	c #6E91AF", -"4'	c #3C4D59", -"5'	c #8BB1CB", -"6'	c #232D32", -"7'	c #13171B", -"8'	c #232B32", -"9'	c #839AAF", -"0'	c #789BB3", -"a'	c #283138", -"b'	c #0C0E0F", -"c'	c #242B33", -"d'	c #3D4D5B", -"e'	c #435768", -"f'	c #4B6176", -"g'	c #283137", -"h'	c #8DB4CC", -"i'	c #41535E", -"j'	c #405362", -"k'	c #3C4F60", -"l'	c #3C4E5B", -"m'	c #2B353E", -"n'	c #526876", -"o'	c #92BAD3", -"p'	c #1B1F23", -"q'	c #31383F", -"r'	c #7F9CB6", -"s'	c #21292F", -"t'	c #29333F", -"u'	c #1F252E", -"v'	c #090A0E", -"w'	c #4D626E", -"x'	c #96BDD3", -"y'	c #191D20", -"z'	c #13181B", -"A'	c #80A4BC", -"B'	c #1B2027", -"C'	c #5D7182", -"D'	c #2C383F", -"E'	c #364857", -"F'	c #1A2028", -"G'	c #333F49", -"H'	c #7FA2B5", -"I'	c #4A5E6E", -"J'	c #232E35", -"K'	c #252D35", -"L'	c #2F3A41", -"M'	c #0A0B0E", -"N'	c #14191D", -"O'	c #5A717F", -"P'	c #212931", -"Q'	c #222B34", -"R'	c #101216", -"S'	c #21272B", -"                                                                                                                                ", -"                                                                                                                                ", -"                                                                                                                                ", -"                                                                    .                                                           ", -"                                                                    +                                                           ", -"                                    @               #             $ %                                                           ", -"                                  & *               =             - ;                                                           ", -"                                  > , '             ) !         ~ { ]                                                           ", -"                  ^ /             ( _ : < [ } | 1 2 3 4 5 6   7 8 9 0 a                                                         ", -"                  b c d           e f g h i j k l m n o p q r s t u v w         x                                               ", -"                  y z A B   C D E F G H I J K L M N O P Q R S T U U V W       X Y                                               ", -"                    Z `  ...+.@.#.$.%.O &.*.=.-.;.>.,.'.).!.~.~.~.{.].^./.(._.:.<.                                              ", -"                    b [.}.|.#.1.2.3.4.{.~.~.~.~.5.6.5.~.7.8.{.~.~.~.~.9.0.a.b.].c.                                              ", -"                  d.e.f.g.h.i.j.k.{.~.~.~.~.l.~.m.% n.~.o.{.{.~.~.~.~.p.V 9.~.q.r.                                              ", -"                s.t.u.v.w.x.u y.z.A.B.5.~.~.5.C.D.E.F.~.~.G.~.~.~.G.H.I.J.~.~.J.K.L.  M.N.                                      ", -"              O.P.Q.R.S.T.U.V.W.X.Y.Z.`.~.~.5. +.+++@+U ~.~.~.~.~.#+$+%+,.~.~.G.&+*+=+-+;+                                      ", -"            >+,+Q.'+)+!+~+{+]+^+/+(+_+:+<+~.[+}+U 9.|+5.~.~.~.~.1+2+3+4+5+~.].6+7+8+9+0+                                        ", -"          a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+5.U ~.U r+s+~.~.~.t+u+v+w+x+y+~.z+A+t+B+C+D+E+          F+G+                        ", -"        H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+V ~.~.~.~.U ~.~.~.o.9.{.Z+`+9.~.~.~.V  @.@+@@@#@  $@%@&@*@                          ", -"        =@-@;@>@,@'@'.)@!@~@{@]@^@/@l+(@_@:@<@~.~.~.U {.~.~.~.{.~.~.{.[@~.~.~.~.}@|@1@2@3@4@5@6@7@8@                            ", -"        9@0@a@b@c@d@-.e@f@g@h@i@j@k@l@V+m@n@o@p@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.q@r@s@t@u@v@w@x@y@                              ", -"z@A@B@C@D@E@X F@G@H@R I@J@K@L@M@N@O@P@Q@R@o+S@T@~.~.~.~.~.~.~.~.~.~.~.~.~.~.9.U@V@W@X@<+V Y@Z@`@ #                              ", -"    .#+#@###$#%#&#*#=#-#;#>#,#'#)#!#~#{#]#^#S@/#~.~.~.~.~.~.~.~.~.~.~.~.~.U (#_#:#<#p@{.[#}#|#1#2#                              ", -"      3#4#5#6#7#8#9#0#a#b#c#d#e#f#g#h#i#j#k#S@/#~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.l#m#9.{.~.n#o#p#q#r#s#                            ", -"      t#u#v#w#x#y#z#A#B#C#D#E#F#G#H#I#% J#K#S@T@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.L#0.l.~.~.{.M#N#O#P#Q#R#                          ", -"      S#T#U#V#W#X#Y#Z#`# $.$+$@$#$$$%$&$*$=$-$a#~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.o.o.;$9.G.~.>$,$'$)$!$~${$]$                      ", -"      ^$/$($_$:$<$[$}$|$1$2$3$4$5$6$7$8$9$:+<+~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.G.0$a$b$c$d$e$f$g$h$i$j$k$                        ", -"    [ l$m$n$o$p$q$r$s$t$u$v$w$x$y$z$A$B$C$M#p@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.;$D$E$F$G$H$I$J$K$L$                          ", -"    M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$`$ %.%+%@%<+{.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.#%$%%%p@&%*%=%-%;%>%,%                        ", -"    '%)%!%~%{%]%^%/%(%_%:%<%[%}%|%1%2%3%-$T@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.4%5%U p@6%7%8%9%0%a%y                         ", -"    b%c%d%e%f%g%h%i%G.[#j%k%l%m%n%o%p%@%q%{.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.~.~.~.~.~.~.V G.}@r%s%t%u%v%w%M.x%y%z%A%              ", -"    B%C%D%E%F%G%H%I%V o.<@J%K%L%M%N%O%P%p@~.~.~.~.~.~.~.~.~.U ~.~.U 9.Q%{.~.~.~.~.~.{.%%U {.~.~.{.v@R%S%T%U%V%W%    X%$         ", -"    Y%Z%`% &.&+&@&#&U ~.{.$&%&&&*&=&-&T@~.~.~.~.~.~.~.~.~.~.~.;&>&,&'&)&!&5+~.~.~.~.{.~&{&]&9.~.p@^&/&(&_&:&      <&[&}&|&      ", -"    1&2&3&4&5&6&7&8&9&l.~.{.V 0&a&b&c&~.~.~.~.~.~.~.5.d&e&f&g&h&i&j&k&l&m&n&~.~.G.~.~.~.o&p&q&r&s&t&u&v&        w&x&y&z&A&B&    ", -"    C&2&D&E&F&G&G&H&I&J&U ~.~.U K&L&,.~.~.~.~.~.~.~.U M&N&O&P&Q&R&S&T&U&V&W&X&].{.~.~.{./#Y&Z&`& *.*+*@*      (.#*$*%*&***=*    ", -"    -*;*>*,*'*)*!*~*{*]*^*~.5.{.5./*U ~.~.~.~.~.~.{.[#(*_*:*<*[*[*}*|*1*2*3*4*5*U ~.~.6*7*8*9*0*a*b*c*d*e*f*g*h*i*%*j*k*<%l*    ", -"    m*n*o*p*q*r*s*t*u*v*w*1+~.~.~.~.~.~.~.~.~.~.~.x*y*z*A*B*C*D*E*V U ~.G.~.:.F*G*l.{.R%X+H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*    ", -"    Y*Z*D&`* =.=+=@=#=$=%=&={.~.~.~.~.~.~.~.~.~.~.<+*===-=;=>=,='=)=[#p@!=~={=]=^=/=(=a#&%_=:=<=-#[=}=k$|=1=2=3=4=5=6=7=8=9=    ", -"    0=a=b=c=d=e=f=g=h=i=j=k=l=5.~.~.~.~.~.~.~.~.~.V -$m=n===o=p=q=r=s=t=:+u=v=w=x=y=z=A=J.V U ~.V [#B=C=D=1=E=F=      G=H=I=    ", -"    J=K=L=M=N=O=P=Q=R=S=T=U=V=5.U ~.~.~.~.~.~.~.~.~.{.x*W=X=Y=Z=`= -.-+-@-#-$-%-&-*-=---;->-9.x*)=,-'-)-c.!-~-          {-]-    ", -"    ^-/-(-_-:-<-<-[-%.}-|-1-T@~.{.~.~.~.~.~.~.~.~.~.~.V 2-^&3-4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-V@i-j-k-l-T=m-7@n-          o-p-    ", -"    q-r-s-t-u-v-!+2*w-x-y-z-V ~.~.~.~.~.~.~.~.~.~.~.~.~.~./#A-B-C-D-E-F-G-H-I-J-K-L-<@M-W=N-O-P-Q-R-<&S-T-U-V-          W-      ", -"      X-Y-Z-`- ;.;+;@;#;$;q+~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~./#v@W=N#%;&;*;=;-;s=-#;;>;,;';);!;~;{;];^;/;(;H+                    ", -"      _;:;<;[;};|;1;2;3;4;{.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.T@-#5;6;7;8;9;[#V <+0;a;b;c;E-d;e;f;|=g;h;                      ", -"        i;j;V#k;F.l;m;n;o;~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.~.{.p@S@s=p;q;~.~.{.r;s;t;u;~$v;w;x;y;z;A;                      ", -"        H+B;C;D;E;F;G;H;~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.U ~.~.V E*E*V ~.~.~.{.T@/#I;J;K;L;M;y;N;O;                      ", -"          P;Q;R;S;T;U;~.{.~.~.~.~.~.~.~.~.l.U {.p@~.~.{.V ~.~.5+V;].~.~.~.~.{.{.p@W;X;Y;Z;`;/# >W..>+>N;@>                      ", -"            #>$>%>&>*>G.~.~.~.~.~.~.~.~.{.`.=>V=->;>~.n##&>>T@,>'>].~.~.~.~.~.)>!>i$~>{>]>^>/>(>_>:><>[>}>      |>1>            ", -"              2>3>4>5>U@U ~.~.~.~.~.~.~.{.6>7>8>9>0>a#a>b>c>d>e>f>~.~.~.V ~.~.g>h>i>1=j>,%k>l>m>n>o>p>q>r>s>t>u>v>w>            ", -"              x>y>z>A>B>C>5+D>E>~.~.~.~.{.%&F>G>3;s%{.H>I>J>K>L>M>~.V N>O>P>x*Q>R>S>T>U>    X%V>W>X>Y>Z>P-`> ,.,+,              ", -"              @,#,$,%,&,1.*,=,-,;,{.p@V {.X@>,,,Z;V ~.5.`;',),!,~,~.{,],^,/,/&-$F$(,_,          :,<,[,},<@|,1,2,                ", -"            B&3,4,    5,6,7,8,9,0,`;a,b,B+c,d,s=<+~.~.~.a#e,f,g,h,V -#9$i,j,k,l,m,n,            o,p,q,r,s,t,u,v,                ", -"            w,x,          y,z,A,B,C,D,E,o@F,G,<+~.~.~.~.~.;;P>j%}@p@H,]#I,J,K,L,M,=+              N,O,P,Q,R,S,                  ", -"                          T,U,V,W,X,Y,Z,`, '.'+'x*~.{.O+@%@'#'$'%'a#&'*'='-'    ~;;'>'            ,''')'!'                      ", -"                          ~'{']'^'/'('_'_':'<'['}'{.V |'1'2'3'4'5'}@6'7'          8'K;                                          ", -"                        v&9'0'a'    b'c'd'e'f'1@g'h'G.i'j'k'l'm'n'o'p'              y                                           ", -"                        q'r's'        t'u'H+    v'w'x'y'        z'A'B'                                                          ", -"                        C'D'          E'F'        G'H'            I'J'                                                          ", -"                      K'L'            M'          N'O'            P'Q'                                                          ", -"                      R'                            S'                                                                          ", -"                                                                                                                                ", -"                                                                                                                                ", -"                                                                                                                                ", -"                                                                                                                                "}; diff --git a/minilibx_linux/test/open24.xpm b/minilibx_linux/test/open24.xpm deleted file mode 100644 index f363254..0000000 --- a/minilibx_linux/test/open24.xpm +++ /dev/null @@ -1,230 +0,0 @@ -/* XPM */ -static char *open[] = { -/* width height num_colors chars_per_pixel */ -"    45    55      168            2", -/* colors */ -".. s None c None", -".# c #450304", -".a c #ce7e7c", -".b c #b94344", -".c c #b65254", -".d c #780204", -".e c #b04c4c", -".f c #b00204", -".g c #8a8a64", -".h c #969a24", -".i c #b6b60c", -".j c #cac614", -".k c #cece34", -".l c #cace54", -".m c #caca94", -".n c #c24e4c", -".o c #aa0204", -".p c #9e4244", -".q c #bc0204", -".r c #a40204", -".s c #9e262c", -".t c #8c3a3c", -".u c #5c1414", -".v c #5b0204", -".w c #700204", -".x c #722214", -".y c #b52624", -".z c #8e3234", -".A c #b60204", -".B c #c20204", -".C c #860204", -".D c #560304", -".E c #800204", -".F c #9e0204", -".G c #920204", -".H c #620204", -".I c #a41314", -".J c #996a6c", -".K c #920d09", -".L c #c80204", -".M c #690204", -".N c #980204", -".O c #984c4c", -".P c #e2dedc", -".Q c #ae5e5c", -".R c #bc6a6c", -".S c #a21a1c", -".T c #8a0a04", -".U c #671e1c", -".V c #941b1c", -".W c #b8b4b4", -".X c #e8e6e4", -".Y c #ccb4b4", -".Z c #c07c7c", -".0 c #f3f2eb", -".1 c #b49696", -".2 c #521614", -".3 c #9e5a5c", -".4 c #d4d4d4", -".5 c #a7a5a1", -".6 c #dec4c4", -".7 c #e4d6d4", -".8 c #f4f2f4", -".9 c #cccac4", -"#. c #9a161c", -"## c #8c0204", -"#a c #862c2c", -"#b c #7e5e5c", -"#c c #a39694", -"#d c #6b6667", -"#e c #322624", -"#f c #b09e9c", -"#g c #b23234", -"#h c #500304", -"#i c #222224", -"#j c #2e322c", -"#k c #925c5c", -"#l c #721a1c", -"#m c #6e6e6c", -"#n c #0a0a0c", -"#o c #b2b2b4", -"#p c #8e6264", -"#q c #884444", -"#r c #8c5c5c", -"#s c #121214", -"#t c #b2aeac", -"#u c #c21e1c", -"#v c #6e0e0c", -"#w c #623e3c", -"#x c #b64e4c", -"#y c #bc3634", -"#z c #624e1c", -"#A c #6e727c", -"#B c #824e4c", -"#C c #8b8d87", -"#D c #a09674", -"#E c #766844", -"#F c #7a663c", -"#G c #828c90", -"#H c #beb6a4", -"#I c #3a0204", -"#J c #8e9298", -"#K c #562529", -"#L c #7c3838", -"#M c #bab294", -"#N c #7e4644", -"#O c #929a9c", -"#P c #762a2c", -"#Q c #a60e0c", -"#R c #ae1e1c", -"#S c #460a0c", -"#T c #a6aaa4", -"#U c #6a4a4c", -"#V c #784c50", -"#W c #761214", -"#X c #9e1e1c", -"#Y c #988c90", -"#Z c #821e1c", -"#0 c #7a1618", -"#1 c #7a6e74", -"#2 c #7e7a77", -"#3 c #808688", -"#4 c #828284", -"#5 c #828279", -"#6 c #827a64", -"#7 c #7e765c", -"#8 c #864a34", -"#9 c #825a44", -"a. c #766e54", -"a# c #7e7e74", -"aa c #806464", -"ab c #7e724c", -"ac c #766634", -"ad c #765a2c", -"ae c #8e7e54", -"af c #a69e8c", -"ag c #c7c2ac", -"ah c #9a2a1c", -"ai c #aa3a3c", -"aj c #979894", -"ak c #70684c", -"al c #62522c", -"am c #6e5e3c", -"an c #92866c", -"ao c #968e6c", -"ap c #826e54", -"aq c #84765c", -"ar c #86522c", -"as c #7e4624", -"at c #7e3614", -"au c #6e5254", -"av c #712e2c", -"aw c #7a5654", -"ax c #82727c", -"ay c #a63634", -"az c #8a6a6c", -"aA c #863534", -"aB c #5c1a18", -"aC c #6a2c2c", -"aD c #5e0e14", -"aE c #868684", -"aF c #922624", -"aG c #901614", -"aH c #c21614", -"aI c #520e0c", -"aJ c #805654", -"aK c #b00c0c", -"aL c #c2221c", -/* pixels */ -"..........................................................................................", -"..........................................................................................", -".....................................#.a.#................................................", -"...................................#.b.c.#.#.#.#...........#.d............................", -".................................#.e.f.f.#.g.h.i.j.k.l.m...f.n............................", -".................................d.f.o.f.#.#.#.d.d.#.#.#...f.f.d..........................", -".................................p.q.q.r.s.t.u.v.w.x.d.d.#.d.r.y.d........................", -".................................z.A.B.q.C.D.E.F.G.E.H.E.I.F.q.A.d........................", -".................................J.G.f.G.w.K.f.L.B.B.r.M.f.B.L.A.d........................", -".................................d.w.N.M.O.P.Q.B.B.o.R.S.E.q.q.T.d........................", -".................................d.U.M.V.W.X.Y.q.B.Z.0.1.E.r.N.d..........................", -".................................d.2.r.3.4.5.6.A.f.7.8.9#.###a.#..........................", -"................................#b.d.L#c#d#e#f.N.V.5#d.4#g.E.d............................", -"...............................d#h.r.L#f#i#j#k.M#l#m#n#o.b.r.d............................", -"...............................d#h##.q#g#p#q##.q.N#r#s#t#u.q#v.#..........................", -"..............#j................#w.w.C.r.q##.r.B.f.T#x#y.L.r.M.d..........................", -"............#j#z#j#A#A#j.........d.D.r.M.C.f.r.r.r.q.B.C.N.E#B............................", -"..........#j#C#D#E#z#F#G#j.......d.d.#.G##.w.M.M.C.C.d.G.r.u.d............................", -"....................#E#H#C#j.........d#I.w.F.f.o.o.o.N.M.#.d..............................", -"......................#E#j#J#j......#K.M.#.#.v.w.M.v.##h.H#L.d............................", -"..........................#M#j.......v.F.q.r.d.w.w.C.E.M.v.M#N.d..........................", -"..........................#E#O#j#j#K##.f.L.L.L.B.q.f##.M.v.w.w#P.d.#...d.d................", -"............................#C#E.#.v.o.B.L.L.q.q.q.q.N.M.D#h.M.N.r#Q#R#S.H.J.#............", -"............................#j#T#U.C.q.q.o.G.F.f.q.A.N.d.v.v##.o.q.L.r.C.A###k............", -"..............................#C#V.N.A.N.f.q.F.C.E.f.F.E.H#n#W.K.I#X#a.z.V.q.d#p.d........", -"................................#Y.r.K#Z.K.q.A.G.w#0#b#1#2#3#4#5#5#6#6#7#8.q.G#9..........", -"..................#j#oa..5#j..#J#Ja##4#4aa.o.A##.E.xabacadae#Daf#M#Magah.r.qai.#..........", -"................aja#akalamanaoapaqaaarasat.r.o.E.w.T.T.E.H.#...........#.d.d.#............", -"...........E....#j#j#C#M#j#n#naa#V.O.f.N.F.q.G.d.w.r.C.d.H.#...............#..............", -"...........#.F.F.J#n#n#n#n#n#nauav#p.q.N.d.d.w.M.F.F.E.d.U................................", -".........E.F.E.E.d.z#n.d#n#n#naw.Uax.r##.d.w.D.M.r.N.E.w.d................................", -".........E.F.......d.Fay.E.F#naz.2#A.D#h.r.f.w##.r##.d.H.M................................", -".........F.#...........E.E.F.baAaB#A.#.E.f.r.w.N.N.E.waC.#................................", -".........F.#...............d.F.E#K#d.H.G.F.G.w.N##.d.D.#..................................", -".........F.#....................#Aau.v.E##.w.E.E.w.H.d.......d..av.d......................", -".........E.#..................#j#GaC.M.H.M.d.d.w.H.#.d.d.#aC.w.C##.E.d....................", -"...........F.................5#O...#aD.w.d.w.H.D.M######.G.F.o.f.o.N.3....................", -"...........F.E...........5aEakak.....#.##h#h.v.N.o.f.q.L.L.L.L.L.q.faF....................", -"...........E.E......#E#C.5aq#j.....#.v.N.F.d.N.r.F.r.F#Q.I.o.q.L.L.L.y....................", -".............E.....................#.E.B.qaG.d.d.d.....#.#.....d#x.b......................", -".............E.F...................E.w.L.LaG.#............................................", -"...............E.E.................EaA.q.qaG.#............................................", -"...............E.F.E.................E.r.r#Z.#............................................", -".................E.F.E...............E.G.NaA..............................................", -".................E#uaH.................w.dav..............................................", -"...................E.E.............EaI.M.w.v.#............................................", -"...................................E.D.d.E.waJ............................................", -".....................................C.N.N##.M............................................", -"..................................#W.f.q.A.f.G#q..........................................", -".....................................q.L.L.L.q.V.#........................................", -"...................................#.daK.q.qaL.d..........................................", -".......................................#.#.#..............................................", -"..........................................................................................", -"..........................................................................................", -".........................................................................................." -}; diff --git a/minilibx_linux/test/open30.xpm b/minilibx_linux/test/open30.xpm deleted file mode 100644 index 87be371..0000000 --- a/minilibx_linux/test/open30.xpm +++ /dev/null @@ -1,1439 +0,0 @@ -/* XPM */ -static char * open30_2_xpm[] = { -"64 64 1372 2", -"  	c None", -". 	c #08090D", -"+ 	c #1A1E23", -"@ 	c #1F2124", -"# 	c #060809", -"$ 	c #1A1E21", -"% 	c #4F606C", -"& 	c #3D4145", -"* 	c #868D93", -"= 	c #454E56", -"- 	c #627481", -"; 	c #667C8A", -"> 	c #2D3031", -", 	c #D7E1E7", -"' 	c #4D5157", -") 	c #8997A5", -"! 	c #282E31", -"~ 	c #333B41", -"{ 	c #A5C6DB", -"] 	c #718C9B", -"^ 	c #000000", -"/ 	c #181B1F", -"( 	c #262828", -"_ 	c #D2DEE7", -": 	c #B8C5D0", -"< 	c #151719", -"[ 	c #08090B", -"} 	c #272B30", -"| 	c #2D3037", -"1 	c #26282C", -"2 	c #1A1D1F", -"3 	c #B1CADB", -"4 	c #56646E", -"5 	c #080809", -"6 	c #080A0C", -"7 	c #1E2126", -"8 	c #98B7C9", -"9 	c #A2CAE2", -"0 	c #7FA1B5", -"a 	c #06080A", -"b 	c #252729", -"c 	c #A7ADB2", -"d 	c #272B2E", -"e 	c #1E2023", -"f 	c #C8D8E5", -"g 	c #C9DDED", -"h 	c #8996A3", -"i 	c #6B7782", -"j 	c #C7DFF0", -"k 	c #CCE0F0", -"l 	c #AFC1CF", -"m 	c #47535B", -"n 	c #B0D3E8", -"o 	c #7E99A9", -"p 	c #738493", -"q 	c #97B4C7", -"r 	c #53606A", -"s 	c #6E8996", -"t 	c #A1CBE3", -"u 	c #9CC6DE", -"v 	c #90B5CB", -"w 	c #171D22", -"x 	c #1E2629", -"y 	c #020202", -"z 	c #ABB3BA", -"A 	c #BBC4C8", -"B 	c #222323", -"C 	c #141617", -"D 	c #5D6164", -"E 	c #ACB5BC", -"F 	c #676D74", -"G 	c #BDD4E5", -"H 	c #B3D1E7", -"I 	c #B0D1E7", -"J 	c #728A99", -"K 	c #94AEBF", -"L 	c #B1D1E7", -"M 	c #505C64", -"N 	c #7B98A9", -"O 	c #A1CBE0", -"P 	c #99C3D9", -"Q 	c #475863", -"R 	c #A0C9DE", -"S 	c #9CC6DA", -"T 	c #9ECAE1", -"U 	c #9CC5DD", -"V 	c #9AC4DC", -"W 	c #263137", -"X 	c #3C4A55", -"Y 	c #658190", -"Z 	c #66686B", -"` 	c #7D8085", -" .	c #363839", -"..	c #797E81", -"+.	c #D2DBE1", -"@.	c #DDE9F4", -"#.	c #CADEEF", -"$.	c #778593", -"%.	c #AED0E5", -"&.	c #9EC9DE", -"*.	c #9EC8DF", -"=.	c #9BC1D8", -"-.	c #9EC8DE", -";.	c #6B8596", -">.	c #9BC5DC", -",.	c #9BC6DF", -"'.	c #9CC5DC", -").	c #688595", -"!.	c #6B8698", -"~.	c #9CC4DC", -"{.	c #9BC4DC", -"].	c #9DC5DD", -"^.	c #647D8C", -"/.	c #485864", -"(.	c #161A1D", -"_.	c #36444C", -":.	c #95BDD5", -"<.	c #566E7E", -"[.	c #A4AAAD", -"}.	c #E9F2F7", -"|.	c #DEEAF6", -"1.	c #B5D4E9", -"2.	c #A9CFE3", -"3.	c #90B3C9", -"4.	c #9FCAE1", -"5.	c #9BC4DD", -"6.	c #7490A2", -"7.	c #99C2DB", -"8.	c #81A5BA", -"9.	c #9CC5DE", -"0.	c #98C1DA", -"a.	c #5F7889", -"b.	c #96BFD8", -"c.	c #44545F", -"d.	c #565A5E", -"e.	c #DFE6EC", -"f.	c #E6EEF7", -"g.	c #D6E4F2", -"h.	c #BFD6E9", -"i.	c #A9CCE3", -"j.	c #9FC8DD", -"k.	c #9DC6DD", -"l.	c #9CC4DD", -"m.	c #7D9FB0", -"n.	c #98C0D6", -"o.	c #9AC5DD", -"p.	c #97BFD8", -"q.	c #9BC5DF", -"r.	c #2D3840", -"s.	c #626567", -"t.	c #E7ECF5", -"u.	c #E1EAF5", -"v.	c #CEE3F3", -"w.	c #B7D6EA", -"x.	c #A4CBE0", -"y.	c #8AAFC5", -"z.	c #647F90", -"A.	c #648092", -"B.	c #89B0C7", -"C.	c #9CC6DF", -"D.	c #5D7486", -"E.	c #7B9BAF", -"F.	c #84A8BF", -"G.	c #9BC5DD", -"H.	c #96BED5", -"I.	c #4B5D69", -"J.	c #9BC5DE", -"K.	c #536B77", -"L.	c #2E3B41", -"M.	c #1B2124", -"N.	c #3F4F58", -"O.	c #4D5152", -"P.	c #E7EEF3", -"Q.	c #E2EAF5", -"R.	c #CEE2F2", -"S.	c #BAD5E9", -"T.	c #9DC2D7", -"U.	c #5C7281", -"V.	c #232A31", -"W.	c #08090A", -"X.	c #121418", -"Y.	c #131619", -"Z.	c #131719", -"`.	c #87ACC3", -" +	c #7B9BAE", -".+	c #87ADC3", -"++	c #8FB5CB", -"@+	c #678295", -"#+	c #96C0D8", -"$+	c #607787", -"%+	c #6B8595", -"&+	c #96C1DB", -"*+	c #6A8595", -"=+	c #35424A", -"-+	c #7090A1", -";+	c #15191C", -">+	c #2D3033", -",+	c #DDE5EB", -"'+	c #D2E3F1", -")+	c #BAD7EB", -"!+	c #A9CFE5", -"~+	c #272F35", -"{+	c #1C2227", -"]+	c #4F697B", -"^+	c #6B8FA9", -"/+	c #759CB6", -"(+	c #7BA0BB", -"_+	c #80A5BC", -":+	c #88B0C8", -"<+	c #96C3DB", -"[+	c #8FB6CD", -"}+	c #80A1B3", -"|+	c #556876", -"1+	c #96BFD7", -"2+	c #566B77", -"3+	c #93B8CD", -"4+	c #637A8D", -"5+	c #9DC6DE", -"6+	c #8FB4CA", -"7+	c #55697A", -"8+	c #6F8F9F", -"9+	c #91BDD5", -"0+	c #283239", -"a+	c #050406", -"b+	c #767B80", -"c+	c #BDC6CE", -"d+	c #D4E5F3", -"e+	c #C1D7EA", -"f+	c #A7CDE4", -"g+	c #9FC9DE", -"h+	c #668596", -"i+	c #6D90AA", -"j+	c #5C7994", -"k+	c #60849F", -"l+	c #6286A1", -"m+	c #688CA8", -"n+	c #7298B2", -"o+	c #82A8C2", -"p+	c #8FBAD5", -"q+	c #96C2DB", -"r+	c #89ADC4", -"s+	c #96BED6", -"t+	c #99C2DA", -"u+	c #6C899A", -"v+	c #92BBD2", -"w+	c #9AC4DD", -"x+	c #5B717D", -"y+	c #9EC6DE", -"z+	c #8BB1C9", -"A+	c #718EA0", -"B+	c #94C3DB", -"C+	c #536B78", -"D+	c #3E505F", -"E+	c #4E6373", -"F+	c #2C333C", -"G+	c #070708", -"H+	c #040404", -"I+	c #1A1C1E", -"J+	c #202326", -"K+	c #050606", -"L+	c #23292E", -"M+	c #A1C0D4", -"N+	c #9FC9DD", -"O+	c #97C2DB", -"P+	c #80A8C1", -"Q+	c #668AA6", -"R+	c #4B5D72", -"S+	c #4C647A", -"T+	c #5F80A0", -"U+	c #60859E", -"V+	c #678AA6", -"W+	c #739BB5", -"X+	c #85AEC7", -"Y+	c #92BDD7", -"Z+	c #96BFD5", -"`+	c #627B8A", -" @	c #89B1C9", -".@	c #2B353C", -"+@	c #7597B2", -"@@	c #779CB8", -"#@	c #52697C", -"$@	c #1D2328", -"%@	c #445663", -"&@	c #5E7A8D", -"*@	c #252F37", -"=@	c #090909", -"-@	c #859BB2", -";@	c #859DB8", -">@	c #6E8396", -",@	c #252C33", -"'@	c #9CC4D7", -")@	c #92C0D9", -"!@	c #79A0BA", -"~@	c #6487A3", -"{@	c #566979", -"]@	c #8CB0C2", -"^@	c #51697C", -"/@	c #60849D", -"(@	c #6D8EAC", -"_@	c #7BA0BC", -":@	c #8AB4CE", -"<@	c #95C2DB", -"[@	c #9AC5DC", -"}@	c #95C1DA", -"|@	c #607B8C", -"1@	c #597488", -"2@	c #7EA6BF", -"3@	c #597587", -"4@	c #455664", -"5@	c #668598", -"6@	c #82A9C4", -"7@	c #617F92", -"8@	c #1A2328", -"9@	c #2B3137", -"0@	c #728FAC", -"a@	c #51657B", -"b@	c #6B8AA8", -"c@	c #8EAEC7", -"d@	c #A8C8E2", -"e@	c #92BDD6", -"f@	c #769DBA", -"g@	c #526E87", -"h@	c #7490A0", -"i@	c #A6CDE4", -"j@	c #97BFD4", -"k@	c #55697D", -"l@	c #6286A0", -"m@	c #7399B3", -"n@	c #84ACC5", -"o@	c #92BFD9", -"p@	c #99C4DC", -"q@	c #94C0DA", -"r@	c #4F6575", -"s@	c #7DA5BF", -"t@	c #7FA2BC", -"u@	c #8FB6CE", -"v@	c #95C3DB", -"w@	c #8EB8D2", -"x@	c #6A879D", -"y@	c #111318", -"z@	c #252A30", -"A@	c #81868C", -"B@	c #A5ABAD", -"C@	c #70767C", -"D@	c #38434F", -"E@	c #637F9B", -"F@	c #516980", -"G@	c #799AB5", -"H@	c #A5C3D9", -"I@	c #93BDD6", -"J@	c #779EBA", -"K@	c #445A6B", -"L@	c #93B5C9", -"M@	c #B6D3E8", -"N@	c #AECFE4", -"O@	c #95BDD2", -"P@	c #52687A", -"Q@	c #6486A3", -"R@	c #7092B0", -"S@	c #90BCD6", -"T@	c #97C4DC", -"U@	c #A0C9E0", -"V@	c #99C5DD", -"W@	c #86AEC6", -"X@	c #8FBAD4", -"Y@	c #91BDD6", -"Z@	c #7094AC", -"`@	c #2A353E", -" #	c #0B0E10", -".#	c #888D90", -"+#	c #787D82", -"@#	c #465360", -"##	c #56697F", -"$#	c #A6CADD", -"%#	c #5A7382", -"&#	c #6C8CAA", -"*#	c #A5BED3", -"=#	c #A7CAE0", -"-#	c #94C1DA", -";#	c #7EA4BF", -">#	c #415160", -",#	c #9DC3D5", -"'#	c #B3CFE1", -")#	c #AAC3D4", -"!#	c #A8CDE4", -"~#	c #89ACBE", -"{#	c #567088", -"]#	c #6C91AC", -"^#	c #81A7C2", -"/#	c #96C4DC", -"(#	c #85A9BD", -"_#	c #708C9B", -":#	c #5A6E7B", -"<#	c #6C8695", -"[#	c #97C3DB", -"}#	c #8BB5CE", -"|#	c #425461", -"1#	c #63819E", -"2#	c #415465", -"3#	c #0B0D0E", -"4#	c #607387", -"5#	c #687D8C", -"6#	c #B8D6E9", -"7#	c #7893A2", -"8#	c #576F85", -"9#	c #A7BACF", -"0#	c #B0CEE5", -"a#	c #98C4DC", -"b#	c #88B1CA", -"c#	c #36444E", -"d#	c #8FA0AD", -"e#	c #73818D", -"f#	c #596D81", -"g#	c #B4D0E4", -"h#	c #A3CDE2", -"i#	c #658296", -"j#	c #6A8DAB", -"k#	c #7BA5C0", -"l#	c #94BAD2", -"m#	c #6D899B", -"n#	c #99C3DC", -"o#	c #8EB9D2", -"p#	c #7AA0BA", -"q#	c #6C8FAB", -"r#	c #6484A1", -"s#	c #1F252C", -"t#	c #121619", -"u#	c #7E96B0", -"v#	c #7A8A96", -"w#	c #BCD7EA", -"x#	c #A0C5D9", -"y#	c #3C4B57", -"z#	c #A9BACD", -"A#	c #BCD5E8", -"B#	c #84A6BA", -"C#	c #8EA1AE", -"D#	c #CFD1D4", -"E#	c #ECF6FA", -"F#	c #ABB7C2", -"G#	c #556F84", -"H#	c #57626A", -"I#	c #5C7078", -"J#	c #6C8AA7", -"K#	c #80A6C0", -"L#	c #91B8D0", -"M#	c #94BFD8", -"N#	c #87B0CA", -"O#	c #7CA2BB", -"P#	c #7097AF", -"Q#	c #495E6F", -"R#	c #0C0E11", -"S#	c #3A3F43", -"T#	c #8AA3BB", -"U#	c #778592", -"V#	c #C0D8EB", -"W#	c #B3D5E9", -"X#	c #404A53", -"Y#	c #B2C2D3", -"Z#	c #96A1AC", -"`#	c #9DB2C3", -" $	c #AEBECE", -".$	c #EDEFF3", -"+$	c #F7FAFC", -"@$	c #B6BFC7", -"#$	c #556E85", -"$$	c #121314", -"%$	c #2B2E2F", -"&$	c #555A5E", -"*$	c #3B4C5B", -"=$	c #6F8EA4", -"-$	c #92BED8", -";$	c #9DC7DF", -">$	c #87ACC1", -",$	c #546A78", -"'$	c #516874", -")$	c #4E6570", -"!$	c #4D6271", -"~$	c #4C6271", -"{$	c #4E677A", -"]$	c #38454E", -"^$	c #6C7278", -"/$	c #86A1B6", -"($	c #5C656C", -"_$	c #A4B0BA", -":$	c #555D64", -"<$	c #657178", -"[$	c #A6B0B5", -"}$	c #939CA1", -"|$	c #D4E4F1", -"1$	c #A0BACE", -"2$	c #B9C7D7", -"3$	c #F6F7F9", -"4$	c #C6CED1", -"5$	c #506A7C", -"6$	c #060607", -"7$	c #676A6B", -"8$	c #91999F", -"9$	c #7CA3BE", -"0$	c #96BCD4", -"a$	c #5B717E", -"b$	c #4B5F6C", -"c$	c #455864", -"d$	c #5B717F", -"e$	c #81A5B9", -"f$	c #98C4DD", -"g$	c #93BFD8", -"h$	c #87B1CA", -"i$	c #7BA1BC", -"j$	c #5A7489", -"k$	c #222A33", -"l$	c #838A92", -"m$	c #9DADBC", -"n$	c #ECF0F5", -"o$	c #F1F9FB", -"p$	c #818A8D", -"q$	c #4A5155", -"r$	c #6A6F72", -"s$	c #7E898F", -"t$	c #E6F1F7", -"u$	c #CADCED", -"v$	c #A0B7CC", -"w$	c #C6D1DF", -"x$	c #AFB3B4", -"y$	c #5F707D", -"z$	c #CBCFD1", -"A$	c #F4F5F6", -"B$	c #66737F", -"C$	c #87B2CB", -"D$	c #90B7CD", -"E$	c #596E7B", -"F$	c #586F7E", -"G$	c #8BB0C8", -"H$	c #91BED6", -"I$	c #83ADC7", -"J$	c #6D8EA7", -"K$	c #3F5161", -"L$	c #2D3A45", -"M$	c #1F2020", -"N$	c #BDC5CC", -"O$	c #E0EDF5", -"P$	c #BBCAD8", -"Q$	c #E1E4E7", -"R$	c #5E6368", -"S$	c #5B5F62", -"T$	c #D9E7F3", -"U$	c #A4C3D6", -"V$	c #89A3B3", -"W$	c #7B91A1", -"X$	c #627990", -"Y$	c #42505A", -"Z$	c #CACCCE", -"`$	c #F9F9F9", -" %	c #FDFDFD", -".%	c #BCBEC0", -"+%	c #5C7689", -"@%	c #8DB9D3", -"#%	c #8FB5CC", -"$%	c #536471", -"%%	c #98C1D9", -"&%	c #91BED7", -"*%	c #81AAC5", -"=%	c #597386", -"-%	c #41535F", -";%	c #6486A2", -">%	c #4D667D", -",%	c #070809", -"'%	c #44484E", -")%	c #BEC8D0", -"!%	c #8096A6", -"~%	c #516473", -"{%	c #A9ACAF", -"]%	c #8B8F91", -"^%	c #A8B3BD", -"/%	c #C5DAEB", -"(%	c #9FC8E1", -"_%	c #8FBCD6", -":%	c #81A8C2", -"<%	c #6C90AC", -"[%	c #56728C", -"}%	c #585B5F", -"|%	c #CBCDCD", -"1%	c #C1C3C6", -"2%	c #4F565F", -"3%	c #82ABC3", -"4%	c #93BCD3", -"5%	c #95BED7", -"6%	c #8EB9D3", -"7%	c #5B788B", -"8%	c #627E91", -"9%	c #7FA7C1", -"0%	c #6C91AB", -"a%	c #546F87", -"b%	c #6F7376", -"c%	c #D5E2EF", -"d%	c #A9C4D8", -"e%	c #81A1BA", -"f%	c #333940", -"g%	c #5F6B76", -"h%	c #C0D5E8", -"i%	c #AACCE2", -"j%	c #8EB8D3", -"k%	c #7FA5BF", -"l%	c #7095B0", -"m%	c #4E697E", -"n%	c #07090A", -"o%	c #0D0F10", -"p%	c #7193A6", -"q%	c #96C3DC", -"r%	c #8EBCD7", -"s%	c #91BDD7", -"t%	c #8FBBD6", -"u%	c #7699AD", -"v%	c #4D626F", -"w%	c #252D33", -"x%	c #101215", -"y%	c #0C0D0E", -"z%	c #0A0C0E", -"A%	c #06090A", -"B%	c #7F8488", -"C%	c #D7E3F1", -"D%	c #B6D0E4", -"E%	c #A3C2D7", -"F%	c #596872", -"G%	c #A9BED0", -"H%	c #B4D0E5", -"I%	c #9EC8DC", -"J%	c #8FB9D4", -"K%	c #85ADC7", -"L%	c #7FA4BE", -"M%	c #4B606F", -"N%	c #4E6372", -"O%	c #89B6D0", -"P%	c #92C1DA", -"Q%	c #9DC7DD", -"R%	c #95C0DA", -"S%	c #94BED8", -"T%	c #8BB8D1", -"U%	c #7AA0B9", -"V%	c #4E667A", -"W%	c #344151", -"X%	c #0C0D0F", -"Y%	c #8A8F92", -"Z%	c #D4E6F5", -"`%	c #BCD5E9", -" &	c #8599A5", -".&	c #939DA6", -"+&	c #C4DAEB", -"@&	c #89A6B9", -"#&	c #7D9FB5", -"$&	c #98C3DC", -"%&	c #95C0D9", -"&&	c #7CA2B9", -"*&	c #7697AE", -"=&	c #698498", -"-&	c #7394A8", -";&	c #9EC7DF", -">&	c #8DB1C4", -",&	c #6B8594", -"'&	c #50636C", -")&	c #50626C", -"!&	c #7F9FB1", -"~&	c #93B8D0", -"{&	c #627A88", -"]&	c #90B6CC", -"^&	c #93BDD7", -"/&	c #87AFC9", -"(&	c #7291A7", -"_&	c #384651", -":&	c #121618", -"<&	c #12171B", -"[&	c #4F6986", -"}&	c #597998", -"|&	c #324052", -"1&	c #969CA1", -"2&	c #D6E6F5", -"3&	c #C6DCEE", -"4&	c #505A64", -"5&	c #82929F", -"6&	c #99ABBB", -"7&	c #A1B9CA", -"8&	c #87A0B0", -"9&	c #718EA1", -"0&	c #8DB2C9", -"a&	c #8BAEC4", -"b&	c #586D7D", -"c&	c #97C0D9", -"d&	c #8DB3C9", -"e&	c #95B8CD", -"f&	c #9DC0D6", -"g&	c #6F8B9C", -"h&	c #354249", -"i&	c #464E54", -"j&	c #8A98A5", -"k&	c #AABAC7", -"l&	c #86939E", -"m&	c #41494F", -"n&	c #4A5861", -"o&	c #97C1DA", -"p&	c #5E7888", -"q&	c #5C7482", -"r&	c #88ACC2", -"s&	c #91BFD7", -"t&	c #799CB5", -"u&	c #47596A", -"v&	c #0D0F12", -"w&	c #1A2127", -"x&	c #56778D", -"y&	c #688BA9", -"z&	c #5D7F9E", -"A&	c #547391", -"B&	c #0E1013", -"C&	c #9DA6AB", -"D&	c #C8DCED", -"E&	c #7A8996", -"F&	c #B5CEE0", -"G&	c #BCDBEC", -"H&	c #B9D5EA", -"I&	c #8BA2B2", -"J&	c #6C8A9D", -"K&	c #97BFD7", -"L&	c #3E4E59", -"M&	c #92B5CB", -"N&	c #535F68", -"O&	c #454F56", -"P&	c #6F7C87", -"Q&	c #ABC0D1", -"R&	c #C7DCEE", -"S&	c #C5DBED", -"T&	c #C2D7EA", -"U&	c #BFD8EA", -"V&	c #BCD7EB", -"W&	c #62717B", -"X&	c #5B6F7B", -"Y&	c #95C3DC", -"Z&	c #8BB2C9", -"`&	c #485761", -" *	c #42525F", -".*	c #6686A1", -"+*	c #587896", -"@*	c #1B2129", -"#*	c #5C7A94", -"$*	c #7DA2BD", -"%*	c #84AEC7", -"&*	c #749BB5", -"**	c #5C7E9C", -"=*	c #27343F", -"-*	c #A4A9B2", -";*	c #D9E7F4", -">*	c #C8DBEC", -",*	c #B1C8DA", -"'*	c #5D6C76", -")*	c #A8C5D8", -"!*	c #A6BDD0", -"~*	c #B9D6EA", -"{*	c #B9D4E9", -"]*	c #8198A8", -"^*	c #8AADC3", -"/*	c #8CB1CA", -"(*	c #96C2D8", -"_*	c #A3C7DF", -":*	c #ADCDE3", -"<*	c #ABD0E4", -"[*	c #ADCFE3", -"}*	c #AACEE4", -"|*	c #A4CDE3", -"1*	c #A1CBE1", -"2*	c #A3CCE3", -"3*	c #A2C9DF", -"4*	c #41515A", -"5*	c #81A2B5", -"6*	c #94C0D7", -"7*	c #5E7789", -"8*	c #526777", -"9*	c #516777", -"0*	c #6B8CA5", -"a*	c #759CBA", -"b*	c #658AA5", -"c*	c #587798", -"d*	c #1B242B", -"e*	c #0E1110", -"f*	c #101214", -"g*	c #202931", -"h*	c #59758E", -"i*	c #799FBB", -"j*	c #84B1CA", -"k*	c #86ACC6", -"l*	c #354758", -"m*	c #A0A6AE", -"n*	c #DAE6F2", -"o*	c #C4DCEE", -"p*	c #B4D2E8", -"q*	c #3E4A53", -"r*	c #698091", -"s*	c #5D7581", -"t*	c #A3CAE0", -"u*	c #A6CFE5", -"v*	c #A5CCE5", -"w*	c #718A9C", -"x*	c #98C3DB", -"y*	c #83ABC7", -"z*	c #2E3B46", -"A*	c #33414A", -"B*	c #678398", -"C*	c #8AB3CE", -"D*	c #93BED7", -"E*	c #97C4DB", -"F*	c #42525E", -"G*	c #88ACC0", -"H*	c #789EB9", -"I*	c #7A9FBB", -"J*	c #7EA2BD", -"K*	c #779DB5", -"L*	c #577081", -"M*	c #5B7B9B", -"N*	c #1D2229", -"O*	c #547390", -"P*	c #54728D", -"Q*	c #6082A0", -"R*	c #688EA9", -"S*	c #6689A7", -"T*	c #6086A0", -"U*	c #6285A1", -"V*	c #6B8DAA", -"W*	c #718FAB", -"X*	c #3E5568", -"Y*	c #969DA1", -"Z*	c #DBE8F4", -"`*	c #95ACBD", -" =	c #758B9A", -".=	c #A4C9DE", -"+=	c #698190", -"@=	c #667E8A", -"#=	c #7D99AA", -"$=	c #7B9BAD", -"%=	c #6F8C9A", -"&=	c #536976", -"*=	c #84ADC6", -"==	c #6D92AD", -"-=	c #62829E", -";=	c #43576A", -">=	c #2F3B46", -",=	c #5C788A", -"'=	c #86AFC8", -")=	c #93BED8", -"!=	c #93BAD5", -"~=	c #93BAD2", -"{=	c #92BCD4", -"]=	c #7EA2B6", -"^=	c #3D4D56", -"/=	c #485B67", -"(=	c #7596A9", -"_=	c #8CBBD4", -":=	c #90BCD5", -"<=	c #91BFD9", -"[=	c #789BAD", -"}=	c #465B6A", -"|=	c #59789A", -"1=	c #5D7F9D", -"2=	c #5E839C", -"3=	c #59799A", -"4=	c #415569", -"5=	c #2D3A46", -"6=	c #2E3B49", -"7=	c #4A647C", -"8=	c #587690", -"9=	c #39485A", -"0=	c #7F8589", -"a=	c #D9E8F5", -"b=	c #CCDEEE", -"c=	c #8597A5", -"d=	c #B3D2E3", -"e=	c #9BB3C4", -"f=	c #B2CEE1", -"g=	c #B2D1E7", -"h=	c #ABCFE6", -"i=	c #94B7CB", -"j=	c #495C6A", -"k=	c #688498", -"l=	c #617B8A", -"m=	c #85ADC8", -"n=	c #78A0B9", -"o=	c #62819B", -"p=	c #2E3843", -"q=	c #485A6C", -"r=	c #67889C", -"s=	c #8AB5CF", -"t=	c #8EB9D1", -"u=	c #6C899B", -"v=	c #6E91A7", -"w=	c #678399", -"x=	c #6888A1", -"y=	c #323E48", -"z=	c #5B7585", -"A=	c #98C5DD", -"B=	c #83ACC1", -"C=	c #2D373F", -"D=	c #4B637C", -"E=	c #567694", -"F=	c #26313C", -"G=	c #15191F", -"H=	c #4D647A", -"I=	c #252F39", -"J=	c #5D6163", -"K=	c #DDE9F5", -"L=	c #CEDFEE", -"M=	c #8898A5", -"N=	c #B0CBDC", -"O=	c #BFDAEC", -"P=	c #BFDBEC", -"Q=	c #BBDAEC", -"R=	c #BAD7EA", -"S=	c #6B808F", -"T=	c #7297B0", -"U=	c #8CB8D1", -"V=	c #95C1D9", -"W=	c #91BCD6", -"X=	c #86AEC8", -"Y=	c #7496B3", -"Z=	c #6587A2", -"`=	c #384958", -" -	c #323F4B", -".-	c #546A7C", -"+-	c #6C88A1", -"@-	c #779AB1", -"#-	c #658297", -"$-	c #3B4A58", -"%-	c #33404B", -"&-	c #202830", -"*-	c #577287", -"=-	c #86B1CC", -"--	c #86ACC0", -";-	c #6E8797", -">-	c #9CC7DF", -",-	c #92BCD5", -"'-	c #91BCD5", -")-	c #8EB6CE", -"!-	c #344453", -"~-	c #263039", -"{-	c #364452", -"]-	c #2B3643", -"^-	c #2A2D2E", -"/-	c #E1EBF4", -"(-	c #D2E4F3", -"_-	c #A0B2C3", -":-	c #8094A1", -"<-	c #BAD8EB", -"[-	c #B8D6EA", -"}-	c #485A6A", -"|-	c #789FB9", -"1-	c #90BBD3", -"2-	c #94C4DC", -"3-	c #88B3CD", -"4-	c #7A9EB9", -"5-	c #698BA8", -"6-	c #4D677C", -"7-	c #151A1E", -"8-	c #1A2125", -"9-	c #171C21", -"0-	c #1D2329", -"a-	c #1D262E", -"b-	c #486073", -"c-	c #6A8CAA", -"d-	c #7CA2BE", -"e-	c #90BDD7", -"f-	c #9AC5DE", -"g-	c #7493A2", -"h-	c #708B99", -"i-	c #8CB7D1", -"j-	c #7494AB", -"k-	c #68889F", -"l-	c #6A8FA5", -"m-	c #7BA2BC", -"n-	c #171D21", -"o-	c #1D262F", -"p-	c #212B36", -"q-	c #09090B", -"r-	c #BBC2C9", -"s-	c #D4E4F2", -"t-	c #C1D9EB", -"u-	c #44515A", -"v-	c #92B5C9", -"w-	c #6B8795", -"x-	c #4E687E", -"y-	c #7EA6C0", -"z-	c #91BED8", -"A-	c #93BFD9", -"B-	c #8CB5D0", -"C-	c #7DA4BE", -"D-	c #6F92AE", -"E-	c #6687A5", -"F-	c #526C85", -"G-	c #415669", -"H-	c #384655", -"I-	c #6589A4", -"J-	c #6E92AE", -"K-	c #80A8C2", -"L-	c #92BCD6", -"M-	c #91BFD8", -"N-	c #799AAF", -"O-	c #6A8796", -"P-	c #81AAC3", -"Q-	c #577187", -"R-	c #1F2930", -"S-	c #192027", -"T-	c #1B2227", -"U-	c #0D1010", -"V-	c #0E1012", -"W-	c #070709", -"X-	c #5C6062", -"Y-	c #DCE8F3", -"Z-	c #C4DCEF", -"`-	c #9BB3C6", -" ;	c #3A424F", -".;	c #313A44", -"+;	c #35424C", -"@;	c #374655", -"#;	c #6E91AD", -"$;	c #87B2CC", -"%;	c #799EBA", -"&;	c #618298", -"*;	c #7095AF", -"=;	c #435663", -"-;	c #80A7C0", -";;	c #95C4DC", -">;	c #779CB3", -",;	c #526D7E", -"';	c #516A7A", -");	c #526B7B", -"!;	c #465764", -"~;	c #34414E", -"{;	c #5C7E9A", -"];	c #2B3741", -"^;	c #4B657F", -"/;	c #5C7D9C", -"(;	c #557088", -"_;	c #0F0F10", -":;	c #B9C2CA", -"<;	c #CCDFEF", -"[;	c #B4CDE1", -"};	c #8DAEC8", -"|;	c #6F93AE", -"1;	c #678CA6", -"2;	c #6E92AF", -"3;	c #81A8C1", -"4;	c #8FBBD5", -"5;	c #8DB9D2", -"6;	c #6D8FA2", -"7;	c #586F82", -"8;	c #394851", -"9;	c #86B0C6", -"0;	c #85AFC8", -"a;	c #6F94AF", -"b;	c #698DA8", -"c;	c #6889A7", -"d;	c #5E7E9F", -"e;	c #475D75", -"f;	c #2E3C4A", -"g;	c #5D7E9D", -"h;	c #405465", -"i;	c #36393B", -"j;	c #D7E5F1", -"k;	c #A4C5DC", -"l;	c #668496", -"m;	c #7595AB", -"n;	c #7798AE", -"o;	c #97C2DA", -"p;	c #789DB3", -"q;	c #8BB1C8", -"r;	c #93C0D9", -"s;	c #8BB5CF", -"t;	c #85AFC9", -"u;	c #82AAC6", -"v;	c #5F7C95", -"w;	c #1E252C", -"x;	c #54728E", -"y;	c #587899", -"z;	c #5A7B9B", -"A;	c #2D3843", -"B;	c #798086", -"C;	c #D1E3F1", -"D;	c #B7D3E8", -"E;	c #7E98AB", -"F;	c #181C1F", -"G;	c #46525F", -"H;	c #80A1B8", -"I;	c #99C3DB", -"J;	c #85ACC2", -"K;	c #21272D", -"L;	c #0A0B0D", -"M;	c #53718C", -"N;	c #577797", -"O;	c #1B2229", -"P;	c #0D0E0F", -"Q;	c #B3BDC4", -"R;	c #CADDED", -"S;	c #B4D3E7", -"T;	c #2B3339", -"U;	c #2F3840", -"V;	c #7899AC", -"W;	c #93C1D9", -"X;	c #8FBCD5", -"Y;	c #8BB6D1", -"Z;	c #8DB8D2", -"`;	c #92BFD8", -" >	c #678092", -".>	c #547089", -"+>	c #5C7F9B", -"@>	c #1F262E", -"#>	c #202223", -"$>	c #B1BECB", -"%>	c #C3D9EB", -"&>	c #7B8D99", -"*>	c #708B9A", -"=>	c #85ABC1", -"->	c #7FA3BA", -";>	c #92BBD3", -">>	c #7CA0B4", -",>	c #97BDD4", -"'>	c #657E8F", -")>	c #93BDD4", -"!>	c #88ADC7", -"~>	c #6F94AE", -"{>	c #526A7E", -"]>	c #65849B", -"^>	c #799DBB", -"/>	c #84AFC9", -"(>	c #8FB9D2", -"_>	c #323C45", -":>	c #516C84", -"<>	c #658AA4", -"[>	c #5B7C9B", -"}>	c #2E3A49", -"|>	c #2A3038", -"1>	c #252D3A", -"2>	c #1B1E20", -"3>	c #ADBFCF", -"4>	c #C0D6E7", -"5>	c #B0CDE2", -"6>	c #8EB3C9", -"7>	c #526975", -"8>	c #6B899D", -"9>	c #597183", -"0>	c #90BAD5", -"a>	c #94C2DA", -"b>	c #82ABC5", -"c>	c #495E6E", -"d>	c #82A8C3", -"e>	c #81A4BA", -"f>	c #7594A5", -"g>	c #87ABC3", -"h>	c #4D6573", -"i>	c #6689A6", -"j>	c #526E85", -"k>	c #243037", -"l>	c #607B96", -"m>	c #7699B6", -"n>	c #789EB5", -"o>	c #303D48", -"p>	c #7498B4", -"q>	c #7094AF", -"r>	c #597792", -"s>	c #242F39", -"t>	c #1A1D25", -"u>	c #374553", -"v>	c #4D677D", -"w>	c #14191E", -"x>	c #040505", -"y>	c #171A1D", -"z>	c #8A9FAD", -"A>	c #BCD9EC", -"B>	c #B5D3E7", -"C>	c #A2CAE1", -"D>	c #9DC7DE", -"E>	c #9EC7DD", -"F>	c #3B4A57", -"G>	c #455867", -"H>	c #98C2DB", -"I>	c #85B0CC", -"J>	c #7496B2", -"K>	c #4C606F", -"L>	c #6E8EA3", -"M>	c #7EA0B6", -"N>	c #91BBD3", -"O>	c #8DB7D1", -"P>	c #90BAD4", -"Q>	c #96C1DA", -"R>	c #3B4853", -"S>	c #688AA5", -"T>	c #4C657A", -"U>	c #1B2026", -"V>	c #2B3C44", -"W>	c #5F7A90", -"X>	c #587284", -"Y>	c #536978", -"Z>	c #88B1CC", -"`>	c #759AB8", -" ,	c #617E9A", -".,	c #556F85", -"+,	c #20272E", -"@,	c #323D48", -"#,	c #333E4A", -"$,	c #060707", -"%,	c #4A5159", -"&,	c #ACC3D5", -"*,	c #ACCFE5", -"=,	c #5A6874", -"-,	c #AACDE1", -";,	c #9CC6DC", -">,	c #35414C", -",,	c #769AB2", -"',	c #80AAC5", -"),	c #6F92AB", -"!,	c #38464F", -"~,	c #7EA4B9", -"{,	c #97C3DC", -"],	c #7A9FB6", -"^,	c #3F505C", -"/,	c #6D8DA6", -"(,	c #1E282E", -"_,	c #080909", -":,	c #090A0C", -"<,	c #344452", -"[,	c #3B4857", -"},	c #7799AE", -"|,	c #8DB6D1", -"1,	c #66869E", -"2,	c #3D4957", -"3,	c #536C84", -"4,	c #353F4C", -"5,	c #111215", -"6,	c #65727E", -"7,	c #A6BCCD", -"8,	c #5D6972", -"9,	c #AED0E6", -"0,	c #99C5DC", -"a,	c #8DB5D0", -"b,	c #8DB5CE", -"c,	c #90BBD5", -"d,	c #84AAC5", -"e,	c #8EBBD5", -"f,	c #80A7C1", -"g,	c #6C8DA2", -"h,	c #85AFC6", -"i,	c #61839B", -"j,	c #374352", -"k,	c #576D83", -"l,	c #80A6C1", -"m,	c #81A4BB", -"n,	c #111315", -"o,	c #111418", -"p,	c #4C6378", -"q,	c #33424C", -"r,	c #37454D", -"s,	c #8DB4CF", -"t,	c #7397B3", -"u,	c #3A495A", -"v,	c #0D0F13", -"w,	c #27303A", -"x,	c #272E36", -"y,	c #0F1012", -"z,	c #90A4B2", -"A,	c #A8CBE2", -"B,	c #91BCD4", -"C,	c #80ABC3", -"D,	c #567083", -"E,	c #67899D", -"F,	c #94C2DB", -"G,	c #95C1DB", -"H,	c #779CB2", -"I,	c #60849E", -"J,	c #64849F", -"K,	c #1A1F22", -"L,	c #405061", -"M,	c #79A1BD", -"N,	c #324051", -"O,	c #6183A1", -"P,	c #6B8FAD", -"Q,	c #6485A2", -"R,	c #34444F", -"S,	c #060606", -"T,	c #2D3339", -"U,	c #B2CBDF", -"V,	c #94BCD5", -"W,	c #7DA2BA", -"X,	c #3F5264", -"Y,	c #5A7991", -"Z,	c #7195B3", -"`,	c #7BA5BD", -" '	c #81AAC6", -".'	c #88B2CC", -"+'	c #8EBBD4", -"@'	c #8AB2CC", -"#'	c #82ADC7", -"$'	c #7092A5", -"%'	c #95C2DA", -"&'	c #41525F", -"*'	c #6387A3", -"='	c #475F72", -"-'	c #21282F", -";'	c #5B7288", -">'	c #0D0F11", -",'	c #0B0E11", -"''	c #212C36", -")'	c #26323C", -"!'	c #161B20", -"~'	c #55616D", -"{'	c #9BB9D0", -"]'	c #799EB6", -"^'	c #27313A", -"/'	c #1A222B", -"('	c #5D7E99", -"_'	c #6587A4", -":'	c #6789A6", -"<'	c #6B8EAB", -"['	c #628097", -"}'	c #6D8B9D", -"|'	c #769AAF", -"1'	c #6E91A9", -"2'	c #6C8EAD", -"3'	c #6E91AF", -"4'	c #3C4D59", -"5'	c #8BB1CB", -"6'	c #232D32", -"7'	c #13171B", -"8'	c #232B32", -"9'	c #839AAF", -"0'	c #789BB3", -"a'	c #283138", -"b'	c #0C0E0F", -"c'	c #242B33", -"d'	c #3D4D5B", -"e'	c #435768", -"f'	c #4B6176", -"g'	c #283137", -"h'	c #8DB4CC", -"i'	c #41535E", -"j'	c #405362", -"k'	c #3C4F60", -"l'	c #3C4E5B", -"m'	c #2B353E", -"n'	c #526876", -"o'	c #92BAD3", -"p'	c #1B1F23", -"q'	c #31383F", -"r'	c #7F9CB6", -"s'	c #21292F", -"t'	c #29333F", -"u'	c #1F252E", -"v'	c #090A0E", -"w'	c #4D626E", -"x'	c #96BDD3", -"y'	c #191D20", -"z'	c #13181B", -"A'	c #80A4BC", -"B'	c #1B2027", -"C'	c #5D7182", -"D'	c #2C383F", -"E'	c #364857", -"F'	c #1A2028", -"G'	c #333F49", -"H'	c #7FA2B5", -"I'	c #4A5E6E", -"J'	c #232E35", -"K'	c #252D35", -"L'	c #2F3A41", -"M'	c #0A0B0E", -"N'	c #14191D", -"O'	c #5A717F", -"P'	c #212931", -"Q'	c #222B34", -"R'	c #101216", -"S'	c #21272B", -"                                                                                                                                ", -"                                                                                                                                ", -"                                                                                                                                ", -"                                                                    .                                                           ", -"                                                                    +                                                           ", -"                                    @               #             $ %                                                           ", -"                                  & *               =             - ;                                                           ", -"                                  > , '             ) !         ~ { ]                                                           ", -"                  ^ /             ( _ : < [ } | 1 2 3 4 5 6   7 8 9 0 a                                                         ", -"                  b c d           e f g h i j k l m n o p q r s t u v w         x                                               ", -"                  y z A B   C D E F G H I J K L M N O P Q R S T U U V W       X Y                                               ", -"                    Z `  ...+.@.#.$.%.O &.*.=.-.;.>.,.'.).!.~.~.~.{.].^./.(._.:.<.                                              ", -"                    b [.}.|.#.1.2.3.4.{.~.~.~.~.5.6.5.~.7.8.{.~.~.~.~.9.0.a.b.].c.                                              ", -"                  d.e.f.g.h.i.j.k.{.~.~.~.~.l.~.m.% n.~.o.{.{.~.~.~.~.p.V 9.~.q.r.                                              ", -"                s.t.u.v.w.x.u y.z.A.B.5.~.~.5.C.D.E.F.~.~.G.~.~.~.G.H.I.J.~.~.J.K.L.  M.N.                                      ", -"              O.P.Q.R.S.T.U.V.W.X.Y.Z.`.~.~.5. +.+++@+U ~.~.~.~.~.#+$+%+,.~.~.G.&+*+=+-+;+                                      ", -"            >+,+Q.'+)+!+~+{+]+^+/+(+_+:+<+~.[+}+U 9.|+5.~.~.~.~.1+2+3+4+5+~.].6+7+8+9+0+                                        ", -"          a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+5.U ~.U r+s+~.~.~.t+u+v+w+x+y+~.z+A+t+B+C+D+E+          F+G+                        ", -"        H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+V ~.~.~.~.U ~.~.~.o.9.{.Z+`+9.~.~.~.V  @.@+@@@#@  $@%@&@*@                          ", -"        =@-@;@>@,@'@'.)@!@~@{@]@^@/@l+(@_@:@<@~.~.~.U {.~.~.~.{.~.~.{.[@~.~.~.~.}@|@1@2@3@4@5@6@7@8@                            ", -"        9@0@a@b@c@d@-.e@f@g@h@i@j@k@l@V+m@n@o@p@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.q@r@s@t@u@v@w@x@y@                              ", -"z@A@B@C@D@E@X F@G@H@R I@J@K@L@M@N@O@P@Q@R@o+S@T@~.~.~.~.~.~.~.~.~.~.~.~.~.~.9.U@V@W@X@<+V Y@Z@`@ #                              ", -"    .#+#@###$#%#&#*#=#-#;#>#,#'#)#!#~#{#]#^#S@/#~.~.~.~.~.~.~.~.~.~.~.~.~.U (#_#:#<#p@{.[#}#|#1#2#                              ", -"      3#4#5#6#7#8#9#0#a#b#c#d#e#f#g#h#i#j#k#S@/#~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.l#m#9.{.~.n#o#p#q#r#s#                            ", -"      t#u#v#w#x#y#z#A#B#C#D#E#F#G#H#I#% J#K#S@T@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.L#0.l.~.~.{.M#N#O#P#Q#R#                          ", -"      S#T#U#V#W#X#Y#Z#`# $.$+$@$#$$$%$&$*$=$-$a#~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.o.o.;$9.G.~.>$,$'$)$!$~${$]$                      ", -"      ^$/$($_$:$<$[$}$|$1$2$3$4$5$6$7$8$9$:+<+~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.G.0$a$b$c$d$e$f$g$h$i$j$k$                        ", -"    [ l$m$n$o$p$q$r$s$t$u$v$w$x$y$z$A$B$C$M#p@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.;$D$E$F$G$H$I$J$K$L$                          ", -"    M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$`$ %.%+%@%<+{.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.#%$%%%p@&%*%=%-%;%>%,%                        ", -"    '%)%!%~%{%]%^%/%(%_%:%<%[%}%|%1%2%3%-$T@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.4%5%U p@6%7%8%9%0%a%y                         ", -"    b%c%d%e%f%g%h%i%G.[#j%k%l%m%n%o%p%@%q%{.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.~.~.~.~.~.~.V G.}@r%s%t%u%v%w%M.x%y%z%A%              ", -"    B%C%D%E%F%G%H%I%V o.<@J%K%L%M%N%O%P%p@~.~.~.~.~.~.~.~.~.U ~.~.U 9.Q%{.~.~.~.~.~.{.%%U {.~.~.{.v@R%S%T%U%V%W%    X%$         ", -"    Y%Z%`% &.&+&@&#&U ~.{.$&%&&&*&=&-&T@~.~.~.~.~.~.~.~.~.~.~.;&>&,&'&)&!&5+~.~.~.~.{.~&{&]&9.~.p@^&/&(&_&:&      <&[&}&|&      ", -"    1&2&3&4&5&6&7&8&9&l.~.{.V 0&a&b&c&~.~.~.~.~.~.~.5.d&e&f&g&h&i&j&k&l&m&n&~.~.G.~.~.~.o&p&q&r&s&t&u&v&        w&x&y&z&A&B&    ", -"    C&2&D&E&F&G&G&H&I&J&U ~.~.U K&L&,.~.~.~.~.~.~.~.U M&N&O&P&Q&R&S&T&U&V&W&X&].{.~.~.{./#Y&Z&`& *.*+*@*      (.#*$*%*&***=*    ", -"    -*;*>*,*'*)*!*~*{*]*^*~.5.{.5./*U ~.~.~.~.~.~.{.[#(*_*:*<*[*[*}*|*1*2*3*4*5*U ~.~.6*7*8*9*0*a*b*c*d*e*f*g*h*i*%*j*k*<%l*    ", -"    m*n*o*p*q*r*s*t*u*v*w*1+~.~.~.~.~.~.~.~.~.~.~.x*y*z*A*B*C*D*E*V U ~.G.~.:.F*G*l.{.R%X+H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*    ", -"    Y*Z*D&`* =.=+=@=#=$=%=&={.~.~.~.~.~.~.~.~.~.~.<+*===-=;=>=,='=)=[#p@!=~={=]=^=/=(=a#&%_=:=<=-#[=}=k$|=1=2=3=4=5=6=7=8=9=    ", -"    0=a=b=c=d=e=f=g=h=i=j=k=l=5.~.~.~.~.~.~.~.~.~.V -$m=n===o=p=q=r=s=t=:+u=v=w=x=y=z=A=J.V U ~.V [#B=C=D=1=E=F=      G=H=I=    ", -"    J=K=L=M=N=O=P=Q=R=S=T=U=V=5.U ~.~.~.~.~.~.~.~.~.{.x*W=X=Y=Z=`= -.-+-@-#-$-%-&-*-=---;->-9.x*)=,-'-)-c.!-~-          {-]-    ", -"    ^-/-(-_-:-<-<-[-%.}-|-1-T@~.{.~.~.~.~.~.~.~.~.~.~.V 2-^&3-4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-V@i-j-k-l-T=m-7@n-          o-p-    ", -"    q-r-s-t-u-v-!+2*w-x-y-z-V ~.~.~.~.~.~.~.~.~.~.~.~.~.~./#A-B-C-D-E-F-G-H-I-J-K-L-<@M-W=N-O-P-Q-R-<&S-T-U-V-          W-      ", -"      X-Y-Z-`- ;.;+;@;#;$;q+~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~./#v@W=N#%;&;*;=;-;s=-#;;>;,;';);!;~;{;];^;/;(;H+                    ", -"      _;:;<;[;};|;1;2;3;4;{.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.T@-#5;6;7;8;9;[#V <+0;a;b;c;E-d;e;f;|=g;h;                      ", -"        i;j;V#k;F.l;m;n;o;~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.~.{.p@S@s=p;q;~.~.{.r;s;t;u;~$v;w;x;y;z;A;                      ", -"        H+B;C;D;E;F;G;H;~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.U ~.~.V E*E*V ~.~.~.{.T@/#I;J;K;L;M;y;N;O;                      ", -"          P;Q;R;S;T;U;~.{.~.~.~.~.~.~.~.~.l.U {.p@~.~.{.V ~.~.5+V;].~.~.~.~.{.{.p@W;X;Y;Z;`;/# >W..>+>N;@>                      ", -"            #>$>%>&>*>G.~.~.~.~.~.~.~.~.{.`.=>V=->;>~.n##&>>T@,>'>].~.~.~.~.~.)>!>i$~>{>]>^>/>(>_>:><>[>}>      |>1>            ", -"              2>3>4>5>U@U ~.~.~.~.~.~.~.{.6>7>8>9>0>a#a>b>c>d>e>f>~.~.~.V ~.~.g>h>i>1=j>,%k>l>m>n>o>p>q>r>s>t>u>v>w>            ", -"              x>y>z>A>B>C>5+D>E>~.~.~.~.{.%&F>G>3;s%{.H>I>J>K>L>M>~.V N>O>P>x*Q>R>S>T>U>    X%V>W>X>Y>Z>P-`> ,.,+,              ", -"              @,#,$,%,&,1.*,=,-,;,{.p@V {.X@>,,,Z;V ~.5.`;',),!,~,~.{,],^,/,/&-$F$(,_,          :,<,[,},<@|,1,2,                ", -"            B&3,4,    5,6,7,8,9,0,`;a,b,B+c,d,s=<+~.~.~.a#e,f,g,h,V -#9$i,j,k,l,m,n,            o,p,q,r,s,t,u,v,                ", -"            w,x,          y,z,A,B,C,D,E,o@F,G,<+~.~.~.~.~.;;P>j%}@p@H,]#I,J,K,L,M,=+              N,O,P,Q,R,S,                  ", -"                          T,U,V,W,X,Y,Z,`, '.'+'x*~.{.O+@%@'#'$'%'a#&'*'='-'    ~;;'>'            ,''')'!'                      ", -"                          ~'{']'^'/'('_'_':'<'['}'{.V |'1'2'3'4'5'}@6'7'          8'K;                                          ", -"                        v&9'0'a'    b'c'd'e'f'1@g'h'G.i'j'k'l'm'n'o'p'              y                                           ", -"                        q'r's'        t'u'H+    v'w'x'y'        z'A'B'                                                          ", -"                        C'D'          E'F'        G'H'            I'J'                                                          ", -"                      K'L'            M'          N'O'            P'Q'                                                          ", -"                      R'                            S'                                                                          ", -"                                                                                                                                ", -"                                                                                                                                ", -"                                                                                                                                ", -"                                                                                                                                "}; | 
