splashscreen

This commit is contained in:
Squishy Bloob 2024-03-30 23:26:39 +00:00
parent 702aa679b9
commit aead28db61
7 changed files with 389 additions and 53 deletions

BIN
blooblib/_/logo-slime.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 B

BIN
blooblib/_/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@ -16,6 +16,7 @@ struct rect {
static rect<T> from_points(vec2<T> pos1, vec2<T> pos2); static rect<T> from_points(vec2<T> pos1, vec2<T> pos2);
static rect<T> intersection(rect<T> const& a, rect<T> const& b); static rect<T> intersection(rect<T> const& a, rect<T> const& b);
static bool overlap(rect<T> const& a, rect<T> const& b);
}; };
template<typename T> template<typename T>
@ -49,7 +50,18 @@ inline rect<T> rect<T>::from_points(vec2<T> pos1, vec2<T> pos2) {
template<typename T> template<typename T>
inline rect<T> rect<T>::intersection(rect<T> const& a, rect<T> const& b) { inline rect<T> rect<T>::intersection(rect<T> const& a, rect<T> const& b) {
return rect<T>::from_points(vec2<T>::max(a.pos, b.pos), vec2<T>::min(a.pos2(), b.pos2())); if(rect<T>::overlap(a, b))
return rect<T>::from_points(vec2<T>::max(a.pos, b.pos), vec2<T>::min(a.pos2(), b.pos2()));
return rect<T>(vec2<T>(), vec2<T>());
}
template<typename T>
inline bool rect<T>::overlap(rect<T> const& a, rect<T> const& b) {
auto a1 = a.pos;
auto a2 = a.pos2();
auto b1 = b.pos;
auto b2 = b.pos2();
return !(b2.x < a1.x || a2.x < b1.x || b2.y < a1.y || a2.y < b1.y);
} }
using recti = rect<int32_t>; using recti = rect<int32_t>;

View File

@ -8,11 +8,13 @@ struct settings {
scale(3), scale(3),
size(vec2i(640, 360)), size(vec2i(640, 360)),
target_fps(60), target_fps(60),
title("Blooblib v0.0") title("Blooblib v0.0"),
show_logo(true)
{} {}
int scale; int scale;
vec2i size; vec2i size;
int target_fps; int target_fps;
std::string title; std::string title;
bool show_logo;
}; };

BIN
blooblib/logo.aseprite Normal file

Binary file not shown.

View File

