this is the library of the code of the second laboration.
Dependencies: SILABS_RHT mbed MemoryLCD
Revision 0:33ae04d01fd6, committed 2020-09-04
- Comitter:
- mara1802
- Date:
- Fri Sep 04 11:39:49 2020 +0000
- Commit message:
- lab2
Changed in this revision
diff -r 000000000000 -r 33ae04d01fd6 Animation/Animation.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Animation/Animation.h Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,163 @@ +/***************************************************************************//** + * @file Animation.h + * @brief Header file for spinning dodecaeder animation on MBED + ******************************************************************************* + * @section License + * <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b> + ******************************************************************************* + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Labs has no + * obligation to support this Software. Silicon Labs is providing the + * Software "AS IS", with no express or implied warranties of any kind, + * including, but not limited to, any implied warranties of merchantability + * or fitness for any particular purpose or warranties against infringement + * of any proprietary rights of a third party. + * + * Silicon Labs will not be liable for any consequential, incidental, or + * special damages, or any other relief, or for any claim by any third party, + * arising from your use of this Software. + * + ******************************************************************************/ +#ifndef SILABS_ANIMATION_H +#define SILABS_ANIMATION_H + +#include "GUI.h" + +typedef const GUI_BITMAP *pBitmap; +#define GUI_CONST_STORAGE const +#define NUM_FRAMES 5 + +extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca1; +extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca2; +extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca3; +extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca4; +extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca5; +extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca6; +extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca7; +extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca8; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca9; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca10; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca11; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca12; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca13; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca14; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca15; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca16; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca17; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca18; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca19; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca20; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca21; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca22; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca23; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca24; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca25; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca26; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca27; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca28; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca29; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca30; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca31; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca32; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca33; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca34; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca35; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca36; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca37; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca38; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca39; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca40; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca41; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca42; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca43; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca44; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca45; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca46; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca47; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca48; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca49; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca50; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca51; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca52; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca53; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca54; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca55; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca56; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca57; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca58; +//extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca59; +extern GUI_CONST_STORAGE GUI_BITMAP bmdodeca60; + +pBitmap frames[] = {&bmdodeca1, +&bmdodeca2, +&bmdodeca3, +&bmdodeca4, +&bmdodeca5, +//&bmdodeca6, +//&bmdodeca7, +//&bmdodeca8, +//&bmdodeca9, +//&bmdodeca10, +//&bmdodeca11, +//&bmdodeca12, +//&bmdodeca13, +//&bmdodeca14, +//&bmdodeca15, +//&bmdodeca16, +//&bmdodeca17, +//&bmdodeca18, +//&bmdodeca19, +//&bmdodeca20, +//&bmdodeca21, +//&bmdodeca22, +//&bmdodeca23, +//&bmdodeca24, +//&bmdodeca25, +//&bmdodeca26, +//&bmdodeca27, +//&bmdodeca28, +//&bmdodeca29, +//&bmdodeca30, +//&bmdodeca31, +//&bmdodeca32, +//&bmdodeca33, +//&bmdodeca34, +//&bmdodeca35, +//&bmdodeca36, +//&bmdodeca37, +//&bmdodeca38, +//&bmdodeca39, +//&bmdodeca40, +//&bmdodeca41, +//&bmdodeca42, +//&bmdodeca43, +//&bmdodeca44, +//&bmdodeca45, +//&bmdodeca46, +//&bmdodeca47, +//&bmdodeca48, +//&bmdodeca49, +//&bmdodeca50, +//&bmdodeca51, +//&bmdodeca52, +//&bmdodeca53, +//&bmdodeca54, +//&bmdodeca55, +//&bmdodeca56, +//&bmdodeca57, +//&bmdodeca58, +//&bmdodeca59, +//&bmdodeca60 +}; +#endif +
diff -r 000000000000 -r 33ae04d01fd6 Animation/GUI.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Animation/GUI.h Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,285 @@ +#ifndef SILABS_GUI_H +#define SILABS_GUI_H +#include <stdint.h> + +#define GUI_COLOR uint8_t + +typedef struct { + GUI_COLOR a; + GUI_COLOR b; + GUI_COLOR *c; +} GUI_LOGPALETTE; + +typedef struct { + uint16_t XSize; + uint16_t YSize; + uint16_t BytesPerLine; + uint16_t BitsPerPixel; + const uint8_t * pData; + const GUI_LOGPALETTE * pPal; + const void * pMethods; +} GUI_BITMAP; + +/********************************************************************* +* +* Defines for constants +*/ +#define ________ 0x0 +#define _______X 0x1 +#define ______X_ 0x2 +#define ______XX 0x3 +#define _____X__ 0x4 +#define _____X_X 0x5 +#define _____XX_ 0x6 +#define _____XXX 0x7 +#define ____X___ 0x8 +#define ____X__X 0x9 +#define ____X_X_ 0xa +#define ____X_XX 0xb +#define ____XX__ 0xc +#define ____XX_X 0xd +#define ____XXX_ 0xe +#define ____XXXX 0xf +#define ___X____ 0x10 +#define ___X___X 0x11 +#define ___X__X_ 0x12 +#define ___X__XX 0x13 +#define ___X_X__ 0x14 +#define ___X_X_X 0x15 +#define ___X_XX_ 0x16 +#define ___X_XXX 0x17 +#define ___XX___ 0x18 +#define ___XX__X 0x19 +#define ___XX_X_ 0x1a +#define ___XX_XX 0x1b +#define ___XXX__ 0x1c +#define ___XXX_X 0x1d +#define ___XXXX_ 0x1e +#define ___XXXXX 0x1f +#define __X_____ 0x20 +#define __X____X 0x21 +#define __X___X_ 0x22 +#define __X___XX 0x23 +#define __X__X__ 0x24 +#define __X__X_X 0x25 +#define __X__XX_ 0x26 +#define __X__XXX 0x27 +#define __X_X___ 0x28 +#define __X_X__X 0x29 +#define __X_X_X_ 0x2a +#define __X_X_XX 0x2b +#define __X_XX__ 0x2c +#define __X_XX_X 0x2d +#define __X_XXX_ 0x2e +#define __X_XXXX 0x2f +#define __XX____ 0x30 +#define __XX___X 0x31 +#define __XX__X_ 0x32 +#define __XX__XX 0x33 +#define __XX_X__ 0x34 +#define __XX_X_X 0x35 +#define __XX_XX_ 0x36 +#define __XX_XXX 0x37 +#define __XXX___ 0x38 +#define __XXX__X 0x39 +#define __XXX_X_ 0x3a +#define __XXX_XX 0x3b +#define __XXXX__ 0x3c +#define __XXXX_X 0x3d +#define __XXXXX_ 0x3e +#define __XXXXXX 0x3f +#define _X______ 0x40 +#define _X_____X 0x41 +#define _X____X_ 0x42 +#define _X____XX 0x43 +#define _X___X__ 0x44 +#define _X___X_X 0x45 +#define _X___XX_ 0x46 +#define _X___XXX 0x47 +#define _X__X___ 0x48 +#define _X__X__X 0x49 +#define _X__X_X_ 0x4a +#define _X__X_XX 0x4b +#define _X__XX__ 0x4c +#define _X__XX_X 0x4d +#define _X__XXX_ 0x4e +#define _X__XXXX 0x4f +#define _X_X____ 0x50 +#define _X_X___X 0x51 +#define _X_X__X_ 0x52 +#define _X_X__XX 0x53 +#define _X_X_X__ 0x54 +#define _X_X_X_X 0x55 +#define _X_X_XX_ 0x56 +#define _X_X_XXX 0x57 +#define _X_XX___ 0x58 +#define _X_XX__X 0x59 +#define _X_XX_X_ 0x5a +#define _X_XX_XX 0x5b +#define _X_XXX__ 0x5c +#define _X_XXX_X 0x5d +#define _X_XXXX_ 0x5e +#define _X_XXXXX 0x5f +#define _XX_____ 0x60 +#define _XX____X 0x61 +#define _XX___X_ 0x62 +#define _XX___XX 0x63 +#define _XX__X__ 0x64 +#define _XX__X_X 0x65 +#define _XX__XX_ 0x66 +#define _XX__XXX 0x67 +#define _XX_X___ 0x68 +#define _XX_X__X 0x69 +#define _XX_X_X_ 0x6a +#define _XX_X_XX 0x6b +#define _XX_XX__ 0x6c +#define _XX_XX_X 0x6d +#define _XX_XXX_ 0x6e +#define _XX_XXXX 0x6f +#define _XXX____ 0x70 +#define _XXX___X 0x71 +#define _XXX__X_ 0x72 +#define _XXX__XX 0x73 +#define _XXX_X__ 0x74 +#define _XXX_X_X 0x75 +#define _XXX_XX_ 0x76 +#define _XXX_XXX 0x77 +#define _XXXX___ 0x78 +#define _XXXX__X 0x79 +#define _XXXX_X_ 0x7a +#define _XXXX_XX 0x7b +#define _XXXXX__ 0x7c +#define _XXXXX_X 0x7d +#define _XXXXXX_ 0x7e +#define _XXXXXXX 0x7f +#define X_______ 0x80 +#define X______X 0x81 +#define X_____X_ 0x82 +#define X_____XX 0x83 +#define X____X__ 0x84 +#define X____X_X 0x85 +#define X____XX_ 0x86 +#define X____XXX 0x87 +#define X___X___ 0x88 +#define X___X__X 0x89 +#define X___X_X_ 0x8a +#define X___X_XX 0x8b +#define X___XX__ 0x8c +#define X___XX_X 0x8d +#define X___XXX_ 0x8e +#define X___XXXX 0x8f +#define X__X____ 0x90 +#define X__X___X 0x91 +#define X__X__X_ 0x92 +#define X__X__XX 0x93 +#define X__X_X__ 0x94 +#define X__X_X_X 0x95 +#define X__X_XX_ 0x96 +#define X__X_XXX 0x97 +#define X__XX___ 0x98 +#define X__XX__X 0x99 +#define X__XX_X_ 0x9a +#define X__XX_XX 0x9b +#define X__XXX__ 0x9c +#define X__XXX_X 0x9d +#define X__XXXX_ 0x9e +#define X__XXXXX 0x9f +#define X_X_____ 0xa0 +#define X_X____X 0xa1 +#define X_X___X_ 0xa2 +#define X_X___XX 0xa3 +#define X_X__X__ 0xa4 +#define X_X__X_X 0xa5 +#define X_X__XX_ 0xa6 +#define X_X__XXX 0xa7 +#define X_X_X___ 0xa8 +#define X_X_X__X 0xa9 +#define X_X_X_X_ 0xaa +#define X_X_X_XX 0xab +#define X_X_XX__ 0xac +#define X_X_XX_X 0xad +#define X_X_XXX_ 0xae +#define X_X_XXXX 0xaf +#define X_XX____ 0xb0 +#define X_XX___X 0xb1 +#define X_XX__X_ 0xb2 +#define X_XX__XX 0xb3 +#define X_XX_X__ 0xb4 +#define X_XX_X_X 0xb5 +#define X_XX_XX_ 0xb6 +#define X_XX_XXX 0xb7 +#define X_XXX___ 0xb8 +#define X_XXX__X 0xb9 +#define X_XXX_X_ 0xba +#define X_XXX_XX 0xbb +#define X_XXXX__ 0xbc +#define X_XXXX_X 0xbd +#define X_XXXXX_ 0xbe +#define X_XXXXXX 0xbf +#define XX______ 0xc0 +#define XX_____X 0xc1 +#define XX____X_ 0xc2 +#define XX____XX 0xc3 +#define XX___X__ 0xc4 +#define XX___X_X 0xc5 +#define XX___XX_ 0xc6 +#define XX___XXX 0xc7 +#define XX__X___ 0xc8 +#define XX__X__X 0xc9 +#define XX__X_X_ 0xca +#define XX__X_XX 0xcb +#define XX__XX__ 0xcc +#define XX__XX_X 0xcd +#define XX__XXX_ 0xce +#define XX__XXXX 0xcf +#define XX_X____ 0xd0 +#define XX_X___X 0xd1 +#define XX_X__X_ 0xd2 +#define XX_X__XX 0xd3 +#define XX_X_X__ 0xd4 +#define XX_X_X_X 0xd5 +#define XX_X_XX_ 0xd6 +#define XX_X_XXX 0xd7 +#define XX_XX___ 0xd8 +#define XX_XX__X 0xd9 +#define XX_XX_X_ 0xda +#define XX_XX_XX 0xdb +#define XX_XXX__ 0xdc +#define XX_XXX_X 0xdd +#define XX_XXXX_ 0xde +#define XX_XXXXX 0xdf +#define XXX_____ 0xe0 +#define XXX____X 0xe1 +#define XXX___X_ 0xe2 +#define XXX___XX 0xe3 +#define XXX__X__ 0xe4 +#define XXX__X_X 0xe5 +#define XXX__XX_ 0xe6 +#define XXX__XXX 0xe7 +#define XXX_X___ 0xe8 +#define XXX_X__X 0xe9 +#define XXX_X_X_ 0xea +#define XXX_X_XX 0xeb +#define XXX_XX__ 0xec +#define XXX_XX_X 0xed +#define XXX_XXX_ 0xee +#define XXX_XXXX 0xef +#define XXXX____ 0xf0 +#define XXXX___X 0xf1 +#define XXXX__X_ 0xf2 +#define XXXX__XX 0xf3 +#define XXXX_X__ 0xf4 +#define XXXX_X_X 0xf5 +#define XXXX_XX_ 0xf6 +#define XXXX_XXX 0xf7 +#define XXXXX___ 0xf8 +#define XXXXX__X 0xf9 +#define XXXXX_X_ 0xfa +#define XXXXX_XX 0xfb +#define XXXXXX__ 0xfc +#define XXXXXX_X 0xfd +#define XXXXXXX_ 0xfe +#define XXXXXXXX 0xff + +#endif +
diff -r 000000000000 -r 33ae04d01fd6 Animation/dodeca1.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Animation/dodeca1.c Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,191 @@ +/********************************************************************* +* SEGGER Microcontroller GmbH & Co. KG * +* Solutions for real time microcontroller applications * +* www.segger.com * +********************************************************************** +* * +* C-file generated by * +* * +* Bitmap converter for emWin V5.16. * +* Compiled Jun 4 2012, 15:48:30 * +* (C) 1998 - 2010 Segger Microcontroller GmbH & Co. KG * +* * +********************************************************************** +* * +* Source file: dodeca1 * +* Dimensions: 128 * 128 * +* NumColors: 2 * +* * +********************************************************************** +*/ + +#include <stdlib.h> + +#include "GUI.h" + +#ifndef GUI_CONST_STORAGE + #define GUI_CONST_STORAGE const +#endif + +/* Palette +The following are the entries of the palette table. +Every entry is a 32-bit value (of which 24 bits are actually used) +the lower 8 bits represent the Red component, +the middle 8 bits represent the Green component, +the highest 8 bits (of the 24 bits used) represent the Blue component +as follows: 0xBBGGRR +*/ + +static GUI_CONST_STORAGE GUI_COLOR Colorsdodeca1[] = { + 0xFFFFFF,0x000000 +}; + +static GUI_CONST_STORAGE GUI_LOGPALETTE Paldodeca1 = { + 2, /* number of entries */ + 0, /* No transparency */ + &Colorsdodeca1[0] +}; + +static GUI_CONST_STORAGE unsigned char acdodeca1[] = { + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, _XX_____, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__X_, XXXXXXX_, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XX__, XXXXXXXX, XXX_____, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXX__, XXXXXXXX, XXXXXXX_, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXX__, XXXXXXXX, XXXXXXXX, XXXX____, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXX_XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXX_, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, X_XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, ___XXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXX_XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XX__XXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXXX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXX__XXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXX__XX, XXXXXXXX, XX_____X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXX__, XXXXXXXX, X___X___, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXX_, _XXXXXXX, __XXXXX_, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, __XXXXX_, _XXXXXXX, X____XXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, XX__XX__, XXXXXXXX, XX____XX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXX____X, XXXXXXXX, XXXX____, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXX__, __XXXXXX, XXXXXXXX, X_X_XXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, ____XXX_, X_XX__XX, XXX_XXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, X_____XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXX____X, XXXXXXXX, XXXX_XXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXX_XX, XXXXXXXX, XXXXX___, _XXXXXXX, XXXX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ___XXXXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXXX, XXXXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X___XXXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, XXXXXX__, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX____XX, XXXXXX_X, XXXXXXXX, XXXXXXXX, XXXX____, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, XXXXXX_X, XXXXXXXX, XXXXXXXX, XX_____X, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, __XXXXX_, XXXXXXXX, XXXXXXXX, _____XXX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXX_, XXXXXXXX, XXXXXX__, ___XX_XX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X____XX_, XXXXXXXX, XXXX____, XXXXXXX_, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX____X, _XXXXXXX, XX_____X, XXXXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX_X, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, _XXXXXXX, ____XXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ___XXX__, __XXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXX__XX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ________, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXX_XXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_____XX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXX_XXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXX__XXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXX____X, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXX____, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXX_X__, __XXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX____XX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXX__X_, ___XX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX____XX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXXX_XX, X_____XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX____XX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXX_XX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X___X__X, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXX__X, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XX__X, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX_X, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXX__, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX__, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXX__, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX__, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXX_, _XXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXX_, _XXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, _XXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, ___XXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, _XXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXX__, ______XX, XXXXXXXX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, _XXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXX___, XXX_____, XXXXXXXX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, __XXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XX___X, XXXXX___, ___XXXXX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X_XXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XX___XX, XXXXXXXX, ______XX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X_XXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _X___XXX, XXXXXXXX, XXX_____, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X__XXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ____XXXX, XXXXXXXX, XXXXX___, ____XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX_XXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ___XXXXX, XXXXXXXX, XXXXXXXX, ____XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX_XXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX__XXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX_XXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX__XXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_X__, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX__XXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX_XXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX__XX, X_____XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXXX, XXXXXXXX, _XXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX_X_, ___X___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX___, _XXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXXXXX_X, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXX_XXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, X_XXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXX__, _____XXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX______, ________, _______X, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXX___X, XXXXXXXX, XXXXXXX_, ________, ________, _______X, XXX_____, __XXXXXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXX__X, XXXX____, ________, ________, ____XXX_, _XXXXXXX, XXXXX___, ____XXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXX___, ________, ________, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXX_, _____XXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXX___, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, X______X, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXX_____, XXXX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXX___, __X__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, XXXXXXX_, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, XXXXXXX_, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__X__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, XXX_____, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX____X, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_X_XXX_, XXXXXXXX, XXXXXXX_, _____XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX____X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXX_____, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXX__, XXXXXXX_, _____XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, ________, ______XX, XXXXXXXX, XXXXXX__, XXX_____, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ________, ________, ________, _____XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_______, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX +}; + +GUI_CONST_STORAGE GUI_BITMAP bmdodeca1 = { + 128, /* XSize */ + 128, /* YSize */ + 16, /* BytesPerLine */ + 1, /* BitsPerPixel */ + acdodeca1, /* Pointer to picture data (indices) */ + &Paldodeca1, /* Pointer to palette */ + NULL +}; + +/* *** End of file *** */ +
diff -r 000000000000 -r 33ae04d01fd6 Animation/dodeca2.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Animation/dodeca2.c Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,191 @@ +/********************************************************************* +* SEGGER Microcontroller GmbH & Co. KG * +* Solutions for real time microcontroller applications * +* www.segger.com * +********************************************************************** +* * +* C-file generated by * +* * +* Bitmap converter for emWin V5.16. * +* Compiled Jun 4 2012, 15:48:30 * +* (C) 1998 - 2010 Segger Microcontroller GmbH & Co. KG * +* * +********************************************************************** +* * +* Source file: dodeca2 * +* Dimensions: 128 * 128 * +* NumColors: 2 * +* * +********************************************************************** +*/ + +#include <stdlib.h> + +#include "GUI.h" + +#ifndef GUI_CONST_STORAGE + #define GUI_CONST_STORAGE const +#endif + +/* Palette +The following are the entries of the palette table. +Every entry is a 32-bit value (of which 24 bits are actually used) +the lower 8 bits represent the Red component, +the middle 8 bits represent the Green component, +the highest 8 bits (of the 24 bits used) represent the Blue component +as follows: 0xBBGGRR +*/ + +static GUI_CONST_STORAGE GUI_COLOR Colorsdodeca2[] = { + 0xFFFFFF,0x000000 +}; + +static GUI_CONST_STORAGE GUI_LOGPALETTE Paldodeca2 = { + 2, /* number of entries */ + 0, /* No transparency */ + &Colorsdodeca2[0] +}; + +static GUI_CONST_STORAGE unsigned char acdodeca2[] = { + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, X_____XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX____X, XXXXX___, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX____XX, XXXXXXXX, XX______, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XX__XX, XXXXXXXX, XXXXXXX_, _____XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXX__XX, XXXXXXXX, XXXXXXXX, XXXX____, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_____XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_X__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXX_, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, X_XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXX__XX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXX__X, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXX__, _XXXX___, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, __XX__X_, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, X____XXX, X____XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, XX___XXX, XXX____X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXXX, X__X_XXX, XXXXX___, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, __XXXXXX, XXXXXX__, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, ____XXXX, XXXXXXXX, XXXXXXXX, XXX_XX_X, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XX____XX, XXXXXXXX, XX___XX_, _XXXXX_X, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXX____, XXX___XX, _XXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXX___, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, X_XXXXX_, ___XXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X____XXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX____X, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, XXX_____, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, _XXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, X_____X_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, ____XXX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ____XXXX, XXXXXXXX, XX_XXXXX, XXXX____, _XXXXXX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX____XX, XXXXXXXX, XXX_XXXX, X______X, XXXXXXX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_____, XXXXXXXX, XXX_XXX_, ____XXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, _XXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, _XXXXXXX, XXX_____, __XXXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, _XXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ___XXXXX, XX______, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX__, XXXXXXXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X____XXX, ______XX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX_X, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_____, ___X___X, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX_XX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, XXXXX__X, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXX__XX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXX__X, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXX_XXX, XXXXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXX__, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXX__XX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, XXXXXX__, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX__X, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXX_, _XXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX___, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXX_, _XXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX__, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, __XXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX__, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, __XXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX__, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, X__XXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, X__XXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XX___XXX, XXXXXXXX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXX_XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X____XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XX______, _XXXXXXX, XXX_XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, X___XX__, ___XXXXX, XXX_XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, ___XXXXX, _____XXX, XXX_XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXX_, __XXXXXX, XXX____X, XXX__XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X___XXXX, XXXXXX__, _XXXXXXX, XXXXX___, _XX__XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX____X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXX__X, XXXXXXXX, XXXXXXX_, _____XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, X____XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX____, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX___, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX__, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX__, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __X__XXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _X__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X____XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX____XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__X___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__X__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_X__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_X___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_X__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_X__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_X__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_X__X, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_____X, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, ________, ________, _XXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ___XXXXX, XXXXXXXX, X_______, ________, ________, ____X___, ___XXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ________, ________, ________, _______X, XXXXXXXX, XX_XXXX_, _____XXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ________, ________, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XX______, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXX___, __XXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXX_, _____XXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XX_____X, XXX_XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXX____, _X__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXX__, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, XXXX____, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, X_____XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXX___, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, X_____XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ________, ________, _XXXXXXX, XXXXXXXX, __XXX___, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, ________, ______XX, ______XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX______, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX +}; + +GUI_CONST_STORAGE GUI_BITMAP bmdodeca2 = { + 128, /* XSize */ + 128, /* YSize */ + 16, /* BytesPerLine */ + 1, /* BitsPerPixel */ + acdodeca2, /* Pointer to picture data (indices) */ + &Paldodeca2, /* Pointer to palette */ + NULL +}; + +/* *** End of file *** */ +
diff -r 000000000000 -r 33ae04d01fd6 Animation/dodeca3.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Animation/dodeca3.c Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,191 @@ +/********************************************************************* +* SEGGER Microcontroller GmbH & Co. KG * +* Solutions for real time microcontroller applications * +* www.segger.com * +********************************************************************** +* * +* C-file generated by * +* * +* Bitmap converter for emWin V5.16. * +* Compiled Jun 4 2012, 15:48:30 * +* (C) 1998 - 2010 Segger Microcontroller GmbH & Co. KG * +* * +********************************************************************** +* * +* Source file: dodeca3 * +* Dimensions: 128 * 128 * +* NumColors: 2 * +* * +********************************************************************** +*/ + +#include <stdlib.h> + +#include "GUI.h" + +#ifndef GUI_CONST_STORAGE + #define GUI_CONST_STORAGE const +#endif + +/* Palette +The following are the entries of the palette table. +Every entry is a 32-bit value (of which 24 bits are actually used) +the lower 8 bits represent the Red component, +the middle 8 bits represent the Green component, +the highest 8 bits (of the 24 bits used) represent the Blue component +as follows: 0xBBGGRR +*/ + +static GUI_CONST_STORAGE GUI_COLOR Colorsdodeca3[] = { + 0xFFFFFF,0x000000 +}; + +static GUI_CONST_STORAGE GUI_LOGPALETTE Paldodeca3 = { + 2, /* number of entries */ + 0, /* No transparency */ + &Colorsdodeca3[0] +}; + +static GUI_CONST_STORAGE unsigned char acdodeca3[] = { + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, _____XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXX____, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X____XXX, XXXXXXXX, X_______, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ____XXXX, XXXXXXXX, XXXXXXX_, _____XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX______, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__X_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_X__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXX_, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXX_X, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXX_XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXX_, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXX_, ______XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXX__, _XX_____, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXX___, XXXXX___, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXX___X, XXXXXX__, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXX___XX, XXXXXXXX, _____XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XX___XXX, XXXXXXXX, XX____XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XX__XXXX, XXXXXXXX, XXX_____, XXXXXXXX, XXXXXXXX, XXXXXX_X, X_XXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, X__XXXXX, XXXXXXXX, XXXXX___, __XXXXXX, XXXXXXX_, _X__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, __XXXXXX, XXXXXXXX, XXXXXXX_, ____XXX_, __XX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, X______X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_____X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX____XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XX___, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ______XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXX_, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, __XXX__X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX_XX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX______, XXXXX__X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX__XX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _____XXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX__XXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXX____, __XXXXXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX_XXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, X_______, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX_XXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXX_, ___XXXXX, XXXXXXX_, _____XX_, _XXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X_XXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X____XXX, XXXX____, __XXXXX_, _XXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, __XXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX____X, X______X, XXXXXXXX, __XXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, _XXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, _____XXX, XXXXXXXX, __XXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, __XXXXXX, XXXXXXXX, __XXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX_X, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX__X, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX__X, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX___, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX___, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX___, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX___, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX__X, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX_X, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX__, X_XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, _X_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, _XX_XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, _XX_XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXX_XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, __X__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXX__, ___XXXXX, XXX_XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X_XX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXX__X, X____XXX, XXX_XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X__X__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXX____X, XXX__XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX_XX_XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXX___, _XXX_XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX__X__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXX_, __XX_XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX__XX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, _____XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX_XX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, _XXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XX____XX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX__XX_, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX_XX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXX___, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX__XX, _XXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX_XX, __XXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX__X, X_XXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX__X, X_XXXXXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XX__XXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX__, XX_XXX__, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX__, XX_X___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X___XXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, _XX_XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, _XX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, __XX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X____XXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X______X, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XX_XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XX___, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XX_XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXX_, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XX_, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XX_, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__X_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXX__X, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, __XXXXXX, XXXXXXXX, XXXXXXXX, ________, ________, ___XX__X, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, X_XXXXX_, ________, ________, ________, ________, ______XX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, ________, ________, ________, XXXXXXXX, XXXXXXXX, XX______, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ______XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, ___XXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _X__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__X_, ______XX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XX______, _XXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXX___, ___XXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, ______XX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXX_____, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXX___, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XX_____X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXX__, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, _______X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XX______, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, ________, ___XXXXX, XXXXXXXX, X__XXX__, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ________, ______XX, X_______, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX______, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX +}; + +GUI_CONST_STORAGE GUI_BITMAP bmdodeca3 = { + 128, /* XSize */ + 128, /* YSize */ + 16, /* BytesPerLine */ + 1, /* BitsPerPixel */ + acdodeca3, /* Pointer to picture data (indices) */ + &Paldodeca3, /* Pointer to palette */ + NULL +}; + +/* *** End of file *** */ +
diff -r 000000000000 -r 33ae04d01fd6 Animation/dodeca4.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Animation/dodeca4.c Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,191 @@ +/********************************************************************* +* SEGGER Microcontroller GmbH & Co. KG * +* Solutions for real time microcontroller applications * +* www.segger.com * +********************************************************************** +* * +* C-file generated by * +* * +* Bitmap converter for emWin V5.16. * +* Compiled Jun 4 2012, 15:48:30 * +* (C) 1998 - 2010 Segger Microcontroller GmbH & Co. KG * +* * +********************************************************************** +* * +* Source file: dodeca4 * +* Dimensions: 128 * 128 * +* NumColors: 2 * +* * +********************************************************************** +*/ + +#include <stdlib.h> + +#include "GUI.h" + +#ifndef GUI_CONST_STORAGE + #define GUI_CONST_STORAGE const +#endif + +/* Palette +The following are the entries of the palette table. +Every entry is a 32-bit value (of which 24 bits are actually used) +the lower 8 bits represent the Red component, +the middle 8 bits represent the Green component, +the highest 8 bits (of the 24 bits used) represent the Blue component +as follows: 0xBBGGRR +*/ + +static GUI_CONST_STORAGE GUI_COLOR Colorsdodeca4[] = { + 0xFFFFFF,0x000000 +}; + +static GUI_CONST_STORAGE GUI_LOGPALETTE Paldodeca4 = { + 2, /* number of entries */ + 0, /* No transparency */ + &Colorsdodeca4[0] +}; + +static GUI_CONST_STORAGE unsigned char acdodeca4[] = { + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_____, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XX______, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, X_______, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXX_, ______XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, _____XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX____X, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX______, _XXX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_______, __XXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ____XXX_, ____XXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXXX, X_____XX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXX____X, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXX___, _XXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, ___XX_XX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, XXXXXXXX, XXXXXX__, ___XXXX_, __XXXXXX, XXXXXXXX, XXXXXX__, __X_XXXX, XXXXX_XX, XXXXXXXX, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, XXXXXXXX, XXXXXXXX, ____XXXX, X___XXXX, XXXXXXXX, X______X, XXXXXXXX, XXXXXX_X, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX____X, XXXXXXXX, XXXXXXXX, XX____XX, XXX___XX, XX______, _XXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXX_____, XXXXX___, X_XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXX___, _XXXXX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXX__, ____XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ___XXX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXX_____, _X__XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _____X_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ______XX, XXX_XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_____X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, ___XXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX______, __XXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, __XXXXXX, XXXXXXXX, XXXXXX__, _____XXX, X__XXXXX, XXXX_XXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_X_, ___XXXXX, XXXXXXXX, XXX_____, __XXXXXX, X__XXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, X____XXX, XXXXXXXX, _______X, XXXXXXXX, XX__XXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXX____X, XXXXX___, ____XXXX, XXXXXXXX, XX__XXXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX____XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXX____, XX______, _XXXXXXX, XXXXXXXX, XXX__XXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXX__, ______XX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXX__X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, ____XXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXX_X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXX_X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXX__, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXX_, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX__, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXX_, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX___, X_XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX__X, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXX__XX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXX__XXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXX_XXX, XXX_XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXX__XX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXX__XX, XXXX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXXX_XX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXXX__X, XXXXX_XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX_X, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX__, XXXXXX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_____XX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXX__, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___X___X, XXX_XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXX___, XXX_XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, _XXXXXXX, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXX_, __X__XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, _XXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, XXXXXXXX, ___X_XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, __XXXXXX, X_XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ____XXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, XXXXXXXX, X____XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X_XXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, XXX__XXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXX___XX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X__XXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, X____XXX, XXXXX__X, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X__XXXXX, XX__XXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXX_, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX_XXXXX, XXX_XXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, __XX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX__XXXX, XXX__XXX, XXXXXXXX, X____XXX, XXXXXXXX, XXXXXXXX, XX____XX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXX_XXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX__XXX, XXXX__XX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXX_XX, X____XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, _XXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXX___, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX___X_, __XXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, X___XXXX, XXXXXXXX, X___XXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XX___XXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXX_, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXX___X, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXX_, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXX___, _XXXXX__, _XXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXX_, __XXX___, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, X______X, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XX____XX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, X_XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, X_XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X___XXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XX__XXXX, XXXXXXX_, ________, ________, _____XXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_____, ________, ________, ________, ________, ________, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_____, ________, _____XXX, XXXXXXXX, XXXXXXXX, XXXX____, ___XXXX_, _XXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ______X_, _XXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX______, _XXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, ____XXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, _______X, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__X__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXX_____, __XXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__X_XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXX__, _____XX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX____X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, X_______, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XX_____X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXX_, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ________, ___XXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXX_____, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_______, ____XXXX, XXXXXXXX, XXX__XXX, _____XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX______, ______XX, XX______, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_____, ______XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX +}; + +GUI_CONST_STORAGE GUI_BITMAP bmdodeca4 = { + 128, /* XSize */ + 128, /* YSize */ + 16, /* BytesPerLine */ + 1, /* BitsPerPixel */ + acdodeca4, /* Pointer to picture data (indices) */ + &Paldodeca4, /* Pointer to palette */ + NULL +}; + +/* *** End of file *** */ +
diff -r 000000000000 -r 33ae04d01fd6 Animation/dodeca5.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Animation/dodeca5.c Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,191 @@ +/********************************************************************* +* SEGGER Microcontroller GmbH & Co. KG * +* Solutions for real time microcontroller applications * +* www.segger.com * +********************************************************************** +* * +* C-file generated by * +* * +* Bitmap converter for emWin V5.16. * +* Compiled Jun 4 2012, 15:48:30 * +* (C) 1998 - 2010 Segger Microcontroller GmbH & Co. KG * +* * +********************************************************************** +* * +* Source file: dodeca5 * +* Dimensions: 128 * 128 * +* NumColors: 2 * +* * +********************************************************************** +*/ + +#include <stdlib.h> + +#include "GUI.h" + +#ifndef GUI_CONST_STORAGE + #define GUI_CONST_STORAGE const +#endif + +/* Palette +The following are the entries of the palette table. +Every entry is a 32-bit value (of which 24 bits are actually used) +the lower 8 bits represent the Red component, +the middle 8 bits represent the Green component, +the highest 8 bits (of the 24 bits used) represent the Blue component +as follows: 0xBBGGRR +*/ + +static GUI_CONST_STORAGE GUI_COLOR Colorsdodeca5[] = { + 0xFFFFFF,0x000000 +}; + +static GUI_CONST_STORAGE GUI_LOGPALETTE Paldodeca5 = { + 2, /* number of entries */ + 0, /* No transparency */ + &Colorsdodeca5[0] +}; + +static GUI_CONST_STORAGE unsigned char acdodeca5[] = { + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX______, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, ________, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, ________, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXX_, ________, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _______X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_X_XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_X__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __X_XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _X__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX_X_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, X_XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_X_, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_X_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXX_, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXX__, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, X_XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXX__X, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___X__XX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX_X, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _____XXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XX_____X, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXX_XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XX______, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, X__XXX__, __XXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, XXXX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, __XXXXX_, ___XXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _____XXX, _XXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XX_, _XXXXXXX, X____XXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, X______X, XXXXXXXX, _XXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXX_, XXXXXXXX, XX_____X, XXXXXXXX, XXXXX___, XXXXXXXX, XXX_____, _XXXXXXX, XXXXXXXX, X_XXXX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_XXX__, XXXXXXXX, XXXX____, XXXXXXXX, XXXXXXXX, _XXXXX__, ____XXXX, XXXXXXXX, XXXXXXXX, X_XXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XX__X, XXXXXXXX, XXXXXX__, __XXXXXX, XXXXXXXX, X______X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX_X____, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, __XX__XX, XXXXXXXX, XXXXXXX_, ___XXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ________, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, _XX__XXX, XXXXXXXX, XXXXXXXX, X____XXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, ____X_X_, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, XX__XXXX, XXXXXXXX, XXXXXXXX, XX_____X, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XX______, _X___XXX, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX__, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXX____, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXX_, ______XX, XXX__XXX, __XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX__X, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, __XXXXXX, X__XXXXX, XXXXXXXX, XXXX____, ___XXXXX, XXXX_XXX, __XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX__XX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ___XXXXX, X_XXXXXX, XXXXXXXX, ________, XXXXXXXX, XXXX__XX, X__XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX_XX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X____XXX, X_XXXXXX, XXXXX___, _____XXX, XXXXXXXX, XXXX__XX, X__XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX__X__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX____XX, X_XXXXXX, XX______, __XXXXXX, XXXXXXXX, XXXXX__X, XX_XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX__X__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, X_XXXXX_, ______XX, XXXXXXXX, XXXXXXXX, XXXXX__X, XX__XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X__XX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, __XX____, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XX__XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X_XX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ________, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXX_XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, __X__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _____XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XX__XXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, _X__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXX_XXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX__, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXX__XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX__, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, __XX__XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX___, _X__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X_XXX_XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXX____, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XX__X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXX____X, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXX_X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXX__XXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XX_X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XX__XXXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XX__, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XX__XXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XX_, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXX_XXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXX_XXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__X_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXX__XXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXX_XXX, XXXXXXXX, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX_XX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXX__XX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, X_XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXX_XX, XXXXXXXX, X_XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXXX_XX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_____, ___XXXXX, XXXXXXXX, + XXXXXXXX, XXXXX__X, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___XX_, ___XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXX_X, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X___XXXX, ____XXXX, XXXXXXXX, + XXXXXXXX, XXXXXX__, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ___XXXXX, X___XXXX, XXXXXXXX, + XXXXXXXX, XXXXXX__, XXXXXXXX, XXXX_XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_____, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXXXX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ____XX__, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXX__XXX, XXXXXXXX, + XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXX___, _XXXXX__, X___XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, XXXXXXXX, XXX__XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XX____XX, XXXXXX__, XX___XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXX__XXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXX__, XXXX___X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XX__XXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXX_, XXXXXXXX, XXXX____, _XXXXXXX, XXXXXX__, XXXXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXX_, _XXXXXXX, XX____XX, XXXXXXXX, XXXXXX__, XXXXXXX_, __XXXXXX, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, __XXXXX_, ___XXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, __XX____, XXXXXXXX, XXXXXXXX, XXXXX___, XXXXXXXX, XX___XXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, X____XXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXX__XX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, __XXXXXX, XXX__XXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, X___XXXX, XX__XXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXX__XXX, X__XXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXX___X, XXXXXXXX, XXXXXXXX, XXXX___X, __XXXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXX_XXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXX__, _XXXXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXX_XXXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX_X, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, XXXXXXXX, XXXX_XXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXX_XXX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXX_, _XXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXX___XX, XXXXXXXX, XXXXXXXX, XXXX_XXX, XXXXXXXX, XXXXX_XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, _XXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXX__XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, __XXXXXX, XXXX____, ________, ________, ________, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXXX, XXX__XXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X_______, ________, ________, ________, ________, ___XXXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XX__XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, X_______, ___XX_XX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ______XX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XX_XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX__XXX, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX______, _XXXXXXX, X__XXXXX, XXXXXXXX, X__XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX___X, XXXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, ____XXXX, X_XXXXXX, XXXXXXXX, __XXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, ________, __XXXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, __XXXX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_____, ___XXXXX, XXXXXXX_, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, X__XXX_X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ______XX, XXXXXX__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XX___X__, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, _X______, _XXXX__X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXX___, ______XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX___, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXX__, XXXXXXXX, ______XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXX_, ______XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXXXXX_, ____XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, ______XX, XXXXXXXX, XXXXXXXX, XXXXX__X, XXXX____, _XXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, ______XX, XXXXXXXX, XXXX__XX, X_____XX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX____, _____XXX, XXXX____, ___XXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_____, _______X, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXX_XXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, + XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX +}; + +GUI_CONST_STORAGE GUI_BITMAP bmdodeca5 = { + 128, /* XSize */ + 128, /* YSize */ + 16, /* BytesPerLine */ + 1, /* BitsPerPixel */ + acdodeca5, /* Pointer to picture data (indices) */ + &Paldodeca5, /* Pointer to palette */ + NULL +}; + +/* *** End of file *** */ +
diff -r 000000000000 -r 33ae04d01fd6 MemoryLCD.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MemoryLCD.lib Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/teams/SiliconLabs/code/MemoryLCD/#0f8ae10b308d
diff -r 000000000000 -r 33ae04d01fd6 SILABS_RHT.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SILABS_RHT.lib Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/teams/SiliconLabs/code/SILABS_RHT/#83a8b7df827f
diff -r 000000000000 -r 33ae04d01fd6 lb123.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lb123.cpp Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,49 @@ +#include "lb123.h" +led::led() : led0(PF4), led1(PF5) +{ + +} + +void led::toggle_led0() +{ + led0 = !led0; +} + +void led::toggle_led1() +{ + led1 = !led1; +} + +void led::on_led0() +{ + led0 = 1; +} + +void led::on_led1() +{ + led1 = 1; +} + +void led::off_led0() +{ + led0 = 0; +} +void led::off_led1() +{ + led1 = 0; +} + +void led::blink_led0() +{ + led0=!led0; + wait(0.1); + led0=!led0; +} + +void led::blink_led1() +{ + led1=!led1; + wait(0.1); + led1=!led1; +} + \ No newline at end of file
diff -r 000000000000 -r 33ae04d01fd6 lb123.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lb123.h Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,66 @@ +#ifndef MAIN_H +#define MAIN_H +#include "mbed.h" +/** led class. + A collection of functions created for lab 2 in the course ET095G +* Mahmood Rahimi och Alia Jabar. + + To use this library, its header file needs to be included and an object of the led class created.. +* +* Example: +* @code +* #include "mbed.h" +* #include "lb123.h" +* +* my led; +* +* int main() { +* @endcode +*/ +class led +{ +public: + /** The constructor creates an instance of the led class. It is automatically called when a new object is declared. + */ + led(); + + /** Det är funktion för slå på led0. + */ + void led::on_led0(); + + /** det är funktion för slå på led1. + */ + void led::on_led1(); + + /** Det är funktion för slå off led0. + */ + void led::off_led0(); + + /** Det är funktion för slå off led1. + */ + void led::off_led1(); + + /** This function inverts the state of led0, so off becomes on and on becomes off. + */ + void led::toggle_led0(); + + /** This function inverts the state of led1, so off becomes on and on becomes off. + */ + void led::toggle_led1(); + + /** This function blinks led0 once. + */ + void led::blink_led0(); + + /** This function blinks led1 once. + */ + void led::blink_led1(); + + +private: + DigitalOut led0; + DigitalOut led1; + +}; + +#endif \ No newline at end of file
diff -r 000000000000 -r 33ae04d01fd6 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,189 @@ +#include "LS013B7DH03.h" +#include "SILABS_RHT.h" +#include "mbed_logo_thermo.h" +#include "Animation.h" + +/******************** Define I/O *****************************/ + +InterruptIn in(SW0); + +#define SCK PE12 +#define MOSI PE10 + +DigitalOut CS(PA10); +DigitalOut EXTCOM(PF3); +DigitalOut DISP(PA8); + +SPI displaySPI(MOSI, NC, SCK); +silabs::LS013B7DH03 display(&displaySPI, &CS, &EXTCOM); + +I2C sensorI2C(PD6, PD7); +DigitalOut SENS_EN(PC8); +silabs::SILABS_RHT rhtSensor(&sensorI2C); + +/******************** Define Timers *****************************/ + +LowPowerTicker timeKeeping; + +/***************** Define global variables **********************/ +#define INIT_SECONDS 17600 +#define TEST_DURATION 10 + +volatile uint32_t prevSeconds = INIT_SECONDS, seconds = INIT_SECONDS; +volatile bool refreshed = false; +volatile bool clockShown = false; +volatile bool measured = false; + +typedef enum { + CLOCK, + DODECA +} display_mode_t; + +volatile display_mode_t currentMode = CLOCK; +uint8_t currentFrame = 0; + +/***************** Define callback handlers *********************/ +void secondsCallback(void); +void in_handler(); +void toggleCallback(void); + +/***************** Define helper functions ***********************/ +void drawTemperature(int32_t temperature); + +void drawTemperature(int32_t temperature) { + uint32_t line = 20; + int8_t int_temp = temperature / 500; + + for(int8_t iterator = 80; iterator > -6; iterator--) { + if(int_temp >= iterator) display.fill(108,line,10,1,Black); + else display.fill(108,line,10,1,White); + + line += 1; + } +} + +/** + * Callback for pushbutton interrupt + */ +void in_handler() { + if(currentMode == CLOCK) { + currentMode = DODECA; + } else { + currentMode = CLOCK; + clockShown = false; + } +} + +void secondsCallback(void) { + seconds++; +} + +/** + * Callback for refresh completion + */ +void refreshCallback(void) { + refreshed = true; +} + +/** + * Callback for measurement completion + */ +void measureCallback(void) { + if(rhtSensor.get_active()) { + measured = true; + } +} + +/*************************** MAIN *******************************/ +int main() { + // Initialize pushbutton handler + in.rise(NULL); + in.fall(in_handler); + + // Enable the LCD + DISP = 1; + + // Enable the I2C RHT sensor + SENS_EN = 1; + + // Start generating the 1Hz call for the timekeeping + timeKeeping.attach(&secondsCallback, 1.0f); + + // Reset the LCD to a blank state. (All white) + refreshed = false; + display.clearImmediate(refreshCallback); + while(refreshed == false) sleep(); + + printf("Initialization done! \n"); + + // Apply mbed logo bitmap to the pixel buffer + display.showBMP((uint8_t*)mbed_logo_thermometer, 128, 128, 0, 0); + display.background(Black); + display.foreground(White); + display.printf("I like MBED!"); + + // Push update to the display + uint32_t refreshCount = display.getRefreshTicks(); + refreshed = false; + display.update(refreshCallback); + + // Sleep while doing the transmit + while(refreshed == false) sleep(); + + // Calculate and print refresh duration + refreshCount = display.getRefreshTicks() - refreshCount; + printf("Refresh duration: %d cycles @ 125Hz \n", (int)refreshCount); + + // Perform a measurement + rhtSensor.check_availability(si7021, measureCallback); + while(measured == false); + + /* Main loop */ + while(1) { + sleep(); + + // In clock mode, only update once per second + if((currentMode == CLOCK) && (prevSeconds != seconds)) { + /* Redraw background when coming from video mode */ + if(clockShown == false) { + display.showBMP((uint8_t*)mbed_logo_thermometer, 128, 128, 0, 0); + clockShown = true; + } + + /* Show numeric measurements */ + display.locate(0,13); + display.printf("%02d.%01d degC", rhtSensor.get_temperature() / 1000, (rhtSensor.get_temperature() % 1000) / 100); + display.locate(0,14); + display.printf("%03d.%03d%%H", rhtSensor.get_humidity() / 1000, rhtSensor.get_humidity() % 1000); + + /* Show clock */ + display.locate(4,15); + display.printf("%02d:%02d:%02d", (seconds / 1200) % 24, (seconds / 60) % 60, seconds % 60); + + /* Update the graphical thermometer */ + drawTemperature(rhtSensor.get_temperature()); + + if(refreshed == true) { + prevSeconds = seconds; + refreshed = false; + + /* Perform both I/O tasks simultaneously */ + display.update(refreshCallback); + rhtSensor.measure(si7021); + } + } + // In dodecaeder mode, show frames as fast as possible + else if(currentMode == DODECA) { + if(refreshed == true) { + display.showBMP((uint8_t*)(frames[currentFrame]->pData), 128, 128, 0, 0); + currentFrame++; + if( currentFrame >= NUM_FRAMES ) currentFrame = 0; + refreshed = false; + display.update(refreshCallback); + } + } + } + + //notify_completion(true); +} +
diff -r 000000000000 -r 33ae04d01fd6 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file
diff -r 000000000000 -r 33ae04d01fd6 mbed_logo_thermo.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed_logo_thermo.c Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,133 @@ +#include "mbed_logo.h" + +const unsigned char mbed_logo_thermometer[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x01, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x07, 0xf8, 0x00, + 0x20, 0x7c, 0x03, 0xe0, 0x07, 0x8f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0xfc, 0x00, + 0x31, 0xfe, 0x07, 0xf0, 0x07, 0xbf, 0x80, 0x00, 0x1f, 0xc0, 0x00, 0x1f, 0xee, 0x1f, 0xfe, 0x00, + 0x3b, 0xff, 0x9f, 0xf8, 0x07, 0xff, 0xe0, 0x00, 0x7f, 0xf0, 0x00, 0x7f, 0xfe, 0x1f, 0xfe, 0x00, + 0x3f, 0x03, 0xf8, 0x7c, 0x07, 0xc0, 0xf0, 0x00, 0xf0, 0x30, 0x00, 0x7f, 0xfe, 0x1f, 0xfe, 0x00, + 0x3e, 0x03, 0xe0, 0x3c, 0x07, 0x80, 0x30, 0x00, 0xc0, 0x3c, 0x01, 0xe0, 0x1e, 0x1f, 0xfe, 0x00, + 0x3c, 0x01, 0xc0, 0x3e, 0x07, 0x80, 0x1c, 0x01, 0xc0, 0x1e, 0x01, 0xc0, 0x0e, 0x1f, 0xfe, 0x00, + 0x38, 0x01, 0xc0, 0x1e, 0x07, 0x80, 0x0e, 0x03, 0x80, 0x0e, 0x03, 0xc0, 0x0e, 0x1f, 0xfe, 0x86, + 0x38, 0x01, 0xc0, 0x1e, 0x07, 0x80, 0x0f, 0x03, 0x00, 0x07, 0x07, 0xc0, 0x0e, 0x1f, 0xfe, 0xa9, + 0x38, 0x01, 0xc0, 0x0e, 0x07, 0x80, 0x07, 0x07, 0x00, 0x07, 0x07, 0x80, 0x0e, 0x1f, 0xfe, 0xe9, + 0x38, 0x01, 0xc0, 0x0e, 0x07, 0x80, 0x07, 0x87, 0x00, 0x07, 0x07, 0x00, 0x0e, 0x1f, 0xfe, 0x29, + 0x38, 0x01, 0xc0, 0x0e, 0x07, 0x80, 0x07, 0x87, 0xff, 0xff, 0x0f, 0x00, 0x0e, 0x10, 0x03, 0x26, + 0x38, 0x01, 0xc0, 0x0e, 0x07, 0x80, 0x07, 0x87, 0xff, 0xfe, 0x0f, 0x00, 0x0e, 0x10, 0x02, 0x00, + 0x38, 0x01, 0xc0, 0x0e, 0x07, 0x80, 0x07, 0x06, 0x00, 0x00, 0x0f, 0x00, 0x0e, 0x10, 0x02, 0x00, + 0x38, 0x01, 0xc0, 0x0e, 0x07, 0x80, 0x07, 0x06, 0x00, 0x00, 0x07, 0x00, 0x0e, 0x10, 0x02, 0x00, + 0x38, 0x01, 0xc0, 0x0e, 0x07, 0x80, 0x06, 0x03, 0x00, 0x00, 0x07, 0x80, 0x0e, 0x10, 0x02, 0x00, + 0x38, 0x01, 0xc0, 0x0e, 0x07, 0x80, 0x0e, 0x03, 0x00, 0x00, 0x07, 0x80, 0x0e, 0x10, 0x02, 0x00, + 0x38, 0x01, 0xc0, 0x0e, 0x07, 0x80, 0x0c, 0x01, 0x80, 0x00, 0x03, 0xc0, 0x0e, 0x10, 0x02, 0x00, + 0x38, 0x01, 0xc0, 0x0e, 0x07, 0x80, 0x1c, 0x01, 0xc0, 0x00, 0x03, 0xc0, 0x0e, 0x10, 0x02, 0x00, + 0x38, 0x01, 0xc0, 0x0e, 0x07, 0x83, 0xf8, 0x00, 0xe0, 0x00, 0x03, 0xe0, 0x0e, 0x10, 0x02, 0x00, + 0x38, 0x01, 0xc0, 0x0e, 0x07, 0xff, 0xf8, 0x00, 0x7f, 0xf8, 0x01, 0xff, 0xfe, 0x10, 0x02, 0x00, + 0x38, 0x01, 0xc0, 0x0e, 0x07, 0xff, 0xe0, 0x00, 0x1f, 0xf8, 0x00, 0xff, 0xfe, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0xc6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x29, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x03, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x29, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0xc6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x10, 0x02, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x7f, 0x10, 0x02, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0xff, 0x10, 0x02, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x01, 0xff, 0x10, 0x02, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x03, 0xf0, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x07, 0xe0, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x0f, 0xc0, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x1f, 0x80, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x3f, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x80, 0x00, 0x7e, 0x00, 0x10, 0x02, 0xc6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x00, 0xfc, 0x00, 0x10, 0x02, 0x29, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xe0, 0x01, 0xf8, 0x00, 0x10, 0x03, 0x49, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x03, 0xf0, 0x00, 0x10, 0x02, 0x89, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x07, 0xe0, 0x00, 0x10, 0x02, 0xe6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0f, 0xc0, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x1f, 0x80, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x10, 0x02, 0x00, + 0x3f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03, 0x10, 0x02, 0x4c, + 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03, 0x10, 0x02, 0x52, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03, 0x10, 0x03, 0x52, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03, 0x10, 0x02, 0x52, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03, 0x10, 0x02, 0x4c, + 0x18, 0x00, 0x10, 0xf0, 0x07, 0xc0, 0x31, 0xe0, 0x0c, 0x00, 0xe0, 0x01, 0xfb, 0x10, 0x02, 0x00, + 0x18, 0x00, 0x1b, 0xf8, 0x0f, 0xf0, 0x36, 0x30, 0x0c, 0x03, 0xf8, 0x03, 0xff, 0x10, 0x02, 0x00, + 0x18, 0x00, 0x1e, 0x04, 0x00, 0x18, 0x34, 0x18, 0x0c, 0x04, 0x04, 0x06, 0x03, 0x10, 0x02, 0x00, + 0x1f, 0xe0, 0x18, 0x04, 0x00, 0x08, 0x38, 0x0c, 0x0c, 0x08, 0x02, 0x0c, 0x03, 0x10, 0x02, 0x00, + 0x18, 0x00, 0x18, 0x04, 0x00, 0x08, 0x30, 0x06, 0x0c, 0x18, 0x02, 0x0c, 0x03, 0x10, 0x02, 0x00, + 0x18, 0x00, 0x18, 0x04, 0x00, 0xf8, 0x30, 0x06, 0x0c, 0x18, 0x02, 0x08, 0x03, 0x10, 0x02, 0x00, + 0x18, 0x00, 0x18, 0x04, 0x03, 0xf8, 0x30, 0x06, 0x0c, 0x1f, 0xfe, 0x18, 0x03, 0x10, 0x02, 0x00, + 0x18, 0x00, 0x18, 0x04, 0x0e, 0x08, 0x30, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x03, 0x10, 0x02, 0x00, + 0x18, 0x00, 0x18, 0x04, 0x10, 0x08, 0x30, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x03, 0x10, 0x02, 0x00, + 0x18, 0x00, 0x18, 0x04, 0x10, 0x08, 0x30, 0x06, 0x0c, 0x18, 0x00, 0x18, 0x03, 0x10, 0x02, 0x00, + 0x18, 0x00, 0x18, 0x04, 0x10, 0x08, 0x30, 0x0c, 0x0c, 0x08, 0x00, 0x08, 0x03, 0x10, 0x02, 0x00, + 0x18, 0x00, 0x18, 0x04, 0x18, 0x18, 0x30, 0x1c, 0x0c, 0x0c, 0x00, 0x0e, 0x03, 0x10, 0x02, 0x00, + 0x18, 0x18, 0x18, 0x04, 0x08, 0x3c, 0x30, 0x10, 0x0c, 0x07, 0xfc, 0x07, 0xff, 0x10, 0x02, 0x00, + 0x3f, 0xf8, 0x18, 0x04, 0x0f, 0xe6, 0x3f, 0xe0, 0x0e, 0x03, 0xf8, 0x03, 0xff, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x03, 0xa4, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x24, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x24, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +
diff -r 000000000000 -r 33ae04d01fd6 mbed_logo_thermo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed_logo_thermo.h Fri Sep 04 11:39:49 2020 +0000 @@ -0,0 +1,2 @@ +extern const unsigned char mbed_logo_thermometer[]; +