Mercurial > audlegacy
changeset 342:320f0205ad45 trunk
[svn] Initial fileinfo box, loosely based around the mpg123-clone one.
author | nenolod |
---|---|
date | Mon, 26 Dec 2005 01:16:45 -0800 |
parents | 46271e2c9622 |
children | 7b71e0dbb62d |
files | Plugins/Input/aac/src/Makefile.am Plugins/Input/aac/src/fileinfo.c Plugins/Input/aac/src/libmp4.c Plugins/Input/aac/src/mp3.xpm |
diffstat | 4 files changed, 1387 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/Plugins/Input/aac/src/Makefile.am Mon Dec 26 00:38:59 2005 -0800 +++ b/Plugins/Input/aac/src/Makefile.am Mon Dec 26 01:16:45 2005 -0800 @@ -4,6 +4,6 @@ libaac_la_LDFLAGS = $(PLUGIN_LDFLAGS) ../libmp4v2/libmp4v2.la ../libfaad2/libfaad.la -lstdc++ -libaac_la_SOURCES = libmp4.c mp4_utils.c aac_utils.c tagging_mp4.c +libaac_la_SOURCES = libmp4.c mp4_utils.c aac_utils.c tagging_mp4.c fileinfo.c INCLUDES = $(GTK_CFLAGS) -I$(top_builddir)/intl -I$(top_srcdir) -I../include -I../libmp4v2 -I../libfaad
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/Input/aac/src/fileinfo.c Mon Dec 26 01:16:45 2005 -0800 @@ -0,0 +1,421 @@ +/* BMP - Cross-platform multimedia player + * Copyright (C) 2003-2004 BMP development team. + * + * Based on XMMS: + * Copyright (C) 1998-2003 XMMS development team. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include <glib.h> +#include <glib/gi18n.h> +#include <gtk/gtk.h> +#include <gdk/gdkkeysyms.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <stdarg.h> + +#include <unistd.h> +#include <fcntl.h> +#include <errno.h> + +#include "audacious/util.h" +#include <libaudacious/util.h> +#include <libaudacious/vfs.h> +#include <libaudacious/xentry.h> + +#include "tagging.h" + +#include "mp3.xpm" + +static GtkWidget *window = NULL; +static GtkWidget *filename_entry, *id3_frame; +static GtkWidget *title_entry, *artist_entry, *album_entry, *year_entry, + *tracknum_entry, *comment_entry; +static GtkWidget *genre_combo; + +GtkWidget *vbox, *hbox, *left_vbox, *table; +GtkWidget *mpeg_frame, *mpeg_box; +GtkWidget *label, *filename_vbox; +GtkWidget *bbox; +GtkWidget *remove_id3, *cancel, *save; +GtkWidget *boxx; + +const gchar *emphasis[4]; +const gchar *bool_label[2]; + +static GList *genre_list = NULL; +static gchar *current_filename = NULL; + +#define MAX_STR_LEN 100 + +static guint +audmp4_strip_spaces(char *src, size_t n) +{ + gchar *space = NULL, /* last space in src */ + *start = src; + + while (n--) + switch (*src++) { + case '\0': + n = 0; /* breaks out of while loop */ + + src--; + break; + case ' ': + if (space == NULL) + space = src - 1; + break; + default: + space = NULL; /* don't terminate intermediate spaces */ + + break; + } + if (space != NULL) { + src = space; + *src = '\0'; + } + return src - start; +} + +static void +set_entry_tag(GtkEntry * entry, gchar * tag, gint length) +{ + gint stripped_len; + gchar *text, *text_utf8; + + stripped_len = audmp4_strip_spaces(tag, length); + text = g_strdup_printf(tag); + + if ((text_utf8 = str_to_utf8(text))) { + gtk_entry_set_text(entry, text_utf8); + g_free(text_utf8); + } + else { + gtk_entry_set_text(entry, ""); + } + + g_free(text); +} + +static void +get_entry_tag(GtkEntry * entry, gchar * tag, gint length) +{ + gchar *text = str_to_utf8(gtk_entry_get_text(entry)); + memset(tag, ' ', length); + memcpy(tag, text, strlen(text) > length ? length : strlen(text)); +} + +static void +press_save(GtkWidget * w, gpointer data) +{ + gtk_button_clicked(GTK_BUTTON(save)); +} + +static gint +genre_comp_func(gconstpointer a, gconstpointer b) +{ + return strcasecmp(a, b); +} + +static gboolean +fileinfo_keypress_cb(GtkWidget * widget, + GdkEventKey * event, + gpointer data) +{ + if (!event) + return FALSE; + + switch (event->keyval) { + case GDK_Escape: + gtk_widget_destroy(window); + break; + default: + return FALSE; + } + + return TRUE; +} + +static void +label_set_text(GtkWidget * label, gchar * str, ...) +{ + va_list args; + gchar tempstr[MAX_STR_LEN]; + + va_start(args, str); + g_vsnprintf(tempstr, MAX_STR_LEN, str, args); + va_end(args); + + gtk_label_set_text(GTK_LABEL(label), tempstr); +} + +static void +change_buttons(GtkObject * object) +{ + gtk_widget_set_sensitive(GTK_WIDGET(object), TRUE); +} + +void +audmp4_file_info_box(gchar * filename) +{ + gint i; + gchar *title, *filename_utf8; + MP4FileHandle mp4file; + + emphasis[0] = _("None"); + emphasis[1] = _("50/15 ms"); + emphasis[2] = ""; + emphasis[3] = _("CCIT J.17"); + bool_label[0] = _("No"); + bool_label[1] = _("Yes"); + + if (!window) { + GtkWidget *pixmapwid; + GdkPixbuf *pixbuf; + PangoAttrList *attrs; + PangoAttribute *attr; + + window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk_window_set_type_hint(GTK_WINDOW(window), + GDK_WINDOW_TYPE_HINT_DIALOG); + gtk_window_set_resizable(GTK_WINDOW(window), TRUE); + gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); + g_signal_connect(G_OBJECT(window), "destroy", + G_CALLBACK(gtk_widget_destroyed), &window); + gtk_container_set_border_width(GTK_CONTAINER(window), 10); + + vbox = gtk_vbox_new(FALSE, 10); + gtk_container_add(GTK_CONTAINER(window), vbox); + + + filename_vbox = gtk_hbox_new(FALSE, 5); + gtk_box_pack_start(GTK_BOX(vbox), filename_vbox, FALSE, TRUE, 0); + + pixbuf = gdk_pixbuf_new_from_xpm_data((const gchar **) + gnome_mime_audio_xpm); + pixmapwid = gtk_image_new_from_pixbuf(pixbuf); + g_object_unref(pixbuf); + gtk_misc_set_alignment(GTK_MISC(pixmapwid), 0, 0); + gtk_box_pack_start(GTK_BOX(filename_vbox), pixmapwid, FALSE, FALSE, + 0); + + label = gtk_label_new(NULL); + + attrs = pango_attr_list_new(); + + attr = pango_attr_weight_new(PANGO_WEIGHT_BOLD); + attr->start_index = 0; + attr->end_index = -1; + pango_attr_list_insert(attrs, attr); + + gtk_label_set_attributes(GTK_LABEL(label), attrs); + gtk_label_set_text(GTK_LABEL(label), _("Name:")); + gtk_box_pack_start(GTK_BOX(filename_vbox), label, FALSE, FALSE, 0); + + filename_entry = gtk_entry_new(); + gtk_editable_set_editable(GTK_EDITABLE(filename_entry), FALSE); + gtk_box_pack_start(GTK_BOX(filename_vbox), filename_entry, TRUE, + TRUE, 0); + + hbox = gtk_hbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0); + + /* tagging information */ + id3_frame = gtk_frame_new(_("Song Metadata")); + gtk_box_pack_start(GTK_BOX(vbox), id3_frame, FALSE, TRUE, 0); + + table = gtk_table_new(7, 5, FALSE); + gtk_container_set_border_width(GTK_CONTAINER(table), 5); + gtk_container_add(GTK_CONTAINER(id3_frame), table); + + label = gtk_label_new(_("Title:")); + gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5); + gtk_label_set_attributes(GTK_LABEL(label), attrs); + gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, + GTK_FILL, 5, 5); + + title_entry = gtk_entry_new(); + gtk_table_attach(GTK_TABLE(table), title_entry, 1, 6, 0, 1, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5); + + label = gtk_label_new(_("Artist:")); + gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5); + gtk_label_set_attributes(GTK_LABEL(label), attrs); + gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, GTK_FILL, + GTK_FILL, 5, 5); + + artist_entry = gtk_entry_new(); + gtk_table_attach(GTK_TABLE(table), artist_entry, 1, 6, 1, 2, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5); + + label = gtk_label_new(_("Album:")); + gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5); + gtk_label_set_attributes(GTK_LABEL(label), attrs); + gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, GTK_FILL, + GTK_FILL, 5, 5); + + album_entry = gtk_entry_new(); + gtk_table_attach(GTK_TABLE(table), album_entry, 1, 6, 2, 3, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5); + + label = gtk_label_new(_("Comment:")); + gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5); + gtk_label_set_attributes(GTK_LABEL(label), attrs); + gtk_table_attach(GTK_TABLE(table), label, 0, 1, 3, 4, GTK_FILL, + GTK_FILL, 5, 5); + + comment_entry = gtk_entry_new(); + gtk_table_attach(GTK_TABLE(table), comment_entry, 1, 6, 3, 4, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5); + + label = gtk_label_new(_("Year:")); + gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5); + gtk_label_set_attributes(GTK_LABEL(label), attrs); + gtk_table_attach(GTK_TABLE(table), label, 0, 1, 4, 5, GTK_FILL, + GTK_FILL, 5, 5); + + year_entry = gtk_entry_new(); + gtk_entry_set_width_chars(GTK_ENTRY(year_entry),4); + gtk_table_attach(GTK_TABLE(table), year_entry, 1, 2, 4, 5, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5); + + label = gtk_label_new(_("Track number:")); + gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5); + gtk_label_set_attributes(GTK_LABEL(label), attrs); + gtk_table_attach(GTK_TABLE(table), label, 2, 3, 4, 5, GTK_FILL, + GTK_FILL, 5, 5); + + tracknum_entry = gtk_entry_new(); + gtk_widget_set_usize(tracknum_entry, 40, -1); + gtk_table_attach(GTK_TABLE(table), tracknum_entry, 3, 4, 4, 5, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5); + + pango_attr_list_unref(attrs); + +#if 0 + label = gtk_label_new(_("Genre:")); + gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5); + gtk_label_set_attributes(GTK_LABEL(label), attrs); + gtk_table_attach(GTK_TABLE(table), label, 0, 1, 5, 6, GTK_FILL, + GTK_FILL, 5, 5); + + genre_combo = gtk_combo_new(); + gtk_entry_set_editable(GTK_ENTRY(GTK_COMBO(genre_combo)->entry), + FALSE); + if (!genre_list) { + for (i = 0; i < GENRE_MAX; i++) + genre_list = + g_list_prepend(genre_list, + (gchar *) mpg123_id3_genres[i]); + genre_list = g_list_prepend(genre_list, ""); + genre_list = g_list_sort(genre_list, genre_comp_func); + } + gtk_combo_set_popdown_strings(GTK_COMBO(genre_combo), genre_list); + + gtk_table_attach(GTK_TABLE(table), genre_combo, 1, 6, 5, 6, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, + GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5); +#endif + + boxx = gtk_hbutton_box_new(); + gtk_hbutton_box_set_layout_default(GTK_BUTTONBOX_SPREAD); + + bbox = gtk_hbutton_box_new(); + gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); + gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5); + gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, TRUE, 0); + + cancel = gtk_button_new_from_stock(GTK_STOCK_CLOSE); + g_signal_connect_swapped(G_OBJECT(cancel), "clicked", + G_CALLBACK(gtk_widget_destroy), + G_OBJECT(window)); + GTK_WIDGET_SET_FLAGS(cancel, GTK_CAN_DEFAULT); + gtk_box_pack_start(GTK_BOX(bbox), cancel, FALSE, FALSE, 0); + gtk_widget_grab_default(cancel); + + + gtk_table_set_col_spacing(GTK_TABLE(left_vbox), 1, 10); + + + g_signal_connect_swapped(G_OBJECT(title_entry), "changed", + G_CALLBACK(change_buttons), save); + g_signal_connect_swapped(G_OBJECT(artist_entry), "changed", + G_CALLBACK(change_buttons), save); + g_signal_connect_swapped(G_OBJECT(album_entry), "changed", + G_CALLBACK(change_buttons), save); + g_signal_connect_swapped(G_OBJECT(year_entry), "changed", + G_CALLBACK(change_buttons), save); + g_signal_connect_swapped(G_OBJECT(comment_entry), "changed", + G_CALLBACK(change_buttons), save); + g_signal_connect_swapped(G_OBJECT(tracknum_entry), "changed", + G_CALLBACK(change_buttons), save); +#if 0 + g_signal_connect_swapped(G_OBJECT(GTK_COMBO(genre_combo)->entry), "changed", + G_CALLBACK(change_buttons), save); +#endif + g_signal_connect(G_OBJECT(window), "key_press_event", + G_CALLBACK(fileinfo_keypress_cb), NULL); + } + + g_free(current_filename); + current_filename = g_strdup(filename); + + filename_utf8 = filename_to_utf8(filename); + + title = g_strdup_printf(_("%s - Audacious"), g_basename(filename_utf8)); + gtk_window_set_title(GTK_WINDOW(window), title); + g_free(title); + + gtk_entry_set_text(GTK_ENTRY(filename_entry), filename_utf8); + g_free(filename_utf8); + + gtk_editable_set_position(GTK_EDITABLE(filename_entry), -1); + + gtk_entry_set_text(GTK_ENTRY(artist_entry), ""); + gtk_entry_set_text(GTK_ENTRY(album_entry), ""); + gtk_entry_set_text(GTK_ENTRY(year_entry), ""); + gtk_entry_set_text(GTK_ENTRY(tracknum_entry), ""); + gtk_entry_set_text(GTK_ENTRY(comment_entry), ""); + +#if 0 + gtk_list_select_item(GTK_LIST(GTK_COMBO(genre_combo)->list), + g_list_index(genre_list, "")); +#endif + + gtk_widget_set_sensitive(id3_frame, + vfs_is_writeable(filename)); + + gtk_widget_set_sensitive(GTK_WIDGET(save), FALSE); + + /* Ok! Lets set the information now. */ + + if ((mp4file = MP4Read(filename, 0)) != NULL) + { + gtk_entry_set_text(GTK_ENTRY(artist_entry), audmp4_get_artist(mp4file)); + gtk_entry_set_text(GTK_ENTRY(title_entry), audmp4_get_title(mp4file)); + gtk_entry_set_text(GTK_ENTRY(year_entry), g_strdup_printf("%d", audmp4_get_year(mp4file))); + gtk_entry_set_text(GTK_ENTRY(album_entry), audmp4_get_album(mp4file)); + } + + gtk_widget_show_all(window); +}
--- a/Plugins/Input/aac/src/libmp4.c Mon Dec 26 00:38:59 2005 -0800 +++ b/Plugins/Input/aac/src/libmp4.c Mon Dec 26 01:16:45 2005 -0800 @@ -36,7 +36,7 @@ static void mp4_seek(int); static int mp4_getTime(void); static void mp4_cleanup(void); -static void mp4_getSongInfo(char *); +static void audmp4_file_info_box(gchar *); static int mp4_isFile(char *); static void mp4_getSongTitle(char *filename, char **, int *); static void* mp4Decode(void *); @@ -65,7 +65,7 @@ 0, // set player window info 0, // set song title text mp4_getSongTitle, // get song title text - mp4_getSongInfo, // info box + audmp4_file_info_box, // info box 0, // to output plugin };
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/Input/aac/src/mp3.xpm Mon Dec 26 01:16:45 2005 -0800 @@ -0,0 +1,963 @@ +/* XPM */ +static char * gnome_mime_audio_xpm[] = { +"48 52 908 2", +" c None", +". c #000000", +"+ c #010100", +"@ c #020201", +"# c #030201", +"$ c #232323", +"% c #1F1F1F", +"& c #DADADA", +"* c #FFFFFF", +"= c #F6F6F6", +"- c #CFCFCF", +"; c #707070", +"> c #FFFFFE", +", c #FEFEFE", +"' c #FBFBFB", +") c #EDEDED", +"! c #C0C0C0", +"~ c #FFFEFE", +"{ c #F8F5F2", +"] c #EBE7E1", +"^ c #ECEDE8", +"/ c #ECEFEA", +"( c #E6E9E4", +"_ c #CED0CE", +": c #BCBFBC", +"< c #F0F0EF", +"[ c #FEFEFD", +"} c #F7F7F7", +"| c #D7D7D7", +"1 c #F1F1F1", +"2 c #B7B7B7", +"3 c #EAEDEA", +"4 c #8EA299", +"5 c #697D70", +"6 c #546459", +"7 c #404D44", +"8 c #2C352F", +"9 c #4E5649", +"0 c #D6D8D3", +"a c #D2D2D2", +"b c #AEAEAE", +"c c #070707", +"d c #FCFCFB", +"e c #6D7C75", +"f c #5A5D4C", +"g c #6B735F", +"h c #6E7B63", +"i c #5B6052", +"j c #4A5042", +"k c #CED0CB", +"l c #FEFDFD", +"m c #FDFDFD", +"n c #B8B8B8", +"o c #DCDCDC", +"p c #A4A4A3", +"q c #0E0E0E", +"r c #8A928F", +"s c #6A7F68", +"t c #4D564E", +"u c #4E5950", +"v c #585E57", +"w c #333530", +"x c #9D9C9B", +"y c #FCFDFE", +"z c #FDFEFE", +"A c #FDFDFE", +"B c #F5F5F4", +"C c #B5B5B5", +"D c #F9F9F9", +"E c #FCFCFC", +"F c #CBCBCB", +"G c #A5A5A5", +"H c #CECDCB", +"I c #788976", +"J c #C6BDBB", +"K c #E2E2E2", +"L c #E2E0DF", +"M c #656A65", +"N c #4A4B49", +"O c #EAEDF1", +"P c #CED5DD", +"Q c #DBE0E9", +"R c #DDE1E9", +"S c #D3D7DD", +"T c #D9DCE1", +"U c #F4F4F4", +"V c #ACACAC", +"W c #ECECEC", +"X c #C3C3C3", +"Y c #C2C2C2", +"Z c #C9C9C8", +"` c #A8A8A8", +" . c #F6F8F6", +".. c #A7ADA5", +"+. c #6D7F71", +"@. c #ECECE9", +"#. c #FDFDFC", +"$. c #939C9A", +"%. c #1B2321", +"&. c #FCFBFA", +"*. c #F2F6F9", +"=. c #B4BFCC", +"-. c #7E8A9B", +";. c #515B6F", +">. c #50596A", +",. c #737D8D", +"'. c #BEC6CE", +"). c #C4CBD5", +"!. c #BFC5D1", +"~. c #F1F2F4", +"{. c #F4F4F3", +"]. c #ABABAB", +"^. c #515151", +"/. c #474747", +"(. c #464645", +"_. c #464646", +":. c #5D5D5C", +"<. c #A9A9A9", +"[. c #FAFAF9", +"}. c #EDEFF0", +"|. c #F1F5F5", +"1. c #636E62", +"2. c #636E5F", +"3. c #D4D5D3", +"4. c #FBF7F4", +"5. c #9BA595", +"6. c #657366", +"7. c #001514", +"8. c #FCFAF8", +"9. c #FDFCFC", +"0. c #FBF9F7", +"a. c #E3E6EA", +"b. c #9DACBF", +"c. c #515A6D", +"d. c #111828", +"e. c #131B29", +"f. c #0F1A2B", +"g. c #081125", +"h. c #0D1328", +"i. c #C2C9D1", +"j. c #C5CBD4", +"k. c #A6AEBB", +"l. c #F6F6F7", +"m. c #FAFAFA", +"n. c #F2F2F2", +"o. c #F3F3F3", +"p. c #AAAAAA", +"q. c #A0A09F", +"r. c #8A8A8A", +"s. c #7A7A7A", +"t. c #6C6C6C", +"u. c #454545", +"v. c #ABB3AF", +"w. c #A8B6A3", +"x. c #D0DBD0", +"y. c #F2F3F0", +"z. c #DEE1E0", +"A. c #66736A", +"B. c #354336", +"C. c #556254", +"D. c #C5C7C6", +"E. c #F2EDEA", +"F. c #CADAD9", +"G. c #9BA893", +"H. c #1B3128", +"I. c #FCF4EF", +"J. c #FDFBF9", +"K. c #DDDFE4", +"L. c #97A3B4", +"M. c #374152", +"N. c #0D131C", +"O. c #1C2026", +"P. c #262C3A", +"Q. c #242E43", +"R. c #202D41", +"S. c #172538", +"T. c #121523", +"U. c #BABCC3", +"V. c #9DA6B5", +"W. c #BABEC4", +"X. c #F8F8F7", +"Y. c #E7E7E7", +"Z. c #C6C6C5", +"`. c #BABAB9", +" + c #E7E9E9", +".+ c #63736C", +"++ c #464945", +"@+ c #5F7361", +"#+ c #CED4C3", +"$+ c #DBDEDA", +"%+ c #979999", +"&+ c #404342", +"*+ c #606E6B", +"=+ c #E5E5E3", +"-+ c #4B5F52", +";+ c #455845", +">+ c #2D362F", +",+ c #FCFAF9", +"'+ c #E4E4E7", +")+ c #97A8B9", +"!+ c #343C4A", +"~+ c #13181E", +"{+ c #1B2027", +"]+ c #1D232B", +"^+ c #1F2632", +"/+ c #212A3C", +"(+ c #242F45", +"_+ c #2A374D", +":+ c #121C2F", +"<+ c #525A67", +"[+ c #D9DDE5", +"}+ c #737C8C", +"|+ c #EAEBEB", +"1+ c #F7F7F6", +"2+ c #F6F6F5", +"3+ c #F5F5F5", +"4+ c #EDEDEB", +"5+ c #FBFBFA", +"6+ c #6C8175", +"7+ c #778673", +"8+ c #121613", +"9+ c #4C504A", +"0+ c #8FA695", +"a+ c #E2DCD8", +"b+ c #E5E6E7", +"c+ c #FBFAF9", +"d+ c #CAC6C1", +"e+ c #847F79", +"f+ c #FCFAFA", +"g+ c #ECE9E9", +"h+ c #A6B1C4", +"i+ c #232B37", +"j+ c #12171E", +"k+ c #191F27", +"l+ c #1D222B", +"m+ c #1E242B", +"n+ c #1E252F", +"o+ c #202937", +"p+ c #232F44", +"q+ c #283853", +"r+ c #253046", +"s+ c #0A1526", +"t+ c #D5D7DB", +"u+ c #727D90", +"v+ c #CFD0D2", +"w+ c #B1B1B1", +"x+ c #99A597", +"y+ c #7B9173", +"z+ c #65705D", +"A+ c #1F201B", +"B+ c #58655E", +"C+ c #F3F2F1", +"D+ c #AAB3C1", +"E+ c #525C6D", +"F+ c #0A0F17", +"G+ c #1C2129", +"H+ c #1E242A", +"I+ c #1E242C", +"J+ c #1F232D", +"K+ c #232E41", +"L+ c #2B3855", +"M+ c #2C3B57", +"N+ c #070D1F", +"O+ c #A3ABB6", +"P+ c #828EA0", +"Q+ c #B9BCC2", +"R+ c #F3F3F2", +"S+ c #F1EFEC", +"T+ c #72886D", +"U+ c #4E5849", +"V+ c #748268", +"W+ c #808080", +"X+ c #D6D9DE", +"Y+ c #5E6A7A", +"Z+ c #121621", +"`+ c #161D26", +" @ c #1D242C", +".@ c #1F242B", +"+@ c #1E2427", +"@@ c #212C3F", +"#@ c #283552", +"$@ c #2F405D", +"%@ c #0E162B", +"&@ c #59657B", +"*@ c #8A98AA", +"=@ c #AFB4BC", +"-@ c #F2F2F1", +";@ c #7D9074", +">@ c #494949", +",@ c #676D65", +"'@ c #C8CBC7", +")@ c #818B9B", +"!@ c #1B232F", +"~@ c #0F151F", +"{@ c #1B212B", +"]@ c #1E232D", +"^@ c #20252C", +"/@ c #24272C", +"(@ c #1F2429", +"_@ c #1C2228", +":@ c #1F2A3C", +"<@ c #1F2A40", +"[@ c #25344E", +"}@ c #314464", +"|@ c #15223A", +"1@ c #34445E", +"2@ c #939FB3", +"3@ c #ACB2BC", +"4@ c #F1F1F0", +"5@ c #ECEEEB", +"6@ c #B8BCB7", +"7@ c #647C65", +"8@ c #797E78", +"9@ c #C4C3C2", +"0@ c #919191", +"a@ c #DCE3EA", +"b@ c #242C3D", +"c@ c #0B101C", +"d@ c #1A212A", +"e@ c #1F242C", +"f@ c #21252C", +"g@ c #222629", +"h@ c #1C232A", +"i@ c #212B3D", +"j@ c #33415B", +"k@ c #27344B", +"l@ c #212F47", +"m@ c #374A68", +"n@ c #1A2840", +"o@ c #34445F", +"p@ c #96A3B5", +"q@ c #B3B7C0", +"r@ c #F2F2F0", +"s@ c #F0F0F0", +"t@ c #E2E7E2", +"u@ c #939E92", +"v@ c #50644E", +"w@ c #3D443E", +"x@ c #D4D2CF", +"y@ c #7F8898", +"z@ c #020A14", +"A@ c #171E28", +"B@ c #1C222A", +"C@ c #1E232B", +"D@ c #1F242D", +"E@ c #1F2228", +"F@ c #1D2328", +"G@ c #283449", +"H@ c #4A5C7B", +"I@ c #697D98", +"J@ c #4D5D79", +"K@ c #1F2D45", +"L@ c #394A6B", +"M@ c #1B2943", +"N@ c #425371", +"O@ c #95A3B5", +"P@ c #B8BDC2", +"Q@ c #EFEFEE", +"R@ c #EFEFED", +"S@ c #EDEEED", +"T@ c #EFF0F0", +"U@ c #F7FCF3", +"V@ c #313F30", +"W@ c #1C2120", +"X@ c #C9CBC9", +"Y@ c #F9F9F8", +"Z@ c #E9EEF2", +"`@ c #3C4352", +" # c #0C111D", +".# c #1E232E", +"+# c #1D212A", +"@# c #20242C", +"## c #1B1D20", +"$# c #263043", +"%# c #576886", +"&# c #8396B1", +"*# c #7A8FAD", +"=# c #677B99", +"-# c #28374F", +";# c #384A69", +"># c #182642", +",# c #5D708F", +"'# c #828FA3", +")# c #C5C7CB", +"!# c #F1F1EF", +"~# c #EEEEED", +"{# c #EEEEEC", +"]# c #9DA7A4", +"^# c #2A3B34", +"/# c #222725", +"(# c #80807E", +"_# c #EFEEEC", +":# c #F1F0EF", +"<# c #F4F3F2", +"[# c #F8F8F8", +"}# c #A8AFBB", +"|# c #0D1522", +"1# c #1A212E", +"2# c #1D232C", +"3# c #21252D", +"4# c #1E2327", +"5# c #171B20", +"6# c #637593", +"7# c #95A6BE", +"8# c #6D7F9C", +"9# c #617395", +"0# c #5A6E8B", +"a# c #2A354A", +"b# c #3D4E6D", +"c# c #1C2A46", +"d# c #748DAB", +"e# c #6D798A", +"f# c #DEDFE0", +"g# c #EEEEEE", +"h# c #EDEDEC", +"i# c #ECEAE7", +"j# c #ADB1B0", +"k# c #B5B9BA", +"l# c #F1F0F0", +"m# c #F9F8F8", +"n# c #F7F5F4", +"o# c #A7AAA4", +"p# c #B7BAB4", +"q# c #F7F6F6", +"r# c #ECEFF1", +"s# c #747F8E", +"t# c #0A121E", +"u# c #232C3A", +"v# c #1D232E", +"w# c #222932", +"x# c #1B1D21", +"y# c #1C273E", +"z# c #C1CFE1", +"A# c #8FA1B7", +"B# c #6D81A0", +"C# c #596D93", +"D# c #455674", +"E# c #293343", +"F# c #4A5C7D", +"G# c #304060", +"H# c #7690B8", +"I# c #5D6878", +"J# c #BBC0CC", +"K# c #ECECEB", +"L# c #F6F4F3", +"M# c #F4F1EF", +"N# c #F7F5F3", +"O# c #F9F8F7", +"P# c #BBBDB9", +"Q# c #4D5852", +"R# c #71746D", +"S# c #F0EAE7", +"T# c #DBDEE3", +"U# c #3E495B", +"V# c #1C2435", +"W# c #273041", +"X# c #283040", +"Y# c #293141", +"Z# c #262B38", +"`# c #1D212D", +" $ c #4A5B77", +".$ c #CFDBEB", +"+$ c #7A8FAC", +"@$ c #6C83A5", +"#$ c #4D6389", +"$$ c #35445E", +"%$ c #404D60", +"&$ c #506586", +"*$ c #4F6687", +"=$ c #6983AB", +"-$ c #343E50", +";$ c #4D5F7A", +">$ c #B8C0CC", +",$ c #F7F6F5", +"'$ c #D2D6D3", +")$ c #6C866F", +"!$ c #5A715E", +"~$ c #566758", +"{$ c #B5C1B4", +"]$ c #B2BAC8", +"^$ c #273245", +"/$ c #29354A", +"($ c #323D53", +"_$ c #364258", +":$ c #333F52", +"<$ c #343F52", +"[$ c #28354A", +"}$ c #6D7B92", +"|$ c #ACBDD2", +"1$ c #5B7297", +"2$ c #495F87", +"3$ c #3A4D6B", +"4$ c #252F44", +"5$ c #8292AC", +"6$ c #586E94", +"7$ c #6782A9", +"8$ c #37404D", +"9$ c #394860", +"0$ c #475977", +"a$ c #6E7E99", +"b$ c #EBEBEA", +"c$ c #BEC3BE", +"d$ c #CFD1CE", +"e$ c #F4F2F0", +"f$ c #7D8F84", +"g$ c #6A8667", +"h$ c #D5D8D4", +"i$ c #6B6B6B", +"j$ c #9E9E9F", +"k$ c #7A8EA8", +"l$ c #2B374D", +"m$ c #313E56", +"n$ c #34425B", +"o$ c #36425A", +"p$ c #354257", +"q$ c #39465D", +"r$ c #3B4963", +"s$ c #64738B", +"t$ c #768CAD", +"u$ c #354C72", +"v$ c #2E3D5B", +"w$ c #1D273A", +"x$ c #3D4655", +"y$ c #A7BACE", +"z$ c #607799", +"A$ c #617494", +"B$ c #191B1B", +"C$ c #445675", +"D$ c #3A4A65", +"E$ c #6C7A91", +"F$ c #ECECEA", +"G$ c #EAEAE9", +"H$ c #EAEAE8", +"I$ c #F7F6F4", +"J$ c #B5B9B6", +"K$ c #D7DCD9", +"L$ c #7B8982", +"M$ c #A9AEAD", +"N$ c #517257", +"O$ c #839284", +"P$ c #DEDEDD", +"Q$ c #D8D9D9", +"R$ c #F3F2EE", +"S$ c #51698C", +"T$ c #313F55", +"U$ c #35435B", +"V$ c #36445A", +"W$ c #35425C", +"X$ c #37465D", +"Y$ c #3D4A62", +"Z$ c #516079", +"`$ c #47536A", +" % c #354561", +".% c #212F46", +"+% c #0F1624", +"@% c #1A2231", +"#% c #99A5B7", +"$% c #97A8C3", +"%% c #6A7DA0", +"&% c #394559", +"*% c #1C1D26", +"=% c #35435C", +"-% c #344159", +";% c #8E96A2", +">% c #E9E9E8", +",% c #E9E9E7", +"'% c #F6F5F5", +")% c #70827F", +"!% c #C6D0C3", +"~% c #445344", +"{% c #637161", +"]% c #4B6C4C", +"^% c #CAC8C8", +"/% c #3D5271", +"(% c #3A4863", +"_% c #384862", +":% c #3E4C65", +"<% c #424D67", +"[% c #45536C", +"}% c #4D5A74", +"|% c #66768F", +"1% c #76869D", +"2% c #2A3243", +"3% c #151A27", +"4% c #252C3A", +"5% c #B2BBCE", +"6% c #C3D0E3", +"7% c #7B8CA9", +"8% c #51627E", +"9% c #171C22", +"0% c #141920", +"a% c #242C3A", +"b% c #3F4B60", +"c% c #BDC0C6", +"d% c #EBEBE9", +"e% c #D1D7D3", +"f% c #4F5753", +"g% c #27322D", +"h% c #57655B", +"i% c #7E8B86", +"j% c #F0EFED", +"k% c #3E516C", +"l% c #3F4E68", +"m% c #3C4A64", +"n% c #4C5A74", +"o% c #55637C", +"p% c #5A6881", +"q% c #707D95", +"r% c #8493A6", +"s% c #BFC8D8", +"t% c #D8E4F0", +"u% c #CCD5E4", +"v% c #E2E8F1", +"w% c #D2DAE9", +"x% c #8D9DB7", +"y% c #526380", +"z% c #323E53", +"A% c #080B11", +"B% c #0E1217", +"C% c #272E3A", +"D% c #747D8A", +"E% c #D6D7D8", +"F% c #E8E8E7", +"G% c #E8E8E6", +"H% c #D2D2D0", +"I% c #B3B7B4", +"J% c #BFC1BF", +"K% c #EBE8E7", +"L% c #5A718E", +"M% c #3F4C65", +"N% c #38475F", +"O% c #68768E", +"P% c #6E7C92", +"Q% c #78879B", +"R% c #959FB1", +"S% c #AAB4C1", +"T% c #C4CBD8", +"U% c #D7DCE6", +"V% c #D3D9E1", +"W% c #CCD3DC", +"X% c #8C9CB4", +"Y% c #52627B", +"Z% c #38475E", +"`% c #080E1A", +" & c #060910", +".& c #0E0F14", +"+& c #4F5869", +"@& c #B6B8BC", +"#& c #DDDDDC", +"$& c #E2E2E1", +"%& c #E5E5E4", +"&& c #E6E6E5", +"*& c #F2F1F1", +"=& c #F2F1F0", +"-& c #93A8C2", +";& c #2F3E56", +">& c #6C7A93", +",& c #939EAE", +"'& c #A9B3C0", +")& c #BDC3CB", +"!& c #C8CCD2", +"~& c #CDCFD5", +"{& c #CBD2DB", +"]& c #C7CFDC", +"^& c #A4B2C7", +"/& c #4C576D", +"(& c #262C3C", +"_& c #252D3B", +":& c #232C3D", +"<& c #323B4B", +"[& c #464B5A", +"}& c #959697", +"|& c #BDBDBC", +"1& c #C9C9C9", +"2& c #D6D6D5", +"3& c #E2E2E0", +"4& c #E7E7E6", +"5& c #E6E6E4", +"6& c #C8D6E7", +"7& c #515D76", +"8& c #33415A", +"9& c #66728A", +"0& c #C0C7D2", +"a& c #CACED7", +"b& c #CCCDD2", +"c& c #CBCED1", +"d& c #C8CED3", +"e& c #C2CDDB", +"f& c #A2B1C5", +"g& c #586377", +"h& c #181F27", +"i& c #363B40", +"j& c #575857", +"k& c #626261", +"l& c #656463", +"m& c #787877", +"n& c #929291", +"o& c #9F9F9D", +"p& c #B0B0AE", +"q& c #C3C3C2", +"r& c #D1D1D0", +"s& c #DCDCDB", +"t& c #DFE4EB", +"u& c #5F708B", +"v& c #717E92", +"w& c #4F5E78", +"x& c #8391A4", +"y& c #A9B4C2", +"z& c #B1BBC5", +"A& c #BAC3CE", +"B& c #D5DDE8", +"C& c #9EA7B9", +"D& c #444D63", +"E& c #1F242F", +"F& c #2D2F33", +"G& c #424242", +"H& c #4D4D4D", +"I& c #515150", +"J& c #575756", +"K& c #60605F", +"L& c #747473", +"M& c #838381", +"N& c #989897", +"O& c #B3B3B2", +"P& c #C6C6C4", +"Q& c #D3D3D2", +"R& c #F0EFEE", +"S& c #D0D1D3", +"T& c #959FB4", +"U& c #5B697E", +"V& c #9DA7B7", +"W& c #D8DEE4", +"X& c #D4DAE1", +"Y& c #DBE1E5", +"Z& c #DBDDE3", +"`& c #818894", +" * c #1E293A", +".* c #1B222B", +"+* c #222425", +"@* c #313131", +"#* c #343434", +"$* c #363635", +"%* c #3A3A3A", +"&* c #40403F", +"** c #484847", +"=* c #585858", +"-* c #6B6B6A", +";* c #838382", +">* c #A5A5A3", +",* c #BCBCBA", +"'* c #CFCFCE", +")* c #EFEFEF", +"!* c #E3E3E2", +"~* c #D9D9D8", +"{* c #BCBCBB", +"]* c #9DA0A4", +"^* c #616678", +"/* c #2F3A4F", +"(* c #2C3649", +"_* c #394250", +":* c #111923", +"<* c #010613", +"[* c #0A0F16", +"}* c #1F2225", +"|* c #262628", +"1* c #282828", +"2* c #292828", +"3* c #292929", +"4* c #2D2D2C", +"5* c #2F2F2F", +"6* c #343433", +"7* c #3D3D3C", +"8* c #5C5C5C", +"9* c #A1A1A0", +"0* c #B9B9B8", +"a* c #CECECC", +"b* c #E4E4E2", +"c* c #D7D7D5", +"d* c #989896", +"e* c #717174", +"f* c #464B51", +"g* c #2F353C", +"h* c #23272C", +"i* c #222529", +"j* c #25272A", +"k* c #2E2F31", +"l* c #313030", +"m* c #313130", +"n* c #333332", +"o* c #363636", +"p* c #3C3C3C", +"q* c #545454", +"r* c #686867", +"s* c #848483", +"t* c #A8A8A7", +"u* c #C0C0BE", +"v* c #D3D3D1", +"w* c #D9D9D7", +"x* c #C0C0BF", +"y* c #A3A3A2", +"z* c #888886", +"A* c #6E6D6C", +"B* c #5F6061", +"C* c #585859", +"D* c #525252", +"E* c #A3A3A1", +"F* c #A2A2A0", +"G* c #A2A1A0", +"H* c #A2A2A1", +"I* c #A3A2A1", +"J* c #A4A3A2", +"K* c #A4A4A2", +"L* c #A6A6A4", +"M* c #A9A8A6", +"N* c #ABAAA8", +"O* c #AFAEAB", +"P* c #B3B1AE", +"Q* c #B5B4B1", +"R* c #B8B6B2", +"S* c #BAB8B4", +"T* c #6E6B62", +"U* c #DEDEDC", +"V* c #D1D1CF", +"W* c #BFBFBE", +"X* c #AFAFAF", +"Y* c #9F9F9F", +"Z* c #919190", +"`* c #888888", +" = c #302E28", +".= c #2E2C27", +"+= c #2D2B26", +"@= c #312F29", +"#= c #33312B", +"$= c #36332D", +"%= c #38362F", +"&= c #3D3A33", +"*= c #413E36", +"== c #47433B", +"-= c #4D4940", +";= c #514D44", +">= c #535046", +",= c #565248", +"'= c #23211D", +")= c #EBEAE9", +"!= c #DADAD9", +"~= c #C9C9C7", +"{= c #B6B6B6", +"]= c #B2B0AD", +"^= c #423F37", +"/= c #E3E2E1", +"(= c #4E4B44", +"_= c #403D36", +":= c #413E37", +"<= c #908E8A", +"[= c #46433B", +"}= c #D8D7D5", +"|= c #75726A", +"1= c #ACAAA5", +"2= c #D7D6D3", +"3= c #DBDAD8", +"4= c #86837C", +"5= c #D5D5D4", +"6= c #B6B5B1", +"7= c #4E4A41", +"8= c #D5D4D2", +"9= c #514E46", +"0= c #5E5B52", +"a= c #504D43", +"b= c #545147", +"c= c #8A8780", +"d= c #E3E3E1", +"e= c #D2D1CE", +"f= c #7B7770", +"g= c #58544A", +"h= c #7C7971", +"i= c #E7E7E5", +"j= c #CCCBC8", +"k= c #C4C2BF", +"l= c #C4C3BF", +"m= c #FBFAFA", +"n= c #817E76", +"o= c #D1D0CD", +"p= c #67635A", +"q= c #F5F4F4", +"r= c #67645B", +"s= c #908E87", +"t= c #E5E4E3", +"u= c #6F6C63", +"v= c #8B8881", +"w= c #C0BEBA", +"x= c #8C8982", +"y= c #C8C7C4", +"z= c #656259", +"A= c #77736B", +"B= c #E4E4E3", +"C= c #D3D2CF", +"D= c #76736B", +"E= c #59554B", +"F= c #E7E6E5", +"G= c #AFADA8", +"H= c #DFDFDD", +"I= c #D0CFCC", +"J= c #736F67", +"K= c #A9A9A7", +"L= c #8D8D8D", +"M= c #E1E1DF", +"N= c #9A9A9A", +"O= c #8C8C8C", +" . . . . . . . . . . . . . + @ # + . . . . . . . . . . . . . . . . . $ % ", +". & * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * = - ; . ", +". * * * * * * * * * * * * * * * * * * * > * * , , , , , , , , , , , , ' = ) ! . ", +". * * * * * * ~ * * { ] ^ / ( _ : < * * * , [ [ , , , , , , , , , , , } | * 1 2 . ", +". * * * * * * ~ * * 3 4 5 6 7 8 9 0 * , , , , , , , , , , , , , , , , } a * * ) b c ", +". * * * * * * * * * d e f g h i j k , , , , , l , , , , , , , , , m m = n * m * o p q ", +". * * * * * * * * * * r s t u v w x , , , , , l , , y z A m m m m m m B C * D E * F G . ", +". * * * * * * * * * * H I J K L M N , , , , l m z O P Q R S T ' E E E U V W X F n Y Z ` . ", +". * * * * * * * * m ...+.@., #.$.%., , , , &.*.=.-.;.>.,.'.).!.~.E d {.].^./.(._._.:.<.. ", +". * * * * [. .m * }.|.1.2.3.4.5.6.7.8.m 9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.! p.q.r.s.t.u.. ", +". * * , n.v.w.x.y.z.A.B.C.D.E.F.G.H.I.m J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.D ' } } Y.Z.Z `.s.. ", +". * * , +.+++@+#+$+%+&+*+=+E -+;+>+,+,+'+)+!+~+{+]+^+/+(+_+:+<+[+}+|+} X.1+2+3+3+3+4+<.. ", +". * * , 5+6+7+8+9+0+1 a+b+c+E d+e+` f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+= } 3+3+B B o.o.w+. ", +". * , , 9.x+y+z+A+B+c+E E E E E E d C+D+E+F+G+l+m+H+I+J+K+L+M+N+O+P+Q+B B B U {.o.R+R+C . ", +". * m m m S+T+U+V+W+X.E E d ' ' ' ' X+Y+Z+`+ @I+.@.@+@^+@@#@$@%@&@*@=@o.U {.R+R+R+-@-@C . ", +". * m #.E ' ;@>@,@'@5+' ' ' ' 5+5+m.)@!@~@{@]@^@/@(@_@:@<@[@}@|@1@2@3@{.R+R+n.n.-@4@4@C . ", +". * E ' 5@6@7@8@9@0@} ' 5+5+m.m.m.a@b@c@d@l+e@f@g@h@i@j@k@l@m@n@o@p@q@n.n.-@r@4@4@s@s@C . ", +". * d [.t@u@v@w@x@{.m.m.m.m.m.[.m.y@z@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@-@-@r@s@s@< Q@R@C . ", +". * ' S@T@U@V@W@X@m.m.[.[.[.D Y@Z@`@ #.#+#@#D@##$#%#&#*#=#-#;#>#,#'#)#4@!#< < Q@~#~#{#C . ", +". * 5+3+]#^#/#(#_#[.D :#<#D X.[#}#|#1#2#3#f@4#5#6#7#8#9#0#a#b#c#d#e#f#< < g#g#~#{#h#h#C . ", +". * m.X.i#j#k#l#m#D n#o#p#q#} r#s#t#u#v#w#^@x#y#z#A#B#C#D#E#F#G#H#I#J#|+~#~#{#h#h#W K#C . ", +". * [.L#M#N#[#O#O#1+P#Q#R#S#1+T#U#V#W#X#Y#Z#`# $.$+$@$#$$$%$&$*$=$-$;$>${#h#4+4+K#K#K#C . ", +". * D ,$X.Y@[#[#} '$)$!$~${$3+]$^$/$($_$:$<$[$}$|$1$2$3$4$5$6$7$8$9$0$a$4+4+K#K#b$b$b$C . ", +". * [#[#[#n#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$K#F$b$b$b$G$H$C . ", +". * X.1+I$J$K$L$M$N$O$< P$Q$R$S$T$U$V$W$X$Y$Z$`$ %.%+%@%#%$%%%&%*%=%-%;%b$b$b$G$>%>%,%C . ", +". * = = '%)%!%~%{%]%^%o.R+R+{./%(%_%:%<%[%}%|%1%2%3%4%5%6%7%8%9%0%a%b%c%d%>%>%>%,%,%,%C . ", +". * 2+2+2+e%f%g%h%i%j%R+-@1 -@k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%A%B%C%D%E%F%F%>%,%F%F%G%C . ", +". * 3+U {.{.H%I%J%K%-@4@4@4@4@L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%`% &.&+&@&#&$&%&&&F%G%G%G%C . ", +". * {.{.R+n.*&=&=&4@4@4@s@< Q@-&M%;&>&,&'&)&!&~&{&]&^&/&(&_&:&<&[&}&|&1&2&#&3&4&4&4&5&C . ", +". * n.-@-@-@-@4@4@s@< < < ~#b$6&7&8&9&0&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&4&5&5&%&C . ", +". * -@-@-@4@< < < < < Q@R@G$%&t&u&v&w&x&y&z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&%&%&%&%&C . ", +". * 1 4@< < j%R&Q@Q@R@~#h#&&P$S&T&U&V&W&X&Y&Z&`& *.*+*@*#*$*%*&***=*-*;*>*,*'*%&=+=+=+C . ", +". * < < )*Q@Q@Q@R@~#~#K#G$!*~*{*]*^*/*(*_*:*<*[*}*|*1*2*3*4*5*6*7*>@8*m&9*0*a*=+=+=+b*C . ", +". * Q@Q@Q@Q@R@~#{#K#K#K#>%!*c*,*d*e*f*g*h*i*j*k*l*m*5*@*@*n*o*p*u.q*r*s*t*u*v*=+=+b*b*C . ", +". * Q@Q@~#~#{#K#K#K#K#b$>%!*w*x*y*z*A*B*C*D*E*F*F*F*G*F*H*I*J*K*L*M*N*O*P*Q*R*S*S*S*S*S*S*S*S*T*", +". * ~#~#4+K#K#F$b$b$b$b$H$5&U*V*W*X*Y*N&Z*`*N* =.=+=+=.= =@=#=$=%=&=*===-=;=>=,=,=,=,=,=,=,=,='=", +". * 4+K#F$)=)=)=b$d%d%G$H$G%b*!=H%~=x*{*0*{=]=^=* /=(=_=:=<=* * [=* * * m.}=|=,=1=2=D X.3=4=,='=", +". * F$b$b$b$d%G$G$G$G$H$H$G%5&3&#&~*5=Q&Q&H%6=7=* * 8=9=0={.* * a=* * b=c=* d=,=e=f=g=h=* R+,='=", +". * d%d%G$G$G$G$G$H$H$G%G%G%G%i=i=i=i=i=&&5&S*,=* j=* k=l=j=* * ,=* * ,=g=* m=,=,=,=,=n=* o=,='=", +". * G$G$G$H$H$>%>%F%G%G%G%i=i=i=i=i=5&5&=+=+S*,=* p={.* q=r=* * ,=* * ,=s=* o=,=,=,=* * t=u=,='=", +". * H$>%>%>%>%F%G%G%4&4&i=i=i=i=5&5&=+=+=+=+S*,=* ,=v=w=x=,=* * ,=* * * m#y=z=,=,=,=,=A=* )=,='=", +". * >%>%>%G%4&4&4&4&i=i=i=&&&&5&=+=+=+=+B=B=S*,=* ,=,=,=,=,=* * ,=* * ,=,=,=,=,=C=D=E=4=* F=,='=", +". * ,%4&4&4&4&i=i=i=&&&&&&5&=+=+=+B=B=b*b*b*S*,=* ,=,=,=,=,=* * ,=* * ,=,=,=,=,=G=H=m=q#I=J=,='=", +". * 4&i=i=i=&&&&&&&&5&5&=+B=B=B=b*b*b*b*b*b*S*,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,='=", +". * i=&&&&&&5&5&5&5&B=B=b*b*b*b*b*b*b*b*b*d=T*'='='='='='='='='='='='='='='='='='='='='='='='='=", +". * &&5&5&5&5&%&B=b*b*b*b*b*b*b*b*b*b*d=d=d=d=K=p p p y*y*y*y*E*E*E*E*E*E*E*E*E*E*E*E*L=. ", +". & 5&5&5&=+b*b*b*b*b*b*b*b*b*b*!*d=d=d=d=d=d=d=d=3&3&3&3&M=M=M=M=M=M=M=M=M=M=M=M=M=M=N=. ", +". Y C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C N=O=. ", +" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +" ", +" ", +" "};