@ -21,6 +21,8 @@ LRESULT WINAPI wnd_proc(HWND window, UINT msg, WPARAM w, LPARAM l) {
game::game() : _cursor(0) { game::game() : _cursor(0) {
} }
void play_logo(HWND window, image const* logo, image const* logo_slime);
void game::run() { void game::run() {
settings settings; settings settings;
init(settings); init(settings);
@ -51,11 +53,14 @@ void game::run() {
ShowWindow(window, SW_SHOWNORMAL); ShowWindow(window, SW_SHOWNORMAL);
ShowCursor(FALSE); ShowCursor(FALSE);
play_logo(window, get<image>("_/logo.png"), get<image>("_/logo-slime.png"));
auto window_image = image(settings.size * settings.scale); auto window_image = image(settings.size * settings.scale);
auto screen = image(settings.size); auto screen = image(settings.size);
screen.clear(0xffdddd); screen.clear(0xffdddd);
auto last_second = std::chrono::steady_clock::now(); auto last_second = std::chrono::steady_clock::now();
auto frames_since_last_second = 0; auto frames_since_last_second = 0;
@ -160,3 +165,60 @@ void game::cursor(image const* cursor) {
int game::fps() { int game::fps() {
return _fps; return _fps;
} }
void play_logo(HWND window, image const* logo, image const* logo_slime) {
settings settings;
auto window_image = image(settings.size * settings.scale);
auto screen = image(settings.size);
std::chrono::duration<int32_t, std::nano> second(1000000000ll);
auto frame_duration = second / settings.target_fps;
auto last_frame = std::chrono::steady_clock::now();
int frames = 180;
while(frames) {
MSG msg;
while(PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
auto now = std::chrono::steady_clock::now();
if(now - last_frame >= frame_duration) {
screen.clear(0x242424);
screen.draw(logo, vec2i(0, min(-frames*16 + 2500, 0)));
screen.draw(logo_slime, screen.size() - vec2i(34, 28));
auto p = screen.raw_pointer();
window_image.draw_upscaled(&screen, upscaler::scale3x);
BITMAPINFOHEADER bi{ sizeof(bi) };
bi.biWidth = window_image.size().x;
bi.biHeight = -window_image.size().y;
bi.biPlanes = 1;
bi.biBitCount = 32;
bi.biCompression = BI_RGB;
auto dc = GetDC(window);
SetDIBitsToDevice(
dc,
0,
0,
window_image.size().x,
window_image.size().y,
0,
0,
0,
window_image.size().y,
window_image.raw_pointer(),
(BITMAPINFO*)&bi,
DIB_RGB_COLORS
);
ReleaseDC(window, dc);
last_frame += frame_duration;
--frames;
}
}
}

View File

@ -1,57 +1,317 @@
// auto-generated using BinPack. https://github.com/TheOathMan/BinPack // auto-generated using BinPack. https://github.com/TheOathMan/BinPack
//IMPORTANT: You must #define BP_INSER_RESOURCES only once before including this header file in order to insert the data into the compilation process //IMPORTANT: You must #define BP_INSER_RESOURCES only once before including this header file in order to insert the data into the compilation process
extern const unsigned char BP_system_assets[1464]; extern const unsigned char BP_system_assets[9242];
#ifdef BP_INSER_RESOURCES #ifdef BP_INSER_RESOURCES
const unsigned char BP_system_assets[1464] = { const unsigned char BP_system_assets[9242] = {
55,122,188,175,39,28,0,4,184,62,235,5,117,5,0,0,0,0,0,0,35,0,0,0,0,0,0,0,19,9, 55,122,188,175,39,28,0,4,124,114,43,75,215,35,0,0,0,0,0,0,35,0,0,0,0,0,0,0,90,153,
33,13,1,4,224,91,100,101,102,97,117,108,116,45,102,111,110,116,45,112,114,111,112,46,112,110,103,93,13,10, 16,128,224,39,174,35,18,93,0,45,153,8,166,130,51,41,113,209,153,26,206,133,32,91,163,76,163,185,176,64,
112,114,111,112,111,114,116,105,111,110,97,108,32,61,32,116,114,117,101,13,10,13,10,137,80,78,71,13,10,26, 54,97,155,192,189,21,39,64,5,240,79,69,0,9,239,169,63,77,163,72,192,124,38,182,9,199,34,155,209,90,
10,0,0,0,13,73,72,68,82,0,0,2,12,0,0,0,12,8,6,0,0,0,14,25,229,38,0,0,0,1, 231,8,50,248,147,166,224,126,232,219,155,121,110,202,210,242,231,172,35,224,116,204,61,217,200,91,28,103,92,26,
115,82,71,66,0,174,206,28,233,0,0,4,107,73,68,65,84,120,156,237,91,109,114,227,32,12,37,59,123,188, 68,218,25,120,148,245,99,244,84,206,69,218,162,162,134,245,253,166,149,181,140,165,192,122,10,77,13,190,255,152,
220,167,103,232,125,114,63,239,143,93,239,168,47,239,233,3,112,236,180,188,153,142,49,8,33,132,16,66,78,219, 76,242,13,6,56,158,14,17,116,215,41,141,5,232,191,208,86,112,100,72,255,37,236,221,69,144,162,74,88,153,
182,109,91,51,216,223,85,61,131,215,54,218,110,219,34,153,20,159,76,61,163,137,218,103,140,241,174,245,21,221, 171,46,2,48,58,130,142,99,62,253,221,108,117,7,54,43,107,131,250,114,56,64,200,189,203,148,98,54,191,5,
69,245,85,57,122,251,93,189,254,232,241,190,203,24,87,179,151,234,184,213,117,191,146,62,123,121,100,253,197,21, 31,67,25,111,246,84,102,93,182,47,165,125,81,153,53,22,147,37,90,170,202,219,56,48,136,81,38,134,123,169,
247,252,43,244,163,240,138,121,85,230,113,195,138,143,251,157,209,165,240,249,120,108,31,247,251,109,127,154,250,110, 60,41,135,197,20,110,217,168,235,191,243,177,141,191,39,133,220,208,232,148,71,75,230,124,2,101,83,217,231,175,
158,11,215,196,136,157,44,44,124,39,68,254,109,237,149,133,239,128,207,199,163,253,34,149,27,123,122,101,213,15, 255,72,231,254,104,1,96,154,230,55,58,92,254,0,4,49,18,59,183,190,167,20,40,148,146,195,89,5,83,175,
104,88,196,130,117,155,160,83,52,25,250,163,129,115,68,153,152,188,138,198,155,143,71,159,149,33,75,239,213,187, 10,129,241,55,217,7,60,129,104,206,161,113,251,10,114,17,250,41,89,27,246,195,223,171,247,204,236,197,103,105,
64,187,200,182,239,246,194,236,10,255,162,126,179,232,213,216,158,76,170,142,233,64,201,200,232,50,245,106,188,12, 154,143,135,205,30,235,52,246,213,213,255,90,16,239,227,41,92,6,167,28,244,96,49,166,27,201,199,157,180,219,
175,170,110,60,249,71,245,95,157,119,86,31,61,252,162,245,255,215,37,180,249,200,38,60,185,123,219,71,249,91, 92,254,99,16,92,165,221,125,129,90,198,207,99,249,70,83,141,249,51,95,57,243,57,73,86,181,25,108,54,31,
186,145,125,141,101,207,62,223,13,239,38,55,219,95,106,125,25,237,239,202,64,246,185,151,109,70,1,159,166,251, 29,48,63,216,182,20,0,221,9,172,250,175,191,243,98,2,3,119,156,243,14,148,143,176,242,226,150,196,42,49,
214,254,102,51,246,103,131,50,190,99,27,163,105,9,250,163,145,153,207,62,239,214,158,101,180,52,138,239,254,142, 100,96,192,151,241,195,237,208,198,78,206,107,28,6,81,250,199,244,224,54,122,103,234,26,108,217,1,139,87,201,
200,232,71,209,90,71,23,173,147,199,247,11,200,186,63,65,100,160,232,187,226,167,218,237,123,134,95,68,143,245, 6,84,228,22,235,155,181,144,216,60,30,34,216,79,51,37,104,57,40,219,170,168,105,165,229,161,192,211,209,151,
56,143,104,254,145,62,188,57,42,100,233,45,93,246,112,154,165,203,106,31,43,103,69,23,71,3,101,177,122,132, 231,232,35,137,128,147,175,107,150,6,108,96,78,250,10,120,250,114,115,92,251,116,153,115,23,42,178,28,27,118,
54,182,103,158,248,88,31,218,179,246,103,96,84,70,101,19,11,175,135,90,75,182,255,172,141,154,178,14,24,208, 154,166,86,223,1,198,167,188,46,132,22,92,191,131,192,24,248,224,17,71,189,168,249,110,59,208,19,142,237,148,
89,160,129,23,13,41,10,22,102,35,27,112,28,49,198,222,54,11,246,16,159,201,175,183,111,107,173,221,118,231, 186,1,50,27,118,181,97,29,21,139,173,64,221,60,54,201,138,199,94,185,176,253,206,209,146,15,38,21,100,139,
215,99,15,104,75,81,63,199,81,15,225,104,7,54,155,127,143,142,177,92,229,115,36,142,148,129,205,49,184,212, 178,134,88,155,63,240,64,67,202,1,147,57,104,233,206,45,9,88,192,54,63,86,71,138,53,137,79,23,147,197,
148,249,1,220,160,1,229,176,207,236,248,216,127,180,62,226,143,1,142,226,193,2,83,239,16,194,113,51,242,169, 31,220,117,226,211,143,5,204,62,222,133,225,30,48,186,130,76,112,219,107,213,26,6,70,18,121,238,24,159,170,
224,55,154,115,150,126,111,179,246,17,241,193,75,180,23,20,103,234,213,129,93,229,167,116,87,129,178,209,116,134, 3,251,52,208,163,185,35,157,182,200,161,62,77,116,89,97,245,61,4,150,77,63,113,14,185,252,23,31,17,209,
33,98,206,210,28,36,10,111,45,119,208,142,28,104,229,155,241,132,113,88,155,58,224,109,189,202,34,84,116,149, 42,245,245,94,56,126,224,221,212,244,92,144,250,197,148,148,68,250,132,228,238,216,254,144,137,193,216,96,8,210,
225,163,128,114,222,68,189,11,229,8,144,14,111,27,25,7,130,244,108,108,37,19,27,183,138,170,67,86,109,51, 15,62,193,105,169,188,45,132,228,227,122,248,30,84,121,184,28,208,189,174,196,10,212,196,19,53,203,70,49,92,
210,199,213,121,120,217,145,51,130,6,92,195,51,130,22,54,247,40,144,40,232,42,29,52,100,101,101,229,222,236, 158,138,204,230,16,86,111,224,227,56,155,3,74,236,8,170,233,109,61,145,85,5,45,142,17,72,37,185,94,78,
143,58,156,189,204,79,38,27,24,201,168,208,115,227,173,206,185,66,239,205,209,243,73,71,218,113,53,200,85,114, 118,95,251,76,132,203,186,150,164,84,62,38,106,33,153,113,47,149,206,159,251,108,137,68,128,3,88,55,201,87,
171,0,90,141,165,248,79,249,36,161,38,70,6,87,89,6,44,99,93,22,246,160,99,60,109,25,121,163,67,143, 234,105,253,65,221,173,115,222,218,201,161,138,29,168,38,238,165,95,216,62,86,49,27,253,96,225,19,76,191,99,
2,130,106,91,212,238,233,9,235,153,236,246,176,87,227,85,222,89,16,66,29,152,114,194,205,65,213,49,51,251, 216,12,16,149,234,126,24,218,11,48,135,208,76,59,168,109,31,172,32,111,214,5,11,51,246,220,157,217,60,87,
195,113,70,156,151,130,119,232,70,125,170,183,188,72,142,153,206,73,5,96,12,61,135,188,234,51,99,93,148,143, 118,88,251,150,3,42,149,133,7,83,184,108,182,137,205,72,161,255,56,125,65,247,246,45,197,59,92,184,68,190,
201,30,112,81,208,128,243,40,202,56,53,104,176,114,244,246,205,200,63,26,208,86,113,149,44,23,131,58,72,85, 38,166,233,146,14,235,121,215,69,112,28,218,120,244,151,78,104,154,142,39,183,250,227,200,113,50,124,81,151,157,
123,150,103,111,118,171,167,79,198,190,179,129,145,197,83,192,144,189,149,116,44,56,11,16,216,198,194,250,74,214, 58,182,222,224,232,101,47,245,253,120,40,249,89,177,189,139,145,128,122,101,57,229,108,4,153,117,53,29,242,68,
1,249,226,1,171,126,27,192,14,97,54,118,228,8,102,111,0,239,112,63,3,242,147,4,179,15,236,28,217,78, 0,232,116,126,206,60,149,143,118,96,42,37,143,254,181,80,91,128,8,29,192,2,213,41,167,88,197,198,96,5,
207,225,60,130,171,57,173,72,158,179,130,134,76,240,167,250,120,55,183,87,35,10,46,60,250,34,166,6,13,217, 221,119,29,3,44,200,47,201,239,139,68,226,198,189,83,29,67,221,53,163,18,144,18,91,125,241,89,111,163,68,
180,125,182,63,195,89,217,166,43,237,63,15,179,46,32,61,168,6,26,71,202,247,20,48,120,131,121,55,5,44, 143,142,245,240,116,235,199,185,129,46,53,34,196,67,213,222,99,255,207,151,163,171,194,68,91,123,143,40,24,155,
3,31,220,60,184,161,108,102,128,181,99,61,43,55,65,63,11,153,96,33,243,57,128,101,50,178,217,13,143,71, 121,175,220,41,232,210,169,190,94,0,216,185,109,125,184,236,28,191,123,186,123,83,82,209,150,147,157,160,245,103,
36,67,164,79,70,159,149,167,181,246,213,9,120,153,130,108,155,58,208,170,55,38,60,36,24,159,108,54,32,115, 230,180,103,104,44,149,38,240,248,255,208,41,81,20,17,55,253,109,104,214,57,28,18,158,170,184,39,31,64,37,
160,103,229,196,189,146,233,31,5,102,35,153,148,138,236,149,96,163,50,191,172,76,202,129,142,220,228,24,148,126, 36,246,18,139,221,85,206,131,6,56,239,31,111,43,142,196,208,243,100,164,22,46,166,231,145,27,253,86,39,61,
49,96,38,248,239,195,34,61,69,54,238,233,186,98,231,222,126,202,218,81,37,51,21,97,102,208,80,221,219,189, 120,35,247,189,203,97,220,171,223,222,123,43,57,105,177,31,120,105,57,151,48,91,113,45,138,149,13,232,187,196,
25,54,228,109,249,68,54,238,101,182,88,121,31,155,5,185,74,126,150,137,101,115,102,250,201,172,3,115,72,81, 79,82,252,194,40,72,144,95,108,29,138,62,102,7,93,127,243,213,103,238,194,178,215,115,253,1,226,138,55,211,
31,9,231,251,80,55,207,127,56,242,118,125,133,155,251,219,225,227,126,63,253,198,184,112,45,252,84,123,136,252, 87,87,247,192,172,4,203,234,196,57,133,15,89,178,19,51,120,27,149,70,61,90,75,23,89,154,143,113,67,204,
219,136,79,189,58,42,107,126,134,125,92,225,86,254,10,188,66,254,79,239,191,36,122,96,35,153,137,108,87,176, 108,67,34,47,152,3,164,92,242,140,104,118,1,55,13,189,72,98,88,149,121,138,27,68,59,120,150,202,25,209,
112,65,188,251,6,91,152,143,101,15,63,3,189,191,105,89,246,49,23,163,191,171,88,88,88,88,88,88,88,88, 135,245,177,150,55,81,177,196,21,59,33,204,143,40,222,172,102,59,54,102,40,106,23,61,162,107,146,247,123,70,
56,4,127,0,2,250,26,26,6,173,233,101,0,0,0,0,73,69,78,68,174,66,96,130,0,0,0,129,51,7, 100,185,85,251,68,172,23,234,174,98,90,69,139,67,237,62,102,191,206,178,234,165,199,211,55,185,143,111,213,98,
174,15,213,93,230,102,167,37,71,87,5,211,28,163,88,34,62,138,95,234,247,189,134,92,115,241,181,21,199,82, 24,232,113,246,249,160,107,119,16,40,238,166,40,51,136,226,97,170,198,35,106,48,49,218,64,113,253,244,84,219,
146,81,26,15,184,26,224,126,254,177,234,148,95,89,248,60,160,8,143,105,92,152,95,251,50,89,239,43,171,220, 39,66,23,51,66,181,206,40,198,134,91,47,170,201,182,77,17,166,196,55,95,227,204,193,132,2,190,44,57,242,
131,227,43,42,246,223,203,134,165,37,172,6,22,121,73,113,219,43,138,205,189,136,242,133,146,217,86,11,96,173, 12,33,228,65,136,168,147,205,104,127,155,75,119,107,182,91,45,112,218,85,217,87,19,27,236,153,208,163,132,17,
30,44,170,22,48,226,211,12,149,51,184,160,100,251,165,142,170,131,249,90,208,223,222,207,245,36,89,254,183,93, 39,113,157,186,189,202,172,99,127,226,19,117,94,146,88,2,209,211,237,255,50,83,241,255,210,82,140,241,37,104,
86,109,69,15,166,103,164,187,166,213,67,235,27,96,158,160,209,118,184,23,6,132,229,1,9,128,144,0,7,11, 75,100,222,174,106,71,98,33,228,184,166,238,43,128,77,117,72,66,140,191,116,83,209,16,35,21,53,99,62,168,
1,0,1,35,3,1,1,5,93,0,16,0,0,12,128,194,10,1,36,20,65,57,0,0}; 17,209,229,88,206,122,254,171,42,232,93,111,131,214,137,203,105,56,91,93,186,214,212,95,199,155,175,226,173,218,
57,228,156,74,124,196,54,254,108,216,40,136,39,198,168,165,39,39,215,143,0,71,147,220,202,135,201,166,46,225,
130,146,61,191,38,215,207,50,100,235,177,230,242,148,175,120,46,142,152,37,194,97,105,231,114,66,0,116,147,5,
157,3,39,58,24,80,132,251,49,198,3,116,10,80,15,106,143,195,97,232,203,237,252,207,229,182,116,36,214,130,
213,139,53,251,8,66,235,62,70,11,227,222,181,240,0,79,127,183,100,201,157,97,0,68,255,2,253,168,155,157,
216,63,76,54,16,122,46,124,164,32,211,37,18,252,35,132,10,133,144,77,0,198,130,20,13,190,218,61,8,179,
3,251,137,95,167,90,75,192,90,128,132,202,22,144,150,211,84,195,125,240,119,49,246,44,245,56,244,32,205,42,
156,159,67,94,19,122,32,253,41,189,157,144,149,222,47,71,60,46,204,234,225,181,26,82,177,160,38,125,252,99,
4,107,173,122,68,236,230,96,32,66,32,23,108,38,215,44,66,140,96,91,46,3,16,25,67,17,6,69,156,201,
39,79,72,161,13,6,48,0,88,157,242,120,1,1,78,36,180,30,99,131,185,241,19,189,254,249,52,209,140,157,
28,217,110,102,186,106,140,83,146,146,234,150,148,109,189,63,10,108,25,16,83,22,117,45,68,85,238,238,131,81,
80,194,162,55,124,11,228,64,170,234,87,56,109,89,236,234,34,20,26,180,21,117,173,228,94,112,52,114,238,76,
165,5,135,126,56,164,250,212,130,216,154,222,111,150,118,67,196,182,56,161,55,32,20,70,119,63,37,189,105,232,
43,229,142,110,100,234,44,71,150,234,98,48,132,225,6,219,73,48,243,14,135,119,187,211,70,110,172,139,159,72,
146,228,237,196,26,10,194,77,111,202,23,110,104,105,158,72,47,117,149,9,80,243,112,119,63,174,123,41,109,42,
130,6,174,94,179,234,139,143,119,249,22,190,255,175,106,235,137,83,59,186,142,161,87,191,153,141,160,104,74,23,
218,179,92,79,106,98,156,157,149,213,36,115,188,104,45,27,68,139,38,210,60,144,127,235,84,116,138,231,192,140,
0,197,113,21,217,136,161,104,180,16,247,157,117,185,251,42,218,228,52,70,1,168,123,164,236,83,227,151,243,236,
166,85,67,124,159,149,174,183,143,129,183,166,43,158,81,102,103,55,44,81,44,148,84,49,68,169,95,122,91,204,
30,94,252,131,188,28,152,241,125,115,1,155,186,236,117,97,41,29,210,82,198,91,182,30,245,167,65,125,53,201,
181,47,223,30,24,146,249,24,237,172,94,69,163,249,84,86,79,191,197,207,154,74,81,90,226,162,220,0,89,30,
3,169,125,110,115,196,174,155,234,169,64,73,126,51,124,182,0,225,230,203,110,121,32,90,41,212,245,95,41,19,
246,118,194,255,37,170,21,167,15,49,68,117,109,63,65,98,129,132,169,43,190,89,238,113,15,251,218,239,13,235,
194,55,175,53,142,149,143,149,212,57,54,141,199,51,10,220,191,114,70,238,218,221,69,138,252,101,204,59,28,113,
214,98,118,172,174,227,253,129,81,82,32,126,231,174,175,69,119,222,246,207,94,133,187,49,143,18,48,222,76,83,
38,187,160,66,176,42,207,235,241,26,21,133,118,119,36,147,249,224,235,249,232,22,247,226,135,65,60,144,0,10,
145,57,231,121,58,190,184,160,145,17,7,141,103,162,113,198,188,207,78,202,34,231,241,218,186,255,225,184,217,186,
205,48,195,211,229,49,17,9,28,31,88,23,46,208,31,77,122,72,123,64,173,154,130,129,185,250,151,18,49,186,
250,122,33,253,225,62,228,51,68,61,102,7,176,235,63,69,84,175,243,163,108,53,176,39,247,94,121,93,206,29,
4,220,174,76,68,45,97,14,227,253,197,244,247,27,249,191,17,198,177,91,100,72,39,44,77,230,103,95,159,145,
235,8,108,95,201,214,21,186,96,197,216,86,228,218,147,144,48,170,72,70,29,29,153,33,169,115,210,158,173,26,
64,75,172,24,73,11,63,50,124,233,189,2,94,222,251,98,9,40,97,127,190,68,186,116,250,249,70,254,114,24,
2,191,11,102,106,199,171,50,166,206,112,34,239,26,56,191,2,27,243,169,248,86,124,192,166,23,172,137,22,179,
57,147,37,119,103,135,31,229,178,4,121,23,192,26,83,125,230,206,46,119,198,184,224,184,36,218,202,182,88,200,
104,137,2,26,106,7,231,252,89,49,101,199,52,160,157,88,214,228,218,113,212,139,222,52,168,62,20,7,3,193,
187,33,247,77,224,137,148,38,237,90,208,59,83,190,74,244,134,129,63,117,151,123,244,183,65,212,172,38,237,72,
231,212,78,86,71,215,218,94,251,250,90,39,79,209,17,224,231,48,168,146,175,58,169,199,65,255,50,59,9,8,
47,150,3,136,146,216,132,35,3,98,74,28,224,194,247,112,139,24,251,1,11,144,53,180,125,138,152,169,188,182,
215,38,129,235,165,171,165,253,7,34,148,70,9,213,213,128,169,43,143,143,61,254,57,55,130,97,89,166,217,13,
165,189,106,202,77,26,248,10,209,57,147,250,28,241,115,192,242,86,184,80,48,199,231,199,19,5,112,185,5,230,
77,107,19,142,105,27,66,148,66,25,21,150,196,2,82,59,143,249,156,1,138,48,224,177,47,55,207,47,226,219,
79,87,177,151,145,52,87,12,255,71,67,180,114,49,219,133,226,16,97,253,62,205,155,92,30,240,48,125,88,168,
14,11,154,33,176,167,9,82,129,199,205,153,166,138,19,99,8,237,188,131,53,152,123,11,130,44,84,81,126,227,
238,200,209,140,147,140,161,104,43,13,119,151,246,88,171,24,197,247,67,28,90,144,175,235,191,126,87,107,157,159,
4,98,242,158,169,26,85,240,72,22,113,133,168,242,117,8,255,49,41,124,56,191,138,32,29,240,18,162,1,250,
223,240,223,45,235,219,198,222,185,210,76,159,84,52,156,183,217,13,203,97,64,119,208,121,123,175,111,145,216,29,
28,6,96,197,237,181,211,104,103,255,77,130,247,252,54,100,139,121,33,50,42,144,64,125,231,132,171,121,220,163,
58,205,3,178,189,233,184,27,253,110,55,255,171,209,15,208,232,133,50,30,5,78,250,7,228,83,63,167,136,114,
125,216,93,220,233,9,202,251,76,165,44,184,28,159,126,36,223,159,136,54,16,237,116,121,226,80,242,228,224,114,
77,90,60,140,170,20,65,224,121,47,181,242,128,62,45,185,47,148,14,129,224,195,10,227,170,180,240,22,252,41,
151,92,123,207,142,141,94,225,144,68,191,145,156,249,192,253,173,131,202,82,50,46,25,155,2,130,5,54,133,206,
133,112,59,122,189,145,169,226,68,120,53,117,38,17,248,67,159,186,254,106,191,16,167,195,112,143,188,138,153,148,
22,204,37,191,165,121,208,199,66,55,9,41,172,70,107,219,224,237,250,12,201,96,252,229,128,57,219,219,137,254,
224,135,22,34,185,142,230,199,26,238,225,49,203,72,255,44,109,136,5,226,109,95,8,87,180,23,50,13,191,145,
252,74,31,74,193,233,89,132,247,164,120,56,177,185,251,16,158,10,47,23,199,33,213,229,40,117,219,158,89,103,
83,246,228,5,53,40,30,174,56,97,0,166,188,142,246,227,127,195,60,40,29,71,110,53,142,229,134,199,164,142,
197,7,101,44,76,78,184,3,162,119,152,36,162,75,245,99,29,85,207,52,222,138,146,128,141,93,66,19,216,168,
43,157,69,187,224,152,249,216,127,94,115,140,131,228,48,98,115,166,131,242,0,211,50,253,163,217,201,156,3,226,
226,13,103,70,48,219,7,176,150,72,201,42,148,155,5,109,15,60,148,123,154,92,186,206,108,242,90,65,157,7,
115,99,151,38,83,83,190,77,255,236,4,135,211,200,245,183,190,63,94,205,17,112,191,185,150,165,109,218,131,199,
86,235,5,153,159,120,148,203,216,163,255,131,25,17,50,165,204,115,77,251,186,152,106,205,212,104,74,20,195,76,
48,113,94,59,183,90,186,134,122,210,66,48,103,201,89,18,47,214,159,102,198,149,5,100,59,254,45,228,202,59,
65,12,111,39,152,126,86,58,62,148,27,84,79,57,205,177,192,131,80,239,148,44,250,198,145,125,58,214,215,238,
110,61,98,11,148,203,134,146,21,173,25,24,208,120,53,201,3,121,194,131,217,78,229,128,203,227,229,214,208,57,
185,169,210,8,62,244,31,162,252,125,66,99,33,90,42,182,178,204,72,98,138,87,72,185,17,3,151,221,146,113,
25,217,207,169,43,188,34,184,204,219,246,242,66,81,203,120,34,119,57,105,127,174,25,49,156,186,251,152,126,75,
206,211,149,243,162,146,46,123,25,47,196,220,204,78,224,212,74,85,134,247,249,153,121,165,181,18,113,167,90,216,
229,113,149,12,144,82,145,218,158,72,247,250,115,98,53,143,253,50,191,155,89,145,149,96,152,169,78,219,95,231,
60,228,18,47,216,1,192,130,106,144,14,122,238,176,4,73,205,184,237,226,154,7,89,253,45,189,50,185,160,68,
2,34,15,122,95,185,89,199,121,197,154,162,78,155,22,156,13,29,230,72,19,3,38,31,77,235,51,87,239,148,
132,43,240,83,178,101,19,41,40,196,56,87,224,206,200,201,25,46,151,168,127,10,179,244,164,247,78,158,117,240,
102,161,180,70,76,174,37,224,108,105,200,132,169,60,70,41,219,17,87,146,171,58,57,45,239,154,40,233,97,154,
11,53,150,25,241,68,37,177,60,127,253,173,73,242,155,59,75,199,16,119,160,21,185,251,66,85,161,123,247,190,
140,188,222,85,216,150,76,21,207,125,197,115,29,247,233,9,41,180,124,100,66,207,206,65,108,2,107,207,247,17,
72,176,165,120,248,229,8,223,61,11,243,192,161,88,131,63,200,138,131,165,248,113,242,144,115,93,114,181,81,134,
178,193,152,57,120,19,89,157,165,199,197,79,81,236,225,59,151,206,38,67,66,31,90,197,177,124,55,23,222,44,
249,58,141,155,215,241,46,255,1,239,253,217,100,147,75,237,3,65,191,208,84,245,116,251,215,68,165,25,168,60,
77,159,20,84,104,80,42,189,248,227,74,155,32,60,185,56,238,206,76,162,81,105,254,147,4,238,217,9,246,218,
231,225,55,163,111,100,161,226,217,246,240,247,107,2,105,18,210,1,55,131,37,43,243,83,204,119,250,222,248,180,
97,109,222,154,46,66,111,68,202,20,168,232,16,148,211,148,235,112,206,102,103,29,242,19,168,103,201,177,113,35,
170,27,227,123,194,43,14,10,210,96,86,143,229,145,11,201,255,72,194,19,7,102,73,38,227,73,90,70,15,186,
26,32,83,83,144,246,157,114,9,197,148,201,220,89,89,151,73,9,253,211,109,198,67,3,40,177,32,188,112,187,
59,154,38,84,29,215,84,31,202,165,186,253,78,214,136,76,123,208,20,211,112,191,188,121,81,185,137,132,27,241,
70,240,9,201,3,153,39,138,160,89,254,32,216,77,39,89,80,12,247,3,175,214,214,72,18,187,212,33,230,140,
237,59,255,253,170,177,140,241,38,163,185,174,219,225,20,153,26,184,53,192,144,50,238,19,185,74,237,91,23,26,
75,226,98,19,213,154,50,100,190,138,19,93,127,70,62,134,157,116,183,171,68,124,211,62,95,66,232,96,253,25,
242,229,81,120,46,213,114,245,245,44,119,6,78,189,241,134,66,254,13,216,190,137,160,47,219,119,194,204,101,133,
7,189,151,205,247,94,203,123,68,42,21,12,86,236,220,111,150,124,150,161,39,249,43,49,155,7,148,247,157,100,
182,44,66,76,96,64,124,173,76,193,247,187,4,148,1,170,57,132,17,11,167,20,56,94,218,12,234,215,203,51,
116,34,117,243,234,146,166,184,164,183,54,182,91,144,200,200,150,35,8,141,106,11,176,162,72,121,217,218,136,238,
145,243,127,239,206,191,229,36,98,119,248,123,252,160,52,176,43,116,122,202,103,21,27,5,214,243,188,186,187,56,
224,253,198,22,138,251,96,234,157,99,19,187,142,118,230,10,218,127,248,134,24,5,182,102,71,59,226,149,232,133,
171,126,86,162,212,47,95,205,91,93,93,195,5,234,155,232,79,131,129,200,0,199,160,91,142,167,116,168,199,124,
36,34,24,219,18,202,252,183,228,39,69,119,109,84,226,49,162,160,110,9,40,200,201,186,161,39,62,196,138,39,
24,30,140,97,71,76,51,158,162,55,43,74,3,222,99,250,157,227,126,184,242,177,106,9,7,245,134,54,235,77,
145,139,175,143,177,223,234,106,199,155,139,149,3,4,234,73,185,108,0,189,211,234,83,103,31,47,193,239,65,26,
46,108,123,106,103,54,220,155,11,233,235,225,46,117,101,143,114,40,177,92,184,50,75,216,179,222,13,223,187,32,
181,171,21,10,67,181,166,55,3,198,233,252,176,218,233,160,72,12,121,150,121,170,251,236,118,182,21,204,196,27,
240,77,47,64,195,126,58,232,48,147,239,254,60,199,137,232,63,200,162,2,0,149,138,44,199,254,20,173,65,21,
237,17,149,4,159,122,123,44,221,186,87,20,165,62,82,137,148,237,134,144,39,63,11,56,76,221,183,53,149,57,
199,159,61,183,24,101,191,22,170,188,136,217,30,129,113,146,210,156,109,168,178,220,236,18,194,200,136,219,249,176,
144,206,167,159,17,40,249,233,131,80,36,86,242,130,47,5,38,81,118,244,245,163,188,227,107,62,94,38,247,44,
87,56,108,147,114,73,71,18,209,232,111,38,198,35,138,76,136,175,54,52,230,15,124,116,111,214,212,68,15,220,
12,56,22,237,69,191,67,250,107,101,87,74,238,57,195,73,176,222,80,121,158,234,164,186,127,241,227,28,251,39,
133,72,57,30,82,155,128,52,86,134,59,26,162,10,237,63,107,86,104,253,132,98,108,206,37,33,123,195,83,78,
185,119,247,64,64,16,95,178,31,52,144,193,228,160,174,83,155,70,190,106,121,40,144,177,97,94,158,93,50,224,
242,209,84,252,56,188,6,122,119,222,161,59,107,47,67,241,214,92,89,227,69,150,38,67,40,84,69,232,112,247,
254,97,232,193,62,93,206,2,60,16,52,162,197,36,3,253,5,252,96,7,44,186,164,70,180,180,72,53,186,189,
210,144,5,191,166,167,140,233,79,40,113,156,215,115,36,241,114,175,62,248,255,155,103,106,183,131,139,190,93,43,
239,78,247,152,58,103,123,86,54,133,224,152,123,21,56,12,198,47,107,217,247,234,120,139,255,16,244,147,29,157,
33,222,210,124,240,167,80,250,149,147,201,73,234,193,242,5,178,215,251,166,101,27,197,178,187,13,127,225,200,173,
247,94,190,217,120,56,191,48,249,118,24,88,156,18,47,171,182,89,39,122,99,223,83,235,92,137,128,119,217,217,
118,210,92,1,101,250,231,78,188,87,6,130,74,180,191,182,50,99,217,122,184,64,69,169,93,190,175,137,246,34,
51,108,94,105,0,46,229,217,18,98,165,180,109,89,160,124,56,228,192,206,94,129,157,137,27,128,84,219,102,87,
150,117,124,192,55,249,58,226,20,11,150,80,132,220,47,95,111,79,54,132,46,88,117,38,173,53,103,134,83,194,
134,48,153,85,139,219,85,218,187,59,254,249,12,213,45,48,70,148,124,19,91,140,32,158,65,188,253,71,242,87,
25,225,233,47,164,140,82,21,103,249,27,122,151,175,14,147,41,220,2,172,38,7,217,124,131,1,77,111,209,217,
203,208,39,204,16,36,227,51,12,221,144,23,74,81,226,152,140,83,82,115,85,204,188,47,71,102,32,18,168,15,
187,139,95,19,50,68,116,123,189,23,124,124,98,221,145,212,149,10,161,26,121,36,168,173,149,174,57,107,68,41,
58,108,54,54,239,56,252,148,218,3,160,55,56,246,48,106,56,112,162,85,7,169,202,148,186,0,105,253,159,154,
222,186,189,107,219,219,134,187,70,242,187,37,51,9,249,84,91,54,95,152,10,101,100,134,211,147,13,207,249,102,
105,199,215,137,170,27,83,71,151,159,182,197,240,8,138,77,1,24,95,211,163,194,67,244,230,239,246,147,80,157,
74,169,171,192,148,118,126,225,7,50,126,174,1,158,174,84,34,9,202,210,157,231,44,124,5,221,218,244,183,229,
162,177,2,163,229,54,45,55,200,142,235,44,229,20,123,138,31,38,20,221,200,80,36,2,186,134,191,88,207,132,
14,185,224,11,31,193,96,180,231,81,16,144,139,132,186,237,153,241,162,241,165,161,134,115,205,15,214,6,251,249,
185,111,129,245,191,242,216,123,96,97,103,56,158,212,209,183,191,1,91,128,165,235,132,68,95,214,125,32,180,101,
85,174,133,90,57,32,84,7,209,113,199,49,118,145,20,139,78,177,7,178,168,29,162,170,187,177,96,191,243,114,
193,157,156,251,78,239,57,62,12,203,54,174,47,225,52,16,170,77,92,166,240,29,114,47,186,90,103,187,139,140,
39,56,235,21,140,193,251,250,59,19,237,78,210,11,32,93,177,47,251,221,14,13,23,253,204,122,46,59,30,218,
115,32,145,238,143,180,82,22,152,44,83,184,106,55,240,177,22,120,93,8,68,55,29,248,56,76,214,235,113,44,
17,155,38,30,100,160,21,123,128,129,110,181,168,159,109,23,181,180,103,204,105,169,87,79,12,155,220,79,157,172,
176,25,245,100,175,140,52,135,212,186,91,244,193,68,87,254,116,39,148,178,78,19,63,172,74,161,66,36,53,168,
114,153,12,200,104,128,106,246,57,106,13,157,24,176,255,3,204,17,204,236,202,129,193,19,122,64,150,233,74,123,
110,81,183,100,111,60,24,66,69,242,203,84,37,235,214,134,163,45,189,132,100,123,237,143,237,194,119,118,80,50,
244,152,73,50,104,36,231,231,148,210,4,229,186,254,87,87,154,190,226,221,27,79,47,241,222,136,236,30,127,182,
162,186,154,139,191,198,252,170,114,49,35,193,198,49,81,132,61,166,239,169,58,96,238,17,120,134,196,38,194,201,
84,239,150,246,163,168,227,163,64,235,190,36,236,245,30,92,201,192,158,171,153,178,30,84,132,116,116,81,255,115,
29,76,75,28,187,179,115,169,60,63,153,206,224,203,216,124,214,107,87,142,20,146,136,242,9,2,27,65,137,141,
255,154,208,46,135,49,154,246,8,219,213,55,48,104,172,124,40,53,143,57,230,13,155,80,108,20,16,92,186,33,
0,162,22,122,104,115,68,204,7,8,53,78,11,170,65,211,140,254,179,184,153,74,246,139,180,151,74,215,37,65,
254,179,183,43,26,248,66,201,43,98,128,149,218,171,133,186,222,54,142,36,181,66,187,143,77,166,78,180,217,134,
68,36,129,171,131,136,75,8,109,174,17,171,100,215,29,51,161,17,29,255,110,74,97,155,84,86,51,100,122,86,
173,128,144,159,111,189,119,75,98,92,248,151,182,13,111,99,181,125,104,74,180,200,157,216,66,235,221,66,32,140,
146,167,74,121,98,66,213,52,50,230,0,67,186,115,32,86,130,22,95,9,21,23,16,211,150,26,252,36,71,38,
183,90,40,145,140,189,236,177,6,3,179,216,2,77,197,71,250,212,128,174,120,249,14,200,160,198,22,223,44,131,
38,180,22,99,208,125,108,200,193,203,254,149,119,218,35,187,207,20,251,84,111,45,21,175,110,35,243,146,30,247,
15,22,221,234,218,79,144,90,132,26,105,196,179,255,121,65,203,217,135,247,143,115,166,180,19,78,215,83,238,212,
150,69,203,66,170,84,50,167,204,7,252,31,43,132,24,104,82,220,74,239,184,253,134,252,137,184,105,137,106,127,
65,244,195,117,149,128,106,199,39,219,195,199,231,160,234,147,31,177,111,120,137,227,16,188,11,21,68,244,67,86,
49,72,132,152,11,46,142,192,189,227,196,147,79,104,123,129,166,175,185,226,238,30,216,66,21,80,220,76,123,35,
164,93,65,96,128,63,176,90,189,7,141,30,181,253,200,241,86,42,156,96,234,240,171,51,124,56,144,34,170,55,
6,125,158,198,94,205,115,192,140,133,39,239,156,18,232,188,161,45,86,102,150,126,233,138,129,210,108,144,54,186,
139,82,126,149,133,215,30,183,49,183,143,102,19,127,207,103,170,221,57,175,185,38,163,132,185,191,154,225,1,75,
235,143,33,40,226,154,57,84,81,221,103,11,176,29,105,31,211,88,186,94,66,98,130,127,124,20,235,81,17,1,
210,37,43,174,80,22,196,181,64,187,170,118,67,201,202,167,200,89,213,187,43,90,199,94,104,44,4,102,95,98,
100,227,46,43,97,3,19,129,234,208,125,138,204,77,141,172,184,155,215,241,95,242,85,94,143,62,16,107,146,218,
37,7,214,53,7,196,3,223,207,111,223,40,255,103,177,9,98,79,70,245,53,163,45,15,168,103,73,154,4,10,
73,146,134,34,239,154,15,45,92,239,64,32,152,209,5,127,98,127,91,76,68,14,51,197,6,205,6,234,4,203,
187,55,91,30,64,115,21,144,35,11,219,250,187,73,43,180,56,42,76,128,253,51,121,216,174,230,249,59,71,199,
128,40,71,166,152,236,50,108,207,169,191,178,137,178,217,230,125,6,73,169,78,20,138,178,106,80,233,8,36,25,
128,176,175,185,201,81,58,254,159,123,146,201,230,35,175,62,26,8,27,129,73,180,231,60,34,232,153,162,105,2,
254,191,174,194,89,226,158,123,192,33,76,203,22,75,78,28,110,11,25,159,243,83,48,105,171,11,45,224,104,247,
33,244,178,17,52,85,174,57,134,45,138,218,203,123,65,135,250,173,182,29,86,237,58,43,186,231,138,116,9,140,
79,118,105,190,148,4,138,143,42,175,24,218,159,69,248,11,141,0,46,186,84,56,236,131,203,4,173,221,6,151,
19,142,147,162,201,44,60,78,35,218,11,59,142,227,33,109,188,45,182,229,252,103,83,175,111,233,188,212,127,65,
125,173,85,121,170,57,89,9,52,207,93,18,126,227,252,77,252,143,56,50,226,225,19,23,43,154,80,52,64,145,
200,8,240,242,238,235,98,197,229,240,253,217,244,198,203,235,44,121,33,88,104,12,78,35,61,134,14,16,63,228,
105,47,110,80,198,10,108,149,16,206,78,119,47,250,164,82,84,45,116,231,191,154,137,134,172,103,50,100,219,179,
228,7,41,186,134,0,57,64,129,242,230,251,100,44,5,160,156,232,47,127,210,92,170,9,188,45,9,191,64,38,
8,129,131,149,108,20,221,119,54,142,61,113,16,65,242,118,127,185,181,212,181,151,238,23,206,151,150,29,170,81,
68,41,123,47,98,13,157,51,254,8,228,126,19,123,177,53,6,122,73,232,166,187,226,138,216,237,66,36,196,246,
1,19,48,8,188,162,45,99,118,242,242,180,218,232,176,126,126,64,65,217,255,102,171,91,194,71,90,12,183,229,
40,38,1,134,130,57,164,207,96,14,0,54,144,198,154,74,137,121,153,255,50,240,221,30,80,148,55,161,150,186,
89,55,47,201,181,151,232,9,169,85,58,43,112,36,166,85,231,227,150,154,5,6,180,105,211,54,97,222,88,37,
90,62,68,50,193,17,80,233,227,123,28,166,1,120,247,26,160,176,37,251,138,157,177,247,240,102,28,233,182,43,
238,119,123,35,247,37,7,91,71,212,175,180,103,202,254,232,209,90,197,190,31,216,53,187,42,239,235,173,216,108,
89,176,73,161,118,10,100,242,35,91,252,29,53,205,97,55,126,187,95,223,14,194,169,138,85,50,75,168,220,222,
50,19,165,9,246,205,129,124,197,254,240,242,49,155,197,118,174,138,198,42,89,176,87,240,211,203,7,193,233,32,
212,79,146,218,119,55,188,254,86,63,59,149,115,65,128,209,70,198,228,196,16,19,31,234,124,198,161,82,97,152,
189,162,21,62,91,44,181,247,33,78,182,195,160,220,43,205,124,229,5,12,188,204,113,27,148,126,56,18,156,120,
240,98,240,1,140,6,16,25,12,116,112,151,108,20,38,232,15,27,0,194,38,193,100,185,175,172,133,228,174,27,
251,130,107,116,196,153,142,59,198,90,107,99,139,202,103,129,240,6,36,128,44,203,99,230,123,242,105,134,2,39,
27,232,109,8,167,103,103,126,211,61,2,208,28,232,73,148,21,182,111,151,46,192,120,78,42,230,97,193,169,17,
118,252,153,148,135,192,151,2,152,98,49,12,185,153,60,99,2,188,34,26,179,218,170,168,247,110,105,11,231,217,
101,229,194,41,87,124,7,30,8,46,117,198,45,114,132,86,144,242,255,171,159,118,199,22,137,80,14,19,150,38,
168,183,86,138,210,84,181,106,151,190,140,74,51,30,135,58,3,80,85,146,144,186,183,103,244,182,204,6,158,21,
249,17,82,163,161,242,208,32,144,56,226,239,33,129,22,243,54,49,108,170,122,63,127,90,169,72,139,169,36,72,
181,81,116,14,33,68,1,66,254,201,141,155,224,28,31,205,15,107,9,182,198,37,139,190,32,227,83,181,92,102,
245,180,41,161,104,148,85,104,175,191,72,125,132,1,26,215,154,164,224,215,108,252,160,55,208,162,29,176,165,148,
74,146,100,80,105,69,163,30,223,234,94,119,145,39,14,225,15,86,208,32,237,93,203,169,71,160,204,126,152,116,
228,135,141,113,222,99,26,212,199,249,9,150,40,168,153,208,107,87,58,73,81,20,205,57,61,234,156,23,29,109,
143,221,83,196,3,156,87,154,17,58,20,28,32,43,223,68,19,147,88,156,66,208,204,212,8,30,27,158,109,153,
166,15,153,71,55,49,231,103,20,33,9,153,108,162,170,48,115,41,12,38,219,135,59,183,22,43,172,29,12,4,
161,202,39,81,210,247,100,112,104,165,182,73,158,191,123,51,20,63,52,221,176,68,38,21,237,134,118,109,41,240,
64,198,247,114,238,87,43,91,45,199,23,243,172,134,90,180,95,236,97,219,95,34,211,147,57,144,199,236,219,129,
68,244,182,65,226,0,110,15,86,94,109,71,227,164,133,120,239,62,196,149,240,120,41,52,82,47,171,141,159,239,
164,150,190,78,4,81,163,108,190,203,46,88,64,86,132,70,57,37,166,142,161,127,213,171,224,225,248,27,6,246,
242,186,224,118,142,134,164,84,49,162,149,185,131,216,124,127,70,143,151,215,170,124,3,165,87,243,191,164,113,138,
9,132,233,59,25,247,229,65,120,72,99,203,226,237,218,25,110,162,165,177,169,215,221,166,21,128,130,254,215,227,
224,144,201,81,238,28,136,21,184,202,236,150,247,181,58,199,16,82,47,140,247,146,25,199,36,153,202,238,203,94,
3,131,170,46,57,234,44,168,51,223,14,124,228,124,27,215,71,120,163,120,40,129,1,132,43,51,227,104,79,90,
61,11,199,86,34,159,173,243,112,233,179,193,84,116,202,20,237,252,44,162,245,112,52,66,114,71,228,124,58,235,
155,19,5,30,82,202,212,146,99,232,16,66,113,181,125,12,165,79,55,41,117,152,103,246,171,183,2,129,173,102,
56,91,226,192,197,179,68,36,111,85,198,65,241,163,65,94,147,243,140,91,44,112,32,56,162,197,41,135,18,196,
233,73,157,152,230,60,36,149,218,2,173,187,76,74,168,5,210,124,92,142,129,145,223,25,232,128,214,34,227,247,
243,49,224,74,197,102,11,88,133,141,41,197,20,17,59,112,201,91,239,14,219,209,100,54,111,100,18,153,201,105,
168,172,215,47,42,161,89,15,82,242,159,72,243,208,247,69,224,44,176,151,128,214,80,197,86,163,224,67,207,58,
82,17,251,87,35,255,169,63,96,78,196,23,204,60,34,174,219,231,24,214,40,228,236,136,231,44,101,218,109,223,
28,122,241,21,23,9,24,192,182,84,153,253,163,122,193,34,1,28,90,97,194,170,127,62,149,232,223,106,118,202,
115,84,7,159,82,117,196,20,76,52,83,223,195,98,68,174,238,168,121,35,117,25,104,238,153,112,46,236,92,198,
138,146,149,218,117,160,153,158,190,95,107,166,120,121,197,119,189,252,243,67,82,140,101,236,72,15,218,206,249,123,
171,201,23,140,116,168,102,204,214,25,127,111,50,1,6,166,215,75,12,132,232,106,226,103,203,241,119,214,243,30,
17,221,241,147,187,243,148,116,133,120,223,241,233,172,132,4,243,22,155,143,114,105,18,212,159,92,174,156,248,68,
202,139,80,160,43,129,208,250,31,199,111,245,98,29,225,114,72,120,84,44,83,224,179,125,145,58,251,249,7,19,
78,83,51,62,27,136,60,45,6,166,29,225,197,180,136,112,51,15,215,139,81,80,235,5,166,167,44,164,33,33,
181,103,21,27,161,180,217,105,85,110,158,24,189,234,226,16,200,232,8,118,200,126,123,181,233,195,114,23,123,80,
30,98,176,207,174,220,157,205,76,110,11,124,82,116,255,108,108,194,175,53,91,44,37,140,5,56,243,238,238,98,
169,175,127,149,42,251,77,74,159,18,35,13,10,151,103,35,148,17,45,182,87,57,122,123,49,35,121,214,47,219,
220,205,188,59,232,209,243,149,217,107,0,58,197,245,221,150,241,40,174,155,128,21,214,86,20,172,90,56,142,97,
20,119,245,192,84,82,41,244,187,254,47,245,135,56,93,208,13,161,189,161,154,33,1,24,79,251,101,123,62,199,
65,160,123,101,56,184,247,162,179,224,217,131,75,207,63,250,215,117,234,237,203,233,135,234,173,177,41,200,68,64,
240,124,212,41,146,120,212,91,37,55,7,250,192,61,205,91,141,99,69,197,121,63,143,207,245,87,10,228,245,79,
218,245,96,213,210,14,253,8,152,246,115,109,69,205,167,224,100,201,168,106,54,64,93,60,67,55,103,5,231,18,
44,86,18,17,213,223,34,122,174,31,158,172,233,180,251,253,207,105,180,38,58,156,132,180,136,208,67,9,213,254,
224,62,138,148,61,200,92,16,53,216,47,87,139,140,201,27,12,3,107,247,9,9,28,248,122,220,8,152,58,232,
72,209,231,21,41,217,50,171,53,152,138,222,117,232,167,181,114,127,219,63,173,13,23,51,105,111,250,180,227,74,
38,40,171,233,1,185,103,48,189,253,31,38,248,11,55,223,144,138,45,32,169,246,102,64,163,172,185,40,92,38,
133,25,221,49,15,54,113,218,112,26,34,130,214,165,226,182,53,237,202,186,197,151,109,68,55,106,97,117,37,89,
136,179,213,46,107,110,242,12,102,158,152,36,67,21,143,213,131,129,111,56,76,15,40,195,33,89,82,61,206,212,
11,99,194,30,40,34,218,166,181,10,154,68,8,218,251,213,30,255,68,221,124,17,125,212,232,16,247,0,50,1,
201,124,166,10,19,172,122,239,115,251,118,183,12,82,226,187,218,213,236,75,29,222,150,65,238,89,176,109,43,215,
240,255,96,133,136,43,36,212,132,223,56,53,153,208,178,88,211,107,107,230,209,8,245,215,70,48,188,110,97,98,
42,22,103,218,58,6,44,200,217,7,205,7,147,87,203,54,39,164,38,3,21,208,238,80,159,111,103,85,110,180,
217,195,34,107,136,43,172,131,197,228,69,125,141,199,87,196,161,74,162,81,75,158,12,122,73,174,78,0,220,179,
245,47,141,57,85,94,130,185,232,219,41,84,168,133,70,27,53,107,127,110,154,122,55,77,214,45,6,85,48,37,
73,93,113,241,117,235,210,221,236,247,38,65,206,249,40,79,54,250,80,61,54,75,182,24,81,212,115,15,20,134,
250,43,32,227,88,128,27,114,50,41,103,54,172,17,246,30,200,100,141,11,224,62,38,12,49,122,75,155,46,134,
184,219,255,23,122,31,143,48,115,163,206,189,152,168,75,214,18,0,246,53,103,3,196,120,210,38,206,103,88,182,
150,244,166,168,128,26,35,139,8,60,29,241,161,190,130,136,5,82,99,56,147,131,227,241,69,34,230,79,3,51,
199,172,19,192,190,161,201,184,179,164,178,147,152,203,106,226,230,7,86,119,42,152,194,146,5,112,99,19,4,55,
194,73,178,82,150,118,109,104,106,226,71,128,161,234,197,81,37,135,193,30,217,143,97,97,62,90,203,182,1,249,
52,234,88,103,34,157,74,166,166,118,44,205,132,209,158,53,240,174,62,180,18,136,162,246,248,210,182,197,238,114,
174,82,214,197,61,171,24,141,243,168,177,251,145,7,167,60,138,28,71,225,55,239,224,231,191,138,131,36,234,194,
7,150,177,255,223,12,140,241,14,26,166,129,187,199,135,45,39,101,206,117,86,195,124,175,229,17,53,117,34,75,
204,84,7,37,106,221,68,242,216,145,186,217,65,49,81,207,145,186,193,19,92,159,73,74,247,208,210,204,191,154,
115,140,102,44,222,241,209,116,191,100,18,60,83,4,38,69,197,248,221,189,76,49,150,253,92,169,252,59,8,178,
17,214,196,116,161,192,127,37,69,50,86,108,111,233,92,218,158,25,215,72,87,132,13,95,251,2,44,68,74,25,
154,126,175,158,5,40,123,10,20,219,57,110,30,82,88,139,238,112,255,108,50,39,73,78,61,116,206,73,182,211,
211,137,70,214,49,128,234,187,108,70,167,11,10,100,188,25,68,4,244,32,39,47,238,193,216,122,91,121,238,229,
97,164,201,210,167,85,23,210,218,241,79,238,222,68,15,120,204,109,155,212,45,86,187,65,25,136,35,190,214,115,
165,143,72,247,24,70,199,16,151,87,221,190,184,236,75,181,154,54,106,77,136,193,4,252,235,250,208,24,47,1,
144,125,135,79,84,80,89,192,22,66,151,94,42,79,163,3,14,208,149,26,140,205,109,51,240,212,34,140,202,225,
202,52,68,186,158,153,188,244,254,178,204,211,169,86,65,249,194,0,0,0,129,51,7,174,15,214,174,118,79,185,
198,102,218,141,243,237,208,122,208,209,23,134,171,184,35,146,202,95,120,43,87,201,55,185,61,95,217,54,39,108,
204,172,162,65,88,180,227,102,74,77,200,142,144,212,6,169,114,93,216,150,187,221,211,22,146,242,154,109,228,202,
251,40,244,149,201,209,112,224,165,64,209,175,180,96,58,212,246,137,212,6,172,216,105,163,86,35,191,40,222,112,
224,170,68,100,148,44,229,43,57,157,10,30,106,232,233,142,56,255,178,238,61,203,223,114,235,94,197,254,119,184,
174,233,172,28,188,87,206,183,26,183,34,89,123,91,243,150,98,69,157,115,151,254,85,188,51,38,182,12,252,88,
88,123,10,166,159,101,136,111,231,200,174,176,159,49,36,180,3,115,253,74,100,61,135,75,47,148,81,23,6,163,
26,1,9,128,189,0,7,11,1,0,1,35,3,1,1,5,93,0,16,0,0,12,129,18,10,1,27,112,209,101,
0,0};
#endif // BP_INSER_RESOURCES #endif // BP_INSER_RESOURCES