182 Commits
4.0 ... master

Author SHA1 Message Date
Ray
0b94b80c92 Update raygui.h 2025-12-20 22:09:03 +01:00
Ray
867ca4bf8d Update raygui.h 2025-12-11 21:41:33 +01:00
367e169ad3 initializ some variables to prevent warnings (#515) 2025-12-02 23:31:24 +01:00
Ray
1a74db2ab3 Update raygui.h 2025-11-25 12:15:44 +01:00
Ray
715baf250d Update raygui.rc 2025-11-25 12:15:42 +01:00
Ray
3aea427fc8 REVIEWED: Out of bounds warning 2025-11-18 20:59:05 +01:00
Ray
773d1ec52b Update raygui.h 2025-11-18 16:49:44 +01:00
Ray
ff4dbd0712 Update raygui.h 2025-11-13 22:49:22 +01:00
Ray
aed63cedd1 Update raygui.h 2025-11-12 11:09:02 +01:00
Ray
4436a897f9 ADDED: New icons 2025-11-12 09:41:36 +01:00
Ray
d4ebcdc2be Update raygui.h 2025-11-11 19:38:38 +01:00
Ray
860e46d3f8 Reviewed text cursor 2025-11-09 14:06:53 +01:00
Ray
b9971133b2 Comment unused variable 2025-10-21 12:28:05 +02:00
947ef5799d Lock other controls when GuiTextInputBox is open (#512)
Previously, the color picker would end up eating inputs intended for the
GuiTextInputBox!
2025-10-08 14:46:29 +02:00
Ray
681393a423 Update user links to github 2025-09-22 11:54:08 +02:00
Ray
9cdfec460b Update raygui.h 2025-09-18 15:26:53 +02:00
Ray
546b4bacf4 Using calloc() instead of malloc() 2025-09-10 21:03:27 +02:00
Ray
cf3aab1e9f REVIEWED: Code sections description for consistency 2025-09-02 12:35:58 +02:00
9193f38424 Fixed examples (#505) 2025-08-28 22:49:47 +02:00
Ray
6530ee136b Fix #501 2025-08-15 12:21:17 +02:00
Ray
1b2612cf75 Minor format tweaks to align with new raylib conventions 2025-08-08 21:49:33 +02:00
Ray
54ee53e7d7 Update raygui.h 2025-08-04 23:36:27 +02:00
Ray
b4eb06657b Reviewed GuiGetTextWidth() exposed to public API 2025-07-30 16:46:49 +02:00
c4c87f2971 Making GetTextWidth part of the public API (#480)
GetTextWidth is useuful to be called publicly. E.g: when you want to get the final horizontal size of a Slider that has textBefore and textAfter.
2025-07-30 16:40:46 +02:00
1736d71bd7 Improve customizeability of allocator macros (#475)
Co-authored-by: Ray <raysan5@gmail.com>
2025-07-28 23:31:55 +02:00
be051532d3 Removed unpaired multi-line comment end (#497)
An unpaired multi-line comment end found it's way infront of a comment. I simply removed it.
2025-07-28 23:28:10 +02:00
Ray
ff866904d0 Review formating 2025-07-26 21:50:00 +02:00
Ray
99b37e4d4f Update raygui.h 2025-06-07 15:28:52 +02:00
Ray
40b8c25ec1 Update raygui.h 2025-05-29 12:31:55 +02:00
08c0c558fb fix: int comparison with unsigned int (#490) 2025-05-21 20:28:35 +02:00
Ray
f663b31cd6 Formatting tweaks 2025-05-10 22:45:25 +02:00
cb78993237 Add minus toggle for GuiValueBox & GuiValueBoxFloat (#485)
It was impossible to enter negative number.
Now pressing KEY_MINUS toggles sign for the value when value is not 0.
Due to original implementation it's not possible to start entry with minus symbol or have added minus while the value is 0.

fix max index
2025-05-06 22:09:07 +02:00
e00c4c18e0 Fix a typo (#482) 2025-05-06 22:07:40 +02:00
Ray
0895c8b8c4 Update raygui.h 2025-04-14 12:37:12 +02:00
Ray
c623a92f83 Update raygui.h 2025-04-13 20:38:01 +02:00
Ray
566c73f4e4 ADDED: Some required icons 2025-04-01 01:01:16 +02:00
Ray
58ba11d923 REMOVED: GuiSliderPro(), functionality was redundant 2025-04-01 01:00:56 +02:00
Ray
ea928f5609 Updated all styles to latest raygui 4.x and rGuiStyler 6.0 2025-03-27 19:04:19 +01:00
Ray
decc5151e6 Updated style: default 2025-03-27 18:52:18 +01:00
Ray
8d299c3c50 REMOVED: Old raygui style files (raygui <4.x) 2025-03-27 18:45:51 +01:00
Ray
ee64fedc1f Update style_dark.png 2025-03-26 00:33:35 +01:00
Ray
060561358e ADDED: New style: Genesis 2025-03-26 00:32:37 +01:00
Ray
678bf58834 Renamed font files 2025-03-26 00:31:04 +01:00
Ray
cb1c54d143 Avoid size_t 2025-03-25 22:50:45 +01:00
37f355ea6f Fix integer overflow potential (#477) 2025-03-25 22:46:28 +01:00
107214fa23 Replace RL_FREE with RAYGUI_FREE (#479) 2025-03-25 22:44:10 +01:00
1536ae35c7 removed left-right padding from GuiProgressBar (#473) 2025-03-14 13:16:02 +01:00
460411efef Fix enum compare warning in GuiPanel (#456) 2025-03-13 16:54:06 +01:00
63319f2ee7 Export GuiSliderPro and add static to GetTextLines (for shared libs) (#470)
I was having issues using it in conjunction with raylib (in Windows), so added these annotations here.

Let me know if it's okay, thanks for the project, Ray!!
2025-03-13 16:51:51 +01:00
b2ef0f864e [portable_window] fix window flicker when moving it without dragging... (#469)
...the bar. This example never expected it and was caching Window
Position, which means that position was outdated at the moment you moved
the window via other means than dragging the bar.

Fixes: https://github.com/raysan5/raygui/issues/468
2025-03-13 16:48:57 +01:00
372285ef98 Fix building and cleaning examples on OpenBSD. (#471) 2025-03-13 16:47:00 +01:00
Ray
d5459559e5 Update raygui.h 2025-03-13 16:42:25 +01:00
Ray
fc9d852d4a Update raygui.h 2025-03-10 17:10:07 +01:00
9a95871701 GuiTextBox() rework (#466)
* GuiTextBox: Fix possible overflow when handling backspace and delete

Simplify code a bit by removing unnecessary checks

* GuiTextBox: Fix CTRL+Backspace behavior

Remove undefined behavior (previously called isspace with oob values)
Fix unable to delete first character
Fix handling of symbols like any other "standard" input field or text editor on Windows does it

* GuiTextBox: Add CTRL+DELETE, CTRL+LEFT and CTRL+RIGHT handling

Copy behavior from programs like notepad, Notepad++, OneNote, address bar in Edge, etc.

* GuiTextBox: Simplify and improve auto-cursor code

Remove one global variable and compact checks into one bool variable
Fix auto cursor triggering immediately when button is held when clicking edit box
Tuned the values, so they match cooldown and delay when entering text

* GuiTextBox: Bring some checks in-line with the rest of the function
2025-02-28 15:09:58 +01:00
c198b9c34e fixed border and padding offset issue caused by BORDER_WIDTH (#465) 2025-02-28 12:28:33 +01:00
b19a0168fa Fix GuiSlider not drawing handle (#464) 2025-02-26 22:25:58 +01:00
f25b1dd757 Fix GuiTextBox handling of codepoints when deleting text and clicking with mouse (#462) 2025-02-25 21:40:57 +01:00
3397b015ef GuiTextBox paste support (#463)
* Add support for paste (CTRL+V) in GuiTextBox

* Remove commented out code

(a more elegant but incomplete solution, which does not check for control characters)
2025-02-25 21:39:31 +01:00
Ray
e4a59f0afa ADDED: GuiListView*() property LIST_ITEMS_BORDER_NORMAL
Allows creating list view with items outlined on normal state (not only when focused/selected)
2025-02-11 18:45:47 +01:00
Ray
f24b309386 REVIEWED: GuiListView() use style LIST_ITEMS_BORDER_WIDTH 2025-02-08 13:39:45 +01:00
Ray
ce1c756f70 REVIEWED: rltech style updated 2025-02-05 20:27:20 +01:00
Ray
4029ec0954 REVIEWED: Issue with TextJoin() #455 #457 2025-02-05 20:26:57 +01:00
74249a76c6 Expose RAYGUI_WINDOWBOX_CLOSEBUTTON_HEIGHT in GuiWindowBox. (#453) 2025-02-05 20:01:08 +01:00
c98814df2a Fix mismatch between if defined and define for RAYGUI_LINE_MARGIN_TEXT. (#454) 2025-02-05 20:00:19 +01:00
Ray
8535b51259 Update raygui version for potential breaking changes coming soon... 2025-02-02 13:42:42 +01:00
Ray
d36080ea70 Merge branch 'master' of https://github.com/raysan5/raygui 2025-02-01 21:39:50 +01:00
Ray
29ec7657c5 REVIEWED: property_list example #451 2025-02-01 21:39:40 +01:00
4ea41c76ee Added drawing of Slider knob in disabled state. (#452) 2025-02-01 21:35:23 +01:00
31b6ca3ccc Fix GuiTextSplit overrunning on max split count (#450)
Co-authored-by: segcore <segcore@github.com>
2025-02-01 21:34:29 +01:00
Ray
c8a037cde1 Removed temp files 2025-02-01 21:33:27 +01:00
Ray
34acf544e7 Update raygui.h 2025-01-31 13:10:39 +01:00
Ray
b00b72d143 Update style_amber.rgs 2025-01-31 12:29:21 +01:00
Ray
67909eea86 Update style_amber.png 2025-01-31 12:29:18 +01:00
Ray
4c7bc3935d Update style_amber.h 2025-01-31 12:29:03 +01:00
Ray
1391349feb Update raygui.h 2025-01-31 12:28:16 +01:00
Ray
eea93facea REVIEWED: GuiLoadIconsFromMemory() 2025-01-31 12:28:12 +01:00
Ray
49aaa0a801 Update controls_test_suite.c 2025-01-31 01:12:26 +01:00
Ray
76cc79d62b Update style_amber.h 2025-01-31 01:12:19 +01:00
Ray
cbe91fa082 Update raygui.h 2025-01-31 01:12:01 +01:00
Ray
46fd886f18 REMOVED: SPINNER control properties, using VALUEBOX and BUTTON
REVIEWED: All controls that use some label, use `LABEL` style
Several minor tweaks
2025-01-31 00:28:11 +01:00
Ray
97755aaf89 Update raygui.h 2025-01-26 21:01:58 +01:00
54bff64d7d fix: sprintf, use snprintf (#447) 2025-01-21 23:30:58 +01:00
004d5bf6f5 Add LoadIconsFromMemory (#449) 2025-01-21 23:29:48 +01:00
Ray
4646769751 Update custom_file_dialog.c 2025-01-21 22:44:06 +01:00
Ray
76b36b597e Update Makefile 2025-01-12 16:33:46 +01:00
Ray
e09dfe8bbd Update Makefile 2025-01-12 16:19:46 +01:00
Ray
1f81371106 Update year to 2025 2025-01-01 00:10:23 +01:00
Ray
090db355ea Remove trailing spaces 2024-12-23 19:23:47 +01:00
Ray
b9f40170c1 Updated style: Amber, make slider/progress bars visible on press 2024-12-19 17:52:38 +01:00
Ray
43cdbce0ad Update Makefile 2024-12-16 00:37:18 +01:00
Ray
f11dc823d1 Update raygui.h 2024-12-03 19:14:55 +01:00
d0cbf9bee2 Prevent crash when passing NULL to GuiToggleSlider (#437) 2024-12-01 23:16:15 +01:00
Ray
dbfd9c7880 ADDED: RLtech style 2024-11-28 08:44:15 +01:00
Ray
56f9fc5189 Update style_amber.h 2024-11-28 08:43:51 +01:00
Ray
1e03efca48 Update raygui.h 2024-09-24 20:01:51 +02:00
Ray
73f85d82f6 Update raygui.h 2024-09-24 20:01:33 +02:00
38ababbc62 add ctrl backspace support for deleting words (#431) 2024-09-24 19:47:40 +02:00
Ray
18edd7951b Update README.md 2024-09-23 15:32:55 +02:00
38bc79b432 GuiTextBox(): Do not get previous code point when at start of string (#420)
Co-authored-by: segcore <segcore@github.com>
2024-09-22 20:25:21 +02:00
Ray
20950c555d Update README.md 2024-09-22 20:23:18 +02:00
b5a81fb76e Fix #426 (#427) 2024-09-11 23:38:01 +02:00
Ray
56ec987258 REVIEWED: Possibly obfuscated variable in loop! 2024-09-10 13:01:29 +02:00
Ray
6aae83894a ADDED: Hot Icon
Minor tweaks
2024-08-19 13:40:12 +02:00
33f1659609 Added move in building for linux (#419)
Added the move since it restores the state to normal again.
2024-07-25 23:09:16 +02:00
Ray
2138b1b094 Update raygui.h 2024-07-25 11:45:14 +02:00
Ray
604d2d6ce4 REVIEWED: Amber style 2024-07-21 18:06:13 +02:00
Ray
b645a3b519 Create style_amber.h 2024-07-21 17:36:41 +02:00
Ray
6f46641413 Update raygui.h 2024-07-19 00:33:01 +02:00
Ray
9d04f2d36c ADDED: DropdownBox roll up mode #406 2024-07-18 23:24:44 +02:00
187dd8647f Support keypad Enter key with GuiValueBox and GuiValueBoxFloat. (#413) 2024-07-16 21:33:59 +02:00
Ray
3fb9d77a67 Minor tweaks 2024-07-09 09:07:50 +02:00
9b89f205f2 Correct spelling error (#412) 2024-07-06 15:20:52 +02:00
5d32bf01f4 Align text in the basic controls section (#411) 2024-07-05 21:19:43 +02:00
Ray
0f832e6a6e Update raygui.h 2024-06-18 23:24:11 +02:00
4b3d94f5df GuiTextBox(): Fix buffer overrun from cursor index (#405) 2024-05-31 11:18:17 +02:00
76f006b9d0 Fix icon padding adjustment in GetTextWidth (#408) 2024-05-31 11:17:22 +02:00
Ray
faed14c12b Update raygui.h 2024-05-29 19:58:34 +02:00
Ray
9c1a52515b Update raygui.h 2024-05-29 11:54:54 +02:00
Ray
7bb66e5c7f Create gui_value_box_float.c 2024-05-18 07:40:44 +02:00
Ray
9a9edd89b4 Update raygui.h 2024-05-18 07:40:42 +02:00
Ray
12804826d0 Update README.md 2024-05-09 21:01:17 +02:00
Ray
7c9472c97e Update README.md 2024-05-09 21:00:39 +02:00
Ray
680a50e83b REVIEWED: GuiValueBoxFloat() formatting... 2024-05-07 12:33:21 +02:00
a717c69962 Add floating point value box to raygui (#356)
* add floating point value box

* remove upper and lower bound

* remove enum entry for float value box

* fix code to match coding conventions

* fix code to match coding conventions

* change variable name
2024-05-07 12:09:14 +02:00
Ray
ec9621939c Update raygui.h 2024-05-06 21:34:10 +02:00
Ray
20939af882 Update Makefile #400 2024-05-05 11:19:51 +02:00
Ray
a3a0e86e21 Update raygui.h 2024-05-01 18:12:18 +02:00
Ray
6f532337ff Minor formatting tweaks 2024-04-20 19:22:59 +02:00
Ray
498511e4cf REVIEWED: GuiTabBar() detect middle button press over tab 2024-04-15 21:22:01 +02:00
5ab8a7b793 Added new style: Amber (#397)
* added a new style: amber

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md
2024-04-15 12:42:23 +02:00
Ray
f21318f500 Update raygui.h 2024-04-11 20:52:12 +02:00
34ef12062c Fix division by zero in GuiScrollBar function (#396)
When trying to use the floating window example, I got several times some crashes when expanding the window size. 
It's caused in the GuiScrollBar function, when the maxValue is equal to the minValue (I don't know if this case is intended in the first place).
Because valueRange variable is maxValue minus minValue, then it is equal to 0, and triggers a crash later, when we use it in division (division by 0).

I'm not sure if it's the best fix, maybe minValue == maxValue is not indentend in the first place and we should fix this problem earlier?
2024-04-11 10:40:05 +02:00
Ray
85549da837 Update raygui.h 2024-04-08 00:10:00 +02:00
Ray
0e96834a47 Update raygui.h 2024-04-07 09:47:54 +02:00
0a9a9f897a fix typo in raygui.h (#395)
Documentation mentions method GuiLoadStyleDefaulf which likely should have been GuiLoadStyleDefault.
2024-04-06 00:32:24 +02:00
Ray
e3f67f3c02 REVIEWED: Load default style before loading a custom style https://github.com/raysan5/rguistyler/issues/8
Make sure default style has been loaded to avoid overwriting new style properties due to the lazy initialization of default style.
2024-04-03 18:27:24 +02:00
c0d05782a9 fix compile error in custom input example (#394) 2024-04-01 17:57:13 +02:00
176ab3db60 GuiScrollPanel dynamic mouse scroll speed (#393) 2024-03-30 18:48:55 +01:00
bb68d06440 fix floating window example (#392) 2024-03-28 10:24:38 +01:00
ac19d7e08a single letter typo (#391) 2024-03-24 22:42:52 +01:00
Ray
9060e3bf33 REVIEWED: parameter name 2024-03-18 19:20:20 +01:00
82ba2b1a78 add floating window example (#382)
* add floating window example

A reusable floating window function. Window can be moved around through its title bar, minimized with its close button, resized from the icon in the lower right. The window is kept within the application area if the user pushes it outside the window/screen. The contents of the window are clipped with `BeginScissorMode` only if required and also a `GuiScrollPanel` enables user to see the clipped content of the window if current window size does not encapsulate all the content.

* modify to add ability to create multiple windows

* formatting for pointer dereference style consistency
2024-03-14 11:31:19 +01:00
623bc61f29 Add new icons to enum (#381) 2024-03-09 09:27:37 +01:00
Ray
b5693d0c41 ADDED: New icons 2024-03-07 22:52:39 +01:00
Ray
d3152f4a56 ADDED: Icon: WARNING 2024-03-07 13:07:27 +01:00
b3fea57382 Fix compilation error and remove warnings from examples (#380) 2024-02-29 11:45:31 +01:00
Ray
bc67f42209 Update raygui.h 2024-02-18 11:58:55 +01:00
Ray
a9e5e90058 Merge branch 'master' of https://github.com/raysan5/raygui 2024-02-18 10:42:09 +01:00
Ray
18675e1b40 Create controls_test_suite.png 2024-02-18 10:42:02 +01:00
77891affb3 added documentation on Hue control issues with GuiColorPicker (#373)
* added documentation on Hue control issues with GuiColorPicker

* Moved Color Picker doc from function signature to definition
2024-02-15 22:46:55 +01:00
Ray
a3bbc8408b Update raygui.h 2024-02-15 16:21:57 +01:00
Ray
a76bd963ec Revert "gitignore example executables on Linux and OSX (#374)"
This reverts commit 16088b51d1.
2024-02-15 16:21:47 +01:00
16088b51d1 gitignore example executables on Linux and OSX (#374) 2024-02-15 15:53:46 +01:00
Ray
7a5f4320bc RENAMED: guiSliderDragging -> guiControlExclusiveMode
Now this variables could serve to a wider purpose to multiple controls, to allow the excusive mode usage and to identify the current control rectangle with a "unique" id.
2024-02-15 15:45:48 +01:00
7fe39be75a fixed and simplified make clean for examples on Linux (#375) 2024-02-03 20:00:57 +01:00
Ray
418da225d5 REVIEWED: custom_input_box #378 2024-02-03 19:59:59 +01:00
58411f4cce Commonise GuiColorPanelHSV and GuiColorPanel logic and behavior (#370)
* transferred dragging GuiColorPanel outside bounds (#366) to GuiColorPanelHSV

* call GuiColorPanelHSV from inside GuiColorPanel, to eliminate code duplication

* comply with naming convention inside GuiColorPanel
2024-01-28 15:01:00 +01:00
db90a39ecf Fix GuiDrawText() sometimes drawing out of bounds (#367)
* Fix `GuiDrawText()` drawing out of bounds when icon is used

* Fix glyphWidth not being set when text wrap is off

* Fixed text sometimes drawing out of bounds when middle or right aligned

This changes textSizeX to have a maximum equal to the bounds width,
preventing the text x-position being set left of the bounds.

textSizeX is unchanged if only an icon is provided, so that lone icons
can always be middle aligned.

* Show ellipsis at the end of text when it gets cut off
2024-01-28 13:28:38 +01:00
jon
b2829289f6 Slider now centers correctly and general UX improvements (#368)
* Slider now centers correctly and general UX improvements

* Typo
2024-01-28 13:24:31 +01:00
45e7f967e6 fixed dragging GuiColorPanel outside of bounds (#366) 2024-01-20 20:49:27 +01:00
Ray
dd36bff888 REVIEWED: Controls description, return values changes! #345 2024-01-14 17:54:38 +01:00
Ray
63f0b86a80 REVIEWED: Update examples UI styles to latest version, including Latin-1 charset #354 2024-01-14 17:42:51 +01:00
Ray
df8ee3e91b REVIEWED: GuiTextBox(), reverted label format change 2024-01-14 17:41:46 +01:00
Ray
6e43ad1d67 REVIEWED: GuiScrollPanel(), allow configurable border, using LISTVIEW property 2024-01-14 17:41:15 +01:00
Ray
e30a826909 Update copyright year to 2024 2024-01-03 14:16:44 +01:00
Ray
22ad8f642a Update copyright year 2024-01-02 21:01:38 +01:00
2ea84a11ac Fix Checkbox using text color from Label (#357) 2024-01-02 13:14:11 +01:00
Ray
2c8dc854d4 Update raygui.h 2023-12-15 19:38:51 +01:00
dc10371543 Fix for incorrect build instructions on MSVC (#352) 2023-12-04 17:03:46 +01:00
141ae0cd31 Implemented new function DrawSplineSegmentBezierCubic, since the one being used had been deprecated (#350) 2023-11-16 12:59:35 +01:00
Ray
e765801006 Update raygui.h 2023-11-14 20:41:17 +01:00
Ray
d60885cd49 REVIEWED: Long words proper word-wrap 2023-11-13 16:14:07 +01:00
Ray
a2726c8600 Update raygui.h 2023-11-08 19:35:05 +01:00
Ray
95c0065bd8 Update raygui.h 2023-11-02 18:23:15 +01:00
499e8bf7b1 GuiSliderPro() returns 1/true if control value changed (#346) 2023-10-13 11:10:34 +02:00
Ray
dd67a47afb Update raygui.h 2023-10-09 09:58:21 +02:00
Ray
85a5c104f5 REVIEWED: GuiGrid() to support STATE_DISABLED 2023-10-03 15:34:12 +02:00
Ray
cfb9191775 Remove trail spaces 2023-09-26 12:54:36 +02:00
c59bacb1bc Added animation_curve to the examples in CMake (#336) 2023-09-25 13:22:09 +02:00
Ray
aada7c6a42 Update animation_curve.c 2023-09-23 22:48:02 +02:00
Ray
48bf2008fa Update README.md 2023-09-18 19:45:57 +02:00
Ray
1c3305031d REVIEWED: GuiCheckBox() #330
return internal-state: 1->Value changed in the control
2023-09-12 14:42:05 +02:00
129 changed files with 10524 additions and 3302 deletions

View File

@ -1,6 +1,6 @@
zlib License zlib License
Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) Copyright (c) 2014-2025 Ramon Santamaria (@raysan5)
This software is provided "as-is", without any express or implied warranty. In no event This software is provided "as-is", without any express or implied warranty. In no event
will the authors be held liable for any damages arising from the use of this software. will the authors be held liable for any damages arising from the use of this software.

View File

@ -4,15 +4,15 @@
`raygui` was originally inspired by [Unity IMGUI](https://docs.unity3d.com/Manual/GUIScriptingGuide.html) (immediate mode GUI API). `raygui` was originally inspired by [Unity IMGUI](https://docs.unity3d.com/Manual/GUIScriptingGuide.html) (immediate mode GUI API).
`raygui` was designed as an auxiliar module for [raylib](https://github.com/raysan5/raylib) to create simple GUI interfaces using raylib graphic style (simple colors, plain rectangular shapes, wide borders...) but it can be adapted to other engines/frameworks. `raygui` was designed as an auxiliary module for [raylib](https://github.com/raysan5/raylib) to create simple GUI interfaces using raylib graphic style (simple colors, plain rectangular shapes, wide borders...) but it can be adapted to other engines/frameworks.
`raygui` is intended for **tools development**; it has already been used to develop [multiple published tools](https://raylibtech.itch.io). `raygui` is intended for **tools development**; it has already been used to develop [multiple published tools](https://raylibtech.itch.io).
<br> <br>
**WARNING: Latest `raygui` from master branch is always aligned with latest `raylib` from master branch. Make sure to use the appropiate versions.** **WARNING: Latest `raygui` from master branch is always aligned with latest `raylib` from master branch. Make sure to use the appropriate versions.**
**WARNING: Master branch now contains raygui 4.0-dev, it is an API-BREAKING redesign from previous versions (3.x), now all functions are more consistent and coherent, you can read the details about this breaking change in issue [283](https://github.com/raysan5/raygui/issues/283)** **WARNING: Latest `raygui 4.0` is an API-BREAKING redesign from previous versions (3.x), now all functions are more consistent and coherent, you can read the details about this breaking change in issue [283](https://github.com/raysan5/raygui/issues/283)**
*NOTE: raygui is a single-file header-only library (despite its internal dependency on raylib), so, functions definition AND implementation reside in the same file `raygui.h`, when including `raygui.h` in a module, `RAYGUI_IMPLEMENTATION` must be previously defined to include the implementation part of `raygui.h` BUT only in one compilation unit, other modules could also include `raygui.h` but `RAYGUI_IMPLEMENTATION` must not be defined again.* *NOTE: raygui is a single-file header-only library (despite its internal dependency on raylib), so, functions definition AND implementation reside in the same file `raygui.h`, when including `raygui.h` in a module, `RAYGUI_IMPLEMENTATION` must be previously defined to include the implementation part of `raygui.h` BUT only in one compilation unit, other modules could also include `raygui.h` but `RAYGUI_IMPLEMENTATION` must not be defined again.*
@ -25,12 +25,52 @@
- **Icons support**, embedding a complete 1-bit icons pack - **Icons support**, embedding a complete 1-bit icons pack
- Multiple **tools** provided for raygui development - Multiple **tools** provided for raygui development
## code sample
```c
#include "raylib.h"
#define RAYGUI_IMPLEMENTATION
#include "raygui.h"
int main()
{
InitWindow(400, 200, "raygui - controls test suite");
SetTargetFPS(60);
bool showMessageBox = false;
while (!WindowShouldClose())
{
// Draw
//----------------------------------------------------------------------------------
BeginDrawing();
ClearBackground(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)));
if (GuiButton((Rectangle){ 24, 24, 120, 30 }, "#191#Show Message")) showMessageBox = true;
if (showMessageBox)
{
int result = GuiMessageBox((Rectangle){ 85, 70, 250, 100 },
"#191#Message Box", "Hi! This is a message!", "Nice;Cool");
if (result >= 0) showMessageBox = false;
}
EndDrawing();
}
CloseWindow();
return 0;
}
```
![screenshot000](https://github.com/raysan5/raygui/assets/5766837/170e2bce-b7ca-49dc-a263-32b673376546)
## raygui controls ## raygui controls
### basic controls ### basic controls
``` ```
Label | Button | LabelButton | Toggle | ToggleGroup | ToggleSlider Label | Button | LabelButton | Toggle | ToggleGroup | ToggleSlider
CheckBox | ComboBox | DropdownBox | TextBox | ValueBox | Spinner CheckBox | ComboBox | DropdownBox | TextBox | ValueBox | Spinner
Slider | SliderBar | ProgressBar | StatusBar | DummyRec | Grid Slider | SliderBar | ProgressBar | StatusBar | DummyRec | Grid
``` ```
### container/separator controls ### container/separator controls
@ -99,7 +139,7 @@ gcc -o src/raygui.dll src/raygui.c -shared -DRAYGUI_IMPLEMENTATION -DBUILD_LIBTY
- **Windows (MSVC)** - **Windows (MSVC)**
``` ```
copy src\raylib.h src\raylib.c copy src\raygui.h src\raygui.c
cl /O2 /I../raylib/src/ /D_USRDLL /D_WINDLL /DRAYGUI_IMPLEMENTATION /DBUILD_LIBTYPE_SHARED src/raygui.c /LD /Feraygui.dll /link /LIBPATH ../raylib/build/raylib/Release/raylib.lib /subsystem:windows /machine:x64 cl /O2 /I../raylib/src/ /D_USRDLL /D_WINDLL /DRAYGUI_IMPLEMENTATION /DBUILD_LIBTYPE_SHARED src/raygui.c /LD /Feraygui.dll /link /LIBPATH ../raylib/build/raylib/Release/raylib.lib /subsystem:windows /machine:x64
``` ```
@ -107,6 +147,7 @@ cl /O2 /I../raylib/src/ /D_USRDLL /D_WINDLL /DRAYGUI_IMPLEMENTATION /DBUILD_LIBT
``` ```
mv src/raygui.h src/raygui.c mv src/raygui.h src/raygui.c
gcc -o raygui.so src/raygui.c -shared -fpic -DRAYGUI_IMPLEMENTATION -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 gcc -o raygui.so src/raygui.c -shared -fpic -DRAYGUI_IMPLEMENTATION -lraylib -lGL -lm -lpthread -ldl -lrt -lX11
mv src/raygui.c src/raygui.h
``` ```
- **Mac (clang, homebrew installed raylib)** - **Mac (clang, homebrew installed raylib)**

View File

@ -113,7 +113,7 @@ endif
ifeq ($(PLATFORM),PLATFORM_WEB) ifeq ($(PLATFORM),PLATFORM_WEB)
# Emscripten required variables # Emscripten required variables
EMSDK_PATH ?= C:/emsdk EMSDK_PATH ?= C:/raylib/emsdk
EMSCRIPTEN_VERSION ?= 1.38.32 EMSCRIPTEN_VERSION ?= 1.38.32
CLANG_VERSION = e$(EMSCRIPTEN_VERSION)_64bit CLANG_VERSION = e$(EMSCRIPTEN_VERSION)_64bit
PYTHON_VERSION = 2.7.13.1_64bit\python-2.7.13.amd64 PYTHON_VERSION = 2.7.13.1_64bit\python-2.7.13.amd64
@ -219,21 +219,23 @@ endif
ifeq ($(PLATFORM),PLATFORM_WEB) ifeq ($(PLATFORM),PLATFORM_WEB)
# -Os # size optimization # -Os # size optimization
# -O2 # optimization level 2, if used, also set --memory-init-file 0 # -O2 # optimization level 2, if used, also set --memory-init-file 0
# -s USE_GLFW=3 # Use glfw3 library (context/input management) # -sUSE_GLFW=3 # Use glfw3 library (context/input management)
# -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing -> WARNING: Audio buffers could FAIL! # -sALLOW_MEMORY_GROWTH=1 # to allow memory resizing -> WARNING: Audio buffers could FAIL!
# -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) # -sTOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) (67108864 = 64MB)
# -s USE_PTHREADS=1 # multithreading support # -sUSE_PTHREADS=1 # multithreading support
# -s WASM=0 # disable Web Assembly, emitted by default # -sWASM=0 # disable Web Assembly, emitted by default
# -s EMTERPRETIFY=1 # enable emscripten code interpreter (very slow) # -sASYNCIFY # lets synchronous C/C++ code interact with asynchronous JS
# -s EMTERPRETIFY_ASYNC=1 # support synchronous loops by emterpreter # -sFORCE_FILESYSTEM=1 # force filesystem to load/save files data
# -s FORCE_FILESYSTEM=1 # force filesystem to load/save files data # -sASSERTIONS=1 # enable runtime checks for common memory allocation errors (-O1 and above turn it off)
# -s ASSERTIONS=1 # enable runtime checks for common memory allocation errors (-O1 and above turn it off) # -sMINIFY_HTML=0 # minify generated html from shell.html
# --profiling # include information for code profiling # --profiling # include information for code profiling
# --memory-init-file 0 # to avoid an external memory initialization code file (.mem) # --memory-init-file 0 # to avoid an external memory initialization code file (.mem)
# --preload-file resources # specify a resources folder for data compilation # --preload-file resources # specify a resources folder for data compilation
CFLAGS += -Os -s USE_GLFW=3 -s FORCE_FILESYSTEM=1 -s EMTERPRETIFY=1 -s EMTERPRETIFY_ASYNC=1 --preload-file $(dir $<)resources@resources # --source-map-base # allow debugging in browser with source map
# --shell-file shell.html # define a custom shell .html and output extension
CFLAGS += -Os -sUSE_GLFW=3 -sFORCE_FILESYSTEM=1 -sASYNCIFY --preload-file $(dir $<)resources@resources -sMINIFY_HTML=0
ifeq ($(BUILD_MODE), DEBUG) ifeq ($(BUILD_MODE), DEBUG)
CFLAGS += -s ASSERTIONS=1 --profiling CFLAGS += -sASSERTIONS=1 --profiling
endif endif
# NOTE: Simple raylib examples are compiled to be interpreter by emterpreter, that way, # NOTE: Simple raylib examples are compiled to be interpreter by emterpreter, that way,
# we can compile same code for ALL platforms with no change required, but, working on bigger # we can compile same code for ALL platforms with no change required, but, working on bigger
@ -275,6 +277,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(PLATFORM_OS),BSD) ifeq ($(PLATFORM_OS),BSD)
# Consider -L$(RAYLIB_INSTALL_PATH) # Consider -L$(RAYLIB_INSTALL_PATH)
LDFLAGS += -L. -Lsrc -L/usr/local/lib LDFLAGS += -L. -Lsrc -L/usr/local/lib
ifeq ($(shell uname),OpenBSD)
LDFLAGS += -L/usr/X11R6/lib
endif
endif endif
ifeq ($(PLATFORM_OS),LINUX) ifeq ($(PLATFORM_OS),LINUX)
# Reset everything. # Reset everything.
@ -337,7 +342,7 @@ endif
ifeq ($(PLATFORM),PLATFORM_RPI) ifeq ($(PLATFORM),PLATFORM_RPI)
# Libraries for Raspberry Pi compiling # Libraries for Raspberry Pi compiling
# NOTE: Required packages: libasound2-dev (ALSA) # NOTE: Required packages: libasound2-dev (ALSA)
LDLIBS = -lraylib -lbrcmGLESv2 -lbrcmEGL -lpthread -lrt -lm -lbcm_host -ldl LDLIBS = -lraylib -lGLESv2 -lEGL -lpthread -lrt -lm -ldrm -lgbm -ldl
endif endif
ifeq ($(PLATFORM),PLATFORM_WEB) ifeq ($(PLATFORM),PLATFORM_WEB)
# Libraries for web (HTML5) compiling # Libraries for web (HTML5) compiling
@ -356,7 +361,8 @@ EXAMPLES = \
scroll_panel/scroll_panel \ scroll_panel/scroll_panel \
style_selector/style_selector \ style_selector/style_selector \
custom_sliders/custom_sliders \ custom_sliders/custom_sliders \
animation_curve/animation_curve animation_curve/animation_curve \
floating_window/floating_window \
CURRENT_MAKEFILE = $(lastword $(MAKEFILE_LIST)) CURRENT_MAKEFILE = $(lastword $(MAKEFILE_LIST))
@ -375,12 +381,16 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
del *.o *.exe /s del *.o *.exe /s
endif endif
ifeq ($(PLATFORM_OS),LINUX) ifeq ($(PLATFORM_OS),LINUX)
find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -fv rm -f $(EXAMPLES)
endif endif
ifeq ($(PLATFORM_OS),OSX) ifeq ($(PLATFORM_OS),OSX)
find . -type f -perm +ugo+x -delete find . -type f -perm +ugo+x -delete
rm -f *.o rm -f *.o
endif endif
ifeq ($(shell uname),OpenBSD)
find . -type f -perm 0755 -delete
rm -f *.o
endif
endif endif
ifeq ($(PLATFORM),PLATFORM_RPI) ifeq ($(PLATFORM),PLATFORM_RPI)
find . -type f -executable -delete find . -type f -executable -delete

View File

@ -22,12 +22,12 @@
#include "../../src/raygui.h" #include "../../src/raygui.h"
// raygui embedded styles // raygui embedded styles
#include "../../styles/cyber/cyber.h" // raygui style: cyber #include "../styles/style_cyber.h" // raygui style: cyber
#include "../../styles/jungle/jungle.h" // raygui style: jungle #include "../styles/style_jungle.h" // raygui style: jungle
#include "../../styles/lavanda/lavanda.h" // raygui style: lavanda #include "../styles/style_lavanda.h" // raygui style: lavanda
#include "../../styles/dark/dark.h" // raygui style: dark #include "../styles/style_dark.h" // raygui style: dark
#include "../../styles/bluish/bluish.h" // raygui style: bluish #include "../styles/style_bluish.h" // raygui style: bluish
#include "../../styles/terminal/terminal.h" // raygui style: terminal #include "../styles/style_terminal.h" // raygui style: terminal
#undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again #undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again
@ -256,12 +256,12 @@ int main()
GuiLabel((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width, fontSize }, "Position"); GuiLabel((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width, fontSize }, "Position");
contentRect.height += fontSize; contentRect.height += fontSize;
if (!editValueBox[i][0]) gcvt(p->position.x, 6, valTextBox[i][0]); // Transform x position to string if (!editValueBox[i][0]) gcvt(p->position.x, 6, (char *)valTextBox[i][0]); // Transform x position to string
if (!editValueBox[i][1]) gcvt(curves[i].start + (curves[i].end-curves[i].start)*p->position.y, 6, valTextBox[i][1]); // Transform y position to string if (!editValueBox[i][1]) gcvt(curves[i].start + (curves[i].end-curves[i].start)*p->position.y, 6, (char *)valTextBox[i][1]); // Transform y position to string
// X pos // X pos
if (GuiTextBox((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width/2-margin, 1.5f*fontSize }, valTextBox[i][0], 20, editValueBox[i][0])) if (GuiTextBox((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width/2-margin, 1.5f*fontSize }, (char *)valTextBox[i][0], 20, editValueBox[i][0]))
{ {
editValueBox[i][0] = !editValueBox[i][0]; editValueBox[i][0] = !editValueBox[i][0];
@ -277,7 +277,7 @@ int main()
} }
// Y pos // Y pos
if (GuiTextBox((Rectangle){ contentRect.x + contentRect.width/2, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width/2.0f, 1.5f*fontSize }, valTextBox[i][1], 20, editValueBox[i][1])) if (GuiTextBox((Rectangle){ contentRect.x + contentRect.width/2, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width/2.0f, 1.5f*fontSize }, (char *)valTextBox[i][1], 20, editValueBox[i][1]))
{ {
editValueBox[i][1] = !editValueBox[i][1]; editValueBox[i][1] = !editValueBox[i][1];
@ -303,12 +303,12 @@ int main()
GuiLabel((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width, fontSize }, "Tangents"); GuiLabel((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width, fontSize }, "Tangents");
contentRect.height += fontSize; contentRect.height += fontSize;
if (!editValueBox[i][2]) gcvt(p->tangents.x, 6, valTextBox[i][2]); // Transform left tangent to string if (!editValueBox[i][2]) gcvt(p->tangents.x, 6, (char *)valTextBox[i][2]); // Transform left tangent to string
if (!editValueBox[i][3]) gcvt(p->tangents.y, 6, valTextBox[i][3]); // Transform right tangent to string if (!editValueBox[i][3]) gcvt(p->tangents.y, 6, (char *)valTextBox[i][3]); // Transform right tangent to string
// Left tan // Left tan
if (GuiTextBox((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width/2 - margin, 1.5f*fontSize }, valTextBox[i][2], 20, editValueBox[i][2])) if (GuiTextBox((Rectangle){ contentRect.x, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width/2 - margin, 1.5f*fontSize }, (char *)valTextBox[i][2], 20, editValueBox[i][2]))
{ {
editValueBox[i][2] = !editValueBox[i][2]; editValueBox[i][2] = !editValueBox[i][2];
@ -323,7 +323,7 @@ int main()
} }
// Right tan // Right tan
if (GuiTextBox((Rectangle){ contentRect.x + contentRect.width/2.0f, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width/2.0f, 1.5f*fontSize }, valTextBox[i][3], 20, editValueBox[i][3])) if (GuiTextBox((Rectangle){ contentRect.x + contentRect.width/2.0f, contentRect.y + contentRect.height + scrollOffset.y, contentRect.width/2.0f, 1.5f*fontSize }, (char *)valTextBox[i][3], 20, editValueBox[i][3]))
{ {
editValueBox[i][3] = !editValueBox[i][3]; editValueBox[i][3] = !editValueBox[i][3];

View File

@ -256,7 +256,6 @@ void GuiCurveEditor(GuiCurveEditorState *state, Rectangle bounds)
{ {
// editRightTangent == true implies selectedIndex != -1 // editRightTangent == true implies selectedIndex != -1
GuiCurveEditorPoint *p = &state->points[state->selectedIndex]; GuiCurveEditorPoint *p = &state->points[state->selectedIndex];
const Vector2 screenPos = (Vector2){ p->position.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height-p->position.y*innerBounds.height };
const Vector2 dir = (Vector2){ mouseLocal.x - p->position.x, mouseLocal.y - p->position.y}; const Vector2 dir = (Vector2){ mouseLocal.x - p->position.x, mouseLocal.y - p->position.y};
// Calculate right tangent slope // Calculate right tangent slope
@ -275,7 +274,6 @@ void GuiCurveEditor(GuiCurveEditorState *state, Rectangle bounds)
{ {
// editLeftTangent == true implies selectedIndex != -1 // editLeftTangent == true implies selectedIndex != -1
GuiCurveEditorPoint *p = &state->points[state->selectedIndex]; GuiCurveEditorPoint *p = &state->points[state->selectedIndex];
const Vector2 screenPos = (Vector2){ p->position.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height-p->position.y*innerBounds.height };
const Vector2 dir = (Vector2){ mouseLocal.x - p->position.x, mouseLocal.y - p->position.y }; const Vector2 dir = (Vector2){ mouseLocal.x - p->position.x, mouseLocal.y - p->position.y };
// Calculate left tangent slope // Calculate left tangent slope
@ -294,7 +292,6 @@ void GuiCurveEditor(GuiCurveEditorState *state, Rectangle bounds)
{ {
state->selectedIndex = hoveredPointIndex; state->selectedIndex = hoveredPointIndex;
const GuiCurveEditorPoint *p = &state->points[state->selectedIndex]; const GuiCurveEditorPoint *p = &state->points[state->selectedIndex];
const Vector2 screenPos = (Vector2){ p->position.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - p->position.y*innerBounds.height };
state->mouseOffset = (Vector2){ p->position.x - mouseLocal.x, p->position.y - mouseLocal.y }; state->mouseOffset = (Vector2){ p->position.x - mouseLocal.x, p->position.y - mouseLocal.y };
} }
// Remove a point (check against bounds) // Remove a point (check against bounds)
@ -430,22 +427,18 @@ void GuiCurveEditor(GuiCurveEditorState *state, Rectangle bounds)
const Rectangle controlRect = (Rectangle){ control.x - handleSize/2.0f, control.y - handleSize/2.0f, handleSize, handleSize }; const Rectangle controlRect = (Rectangle){ control.x - handleSize/2.0f, control.y - handleSize/2.0f, handleSize, handleSize };
Color controlColor = { 0 }; Color controlColor = { 0 };
Color controlBorderColor = { 0 };
if (state->editLeftTangent) if (state->editLeftTangent)
{ {
controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_PRESSED)); controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_PRESSED));
controlBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
} }
else if (CheckCollisionPointRec(mouse, controlRect)) else if (CheckCollisionPointRec(mouse, controlRect))
{ {
controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_FOCUSED)); controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_FOCUSED));
controlBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
} }
else else
{ {
controlColor = GetColor(GuiGetStyle(BUTTON, BASE_COLOR_NORMAL)); controlColor = GetColor(GuiGetStyle(BUTTON, BASE_COLOR_NORMAL));
controlBorderColor = GetColor(GuiGetStyle(BUTTON, BORDER_COLOR_NORMAL));
} }
DrawLine(screenPos.x,screenPos.y, control.x, control.y, controlColor); DrawLine(screenPos.x,screenPos.y, control.x, control.y, controlColor);
@ -463,22 +456,18 @@ void GuiCurveEditor(GuiCurveEditorState *state, Rectangle bounds)
const Rectangle controlRect = (Rectangle){ control.x - handleSize/2.0f, control.y - handleSize/2.0f, handleSize, handleSize }; const Rectangle controlRect = (Rectangle){ control.x - handleSize/2.0f, control.y - handleSize/2.0f, handleSize, handleSize };
Color controlColor = { 0 }; Color controlColor = { 0 };
Color controlBorderColor = { 0 };
if (state->editRightTangent) if (state->editRightTangent)
{ {
controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_PRESSED)); controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_PRESSED));
controlBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
} }
else if (CheckCollisionPointRec(mouse, controlRect)) else if (CheckCollisionPointRec(mouse, controlRect))
{ {
controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_FOCUSED)); controlColor = GetColor(GuiGetStyle(DEFAULT, BASE_COLOR_FOCUSED));
controlBorderColor = GetColor(GuiGetStyle(DEFAULT, BORDER_COLOR_NORMAL));
} }
else else
{ {
controlColor = GetColor(GuiGetStyle(BUTTON, BASE_COLOR_NORMAL)); controlColor = GetColor(GuiGetStyle(BUTTON, BASE_COLOR_NORMAL));
controlBorderColor = GetColor(GuiGetStyle(BUTTON, BORDER_COLOR_NORMAL));
} }
DrawLine(screenPos.x,screenPos.y, control.x, control.y, controlColor); DrawLine(screenPos.x,screenPos.y, control.x, control.y, controlColor);
@ -545,7 +534,7 @@ void GuiCurveEditor(GuiCurveEditorState *state, Rectangle bounds)
const Vector2 screenC1 = (Vector2){ c1.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - c1.y*innerBounds.height }; const Vector2 screenC1 = (Vector2){ c1.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - c1.y*innerBounds.height };
const Vector2 screenC2 = (Vector2){ c2.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - c2.y*innerBounds.height }; const Vector2 screenC2 = (Vector2){ c2.x*innerBounds.width + innerBounds.x, innerBounds.y + innerBounds.height - c2.y*innerBounds.height };
DrawLineBezierCubic(screenPos1, screenPos2, screenC1, screenC2, 1, curveColor); DrawSplineSegmentBezierCubic(screenPos1, screenC1, screenC2, screenPos2, 1, curveColor);
} }
} }
} }

View File

@ -29,7 +29,7 @@
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5) * Copyright (c) 2016-2024 Ramon Santamaria (@raysan5)
* *
**********************************************************************************************/ **********************************************************************************************/
@ -50,7 +50,12 @@
#include "../styles/style_dark.h" // raygui style: dark #include "../styles/style_dark.h" // raygui style: dark
#include "../styles/style_bluish.h" // raygui style: bluish #include "../styles/style_bluish.h" // raygui style: bluish
#include "../styles/style_terminal.h" // raygui style: terminal #include "../styles/style_terminal.h" // raygui style: terminal
#include "../styles/style_candy.h"
#include "../styles/style_cherry.h"
#include "../styles/style_ashes.h"
#include "../styles/style_enefete.h"
#include "../styles/style_sunny.h"
#include "../styles/style_amber.h"
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
// Program main entry point // Program main entry point
@ -82,7 +87,7 @@ int main()
char textBoxText[64] = "Text box"; char textBoxText[64] = "Text box";
bool textBoxEditMode = false; bool textBoxEditMode = false;
char textBoxMultiText[1024] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."; char textBoxMultiText[1024] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\n\nThisisastringlongerthanexpectedwithoutspacestotestcharbreaksforthosecases,checkingifworkingasexpected.\n\nExcepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
bool textBoxMultiEditMode = false; bool textBoxMultiEditMode = false;
int listViewScrollIndex = 0; int listViewScrollIndex = 0;
@ -93,8 +98,6 @@ int main()
int listViewExFocus = -1; int listViewExFocus = -1;
const char *listViewExList[8] = { "This", "is", "a", "list view", "with", "disable", "elements", "amazing!" }; const char *listViewExList[8] = { "This", "is", "a", "list view", "with", "disable", "elements", "amazing!" };
char multiTextBoxText[256] = "Multi text box";
bool multiTextBoxEditMode = false;
Color colorPickerValue = RED; Color colorPickerValue = RED;
float sliderValue = 50.0f; float sliderValue = 50.0f;
@ -180,6 +183,12 @@ int main()
case 4: GuiLoadStyleBluish(); break; case 4: GuiLoadStyleBluish(); break;
case 5: GuiLoadStyleCyber(); break; case 5: GuiLoadStyleCyber(); break;
case 6: GuiLoadStyleTerminal(); break; case 6: GuiLoadStyleTerminal(); break;
case 7: GuiLoadStyleCandy(); break;
case 8: GuiLoadStyleCherry(); break;
case 9: GuiLoadStyleAshes(); break;
case 10: GuiLoadStyleEnefete(); break;
case 11: GuiLoadStyleSunny(); break;
case 12: GuiLoadStyleAmber(); break;
default: break; default: break;
} }
@ -194,11 +203,12 @@ int main()
BeginDrawing(); BeginDrawing();
ClearBackground(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR))); ClearBackground(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)));
// raygui: controls drawing // raygui: controls drawing
//---------------------------------------------------------------------------------- //----------------------------------------------------------------------------------
// Check all possible events that require GuiLock // Check all possible events that require GuiLock
if (dropDown000EditMode || dropDown001EditMode) GuiLock(); if (dropDown000EditMode || dropDown001EditMode) GuiLock();
if (showTextInputBox) GuiLock();
// First GUI column // First GUI column
//GuiSetStyle(CHECKBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT); //GuiSetStyle(CHECKBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
@ -224,10 +234,12 @@ int main()
GuiSetState(STATE_NORMAL); GuiSetState(STATE_NORMAL);
//GuiUnlock(); //GuiUnlock();
GuiComboBox((Rectangle){ 25, 480, 125, 30 }, "default;Jungle;Lavanda;Dark;Bluish;Cyber;Terminal", &visualStyleActive); GuiComboBox((Rectangle){ 25, 480, 125, 30 }, "default;Jungle;Lavanda;Dark;Bluish;Cyber;Terminal;Candy;Cherry;Ashes;Enefete;Sunny;Amber", &visualStyleActive);
// NOTE: GuiDropdownBox must draw after any other control that can be covered on unfolding // NOTE: GuiDropdownBox must draw after any other control that can be covered on unfolding
GuiUnlock(); if (dropDown000EditMode || dropDown001EditMode) GuiUnlock();
if (showTextInputBox) GuiLock(); // Stay locked
GuiSetStyle(DROPDOWNBOX, TEXT_PADDING, 4); GuiSetStyle(DROPDOWNBOX, TEXT_PADDING, 4);
GuiSetStyle(DROPDOWNBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT); GuiSetStyle(DROPDOWNBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
if (GuiDropdownBox((Rectangle){ 25, 65, 125, 30 }, "#01#ONE;#02#TWO;#03#THREE;#04#FOUR", &dropdownBox001Active, dropDown001EditMode)) dropDown001EditMode = !dropDown001EditMode; if (GuiDropdownBox((Rectangle){ 25, 65, 125, 30 }, "#01#ONE;#02#TWO;#03#THREE;#04#FOUR", &dropdownBox001Active, dropDown001EditMode)) dropDown001EditMode = !dropDown001EditMode;
@ -237,8 +249,10 @@ int main()
if (GuiDropdownBox((Rectangle){ 25, 25, 125, 30 }, "ONE;TWO;THREE", &dropdownBox000Active, dropDown000EditMode)) dropDown000EditMode = !dropDown000EditMode; if (GuiDropdownBox((Rectangle){ 25, 25, 125, 30 }, "ONE;TWO;THREE", &dropdownBox000Active, dropDown000EditMode)) dropDown000EditMode = !dropDown000EditMode;
// Second GUI column // Second GUI column
//GuiSetStyle(LISTVIEW, LIST_ITEMS_BORDER_NORMAL, 1);
GuiListView((Rectangle){ 165, 25, 140, 124 }, "Charmander;Bulbasaur;#18#Squirtel;Pikachu;Eevee;Pidgey", &listViewScrollIndex, &listViewActive); GuiListView((Rectangle){ 165, 25, 140, 124 }, "Charmander;Bulbasaur;#18#Squirtel;Pikachu;Eevee;Pidgey", &listViewScrollIndex, &listViewActive);
GuiListViewEx((Rectangle){ 165, 162, 140, 184 }, listViewExList, 8, &listViewExScrollIndex, &listViewExActive, &listViewExFocus); GuiListViewEx((Rectangle){ 165, 162, 140, 184 }, listViewExList, 8, &listViewExScrollIndex, &listViewExActive, &listViewExFocus);
GuiSetStyle(LISTVIEW, LIST_ITEMS_BORDER_NORMAL, 0);
//GuiToggle((Rectangle){ 165, 400, 140, 25 }, "#1#ONE", &toggleGroupActive); //GuiToggle((Rectangle){ 165, 400, 140, 25 }, "#1#ONE", &toggleGroupActive);
GuiToggleGroup((Rectangle){ 165, 360, 140, 24 }, "#1#ONE\n#3#TWO\n#8#THREE\n#23#", &toggleGroupActive); GuiToggleGroup((Rectangle){ 165, 360, 140, 24 }, "#1#ONE\n#3#TWO\n#8#THREE\n#23#", &toggleGroupActive);
@ -289,6 +303,8 @@ int main()
if (showTextInputBox) if (showTextInputBox)
{ {
GuiUnlock();
DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(RAYWHITE, 0.8f)); DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(RAYWHITE, 0.8f));
int result = GuiTextInputBox((Rectangle){ (float)GetScreenWidth()/2 - 120, (float)GetScreenHeight()/2 - 60, 240, 140 }, GuiIconText(ICON_FILE_SAVE, "Save file as..."), "Introduce output file name:", "Ok;Cancel", textInput, 255, NULL); int result = GuiTextInputBox((Rectangle){ (float)GetScreenWidth()/2 - 120, (float)GetScreenHeight()/2 - 60, 240, 140 }, GuiIconText(ICON_FILE_SAVE, "Save file as..."), "Introduce output file name:", "Ok;Cancel", textInput, 255, NULL);

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

View File

@ -0,0 +1,71 @@
/*******************************************************************************************
*
* raygui - controls test suite
*
* COMPILATION (Windows - MinGW):
* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99
*
* LICENSE: zlib/libpng
*
* Copyright (c) 2016-2024 Ramon Santamaria (@raysan5)
*
**********************************************************************************************/
#include "raylib.h"
#define RAYGUI_IMPLEMENTATION
#include "../../src/raygui.h"
#include <stdio.h>
//------------------------------------------------------------------------------------
// Program main entry point
//------------------------------------------------------------------------------------
int main()
{
// Initialization
//---------------------------------------------------------------------------------------
const int screenWidth = 800;
const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raygui - controls test suite");
float valueBoxValue = 0.0f;
bool valueBoxEditMode = false;
char valueBoxTextValue[32] = { 0 };
SetTargetFPS(60);
//--------------------------------------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//----------------------------------------------------------------------------------
//----------------------------------------------------------------------------------
// Draw
//----------------------------------------------------------------------------------
BeginDrawing();
ClearBackground(GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR)));
if (GuiValueBoxFloat((Rectangle){ 25, 175, 125, 30 }, NULL, valueBoxTextValue, &valueBoxValue, valueBoxEditMode))
{
valueBoxEditMode = !valueBoxEditMode;
printf("Value: %2.2f\n", valueBoxValue);
}
EndDrawing();
//----------------------------------------------------------------------------------
}
// De-Initialization
//--------------------------------------------------------------------------------------
CloseWindow(); // Close window and OpenGL context
//--------------------------------------------------------------------------------------
return 0;
}

View File

@ -11,7 +11,7 @@
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5) * Copyright (c) 2016-2024 Ramon Santamaria (@raysan5)
* *
**********************************************************************************************/ **********************************************************************************************/
@ -21,6 +21,7 @@
#include "../../src/raygui.h" #include "../../src/raygui.h"
#undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again #undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again
#define GUI_WINDOW_FILE_DIALOG_IMPLEMENTATION #define GUI_WINDOW_FILE_DIALOG_IMPLEMENTATION
#include "gui_window_file_dialog.h" #include "gui_window_file_dialog.h"

View File

@ -18,7 +18,7 @@
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2019-2023 Ramon Santamaria (@raysan5) * Copyright (c) 2019-2024 Ramon Santamaria (@raysan5)
* *
* This software is provided "as-is", without any express or implied warranty. In no event * This software is provided "as-is", without any express or implied warranty. In no event
* will the authors be held liable for any damages arising from the use of this software. * will the authors be held liable for any damages arising from the use of this software.
@ -358,7 +358,7 @@ void GuiWindowFileDialog(GuiWindowFileDialogState *state)
if (FileExists(TextFormat("%s/%s", state->dirPathText, state->fileNameText))) if (FileExists(TextFormat("%s/%s", state->dirPathText, state->fileNameText)))
{ {
// Select filename from list view // Select filename from list view
for (int i = 0; i < state->dirFiles.count; i++) for (unsigned int i = 0; i < state->dirFiles.count; i++)
{ {
if (TextIsEqual(state->fileNameText, state->dirFiles.paths[i])) if (TextIsEqual(state->fileNameText, state->dirFiles.paths[i]))
{ {
@ -435,7 +435,7 @@ static void ReloadDirectoryFiles(GuiWindowFileDialogState *state)
for (int i = 0; i < MAX_DIRECTORY_FILES; i++) memset(dirFilesIcon[i], 0, MAX_ICON_PATH_LENGTH); for (int i = 0; i < MAX_DIRECTORY_FILES; i++) memset(dirFilesIcon[i], 0, MAX_ICON_PATH_LENGTH);
// Copy paths as icon + fileNames into dirFilesIcon // Copy paths as icon + fileNames into dirFilesIcon
for (int i = 0; i < state->dirFiles.count; i++) for (unsigned int i = 0; i < state->dirFiles.count; i++)
{ {
if (IsPathFile(state->dirFiles.paths[i])) if (IsPathFile(state->dirFiles.paths[i]))
{ {

View File

@ -11,14 +11,13 @@
* *
**********************************************************************************************/ **********************************************************************************************/
#include <raylib.h> #include "raylib.h"
#define RAYGUI_IMPLEMENTATION #define RAYGUI_IMPLEMENTATION
#include <raygui.h> #include "../../src/raygui.h"
int guiFloatingPointIndex = 0; // Global variable shared by all GuiFLoatBox() int guiFloatingPointIndex = 0; // Global variable shared by all GuiFloatBox()
float TextToFloat(const char* text); // Helper function that converts text to float
int GuiFloatBox(Rectangle bounds, const char* text, float* value, int minValue, int maxValue, bool editMode); // Custom input box that works with float values. Basicly GuiValueBox(), but with some changes int GuiFloatBox(Rectangle bounds, const char* text, float* value, int minValue, int maxValue, bool editMode); // Custom input box that works with float values. Basicly GuiValueBox(), but with some changes
int main() int main()
@ -83,42 +82,6 @@ int main()
CloseWindow(); CloseWindow();
} }
// Get float value from text
float TextToFloat(const char* text)
{
float value = 0.0f;
float floatingPoint = 0.0f;
int sign = 1;
// deal with the sign
if ((text[0] == '+') || (text[0] == '-'))
{
if (text[0] == '-') sign = -1;
text++;
}
// convert text to float
for (int i = 0; (((text[i] >= '0') && (text[i] <= '9')) || text[i] == '.'); i++)
{
if (text[i] == '.')
{
if (floatingPoint > 0.0f) break;
floatingPoint = 10.0f;
continue;
}
if (floatingPoint > 0.0f) // after encountering decimal separator
{
value += (float)(text[i] - '0') / floatingPoint;
floatingPoint *= 10.0f;
}
else // before decimal separator
value = value * 10.0f + (float)(text[i] - '0');
}
return value * sign;
}
// Float Box control, updates input text with numbers // Float Box control, updates input text with numbers
int GuiFloatBox(Rectangle bounds, const char* text, float* value, int minValue, int maxValue, bool editMode) int GuiFloatBox(Rectangle bounds, const char* text, float* value, int minValue, int maxValue, bool editMode)
{ {
@ -134,16 +97,16 @@ int GuiFloatBox(Rectangle bounds, const char* text, float* value, int minValue,
Rectangle textBounds = { 0 }; Rectangle textBounds = { 0 };
if (text != NULL) if (text != NULL)
{ {
textBounds.width = (float)GetTextWidth(text) + 2; textBounds.width = (float)GuiGetTextWidth(text) + 2;
textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE); textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE);
textBounds.x = bounds.x + bounds.width + GuiGetStyle(VALUEBOX, TEXT_PADDING); textBounds.x = bounds.x + bounds.width + GuiGetStyle(VALUEBOX, TEXT_PADDING);
textBounds.y = bounds.y + bounds.height / 2 - GuiGetStyle(DEFAULT, TEXT_SIZE) / 2; textBounds.y = bounds.y + bounds.height / 2.0f - GuiGetStyle(DEFAULT, TEXT_SIZE) / 2.0f;
if (GuiGetStyle(VALUEBOX, TEXT_ALIGNMENT) == TEXT_ALIGN_LEFT) textBounds.x = bounds.x - textBounds.width - GuiGetStyle(VALUEBOX, TEXT_PADDING); if (GuiGetStyle(VALUEBOX, TEXT_ALIGNMENT) == TEXT_ALIGN_LEFT) textBounds.x = bounds.x - textBounds.width - GuiGetStyle(VALUEBOX, TEXT_PADDING);
} }
// Update control // Update control
//-------------------------------------------------------------------- //--------------------------------------------------------------------
if ((state != STATE_DISABLED) && !guiLocked && !guiSliderDragging) if ((state != STATE_DISABLED) && !guiLocked && !guiControlExclusiveMode)
{ {
Vector2 mousePoint = GetMousePosition(); Vector2 mousePoint = GetMousePosition();
@ -161,7 +124,7 @@ int GuiFloatBox(Rectangle bounds, const char* text, float* value, int minValue,
// Only allow keys in range [48..57] // Only allow keys in range [48..57]
if (keyCount < RAYGUI_VALUEBOX_MAX_CHARS) if (keyCount < RAYGUI_VALUEBOX_MAX_CHARS)
{ {
if (GetTextWidth(textValue) < bounds.width) if (GuiGetTextWidth(textValue) < bounds.width)
{ {
int key = GetCharPressed(); int key = GetCharPressed();
if ((key >= 48) && (key <= 57) && guiFloatingPointIndex) if ((key >= 48) && (key <= 57) && guiFloatingPointIndex)
@ -205,7 +168,7 @@ int GuiFloatBox(Rectangle bounds, const char* text, float* value, int minValue,
if (valueHasChanged) if (valueHasChanged)
{ {
*value = TextToFloat(textValue); *value = atof(textValue);
} }
if (IsKeyPressed(KEY_ENTER) || (!CheckCollisionPointRec(mousePoint, bounds) && IsMouseButtonPressed(MOUSE_LEFT_BUTTON))) if (IsKeyPressed(KEY_ENTER) || (!CheckCollisionPointRec(mousePoint, bounds) && IsMouseButtonPressed(MOUSE_LEFT_BUTTON)))
@ -248,7 +211,7 @@ int GuiFloatBox(Rectangle bounds, const char* text, float* value, int minValue,
if (editMode) if (editMode)
{ {
// NOTE: ValueBox internal text is always centered // NOTE: ValueBox internal text is always centered
Rectangle cursor = { bounds.x + GetTextWidth(textValue) / 2 + bounds.width / 2 + 1, bounds.y + 2 * GuiGetStyle(VALUEBOX, BORDER_WIDTH), 4, bounds.height - 4 * GuiGetStyle(VALUEBOX, BORDER_WIDTH) }; Rectangle cursor = { bounds.x + GuiGetTextWidth(textValue) / 2.0f + bounds.width / 2.0f + 1, bounds.y + 2.0f * GuiGetStyle(VALUEBOX, BORDER_WIDTH), 4, bounds.height - 4 * GuiGetStyle(VALUEBOX, BORDER_WIDTH) };
GuiDrawRectangle(cursor, 0, BLANK, Fade(GetColor(GuiGetStyle(VALUEBOX, BORDER_COLOR_PRESSED)), guiAlpha)); GuiDrawRectangle(cursor, 0, BLANK, Fade(GetColor(GuiGetStyle(VALUEBOX, BORDER_COLOR_PRESSED)), guiAlpha));
} }

View File

@ -11,7 +11,7 @@
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5) * Copyright (c) 2016-2024 Ramon Santamaria (@raysan5)
* *
**********************************************************************************************/ **********************************************************************************************/
@ -182,7 +182,7 @@ float GuiVerticalSliderPro(Rectangle bounds, const char *textTop, const char *te
if (textTop != NULL) if (textTop != NULL)
{ {
Rectangle textBounds = { 0 }; Rectangle textBounds = { 0 };
textBounds.width = (float)GetTextWidth(textTop); textBounds.width = (float)GuiGetTextWidth(textTop);
textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE); textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE);
textBounds.x = bounds.x + bounds.width/2 - textBounds.width/2; textBounds.x = bounds.x + bounds.width/2 - textBounds.width/2;
textBounds.y = bounds.y - textBounds.height - GuiGetStyle(SLIDER, TEXT_PADDING); textBounds.y = bounds.y - textBounds.height - GuiGetStyle(SLIDER, TEXT_PADDING);
@ -193,7 +193,7 @@ float GuiVerticalSliderPro(Rectangle bounds, const char *textTop, const char *te
if (textBottom != NULL) if (textBottom != NULL)
{ {
Rectangle textBounds = { 0 }; Rectangle textBounds = { 0 };
textBounds.width = (float)GetTextWidth(textBottom); textBounds.width = (float)GuiGetTextWidth(textBottom);
textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE); textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE);
textBounds.x = bounds.x + bounds.width/2 - textBounds.width/2; textBounds.x = bounds.x + bounds.width/2 - textBounds.width/2;
textBounds.y = bounds.y + bounds.height + GuiGetStyle(SLIDER, TEXT_PADDING); textBounds.y = bounds.y + bounds.height + GuiGetStyle(SLIDER, TEXT_PADDING);
@ -304,7 +304,7 @@ bool GuiSliderProOwning(Rectangle bounds, const char *textLeft, const char *text
if (textLeft != NULL) if (textLeft != NULL)
{ {
Rectangle textBounds = { 0 }; Rectangle textBounds = { 0 };
textBounds.width = (float)GetTextWidth(textLeft); textBounds.width = (float)GuiGetTextWidth(textLeft);
textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE); textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE);
textBounds.x = bounds.x - textBounds.width - GuiGetStyle(SLIDER, TEXT_PADDING); textBounds.x = bounds.x - textBounds.width - GuiGetStyle(SLIDER, TEXT_PADDING);
textBounds.y = bounds.y + bounds.height/2 - GuiGetStyle(DEFAULT, TEXT_SIZE)/2; textBounds.y = bounds.y + bounds.height/2 - GuiGetStyle(DEFAULT, TEXT_SIZE)/2;
@ -315,7 +315,7 @@ bool GuiSliderProOwning(Rectangle bounds, const char *textLeft, const char *text
if (textRight != NULL) if (textRight != NULL)
{ {
Rectangle textBounds = { 0 }; Rectangle textBounds = { 0 };
textBounds.width = (float)GetTextWidth(textRight); textBounds.width = (float)GuiGetTextWidth(textRight);
textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE); textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE);
textBounds.x = bounds.x + bounds.width + GuiGetStyle(SLIDER, TEXT_PADDING); textBounds.x = bounds.x + bounds.width + GuiGetStyle(SLIDER, TEXT_PADDING);
textBounds.y = bounds.y + bounds.height/2 - GuiGetStyle(DEFAULT, TEXT_SIZE)/2; textBounds.y = bounds.y + bounds.height/2 - GuiGetStyle(DEFAULT, TEXT_SIZE)/2;
@ -435,7 +435,7 @@ bool GuiVerticalSliderProOwning(Rectangle bounds, const char *textTop, const cha
if (textTop != NULL) if (textTop != NULL)
{ {
Rectangle textBounds = { 0 }; Rectangle textBounds = { 0 };
textBounds.width = (float)GetTextWidth(textTop); textBounds.width = (float)GuiGetTextWidth(textTop);
textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE); textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE);
textBounds.x = bounds.x + bounds.width/2 - textBounds.width/2; textBounds.x = bounds.x + bounds.width/2 - textBounds.width/2;
textBounds.y = bounds.y - textBounds.height - GuiGetStyle(SLIDER, TEXT_PADDING); textBounds.y = bounds.y - textBounds.height - GuiGetStyle(SLIDER, TEXT_PADDING);
@ -446,7 +446,7 @@ bool GuiVerticalSliderProOwning(Rectangle bounds, const char *textTop, const cha
if (textBottom != NULL) if (textBottom != NULL)
{ {
Rectangle textBounds = { 0 }; Rectangle textBounds = { 0 };
textBounds.width = (float)GetTextWidth(textBottom); textBounds.width = (float)GuiGetTextWidth(textBottom);
textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE); textBounds.height = (float)GuiGetStyle(DEFAULT, TEXT_SIZE);
textBounds.x = bounds.x + bounds.width/2 - textBounds.width/2; textBounds.x = bounds.x + bounds.width/2 - textBounds.width/2;
textBounds.y = bounds.y + bounds.height + GuiGetStyle(SLIDER, TEXT_PADDING); textBounds.y = bounds.y + bounds.height + GuiGetStyle(SLIDER, TEXT_PADDING);

View File

@ -0,0 +1,148 @@
#include "raylib.h"
#define RAYGUI_IMPLEMENTATION
#include "../../src/raygui.h"
#include "../../styles/dark/style_dark.h"
static Vector2 window_position = { 10, 10 };
static Vector2 window_size = { 200, 400 };
static bool minimized = false;
static bool moving = false;
static bool resizing = false;
static Vector2 scroll;
static Vector2 window2_position = { 250, 10 };
static Vector2 window2_size = { 200, 400 };
static bool minimized2 = false;
static bool moving2 = false;
static bool resizing2 = false;
static Vector2 scroll2;
void GuiWindowFloating(Vector2 *position, Vector2 *size, bool *minimized, bool *moving, bool *resizing, void (*draw_content)(Vector2, Vector2), Vector2 content_size, Vector2 *scroll, const char* title) {
#if !defined(RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT)
#define RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT 24
#endif
#if !defined(RAYGUI_WINDOW_CLOSEBUTTON_SIZE)
#define RAYGUI_WINDOW_CLOSEBUTTON_SIZE 18
#endif
int close_title_size_delta_half = (RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT - RAYGUI_WINDOW_CLOSEBUTTON_SIZE) / 2;
// window movement and resize input and collision check
if(IsMouseButtonPressed(MOUSE_LEFT_BUTTON) && !*moving && !*resizing) {
Vector2 mouse_position = GetMousePosition();
Rectangle title_collision_rect = { position->x, position->y, size->x - (RAYGUI_WINDOW_CLOSEBUTTON_SIZE + close_title_size_delta_half), RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT };
Rectangle resize_collision_rect = { position->x + size->x - 20, position->y + size->y - 20, 20, 20 };
if(CheckCollisionPointRec(mouse_position, title_collision_rect)) {
*moving = true;
} else if(!*minimized && CheckCollisionPointRec(mouse_position, resize_collision_rect)) {
*resizing = true;
}
}
// window movement and resize update
if(*moving) {
Vector2 mouse_delta = GetMouseDelta();
position->x += mouse_delta.x;
position->y += mouse_delta.y;
if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON)) {
*moving = false;
// clamp window position keep it inside the application area
if(position->x < 0) position->x = 0;
else if(position->x > GetScreenWidth() - size->x) position->x = GetScreenWidth() - size->x;
if(position->y < 0) position->y = 0;
else if(position->y > GetScreenHeight()) position->y = GetScreenHeight() - RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT;
}
} else if(*resizing) {
Vector2 mouse = GetMousePosition();
if (mouse.x > position->x)
size->x = mouse.x - position->x;
if (mouse.y > position->y)
size->y = mouse.y - position->y;
// clamp window size to an arbitrary minimum value and the window size as the maximum
if(size->x < 100) size->x = 100;
else if(size->x > GetScreenWidth()) size->x = GetScreenWidth();
if(size->y < 100) size->y = 100;
else if(size->y > GetScreenHeight()) size->y = GetScreenHeight();
if (IsMouseButtonReleased(MOUSE_LEFT_BUTTON)) {
*resizing = false;
}
}
// window and content drawing with scissor and scroll area
if(*minimized) {
GuiStatusBar((Rectangle){ position->x, position->y, size->x, RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT }, title);
if (GuiButton((Rectangle){ position->x + size->x - RAYGUI_WINDOW_CLOSEBUTTON_SIZE - close_title_size_delta_half,
position->y + close_title_size_delta_half,
RAYGUI_WINDOW_CLOSEBUTTON_SIZE,
RAYGUI_WINDOW_CLOSEBUTTON_SIZE },
"#120#")) {
*minimized = false;
}
} else {
*minimized = GuiWindowBox((Rectangle) { position->x, position->y, size->x, size->y }, title);
// scissor and draw content within a scroll panel
if(draw_content != NULL) {
Rectangle scissor = { 0 };
GuiScrollPanel((Rectangle) { position->x, position->y + RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT, size->x, size->y - RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT },
NULL,
(Rectangle) { position->x, position->y, content_size.x, content_size.y },
scroll,
&scissor);
bool require_scissor = size->x < content_size.x || size->y < content_size.y;
if(require_scissor) {
BeginScissorMode(scissor.x, scissor.y, scissor.width, scissor.height);
}
draw_content(*position, *scroll);
if(require_scissor) {
EndScissorMode();
}
}
// draw the resize button/icon
GuiDrawIcon(71, position->x + size->x - 20, position->y + size->y - 20, 1, WHITE);
}
}
static void DrawContent(Vector2 position, Vector2 scroll) {
GuiButton((Rectangle) { position.x + 20 + scroll.x, position.y + 50 + scroll.y, 100, 25 }, "Button 1");
GuiButton((Rectangle) { position.x + 20 + scroll.x, position.y + 100 + scroll.y, 100, 25 }, "Button 2");
GuiButton((Rectangle) { position.x + 20 + scroll.x, position.y + 150 + scroll.y, 100, 25 }, "Button 3");
GuiLabel((Rectangle) { position.x + 20 + scroll.x, position.y + 200 + scroll.y, 250, 25 }, "A Label");
GuiLabel((Rectangle) { position.x + 20 + scroll.x, position.y + 250 + scroll.y, 250, 25 }, "Another Label");
GuiLabel((Rectangle) { position.x + 20 + scroll.x, position.y + 300 + scroll.y, 250, 25 }, "Yet Another Label");
}
int main(void) {
InitWindow(960, 560, "raygui - floating window example");
SetTargetFPS(60);
GuiLoadStyleDark();
while(!WindowShouldClose()) {
BeginDrawing();
ClearBackground(DARKGREEN);
GuiWindowFloating(&window_position, &window_size, &minimized, &moving, &resizing, &DrawContent, (Vector2) { 140, 320 }, &scroll, "Movable & Scalable Window");
GuiWindowFloating(&window2_position, &window2_size, &minimized2, &moving2, &resizing2, &DrawContent, (Vector2) { 140, 320 }, &scroll2, "Another window");
EndDrawing();
}
CloseWindow();
return 0;
}

View File

@ -11,7 +11,7 @@
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) * Copyright (c) 2015-2024 Ramon Santamaria (@raysan5)
* *
********************************************************************************************/ ********************************************************************************************/

View File

@ -11,7 +11,7 @@
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) * Copyright (c) 2015-2024 Ramon Santamaria (@raysan5)
* *
**********************************************************************************************/ **********************************************************************************************/

View File

@ -11,7 +11,7 @@
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5) * Copyright (c) 2016-2024 Ramon Santamaria (@raysan5)
* *
**********************************************************************************************/ **********************************************************************************************/
@ -57,6 +57,7 @@ int main()
{ {
if (CheckCollisionPointRec(mousePosition, (Rectangle){ 0, 0, screenWidth, 20 })) if (CheckCollisionPointRec(mousePosition, (Rectangle){ 0, 0, screenWidth, 20 }))
{ {
windowPosition = GetWindowPosition();
dragWindow = true; dragWindow = true;
panOffset = mousePosition; panOffset = mousePosition;
} }

View File

@ -323,7 +323,7 @@ double GuiDMValueBox(Rectangle bounds, double value, double minValue, double max
Rectangle textBounds = {bounds.x + GuiGetStyle(VALUEBOX, BORDER_WIDTH) + textPadding, bounds.y + GuiGetStyle(VALUEBOX, BORDER_WIDTH), Rectangle textBounds = {bounds.x + GuiGetStyle(VALUEBOX, BORDER_WIDTH) + textPadding, bounds.y + GuiGetStyle(VALUEBOX, BORDER_WIDTH),
bounds.width - 2*(GuiGetStyle(VALUEBOX, BORDER_WIDTH) + textPadding), bounds.height - 2*GuiGetStyle(VALUEBOX, BORDER_WIDTH)}; bounds.width - 2*(GuiGetStyle(VALUEBOX, BORDER_WIDTH) + textPadding), bounds.height - 2*GuiGetStyle(VALUEBOX, BORDER_WIDTH)};
int textWidth = GetTextWidth(textValue); int textWidth = GuiGetTextWidth(textValue);
if(textWidth > textBounds.width) textBounds.width = textWidth; if(textWidth > textBounds.width) textBounds.width = textWidth;
if (state == STATE_PRESSED) if (state == STATE_PRESSED)
@ -338,7 +338,7 @@ double GuiDMValueBox(Rectangle bounds, double value, double minValue, double max
if(cursor > 0) { if(cursor > 0) {
char c = textValue[cursor]; char c = textValue[cursor];
textValue[cursor] = '\0'; textValue[cursor] = '\0';
textWidthCursor = GetTextWidth(textValue); textWidthCursor = GuiGetTextWidth(textValue);
textValue[cursor] = c; textValue[cursor] = c;
} }
//DrawRectangle(bounds.x + textWidthCursor + textPadding + 2, bounds.y + 2*GuiGetStyle(VALUEBOX, BORDER_WIDTH), 1, bounds.height - 4*GuiGetStyle(VALUEBOX, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(VALUEBOX, BORDER_COLOR_PRESSED)), guiAlpha)); //DrawRectangle(bounds.x + textWidthCursor + textPadding + 2, bounds.y + 2*GuiGetStyle(VALUEBOX, BORDER_WIDTH), 1, bounds.height - 4*GuiGetStyle(VALUEBOX, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(VALUEBOX, BORDER_COLOR_PRESSED)), guiAlpha));
@ -368,10 +368,11 @@ double GuiDMValueBox(Rectangle bounds, double value, double minValue, double max
double GuiDMSpinner(Rectangle bounds, double value, double minValue, double maxValue, double step, int precision, bool editMode) { double GuiDMSpinner(Rectangle bounds, double value, double minValue, double maxValue, double step, int precision, bool editMode) {
GuiState state = GuiGetState(); GuiState state = GuiGetState();
Rectangle spinner = { bounds.x + GuiGetStyle(SPINNER, SPIN_BUTTON_WIDTH) + GuiGetStyle(SPINNER, SPIN_BUTTON_SPACING), bounds.y, Rectangle spinner = { bounds.x + GuiGetStyle(VALUEBOX, SPINNER_BUTTON_WIDTH) + GuiGetStyle(VALUEBOX, SPINNER_BUTTON_SPACING), bounds.y,
bounds.width - 2*(GuiGetStyle(SPINNER, SPIN_BUTTON_WIDTH) + GuiGetStyle(SPINNER, SPIN_BUTTON_SPACING)), bounds.height }; bounds.width - 2*(GuiGetStyle(VALUEBOX, SPINNER_BUTTON_WIDTH) + GuiGetStyle(VALUEBOX, SPINNER_BUTTON_SPACING)), bounds.height };
Rectangle leftButtonBound = { (float)bounds.x, (float)bounds.y, (float)GuiGetStyle(SPINNER, SPIN_BUTTON_WIDTH), (float)bounds.height }; Rectangle leftButtonBound = { (float)bounds.x, (float)bounds.y, (float)GuiGetStyle(VALUEBOX, SPINNER_BUTTON_WIDTH), (float)bounds.height };
Rectangle rightButtonBound = { (float)bounds.x + bounds.width - GuiGetStyle(SPINNER, SPIN_BUTTON_WIDTH), (float)bounds.y, (float)GuiGetStyle(SPINNER, SPIN_BUTTON_WIDTH), (float)bounds.height }; Rectangle rightButtonBound = { (float)bounds.x + bounds.width - GuiGetStyle(VALUEBOX, SPINNER_BUTTON_WIDTH),
(float)bounds.y, (float)GuiGetStyle(VALUEBOX, SPINNER_BUTTON_WIDTH), (float)bounds.height };
// Update control // Update control
//-------------------------------------------------------------------- //--------------------------------------------------------------------
@ -395,7 +396,7 @@ double GuiDMSpinner(Rectangle bounds, double value, double minValue, double maxV
// NOTE: BORDER_WIDTH and TEXT_ALIGNMENT forced values // NOTE: BORDER_WIDTH and TEXT_ALIGNMENT forced values
int tempBorderWidth = GuiGetStyle(BUTTON, BORDER_WIDTH); int tempBorderWidth = GuiGetStyle(BUTTON, BORDER_WIDTH);
int tempTextAlign = GuiGetStyle(BUTTON, TEXT_ALIGNMENT); int tempTextAlign = GuiGetStyle(BUTTON, TEXT_ALIGNMENT);
GuiSetStyle(BUTTON, BORDER_WIDTH, GuiGetStyle(SPINNER, BORDER_WIDTH)); GuiSetStyle(BUTTON, BORDER_WIDTH, GuiGetStyle(VALUEBOX, BORDER_WIDTH));
GuiSetStyle(BUTTON, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER); GuiSetStyle(BUTTON, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER);
#if defined(RAYGUI_SUPPORT_RICONS) #if defined(RAYGUI_SUPPORT_RICONS)
@ -607,7 +608,7 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
// draw X, Y, Z, W values (only when expanded) // draw X, Y, Z, W values (only when expanded)
if(!PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED)) { if(!PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED)) {
Rectangle slotBounds = { propBounds.x, propBounds.y+GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)+1, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2}; Rectangle slotBounds = { propBounds.x, propBounds.y+GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)+1, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2};
Rectangle lblBounds = { propBounds.x+PROPERTY_PADDING, slotBounds.y, GetTextWidth("A"), slotBounds.height}; Rectangle lblBounds = { propBounds.x+PROPERTY_PADDING, slotBounds.y, GuiGetTextWidth("A"), slotBounds.height};
Rectangle valBounds = { lblBounds.x+lblBounds.width+PROPERTY_PADDING, slotBounds.y, propBounds.width-lblBounds.width-2*PROPERTY_PADDING, slotBounds.height}; Rectangle valBounds = { lblBounds.x+lblBounds.width+PROPERTY_PADDING, slotBounds.y, propBounds.width-lblBounds.width-2*PROPERTY_PADDING, slotBounds.height};
GuiDrawText("X", lblBounds, TEXT_ALIGN_LEFT, textColor); GuiDrawText("X", lblBounds, TEXT_ALIGN_LEFT, textColor);
props[p].value.v2.x = GuiDMSpinner(valBounds, props[p].value.v2.x, 0.0, 0.0, 1.0, PROPERTY_DECIMAL_DIGITS, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) ); props[p].value.v2.x = GuiDMSpinner(valBounds, props[p].value.v2.x, 0.0, 0.0, 1.0, PROPERTY_DECIMAL_DIGITS, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
@ -646,7 +647,7 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
// draw X, Y, Width, Height values (only when expanded) // draw X, Y, Width, Height values (only when expanded)
if(!PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED)) { if(!PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED)) {
Rectangle slotBounds = { propBounds.x, propBounds.y+GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)+1, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2}; Rectangle slotBounds = { propBounds.x, propBounds.y+GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)+1, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2};
Rectangle lblBounds = { propBounds.x+PROPERTY_PADDING, slotBounds.y, GetTextWidth("Height"), slotBounds.height}; Rectangle lblBounds = { propBounds.x+PROPERTY_PADDING, slotBounds.y, GuiGetTextWidth("Height"), slotBounds.height};
Rectangle valBounds = { lblBounds.x+lblBounds.width+PROPERTY_PADDING, slotBounds.y, propBounds.width-lblBounds.width-2*PROPERTY_PADDING, slotBounds.height}; Rectangle valBounds = { lblBounds.x+lblBounds.width+PROPERTY_PADDING, slotBounds.y, propBounds.width-lblBounds.width-2*PROPERTY_PADDING, slotBounds.height};
GuiDrawText("X", lblBounds, TEXT_ALIGN_LEFT, textColor); GuiDrawText("X", lblBounds, TEXT_ALIGN_LEFT, textColor);
props[p].value.vrect.x = GuiDMSpinner(valBounds, props[p].value.vrect.x, 0.0, 0.0, 1.0, 0, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) ); props[p].value.vrect.x = GuiDMSpinner(valBounds, props[p].value.vrect.x, 0.0, 0.0, 1.0, 0, (propState == STATE_FOCUSED) && CheckCollisionPointRec(mousePos, slotBounds) );
@ -684,8 +685,8 @@ void GuiDMPropertyList(Rectangle bounds, GuiDMProperty* props, int count, int* f
// draw R, G, B, A values (only when expanded) // draw R, G, B, A values (only when expanded)
if(!PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED)) { if(!PROP_CHECK_FLAG(&props[p], GUI_PFLAG_COLLAPSED)) {
Rectangle slotBounds = { propBounds.x, propBounds.y+GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)+1, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2}; Rectangle slotBounds = { propBounds.x, propBounds.y+GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)+1, propBounds.width, GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2};
Rectangle lblBounds = { propBounds.x+PROPERTY_PADDING, slotBounds.y, GetTextWidth("A"), slotBounds.height}; Rectangle lblBounds = { propBounds.x+PROPERTY_PADDING, slotBounds.y, GuiGetTextWidth("A"), slotBounds.height};
Rectangle valBounds = { lblBounds.x+lblBounds.width+PROPERTY_PADDING, slotBounds.y, GetTextWidth("000000"), slotBounds.height}; Rectangle valBounds = { lblBounds.x+lblBounds.width+PROPERTY_PADDING, slotBounds.y, GuiGetTextWidth("000000"), slotBounds.height};
Rectangle sbarBounds = { valBounds.x + valBounds.width + PROPERTY_PADDING, slotBounds.y, slotBounds.width - 3*PROPERTY_PADDING - lblBounds.width - valBounds.width, slotBounds.height }; Rectangle sbarBounds = { valBounds.x + valBounds.width + PROPERTY_PADDING, slotBounds.y, slotBounds.width - 3*PROPERTY_PADDING - lblBounds.width - valBounds.width, slotBounds.height };
if(sbarBounds.width <= GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2) valBounds.width = propBounds.width-lblBounds.width-2*PROPERTY_PADDING; // hide slider when no space if(sbarBounds.width <= GuiGetStyle(LISTVIEW, LIST_ITEMS_HEIGHT)-2) valBounds.width = propBounds.width-lblBounds.width-2*PROPERTY_PADDING; // hide slider when no space
@ -864,4 +865,4 @@ bool GuiDMSaveProperties(const char* file, GuiDMProperty* props, int count) {
return true; return true;
} }
#endif // GUI_PROPERTY_LIST_IMPLEMENTATION #endif // GUI_PROPERTY_LIST_IMPLEMENTATION

View File

@ -11,7 +11,7 @@
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2020-2023 Vlad Adrian (@Demizdor) and Ramon Santamaria (@raysan5) * Copyright (c) 2020-2024 Vlad Adrian (@Demizdor) and Ramon Santamaria (@raysan5)
* *
**********************************************************************************************/ **********************************************************************************************/

View File

@ -6,10 +6,10 @@ PRODUCTVERSION 4,0,0,0
BEGIN BEGIN
BLOCK "StringFileInfo" BLOCK "StringFileInfo"
BEGIN BEGIN
//BLOCK "080904E4" // English UK //BLOCK "080904E4" // English UK
BLOCK "040904E4" // English US BLOCK "040904E4" // English US
BEGIN BEGIN
//VALUE "CompanyName", "raylib technologies" //VALUE "CompanyName", "raylib technologies"
VALUE "FileDescription", "raygui application (www.raylib.com)" VALUE "FileDescription", "raygui application (www.raylib.com)"
VALUE "FileVersion", "4.0.0" VALUE "FileVersion", "4.0.0"
VALUE "InternalName", "raygui app" VALUE "InternalName", "raygui app"
@ -21,7 +21,7 @@ BEGIN
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"
BEGIN BEGIN
//VALUE "Translation", 0x809, 1252 // English UK //VALUE "Translation", 0x809, 1252 // English UK
VALUE "Translation", 0x409, 1252 // English US VALUE "Translation", 0x409, 1252 // English US
END END
END END

View File

@ -17,7 +17,7 @@
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2019-2023 Vlad Adrian (@Demizdor) and Ramon Santamaria (@raysan5) * Copyright (c) 2019-2024 Vlad Adrian (@Demizdor) and Ramon Santamaria (@raysan5)
* *
**********************************************************************************************/ **********************************************************************************************/

View File

@ -11,7 +11,7 @@
* *
* LICENSE: zlib/libpng * LICENSE: zlib/libpng
* *
* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5) * Copyright (c) 2016-2024 Ramon Santamaria (@raysan5)
* *
**********************************************************************************************/ **********************************************************************************************/
@ -23,12 +23,19 @@
#include "../../src/raygui.h" #include "../../src/raygui.h"
// raygui embedded styles // raygui embedded styles
#include "../styles/style_cyber.h" // raygui style: cyber // NOTE: Included in the same order as selector
#include "../styles/style_jungle.h" // raygui style: jungle #define MAX_GUI_STYLES_AVAILABLE 12 // NOTE: Included light style
#include "../styles/style_lavanda.h" // raygui style: lavanda #include "../styles/style_jungle.h" // raygui style: jungle
#include "../styles/style_dark.h" // raygui style: dark #include "../styles/style_candy.h" // raygui style: candy
#include "../styles/style_bluish.h" // raygui style: bluish #include "../styles/style_lavanda.h" // raygui style: lavanda
#include "../styles/style_terminal.h" // raygui style: terminal #include "../styles/style_cyber.h" // raygui style: cyber
#include "../styles/style_terminal.h" // raygui style: terminal
#include "../styles/style_ashes.h" // raygui style: ashes
#include "../styles/style_bluish.h" // raygui style: bluish
#include "../styles/style_dark.h" // raygui style: dark
#include "../styles/style_cherry.h" // raygui style: cherry
#include "../styles/style_sunny.h" // raygui style: sunny
#include "../styles/style_enefete.h" // raygui style: enefete
#include <string.h> // Required for: strcpy() #include <string.h> // Required for: strcpy()
@ -39,10 +46,10 @@ int main()
{ {
// Initialization // Initialization
//--------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------
const int screenWidth = 690; const int screenWidth = 800;
const int screenHeight = 560; const int screenHeight = 480;
InitWindow(screenWidth, screenHeight, "raygui - controls test suite"); InitWindow(screenWidth, screenHeight, "raygui - styles selector");
SetExitKey(0); SetExitKey(0);
// Custom GUI font loading // Custom GUI font loading
@ -52,11 +59,6 @@ int main()
bool exitWindow = false; bool exitWindow = false;
bool showMessageBox = false; bool showMessageBox = false;
char textInput[256] = { 0 };
bool showTextInputBox = false;
char textInputFileName[256] = { 0 };
// Load default style // Load default style
GuiLoadStyleBluish(); GuiLoadStyleBluish();
int visualStyleActive = 4; int visualStyleActive = 4;
@ -74,8 +76,6 @@ int main()
if (IsKeyPressed(KEY_ESCAPE)) showMessageBox = !showMessageBox; if (IsKeyPressed(KEY_ESCAPE)) showMessageBox = !showMessageBox;
if (IsKeyDown(KEY_LEFT_CONTROL) && IsKeyPressed(KEY_S)) showTextInputBox = true;
if (IsFileDropped()) if (IsFileDropped())
{ {
FilePathList droppedFiles = LoadDroppedFiles(); FilePathList droppedFiles = LoadDroppedFiles();
@ -87,22 +87,26 @@ int main()
if (visualStyleActive != prevVisualStyleActive) if (visualStyleActive != prevVisualStyleActive)
{ {
// Reset to default internal style
// NOTE: Required to unload any previously loaded font texture
GuiLoadStyleDefault(); GuiLoadStyleDefault();
switch (visualStyleActive) switch (visualStyleActive)
{ {
case 0: break; // Default style
case 1: GuiLoadStyleJungle(); break; case 1: GuiLoadStyleJungle(); break;
case 2: GuiLoadStyleLavanda(); break; case 2: GuiLoadStyleCandy(); break;
case 3: GuiLoadStyleDark(); break; case 3: GuiLoadStyleLavanda(); break;
case 4: GuiLoadStyleBluish(); break; case 4: GuiLoadStyleCyber(); break;
case 5: GuiLoadStyleCyber(); break; case 5: GuiLoadStyleTerminal(); break;
case 6: GuiLoadStyleTerminal(); break; case 6: GuiLoadStyleAshes(); break;
case 7: GuiLoadStyleBluish(); break;
case 8: GuiLoadStyleDark(); break;
case 9: GuiLoadStyleCherry(); break;
case 10: GuiLoadStyleSunny(); break;
case 11: GuiLoadStyleEnefete(); break;
default: break; default: break;
} }
GuiSetStyle(LABEL, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT);
prevVisualStyleActive = visualStyleActive; prevVisualStyleActive = visualStyleActive;
} }
//---------------------------------------------------------------------------------- //----------------------------------------------------------------------------------
@ -115,12 +119,17 @@ int main()
// Visuals options // Visuals options
GuiLabel((Rectangle){ 10, 10, 60, 24 }, "Style:"); GuiLabel((Rectangle){ 10, 10, 60, 24 }, "Style:");
GuiComboBox((Rectangle){ 60,10, 120, 24 }, "default;Jungle;Lavanda;Dark;Bluish;Cyber;Terminal", &visualStyleActive); GuiComboBox((Rectangle){ 60,10, 120, 24 }, "default;Jungle;Candy;Lavanda;Cyber;Terminal;Ashes;Bluish;Dark;Cherry;Sunny;Enefete", &visualStyleActive);
GuiSetIconScale(2); DrawRectangle(10, 44, GuiGetFont().texture.width, GuiGetFont().texture.height, BLACK);
GuiSetStyle(BUTTON, TEXT_ALIGNMENT, TEXT_ALIGN_RIGHT); DrawTexture(GuiGetFont().texture, 10, 44, WHITE);
GuiButton((Rectangle){ 25, 255, 300, 30 }, GuiIconText(ICON_FILE_SAVE, "Save File")); DrawRectangleLines(10, 44, GuiGetFont().texture.width, GuiGetFont().texture.height,
GuiSetStyle(BUTTON, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER); GetColor(GuiGetStyle(DEFAULT, LINE_COLOR)));
//GuiSetIconScale(2);
//GuiSetStyle(BUTTON, TEXT_ALIGNMENT, TEXT_ALIGN_RIGHT);
//GuiButton((Rectangle){ 25, 255, 300, 30 }, GuiIconText(ICON_FILE_SAVE, "Save File"));
//GuiSetStyle(BUTTON, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER);
//---------------------------------------------------------------------------------- //----------------------------------------------------------------------------------
EndDrawing(); EndDrawing();

View File

@ -0,0 +1,606 @@
//////////////////////////////////////////////////////////////////////////////////
// //
// StyleAsCode exporter v2.0 - Style data exported as a values array //
// //
// USAGE: On init call: GuiLoadStyleAmber(); //
// //
// more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com //
// //
// Copyright (c) 2020-2024 raylib technologies (@raylibtech) //
// //
//////////////////////////////////////////////////////////////////////////////////
#define AMBER_STYLE_PROPS_COUNT 16
// Custom style name: Amber
static const GuiStyleProp amberStyleProps[AMBER_STYLE_PROPS_COUNT] = {
{ 0, 0, (int)0x898988ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, (int)0x292929ff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, (int)0xd4d4d4ff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, (int)0xeb891dff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, (int)0x292929ff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, (int)0xffffffff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, (int)0xf1cf9dff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, (int)0xf39333ff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, (int)0x282020ff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, (int)0x6a6a6aff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, (int)0x818181ff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, (int)0x606060ff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, (int)0x00000010 }, // DEFAULT_TEXT_SIZE
{ 0, 18, (int)0xef922aff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0x333333ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
};
// WARNING: This style uses a custom font: "hello-world.ttf" (size: 16, spacing: 1)
#define AMBER_STYLE_FONT_ATLAS_COMP_SIZE 2605
// Font atlas image pixels data: DEFLATE compressed
static unsigned char amberFontData[AMBER_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
0xdd, 0x8b, 0x8e, 0x9c, 0xb8, 0x12, 0x00, 0x50, 0xf8, 0xff, 0x7f, 0x76, 0x5d, 0xe9, 0x66, 0xb3, 0xd2, 0xee, 0x8e, 0x6d,
0xaa, 0x30, 0x8f, 0xee, 0x9c, 0x1c, 0x45, 0x91, 0x9a, 0x34, 0x18, 0xdb, 0x85, 0x0d, 0x33, 0x94, 0x63, 0x03, 0x00, 0x00,
0x00, 0x88, 0x2d, 0x5a, 0xe7, 0xb3, 0xcc, 0xe7, 0x5b, 0xf7, 0xf3, 0xf6, 0xd7, 0xe7, 0x6d, 0xb0, 0xed, 0xe8, 0xbe, 0xfa,
0x65, 0xda, 0x92, 0xfb, 0x89, 0xee, 0x37, 0xe2, 0x87, 0x4f, 0x7e, 0xff, 0xc9, 0xec, 0xa7, 0x77, 0xbe, 0xf9, 0xda, 0xcb,
0x6e, 0x19, 0x1f, 0xbd, 0x25, 0x4b, 0x56, 0xff, 0xce, 0xd1, 0x7a, 0xcf, 0xd4, 0xe1, 0xef, 0x3f, 0x2d, 0xb1, 0x97, 0x71,
0x79, 0x7e, 0xde, 0xdb, 0x36, 0x39, 0xeb, 0xdc, 0x79, 0xb7, 0xe9, 0x96, 0xda, 0xb7, 0xd6, 0xc4, 0x7f, 0xaf, 0x4d, 0x32,
0x9f, 0x6f, 0xdd, 0x7a, 0xfc, 0x15, 0x37, 0xbd, 0xb8, 0xdd, 0x13, 0xfd, 0xa4, 0x17, 0x23, 0xfb, 0x20, 0xca, 0x23, 0xb5,
0xff, 0x71, 0x2f, 0x5a, 0x71, 0x4d, 0xed, 0x95, 0xf6, 0xe7, 0xab, 0x4b, 0xff, 0x1b, 0x6d, 0x78, 0xe6, 0xb5, 0x6b, 0x55,
0xbf, 0x1e, 0xf7, 0x1f, 0xbe, 0x5b, 0x2b, 0xdb, 0xf1, 0x72, 0x45, 0xba, 0x2d, 0x62, 0xd8, 0x6b, 0xf6, 0xee, 0x35, 0x23,
0x77, 0x76, 0x51, 0x38, 0xef, 0x98, 0x6c, 0xd9, 0x52, 0xa3, 0x5a, 0x5b, 0x3c, 0xfe, 0xaf, 0x88, 0xff, 0xf8, 0x7f, 0x2d,
0xee, 0xa9, 0xf1, 0x36, 0x92, 0x65, 0xca, 0x47, 0xed, 0xde, 0x39, 0x6e, 0x7f, 0x3c, 0xbf, 0xba, 0x4e, 0x7b, 0xdb, 0xf6,
0x42, 0x6d, 0xf4, 0xb6, 0xb4, 0xee, 0x79, 0x6f, 0xe5, 0xab, 0x5e, 0x24, 0xce, 0x26, 0x4e, 0x5f, 0x4b, 0x63, 0xd0, 0xd2,
0xe3, 0xb6, 0x8b, 0x74, 0x49, 0xa3, 0xf0, 0x9d, 0xf1, 0x96, 0x6d, 0xe9, 0x77, 0xae, 0x1b, 0xa3, 0xf2, 0xfb, 0x1b, 0xcf,
0xbe, 0xa2, 0x18, 0x0f, 0xe7, 0xcb, 0xb9, 0xa7, 0xaf, 0x89, 0x71, 0xf1, 0x3d, 0x55, 0x36, 0xfe, 0xb7, 0x85, 0xf1, 0x1f,
0xe9, 0xfa, 0xbe, 0x2f, 0xfe, 0x9f, 0x18, 0xff, 0xb7, 0x49, 0xfc, 0x6f, 0xe2, 0x3f, 0xf5, 0x7f, 0x73, 0xf7, 0x05, 0xe3,
0x71, 0x3b, 0x12, 0xf3, 0x99, 0x58, 0x18, 0xcf, 0x71, 0x7b, 0xf4, 0x8f, 0x7a, 0x5b, 0x65, 0x26, 0xd8, 0xbf, 0xdf, 0xea,
0xc7, 0xd9, 0xe8, 0x1e, 0x2d, 0xd2, 0x33, 0xce, 0xd1, 0xdd, 0x55, 0xe6, 0x79, 0x49, 0x2c, 0xeb, 0x99, 0x5b, 0x29, 0xfe,
0x23, 0xf5, 0xcc, 0x27, 0x26, 0x35, 0x9f, 0x8d, 0xff, 0x18, 0x5c, 0xff, 0x46, 0xfd, 0x28, 0x2e, 0xbd, 0xff, 0xcf, 0xc6,
0xff, 0x36, 0x99, 0x95, 0x6d, 0xa9, 0x9e, 0x5a, 0x29, 0x65, 0x7b, 0xd1, 0x13, 0xd5, 0x95, 0xf1, 0x1f, 0xc9, 0xb3, 0x8e,
0x03, 0x4f, 0xc3, 0x7a, 0xc7, 0xa8, 0xdc, 0xbd, 0xb5, 0x93, 0xfd, 0x2a, 0x1e, 0x6c, 0x93, 0x33, 0x23, 0x76, 0x7b, 0x7c,
0xfc, 0x8f, 0xc7, 0xe6, 0xff, 0x91, 0x9e, 0x1b, 0x5c, 0x1f, 0xff, 0xf1, 0xf2, 0xe8, 0xaf, 0xcd, 0xff, 0xa3, 0x38, 0x2f,
0x8f, 0x45, 0x73, 0xf9, 0xea, 0xdd, 0xcc, 0xbb, 0x5a, 0x64, 0x9b, 0x3e, 0x4f, 0xf8, 0xc4, 0xf9, 0x7f, 0x3c, 0x54, 0x8f,
0x51, 0xb8, 0x37, 0x10, 0xff, 0x95, 0xf8, 0xaf, 0xcd, 0x69, 0x67, 0x4f, 0x37, 0x63, 0xe9, 0x95, 0xe9, 0xb3, 0xe3, 0xbf,
0x1e, 0xb1, 0xe2, 0xff, 0xe8, 0xdc, 0x36, 0x86, 0xcf, 0x65, 0x63, 0x49, 0x1b, 0x7e, 0xc6, 0x58, 0xb3, 0x2e, 0xfe, 0xe3,
0xc4, 0x5d, 0xc3, 0x9f, 0x18, 0xff, 0xdb, 0x8d, 0xf1, 0x1f, 0x5f, 0x3b, 0xff, 0xaf, 0xdc, 0xff, 0xc7, 0xf0, 0x27, 0xd2,
0xb1, 0x68, 0x06, 0xf0, 0xfe, 0xd1, 0xbf, 0xf2, 0xb4, 0x67, 0xfc, 0x9b, 0x47, 0x91, 0xfe, 0xb9, 0x40, 0xe5, 0x69, 0xd3,
0x6c, 0xee, 0xbc, 0xa5, 0xcb, 0xf6, 0xe9, 0xe3, 0x7f, 0xfe, 0xbc, 0x63, 0xba, 0x25, 0x0a, 0xfd, 0xe8, 0x6d, 0xd7, 0xd7,
0x78, 0x7c, 0x64, 0x05, 0xbe, 0x97, 0xf8, 0x07, 0x57, 0x00, 0xd1, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0x77, 0x6a, 0xff, 0xfa, 0xf7, 0x9f, 0xdb, 0xda, 0x8f, 0xd9, 0x8c, 0x5b, 0x77, 0x4b, 0x6f, 0x5f, 0xad,
0x70, 0xfc, 0x7c, 0xc9, 0x56, 0xe7, 0x60, 0xdf, 0x06, 0x67, 0x5a, 0xaf, 0x83, 0xeb, 0xb7, 0x8c, 0x4b, 0x9d, 0x69, 0x9b,
0x7e, 0xbd, 0x6c, 0xa9, 0x77, 0x92, 0x73, 0x79, 0x02, 0xdb, 0xe4, 0x0d, 0xd7, 0xec, 0xba, 0x0e, 0xb3, 0x1c, 0x86, 0x99,
0xcc, 0x87, 0xed, 0x50, 0x34, 0xcd, 0x3f, 0xcf, 0x96, 0x67, 0x1b, 0x66, 0xc5, 0x8c, 0x72, 0xde, 0xbf, 0x5a, 0xee, 0xe9,
0x3d, 0x99, 0xf9, 0x69, 0xf4, 0x3e, 0x7a, 0x4b, 0x67, 0x67, 0xbe, 0x2b, 0x07, 0xfb, 0xa8, 0x3e, 0xf7, 0x74, 0xf6, 0x8b,
0xca, 0x96, 0xbd, 0xbb, 0xae, 0xca, 0x2c, 0xd7, 0xc3, 0x7e, 0xb8, 0x15, 0x46, 0x39, 0x92, 0xf7, 0x6e, 0x1e, 0xf1, 0x5c,
0x5f, 0x5b, 0x95, 0xfb, 0x3e, 0xa6, 0x25, 0x8e, 0xe4, 0x77, 0xda, 0xf0, 0x38, 0x71, 0xd9, 0x3b, 0x65, 0x91, 0xac, 0xad,
0xed, 0xef, 0x1c, 0x1b, 0xb9, 0xba, 0x3c, 0x13, 0xff, 0x95, 0xfc, 0xd2, 0x5b, 0x3a, 0x03, 0xea, 0xde, 0xc9, 0x4b, 0xff,
0xfb, 0x7a, 0x76, 0x57, 0xa6, 0x95, 0x6c, 0x5b, 0xdf, 0x11, 0xff, 0xf3, 0xdc, 0x69, 0x91, 0x1a, 0x07, 0xf3, 0x7d, 0xf1,
0x89, 0xdc, 0x0d, 0x77, 0xe5, 0x23, 0x3f, 0xd3, 0x8a, 0x57, 0xc6, 0x7f, 0x3e, 0x4f, 0x6c, 0x3d, 0xf3, 0xcf, 0xfa, 0xf8,
0xcf, 0xe7, 0xab, 0x8a, 0x6e, 0x3e, 0x15, 0xf1, 0x5f, 0x8d, 0xff, 0xf8, 0x80, 0xf8, 0x5f, 0x99, 0x49, 0x7b, 0xb6, 0xb7,
0x48, 0x65, 0x3e, 0x9f, 0x65, 0xf9, 0x69, 0x83, 0xb9, 0xec, 0xb1, 0xbb, 0x8f, 0x38, 0x30, 0xff, 0xb8, 0x27, 0xfe, 0x67,
0x99, 0x7b, 0x73, 0xfd, 0xab, 0xba, 0x9f, 0x55, 0x6b, 0x30, 0xcc, 0x7a, 0x4e, 0xb6, 0x45, 0x23, 0xb9, 0x52, 0xe0, 0xea,
0xf8, 0x1f, 0x47, 0x6d, 0xad, 0x6c, 0xdb, 0xd2, 0x11, 0xf7, 0xec, 0x08, 0x18, 0x4b, 0xef, 0x0c, 0xee, 0xb9, 0x8a, 0xef,
0xa7, 0x57, 0x8f, 0x8b, 0xe1, 0x1d, 0xe6, 0xba, 0xbe, 0x75, 0xef, 0xf8, 0x1f, 0x8b, 0xf3, 0xa9, 0xc7, 0x8d, 0x99, 0x56,
0xf3, 0xab, 0x5c, 0x64, 0xeb, 0xb3, 0x92, 0x23, 0x35, 0x9f, 0x55, 0xf9, 0x5b, 0xe2, 0xff, 0xfa, 0x2d, 0xeb, 0x23, 0x2d,
0x17, 0xff, 0x71, 0xc3, 0xdc, 0xf2, 0x13, 0xe6, 0xff, 0xdb, 0x30, 0x5f, 0xfd, 0x5d, 0xf1, 0x5f, 0x6d, 0x8d, 0x6b, 0xe3,
0x3f, 0x0a, 0xf3, 0xf6, 0x95, 0xf3, 0xfc, 0x67, 0xe6, 0xff, 0xe3, 0x31, 0x26, 0xd2, 0xf5, 0x5e, 0xcd, 0x61, 0x7a, 0x65,
0xfc, 0xc7, 0x2d, 0xf7, 0x96, 0xf7, 0xc7, 0xff, 0xda, 0xb8, 0x5c, 0x1b, 0xff, 0x2b, 0xd7, 0xab, 0x10, 0xff, 0xf7, 0xcf,
0x0c, 0xd6, 0x7e, 0xa7, 0x72, 0x77, 0xf0, 0xe4, 0xf8, 0x7f, 0x7f, 0x5d, 0x3f, 0x1f, 0xff, 0x2b, 0xe7, 0xff, 0xf1, 0x70,
0xfc, 0x57, 0xd6, 0xff, 0xba, 0x67, 0x96, 0x2f, 0xfe, 0x9f, 0x88, 0xff, 0x37, 0xd4, 0x7a, 0x7e, 0xde, 0x34, 0x7f, 0x5a,
0x98, 0x5b, 0x35, 0xb1, 0xf6, 0x54, 0x3c, 0x8a, 0x2b, 0x87, 0x47, 0xa1, 0xd4, 0x95, 0x99, 0xe3, 0xb6, 0xe4, 0x5e, 0xbe,
0x76, 0x35, 0xa9, 0x64, 0x8e, 0xaf, 0xae, 0x33, 0x76, 0xe7, 0x7d, 0xc1, 0x35, 0xdf, 0xca, 0xb5, 0x62, 0x4c, 0xeb, 0x7e,
0xc5, 0x75, 0x64, 0x7b, 0x61, 0x16, 0x7f, 0x3e, 0x5d, 0xdc, 0xf4, 0x1d, 0xd4, 0x22, 0xe2, 0x1f, 0xb5, 0xc8, 0x9b, 0x7a,
0x61, 0x24, 0xef, 0xa9, 0xcd, 0x42, 0xd7, 0xd4, 0xba, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x56, 0xfd, 0x7e, 0x72, 0x36, 0xa7, 0xf8, 0x28, 0x6f, 0x62, 0x7e, 0x7f, 0xb3, 0x2c, 0x68, 0xed, 0xc1, 0x2d, 0xa3,
0x5a, 0x68, 0x07, 0xcf, 0xa6, 0x25, 0xf3, 0xbc, 0xf5, 0xeb, 0xa4, 0x9f, 0x5f, 0xbe, 0x25, 0xb7, 0xb5, 0xc9, 0x1e, 0x8f,
0xee, 0xfd, 0x78, 0x1b, 0xf7, 0xb3, 0xa8, 0xe5, 0xea, 0xbd, 0x9f, 0x99, 0xbf, 0x25, 0x57, 0x2c, 0x98, 0xd5, 0xe8, 0x96,
0x68, 0xc9, 0x23, 0xbd, 0x69, 0xb4, 0xd6, 0xc4, 0xd1, 0x76, 0x38, 0x7a, 0x0e, 0x71, 0xf0, 0xad, 0xa3, 0x59, 0xae, 0xc5,
0xd1, 0x96, 0x4c, 0x56, 0xa3, 0x33, 0xb9, 0x27, 0x56, 0xe6, 0xd2, 0x5d, 0x95, 0x4b, 0x3f, 0x97, 0xbb, 0x71, 0x1f, 0xb6,
0x51, 0x9c, 0xbc, 0x52, 0xb7, 0xc1, 0x31, 0x5a, 0x21, 0xef, 0xc3, 0xf1, 0xbd, 0x1f, 0x6f, 0xe3, 0x3d, 0x9d, 0xdd, 0x64,
0x65, 0xfe, 0xfd, 0x96, 0xce, 0xd8, 0xb9, 0x27, 0x57, 0xc4, 0x38, 0x9e, 0x4f, 0x62, 0x4f, 0x67, 0xae, 0x98, 0xf5, 0xc3,
0xfd, 0xc4, 0x15, 0xe0, 0xce, 0xfc, 0x3b, 0x6f, 0x88, 0xff, 0x55, 0xb9, 0xb4, 0xaf, 0xce, 0xca, 0xd3, 0xba, 0xa5, 0x6f,
0x17, 0xd7, 0x6d, 0x3d, 0xe2, 0x62, 0x98, 0x01, 0x23, 0xca, 0x63, 0xd4, 0xd1, 0x63, 0x8c, 0x22, 0x67, 0xb4, 0x62, 0xd1,
0xf1, 0xeb, 0x66, 0x2c, 0x88, 0xff, 0x33, 0x6f, 0x03, 0x1f, 0x1f, 0x5b, 0x8e, 0xd6, 0xef, 0x7d, 0x19, 0xf3, 0xc7, 0x39,
0xd8, 0x73, 0x59, 0xd8, 0x57, 0x67, 0xcc, 0x59, 0x17, 0xe7, 0xab, 0xf2, 0xe8, 0xe4, 0xa2, 0x25, 0xd2, 0xf3, 0xf1, 0x4c,
0xfc, 0xc7, 0xe1, 0xd9, 0x7f, 0x36, 0x9f, 0x4d, 0x3e, 0x1a, 0x62, 0xf1, 0x1b, 0xb5, 0xfd, 0xf2, 0xb6, 0x8b, 0xc6, 0xff,
0xd5, 0xf1, 0xbf, 0x9d, 0x88, 0xfe, 0x7b, 0x57, 0xcc, 0xd8, 0x8a, 0xeb, 0x52, 0x5c, 0x9d, 0x4b, 0x33, 0x0a, 0x65, 0x7b,
0x2e, 0xfe, 0xb3, 0x2b, 0x18, 0x8c, 0x8e, 0xd0, 0x0e, 0x97, 0xa4, 0x5d, 0x14, 0x9b, 0x51, 0xec, 0xd5, 0xf1, 0x48, 0x66,
0x8e, 0x73, 0xe3, 0xff, 0x76, 0x3a, 0xfe, 0xd7, 0xd7, 0xab, 0xf8, 0xaf, 0xcf, 0x67, 0xee, 0x8d, 0xff, 0xad, 0xb0, 0x4e,
0x4b, 0x14, 0x66, 0x5d, 0xf5, 0x2b, 0xc0, 0x5d, 0xfd, 0xfa, 0xed, 0xcf, 0xd3, 0x67, 0xfd, 0xe0, 0x5d, 0xe7, 0x30, 0xeb,
0x21, 0x99, 0x7e, 0x15, 0x93, 0xa3, 0xe4, 0xef, 0x8d, 0x2b, 0x7d, 0x7e, 0x2b, 0x66, 0x88, 0xaf, 0xe4, 0x2d, 0x3d, 0x7f,
0xbf, 0x70, 0xfe, 0x2a, 0x52, 0x5d, 0xbf, 0x2b, 0x4e, 0xf7, 0x91, 0x4c, 0x7b, 0xad, 0xed, 0xaf, 0xef, 0xbd, 0x0e, 0xcc,
0xb3, 0xc6, 0x7e, 0x46, 0x3e, 0xa0, 0xb8, 0xed, 0x5a, 0xfc, 0x96, 0xfa, 0x88, 0x45, 0x77, 0x8e, 0x57, 0x8d, 0xff, 0x6b,
0x9f, 0xad, 0x66, 0xe3, 0xe8, 0xfb, 0xb2, 0x58, 0xc5, 0x25, 0xd7, 0x92, 0x58, 0x7a, 0xbf, 0x23, 0xfe, 0xc5, 0xff, 0x15,
0xf1, 0x7f, 0xfc, 0x18, 0xf1, 0xb5, 0xf1, 0xff, 0x44, 0x2f, 0x12, 0xff, 0x67, 0xe6, 0x97, 0x6f, 0x9a, 0x51, 0x5e, 0x1b,
0xff, 0xeb, 0xc6, 0xb1, 0xca, 0x7d, 0xd7, 0x9b, 0x5a, 0x47, 0xfc, 0xf3, 0x49, 0xed, 0xfc, 0x9e, 0x75, 0x34, 0x00, 0xf1,
0x0f, 0x5c, 0x33, 0xef, 0x3e, 0xf6, 0x93, 0x7b, 0xd1, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xc0, 0x59, 0xad, 0x9b, 0x59, 0x3c, 0xba, 0x59, 0xcc, 0xff, 0xf9, 0xef, 0xcf, 0x5b, 0x9f, 0x3d, 0x9f, 0x2d, 0x55, 0xb6,
0x36, 0xcc, 0xf8, 0xde, 0x1e, 0x2e, 0xf5, 0x95, 0x47, 0x68, 0xb7, 0x9d, 0xe1, 0xda, 0x5a, 0xe9, 0xbd, 0x47, 0xdb, 0x6e,
0xa8, 0xc9, 0x5a, 0x7b, 0xb5, 0xe1, 0xb6, 0x96, 0xee, 0xb3, 0xb5, 0x2d, 0xff, 0xfd, 0x9f, 0xfb, 0xb0, 0x86, 0xf7, 0x64,
0x5e, 0xde, 0xda, 0x9b, 0xd1, 0xb5, 0x6c, 0x5a, 0x3f, 0x6f, 0xdb, 0xff, 0xfa, 0xdb, 0xdb, 0x96, 0xa9, 0x83, 0x71, 0xee,
0xfb, 0x95, 0xe7, 0x33, 0x2a, 0xf5, 0x9a, 0x0c, 0xc4, 0x3f, 0x1f, 0x21, 0x06, 0x67, 0x18, 0xa5, 0x6c, 0x66, 0x77, 0xb5,
0x65, 0x6f, 0x4d, 0x86, 0xbd, 0xb0, 0xda, 0xca, 0x1d, 0xed, 0x15, 0xa5, 0xf5, 0x1b, 0xb6, 0x49, 0xdf, 0xcc, 0xf5, 0xe7,
0x4c, 0xdd, 0x8f, 0xf2, 0xcd, 0x8e, 0xce, 0xb3, 0x7f, 0xe4, 0xfe, 0x99, 0xec, 0xc9, 0x33, 0xf9, 0xf5, 0xf9, 0x9e, 0xbc,
0x96, 0xb6, 0xc1, 0x3c, 0xa7, 0xf2, 0xd6, 0xee, 0xca, 0xf3, 0x19, 0x8d, 0xc3, 0xfd, 0x3a, 0xc8, 0x1f, 0xe3, 0x78, 0x5b,
0x8e, 0xea, 0xf8, 0xf9, 0xb6, 0x1c, 0xf5, 0xcc, 0x48, 0x47, 0x52, 0xbe, 0xcc, 0xfd, 0xbe, 0xde, 0xdb, 0xdb, 0x6c, 0x3d,
0x9d, 0x67, 0xde, 0x11, 0x9f, 0xc5, 0x7f, 0xa4, 0xe3, 0x7f, 0xbc, 0x0a, 0xcc, 0xf1, 0x4f, 0x47, 0x57, 0xd9, 0x7d, 0x30,
0x96, 0xf7, 0x6a, 0xb9, 0x0d, 0xeb, 0xbf, 0xf6, 0xd6, 0xfe, 0xaa, 0xf3, 0xa9, 0x1c, 0x67, 0x4f, 0xd7, 0x59, 0x2e, 0x2b,
0xea, 0x3e, 0x3c, 0x93, 0x67, 0xdb, 0x72, 0xd4, 0x9b, 0xdb, 0x20, 0x4b, 0xff, 0xea, 0xf6, 0x8a, 0xc4, 0xde, 0xaa, 0x6b,
0xd6, 0x8c, 0xd6, 0xe0, 0xcb, 0x6e, 0xe9, 0x45, 0x79, 0x65, 0xf6, 0x97, 0x9d, 0x13, 0xe7, 0xc7, 0xe5, 0xea, 0x58, 0xbe,
0xa5, 0xb3, 0x96, 0xcf, 0x56, 0xc9, 0xc8, 0x8c, 0xd8, 0x95, 0x2d, 0x51, 0xb8, 0x37, 0x6c, 0xe9, 0x27, 0x16, 0xa3, 0x9c,
0xe2, 0x91, 0x1c, 0xe3, 0x9e, 0x6d, 0xcb, 0xd9, 0x68, 0x96, 0x39, 0x9b, 0xca, 0x96, 0xd1, 0xac, 0xa9, 0xff, 0x9d, 0xfc,
0xca, 0x98, 0x67, 0x56, 0xe7, 0x6b, 0x97, 0xcd, 0xff, 0xe7, 0x39, 0xb6, 0xd7, 0x8c, 0xcb, 0xd5, 0xb1, 0x7c, 0x2b, 0xac,
0x5a, 0x10, 0x97, 0xdf, 0x31, 0x56, 0x57, 0x47, 0xdb, 0xbb, 0xf7, 0xc6, 0xb9, 0xcf, 0xab, 0x6b, 0x1f, 0xc4, 0x0b, 0xdb,
0x32, 0x1f, 0xff, 0xd7, 0xac, 0x73, 0xb1, 0x76, 0x6d, 0xbc, 0x76, 0x5b, 0x9f, 0x3a, 0x3e, 0xca, 0xaf, 0x5e, 0xe5, 0xee,
0xfa, 0x5a, 0xae, 0xe5, 0xf2, 0x7f, 0x3a, 0xfe, 0x63, 0xe1, 0x8a, 0x02, 0xab, 0xe2, 0xbf, 0xbd, 0x24, 0x62, 0xfe, 0x94,
0xf8, 0xcf, 0xad, 0xc2, 0x11, 0xa5, 0x95, 0x3b, 0x32, 0x31, 0x9e, 0x7f, 0x96, 0xff, 0x9e, 0x5a, 0xfe, 0x9e, 0xf1, 0xff,
0xb9, 0xf8, 0x8f, 0x0f, 0x8c, 0xff, 0xf7, 0x96, 0xf9, 0xf9, 0xb1, 0xf1, 0xd9, 0xf8, 0xaf, 0x8c, 0xcb, 0xf5, 0x75, 0x79,
0xd6, 0xc6, 0x7f, 0x24, 0x46, 0xec, 0xf5, 0x99, 0xb8, 0x9f, 0x8a, 0xff, 0xf7, 0x8e, 0xa5, 0xb3, 0xba, 0x7a, 0xb2, 0x64,
0xb3, 0x55, 0xe6, 0xdf, 0x15, 0xff, 0xd5, 0x15, 0x55, 0x23, 0x39, 0x93, 0x7d, 0xff, 0xf8, 0x1f, 0xa9, 0x35, 0xf7, 0xbe,
0x67, 0xfc, 0x8f, 0xc9, 0xda, 0xbc, 0x9f, 0x37, 0xff, 0x8f, 0x47, 0x63, 0x2c, 0x4a, 0x2b, 0xc9, 0x66, 0x57, 0xda, 0x5b,
0x35, 0xff, 0xbf, 0xf3, 0xe7, 0x8c, 0x9f, 0x36, 0x9b, 0x3c, 0xf7, 0xa4, 0xe3, 0x33, 0xe2, 0x7f, 0x3e, 0x92, 0x7e, 0x5e,
0x8b, 0x3d, 0x3d, 0xc6, 0xca, 0xf6, 0xfc, 0x4d, 0xf1, 0xbf, 0xdd, 0x32, 0xfe, 0x57, 0x57, 0x3a, 0xcd, 0xfe, 0xfe, 0xd9,
0x27, 0xc5, 0xff, 0xca, 0x95, 0x87, 0xee, 0x2c, 0x99, 0xf8, 0x7f, 0xdb, 0x3d, 0xce, 0x8a, 0x92, 0xdf, 0xf5, 0x13, 0x99,
0xbb, 0xc7, 0xf9, 0xf7, 0x5e, 0xb1, 0xdf, 0xdb, 0xff, 0xaa, 0xbf, 0xe7, 0x2e, 0xfe, 0x3f, 0x2f, 0xfe, 0xb3, 0x23, 0x76,
0x65, 0xcb, 0xfc, 0x48, 0xe7, 0x3f, 0x5f, 0xd7, 0x62, 0xeb, 0x9f, 0x7e, 0xde, 0x71, 0xb7, 0x7a, 0x5f, 0xc9, 0xc4, 0x3f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xad, 0x36, 0xcc, 0xe4, 0x9f, 0xcd, 0x4a, 0x3e, 0xca, 0x0c,
0x18, 0xb7, 0xe4, 0x38, 0xaf, 0xe6, 0xff, 0x3f, 0xfe, 0x79, 0xbe, 0xc6, 0x2a, 0x65, 0x5a, 0x7b, 0xee, 0x6d, 0xd2, 0x66,
0x3f, 0x7f, 0xde, 0x0a, 0xab, 0x3c, 0xdc, 0xd1, 0x62, 0xad, 0xd4, 0x9f, 0xf9, 0xa9, 0xb6, 0xf6, 0x85, 0xb5, 0x35, 0x5b,
0x33, 0xe0, 0x99, 0x1c, 0xe7, 0xb3, 0xe3, 0xb4, 0x45, 0xc7, 0x18, 0x67, 0xb8, 0xce, 0x95, 0xa9, 0x72, 0xee, 0xeb, 0xdb,
0xb2, 0x5f, 0x8a, 0x7b, 0x5a, 0xac, 0xf9, 0x0d, 0xfb, 0x47, 0xdf, 0xd9, 0xa9, 0x64, 0x18, 0x8e, 0x64, 0xf6, 0xa3, 0xfb,
0x4a, 0xbd, 0xee, 0x08, 0xfd, 0xab, 0xd8, 0xfe, 0xd2, 0xb1, 0x67, 0x9c, 0x7b, 0x76, 0x94, 0x15, 0xb1, 0xdd, 0xf4, 0x66,
0x58, 0x4b, 0xbf, 0xcb, 0xd3, 0x16, 0xed, 0x4d, 0x94, 0xaf, 0xca, 0x3d, 0xbc, 0x4d, 0xf3, 0x72, 0xad, 0xba, 0xce, 0xe4,
0x4b, 0xbd, 0x0d, 0xf6, 0x95, 0xfb, 0x7c, 0x4b, 0xe6, 0x6a, 0x89, 0xc5, 0x59, 0xdc, 0xd7, 0xd6, 0xca, 0x36, 0xb9, 0x8e,
0x47, 0x22, 0xc6, 0xce, 0x6c, 0xc9, 0x1f, 0xe7, 0x6d, 0x6b, 0x69, 0x7c, 0xee, 0x7b, 0xb9, 0xfb, 0xa2, 0xdc, 0xc3, 0xf5,
0x4c, 0x9a, 0xab, 0x72, 0x9c, 0xd7, 0x32, 0xb3, 0xac, 0xcb, 0xa4, 0xb7, 0x77, 0xfb, 0xf1, 0xda, 0x33, 0xbc, 0xbe, 0x56,
0x3e, 0x21, 0x97, 0xee, 0x1b, 0xdf, 0x0c, 0xff, 0xec, 0xf7, 0xf3, 0x8f, 0x8c, 0x67, 0xdb, 0x74, 0xce, 0xf8, 0x64, 0xfb,
0x5f, 0x9f, 0x49, 0x67, 0xfb, 0xc8, 0x0c, 0x87, 0x5b, 0x39, 0x03, 0x98, 0xf8, 0xff, 0xf6, 0xf9, 0x7f, 0xdc, 0x90, 0x17,
0x69, 0x76, 0x2d, 0x59, 0x9b, 0xff, 0x77, 0x13, 0xff, 0x27, 0xa3, 0xe2, 0xf9, 0x5c, 0x9a, 0xf3, 0xab, 0xfc, 0x26, 0xfe,
0x17, 0x8d, 0xfb, 0xdf, 0x96, 0x49, 0xd3, 0xf8, 0x7f, 0x5d, 0x54, 0x7c, 0xea, 0x5a, 0x1a, 0x6c, 0x85, 0xb1, 0x7c, 0x65,
0x86, 0xe1, 0xb8, 0xe1, 0x0a, 0x54, 0xc9, 0xcc, 0x98, 0xff, 0xfc, 0xd3, 0xa2, 0x7c, 0x65, 0x8e, 0xad, 0x6b, 0xca, 0xb6,
0x26, 0xfe, 0xdf, 0x99, 0xfd, 0xfa, 0x13, 0xe7, 0xff, 0xf7, 0x3c, 0x63, 0xd8, 0x6e, 0xce, 0xcc, 0x16, 0x4b, 0x3e, 0xdf,
0x92, 0x77, 0x38, 0x2b, 0xef, 0x97, 0x9e, 0xcf, 0xa4, 0x77, 0x5f, 0x56, 0xfa, 0xda, 0x5d, 0x9e, 0xf1, 0x1f, 0xbe, 0xfb,
0xd9, 0xb4, 0xf8, 0x07, 0xf1, 0x6f, 0xf6, 0x0f, 0xee, 0x4c, 0x01, 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, 0xbe, 0xc7, 0xaf, 0x3f, 0xea, 0x01, 0xc4, 0x3f, 0xf0, 0xc7,
0xc5, 0xff, 0xff, 0x00 };
// Font glyphs rectangles data (on atlas)
static const Rectangle amberFontRecs[189] = {
{ 4, 4, 5 , 16 },
{ 17, 4, 2 , 10 },
{ 27, 4, 4 , 4 },
{ 39, 4, 5 , 10 },
{ 52, 4, 5 , 11 },
{ 65, 4, 5 , 10 },
{ 78, 4, 5 , 10 },
{ 91, 4, 2 , 4 },
{ 101, 4, 4 , 13 },
{ 113, 4, 5 , 13 },
{ 126, 4, 4 , 4 },
{ 138, 4, 5 , 6 },
{ 151, 4, 3 , 2 },
{ 162, 4, 5 , 2 },
{ 175, 4, 2 , 1 },
{ 185, 4, 5 , 10 },
{ 198, 4, 5 , 10 },
{ 211, 4, 4 , 10 },
{ 223, 4, 5 , 10 },
{ 236, 4, 5 , 10 },
{ 249, 4, 5 , 10 },
{ 262, 4, 5 , 10 },
{ 275, 4, 5 , 10 },
{ 288, 4, 5 , 10 },
{ 301, 4, 5 , 10 },
{ 314, 4, 5 , 10 },
{ 327, 4, 2 , 6 },
{ 337, 4, 2 , 6 },
{ 347, 4, 5 , 6 },
{ 360, 4, 5 , 4 },
{ 373, 4, 5 , 6 },
{ 386, 4, 5 , 10 },
{ 399, 4, 5 , 7 },
{ 412, 4, 5 , 10 },
{ 425, 4, 5 , 10 },
{ 438, 4, 5 , 10 },
{ 451, 4, 5 , 10 },
{ 464, 4, 5 , 10 },
{ 477, 4, 5 , 10 },
{ 490, 4, 5 , 10 },
{ 4, 28, 5 , 10 },
{ 17, 28, 4 , 10 },
{ 29, 28, 5 , 10 },
{ 42, 28, 5 , 10 },
{ 55, 28, 5 , 10 },
{ 68, 28, 5 , 10 },
{ 81, 28, 5 , 10 },
{ 94, 28, 5 , 10 },
{ 107, 28, 5 , 10 },
{ 120, 28, 5 , 10 },
{ 133, 28, 5 , 10 },
{ 146, 28, 5 , 10 },
{ 159, 28, 5 , 10 },
{ 172, 28, 5 , 10 },
{ 185, 28, 5 , 10 },
{ 198, 28, 5 , 10 },
{ 211, 28, 5 , 10 },
{ 224, 28, 5 , 10 },
{ 237, 28, 5 , 10 },
{ 250, 28, 3 , 13 },
{ 261, 28, 5 , 10 },
{ 274, 28, 3 , 13 },
{ 285, 28, 4 , 3 },
{ 297, 28, 5 , 1 },
{ 310, 28, 3 , 3 },
{ 321, 28, 5 , 7 },
{ 334, 28, 5 , 10 },
{ 347, 28, 5 , 7 },
{ 360, 28, 5 , 10 },
{ 373, 28, 5 , 7 },
{ 386, 28, 5 , 10 },
{ 399, 28, 5 , 10 },
{ 412, 28, 5 , 10 },
{ 425, 28, 4 , 10 },
{ 437, 28, 3 , 13 },
{ 448, 28, 5 , 10 },
{ 461, 28, 5 , 10 },
{ 474, 28, 5 , 7 },
{ 487, 28, 5 , 7 },
{ 4, 52, 5 , 7 },
{ 17, 52, 5 , 10 },
{ 30, 52, 5 , 10 },
{ 43, 52, 5 , 7 },
{ 56, 52, 5 , 7 },
{ 69, 52, 5 , 10 },
{ 82, 52, 5 , 7 },
{ 95, 52, 5 , 7 },
{ 108, 52, 5 , 7 },
{ 121, 52, 5 , 7 },
{ 134, 52, 5 , 10 },
{ 147, 52, 5 , 7 },
{ 160, 52, 4 , 13 },
{ 172, 52, 2 , 13 },
{ 182, 52, 4 , 13 },
{ 194, 52, 5 , 4 },
{ 207, 52, 2 , 9 },
{ 217, 52, 5 , 7 },
{ 230, 52, 5 , 10 },
{ 243, 52, 5 , 10 },
{ 256, 52, 5 , 10 },
{ 269, 52, 0 , 0 },
{ 277, 52, 5 , 10 },
{ 290, 52, 0 , 0 },
{ 298, 52, 5 , 7 },
{ 311, 52, 3 , 5 },
{ 322, 52, 5 , 5 },
{ 335, 52, 5 , 3 },
{ 348, 52, 5 , 7 },
{ 361, 52, 5 , 2 },
{ 374, 52, 4 , 4 },
{ 386, 52, 5 , 8 },
{ 399, 52, 3 , 5 },
{ 410, 52, 3 , 6 },
{ 421, 52, 0 , 0 },
{ 429, 52, 5 , 10 },
{ 442, 52, 5 , 10 },
{ 455, 52, 2 , 3 },
{ 465, 52, 0 , 0 },
{ 473, 52, 3 , 5 },
{ 484, 52, 4 , 4 },
{ 496, 52, 5 , 5 },
{ 4, 76, 5 , 10 },
{ 17, 76, 5 , 7 },
{ 30, 76, 5 , 10 },
{ 43, 76, 5 , 10 },
{ 56, 76, 5 , 14 },
{ 69, 76, 5 , 14 },
{ 82, 76, 5 , 14 },
{ 95, 76, 5 , 14 },
{ 108, 76, 5 , 12 },
{ 121, 76, 5 , 12 },
{ 134, 76, 5 , 10 },
{ 147, 76, 5 , 13 },
{ 160, 76, 5 , 14 },
{ 173, 76, 5 , 14 },
{ 186, 76, 5 , 14 },
{ 199, 76, 5 , 12 },
{ 212, 76, 4 , 14 },
{ 224, 76, 4 , 14 },
{ 236, 76, 4 , 14 },
{ 248, 76, 4 , 12 },
{ 260, 76, 5 , 10 },
{ 273, 76, 5 , 14 },
{ 286, 76, 5 , 14 },
{ 299, 76, 5 , 14 },
{ 312, 76, 5 , 14 },
{ 325, 76, 5 , 14 },
{ 338, 76, 5 , 12 },
{ 351, 76, 4 , 3 },
{ 363, 76, 5 , 10 },
{ 376, 76, 5 , 14 },
{ 389, 76, 5 , 14 },
{ 402, 76, 5 , 14 },
{ 415, 76, 5 , 12 },
{ 428, 76, 5 , 14 },
{ 441, 76, 5 , 10 },
{ 454, 76, 5 , 10 },
{ 467, 76, 5 , 10 },
{ 480, 76, 5 , 10 },
{ 493, 76, 5 , 10 },
{ 4, 100, 5 , 10 },
{ 17, 100, 5 , 9 },
{ 30, 100, 5 , 9 },
{ 43, 100, 5 , 7 },
{ 56, 100, 5 , 10 },
{ 69, 100, 5 , 10 },
{ 82, 100, 5 , 10 },
{ 95, 100, 5 , 10 },
{ 108, 100, 5 , 9 },
{ 121, 100, 4 , 10 },
{ 133, 100, 4 , 10 },
{ 145, 100, 4 , 10 },
{ 157, 100, 4 , 9 },
{ 169, 100, 5 , 10 },
{ 182, 100, 5 , 10 },
{ 195, 100, 5 , 10 },
{ 208, 100, 5 , 10 },
{ 221, 100, 5 , 10 },
{ 234, 100, 5 , 10 },
{ 247, 100, 5 , 9 },
{ 260, 100, 5 , 6 },
{ 273, 100, 5 , 7 },
{ 286, 100, 5 , 10 },
{ 299, 100, 5 , 10 },
{ 312, 100, 5 , 10 },
{ 325, 100, 5 , 9 },
{ 338, 100, 5 , 13 },
{ 351, 100, 5 , 10 },
{ 364, 100, 5 , 12 },
};
// Font glyphs info data
// NOTE: No glyphs.image data provided
static const GlyphInfo amberFontGlyphs[189] = {
{ 32, 0, 0, 5, { 0 }},
{ 33, 1, 3, 5, { 0 }},
{ 34, 0, 3, 5, { 0 }},
{ 35, 0, 3, 5, { 0 }},
{ 36, 0, 3, 5, { 0 }},
{ 37, 0, 3, 5, { 0 }},
{ 38, 0, 3, 5, { 0 }},
{ 39, 1, 4, 5, { 0 }},
{ 40, 0, 3, 5, { 0 }},
{ 41, 0, 3, 5, { 0 }},
{ 42, 0, 3, 5, { 0 }},
{ 43, 0, 7, 5, { 0 }},
{ 44, 0, 12, 5, { 0 }},
{ 45, 0, 9, 5, { 0 }},
{ 46, 1, 12, 5, { 0 }},
{ 47, 0, 3, 5, { 0 }},
{ 48, 0, 3, 5, { 0 }},
{ 49, 0, 3, 5, { 0 }},
{ 50, 0, 3, 5, { 0 }},
{ 51, 0, 3, 5, { 0 }},
{ 52, 0, 3, 5, { 0 }},
{ 53, 0, 3, 5, { 0 }},
{ 54, 0, 3, 5, { 0 }},
{ 55, 0, 3, 5, { 0 }},
{ 56, 0, 3, 5, { 0 }},
{ 57, 0, 3, 5, { 0 }},
{ 58, 0, 7, 5, { 0 }},
{ 59, 0, 7, 5, { 0 }},
{ 60, 0, 7, 5, { 0 }},
{ 61, 0, 8, 5, { 0 }},
{ 62, 0, 7, 5, { 0 }},
{ 63, 0, 3, 5, { 0 }},
{ 64, 0, 6, 5, { 0 }},
{ 65, 0, 3, 5, { 0 }},
{ 66, 0, 3, 5, { 0 }},
{ 67, 0, 3, 5, { 0 }},
{ 68, 0, 3, 5, { 0 }},
{ 69, 0, 3, 5, { 0 }},
{ 70, 0, 3, 5, { 0 }},
{ 71, 0, 3, 5, { 0 }},
{ 72, 0, 3, 5, { 0 }},
{ 73, 0, 3, 5, { 0 }},
{ 74, 0, 3, 5, { 0 }},
{ 75, 0, 3, 5, { 0 }},
{ 76, 0, 3, 5, { 0 }},
{ 77, 0, 3, 5, { 0 }},
{ 78, 0, 3, 5, { 0 }},
{ 79, 0, 3, 5, { 0 }},
{ 80, 0, 3, 5, { 0 }},
{ 81, 0, 3, 5, { 0 }},
{ 82, 0, 3, 5, { 0 }},
{ 83, 0, 3, 5, { 0 }},
{ 84, 0, 3, 5, { 0 }},
{ 85, 0, 3, 5, { 0 }},
{ 86, 0, 3, 5, { 0 }},
{ 87, 0, 3, 5, { 0 }},
{ 88, 0, 3, 5, { 0 }},
{ 89, 0, 3, 5, { 0 }},
{ 90, 0, 3, 5, { 0 }},
{ 91, 0, 3, 5, { 0 }},
{ 92, 0, 3, 5, { 0 }},
{ 93, 0, 3, 5, { 0 }},
{ 94, 0, 3, 5, { 0 }},
{ 95, 0, 12, 5, { 0 }},
{ 96, 1, 4, 5, { 0 }},
{ 97, 0, 6, 5, { 0 }},
{ 98, 0, 3, 5, { 0 }},
{ 99, 0, 6, 5, { 0 }},
{ 100, 0, 3, 5, { 0 }},
{ 101, 0, 6, 5, { 0 }},
{ 102, 0, 3, 5, { 0 }},
{ 103, 0, 6, 5, { 0 }},
{ 104, 0, 3, 5, { 0 }},
{ 105, 0, 3, 5, { 0 }},
{ 106, 0, 3, 5, { 0 }},
{ 107, 0, 3, 5, { 0 }},
{ 108, 0, 3, 5, { 0 }},
{ 109, 0, 6, 5, { 0 }},
{ 110, 0, 6, 5, { 0 }},
{ 111, 0, 6, 5, { 0 }},
{ 112, 0, 6, 5, { 0 }},
{ 113, 0, 6, 5, { 0 }},
{ 114, 0, 6, 5, { 0 }},
{ 115, 0, 6, 5, { 0 }},
{ 116, 0, 3, 5, { 0 }},
{ 117, 0, 6, 5, { 0 }},
{ 118, 0, 6, 5, { 0 }},
{ 119, 0, 6, 5, { 0 }},
{ 120, 0, 6, 5, { 0 }},
{ 121, 0, 6, 5, { 0 }},
{ 122, 0, 6, 5, { 0 }},
{ 123, 0, 3, 5, { 0 }},
{ 124, 1, 3, 5, { 0 }},
{ 125, 0, 3, 5, { 0 }},
{ 126, 0, 8, 5, { 0 }},
{ 161, 1, 4, 5, { 0 }},
{ 162, 0, 6, 5, { 0 }},
{ 163, 0, 3, 5, { 0 }},
{ 8364, 0, 3, 5, { 0 }},
{ 165, 0, 3, 5, { 0 }},
{ 352, 0, 0, 0, { 0 }},
{ 167, 0, 3, 5, { 0 }},
{ 353, 0, 0, 0, { 0 }},
{ 169, 0, 6, 5, { 0 }},
{ 170, 2, 3, 5, { 0 }},
{ 171, 0, 8, 5, { 0 }},
{ 172, 0, 6, 5, { 0 }},
{ 174, 0, 6, 5, { 0 }},
{ 175, 0, 3, 5, { 0 }},
{ 176, 1, 3, 5, { 0 }},
{ 177, 0, 5, 5, { 0 }},
{ 178, 2, 3, 5, { 0 }},
{ 179, 2, 3, 5, { 0 }},
{ 381, 0, 0, 0, { 0 }},
{ 181, 0, 6, 5, { 0 }},
{ 182, 0, 3, 5, { 0 }},
{ 183, 1, 6, 5, { 0 }},
{ 382, 0, 0, 0, { 0 }},
{ 185, 0, 3, 5, { 0 }},
{ 186, 0, 3, 5, { 0 }},
{ 187, 0, 8, 5, { 0 }},
{ 338, 0, 3, 5, { 0 }},
{ 339, 0, 6, 5, { 0 }},
{ 376, 0, 3, 5, { 0 }},
{ 191, 0, 3, 5, { 0 }},
{ 192, 0, -1, 5, { 0 }},
{ 193, 0, -1, 5, { 0 }},
{ 194, 0, -1, 5, { 0 }},
{ 195, 0, -1, 5, { 0 }},
{ 196, 0, 1, 5, { 0 }},
{ 197, 0, 1, 5, { 0 }},
{ 198, 0, 3, 5, { 0 }},
{ 199, 0, 3, 5, { 0 }},
{ 200, 0, -1, 5, { 0 }},
{ 201, 0, -1, 5, { 0 }},
{ 202, 0, -1, 5, { 0 }},
{ 203, 0, 1, 5, { 0 }},
{ 204, 0, -1, 5, { 0 }},
{ 205, 0, -1, 5, { 0 }},
{ 206, 0, -1, 5, { 0 }},
{ 207, 0, 1, 5, { 0 }},
{ 208, 0, 3, 5, { 0 }},
{ 209, 0, -1, 5, { 0 }},
{ 210, 0, -1, 5, { 0 }},
{ 211, 0, -1, 5, { 0 }},
{ 212, 0, -1, 5, { 0 }},
{ 213, 0, -1, 5, { 0 }},
{ 214, 0, 1, 5, { 0 }},
{ 215, 0, 10, 5, { 0 }},
{ 216, 0, 3, 5, { 0 }},
{ 217, 0, -1, 5, { 0 }},
{ 218, 0, -1, 5, { 0 }},
{ 219, 0, -1, 5, { 0 }},
{ 220, 0, 1, 5, { 0 }},
{ 221, 0, -1, 5, { 0 }},
{ 222, 0, 3, 5, { 0 }},
{ 223, 0, 3, 5, { 0 }},
{ 224, 0, 3, 5, { 0 }},
{ 225, 0, 3, 5, { 0 }},
{ 226, 0, 3, 5, { 0 }},
{ 227, 0, 3, 5, { 0 }},
{ 228, 0, 4, 5, { 0 }},
{ 229, 0, 4, 5, { 0 }},
{ 230, 0, 6, 5, { 0 }},
{ 231, 0, 6, 5, { 0 }},
{ 232, 0, 3, 5, { 0 }},
{ 233, 0, 3, 5, { 0 }},
{ 234, 0, 3, 5, { 0 }},
{ 235, 0, 4, 5, { 0 }},
{ 236, 0, 3, 5, { 0 }},
{ 237, 0, 3, 5, { 0 }},
{ 238, 0, 3, 5, { 0 }},
{ 239, 0, 4, 5, { 0 }},
{ 240, 0, 3, 5, { 0 }},
{ 241, 0, 3, 5, { 0 }},
{ 242, 0, 3, 5, { 0 }},
{ 243, 0, 3, 5, { 0 }},
{ 244, 0, 3, 5, { 0 }},
{ 245, 0, 3, 5, { 0 }},
{ 246, 0, 4, 5, { 0 }},
{ 247, 0, 7, 5, { 0 }},
{ 248, 0, 6, 5, { 0 }},
{ 249, 0, 3, 5, { 0 }},
{ 250, 0, 3, 5, { 0 }},
{ 251, 0, 3, 5, { 0 }},
{ 252, 0, 4, 5, { 0 }},
{ 253, 0, 3, 5, { 0 }},
{ 254, 0, 3, 5, { 0 }},
{ 255, 0, 4, 5, { 0 }},
};
// Style loading function: Amber
static void GuiLoadStyleAmber(void)
{
// Load style properties provided
// NOTE: Default properties are propagated
for (int i = 0; i < AMBER_STYLE_PROPS_COUNT; i++)
{
GuiSetStyle(amberStyleProps[i].controlId, amberStyleProps[i].propertyId, amberStyleProps[i].propertyValue);
}
// Custom font loading
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
int amberFontDataSize = 0;
unsigned char *data = DecompressData(amberFontData, AMBER_STYLE_FONT_ATLAS_COMP_SIZE, &amberFontDataSize);
Image imFont = { data, 512, 256, 1, 2 };
Font font = { 0 };
font.baseSize = 16;
font.glyphCount = 189;
// Load texture from image
font.texture = LoadTextureFromImage(imFont);
UnloadImage(imFont); // Uncompressed image data can be unloaded from memory
// Copy char recs data from global fontRecs
// NOTE: Required to avoid issues if trying to free font
font.recs = (Rectangle *)RAYGUI_MALLOC(font.glyphCount*sizeof(Rectangle));
memcpy(font.recs, amberFontRecs, font.glyphCount*sizeof(Rectangle));
// Copy font char info data from global fontChars
// NOTE: Required to avoid issues if trying to free font
font.glyphs = (GlyphInfo *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
memcpy(font.glyphs, amberFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
GuiSetFont(font);
// Setup a white rectangle on the font to be used on shapes drawing,
// it makes possible to draw shapes and text (full UI) in a single draw call
Rectangle fontWhiteRec = { 510, 254, 1, 1 };
SetShapesTexture(font.texture, fontWhiteRec);
//-----------------------------------------------------------------
// TODO: Custom user style setup: Set specific properties here (if required)
// i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT
}

View File

@ -0,0 +1,578 @@
//////////////////////////////////////////////////////////////////////////////////
// //
// StyleAsCode exporter v2.0 - Style data exported as a values array //
// //
// USAGE: On init call: GuiLoadStyleAshes(); //
// //
// more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com //
// //
// Copyright (c) 2020-2024 raylib technologies (@raylibtech) //
// //
//////////////////////////////////////////////////////////////////////////////////
#define ASHES_STYLE_PROPS_COUNT 16
// Custom style name: Ashes
static const GuiStyleProp ashesStyleProps[ASHES_STYLE_PROPS_COUNT] = {
{ 0, 0, 0xf0f0f0ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0x868686ff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, 0xe6e6e6ff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, 0x929999ff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, 0xeaeaeaff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, 0x98a1a8ff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, 0x3f3f3fff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, 0xf6f6f6ff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, 0x414141ff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, 0x8b8b8bff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, 0x777777ff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, 0x959595ff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE
{ 0, 18, 0x9dadb1ff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0x6b6b6bff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, 0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
};
// WARNING: This style uses a custom font: "v5loxical.ttf" (size: 16, spacing: 1)
#define ASHES_STYLE_FONT_ATLAS_COMP_SIZE 2042
// Font atlas image pixels data: DEFLATE compressed
static unsigned char ashesFontData[ASHES_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
0xdd, 0xd1, 0xb2, 0xab, 0x36, 0x0c, 0x05, 0x50, 0xff, 0xff, 0x4f, 0xab, 0x0f, 0x9d, 0x4e, 0xdb, 0x69, 0x13, 0x90, 0x2c,
0x83, 0x21, 0xeb, 0xae, 0xb7, 0x9c, 0xdc, 0x40, 0x0c, 0x1b, 0x63, 0x88, 0x45, 0x0c, 0x00, 0x00, 0x00, 0xe0, 0xe7, 0xc5,
0xff, 0xbe, 0x12, 0x1f, 0xdf, 0x19, 0xa7, 0x3f, 0xe7, 0xdf, 0xaf, 0xc7, 0x87, 0xbf, 0xe6, 0x3e, 0x2f, 0x4e, 0x2f, 0xb7,
0xf2, 0x97, 0xf8, 0xdf, 0xf5, 0x8b, 0xe9, 0xa5, 0xc6, 0xe9, 0x6f, 0xf3, 0xed, 0xbd, 0xdf, 0x96, 0xf9, 0xe9, 0x93, 0x22,
0xb1, 0x8c, 0xec, 0xfb, 0x3f, 0x7f, 0xce, 0xd5, 0x2d, 0x1e, 0x5f, 0xfe, 0xf2, 0xfd, 0xaf, 0xd9, 0xd7, 0xe3, 0xe4, 0xab,
0xdf, 0xfe, 0x12, 0x07, 0x7f, 0x39, 0x9b, 0xbb, 0x78, 0x40, 0xfe, 0xe3, 0xcb, 0xe7, 0x7d, 0xff, 0xc4, 0x98, 0x38, 0x26,
0x9c, 0x5b, 0xee, 0x95, 0xed, 0xf9, 0x69, 0x4f, 0xcf, 0x6d, 0xeb, 0xef, 0x6d, 0x9c, 0xcb, 0x5c, 0x34, 0xac, 0xff, 0x6c,
0xab, 0x45, 0xc3, 0xbb, 0xe3, 0xc4, 0xde, 0x92, 0xd9, 0x9b, 0xb3, 0x69, 0xab, 0xbd, 0x7f, 0x34, 0x6c, 0xaf, 0x6b, 0xf3,
0xff, 0xcf, 0x7f, 0x23, 0x75, 0x14, 0x1c, 0x4d, 0xf9, 0xcf, 0xf7, 0xb9, 0xdf, 0x8e, 0xbe, 0x71, 0xd1, 0xd9, 0xd4, 0xb9,
0x3d, 0xb4, 0xfe, 0x7a, 0xdf, 0xa7, 0x5f, 0x9d, 0xff, 0x68, 0xfc, 0x1f, 0x47, 0x6b, 0x17, 0xf2, 0x3f, 0xbd, 0x15, 0xa2,
0xd8, 0xdb, 0x56, 0x7b, 0xa2, 0xd9, 0xad, 0x1f, 0x8b, 0x7b, 0xfa, 0x55, 0x09, 0xad, 0x1d, 0xcd, 0x22, 0xf9, 0x7f, 0x72,
0x7d, 0x6c, 0x4c, 0x6f, 0xbd, 0xf3, 0xfb, 0x44, 0x7e, 0xfd, 0x8e, 0xf7, 0x00, 0xf9, 0xbf, 0x22, 0xff, 0x95, 0xe4, 0xc6,
0x92, 0xa3, 0x7f, 0xf5, 0xca, 0xc0, 0x8a, 0xb6, 0xcc, 0xe5, 0x3f, 0x1a, 0x5b, 0x20, 0xdb, 0x6f, 0xe7, 0xd7, 0xff, 0xec,
0x48, 0x3d, 0x6e, 0xec, 0xff, 0xbf, 0x1d, 0x1d, 0x33, 0x47, 0xcd, 0x6c, 0x3a, 0x73, 0xcb, 0xfd, 0x7b, 0x5d, 0xe7, 0xaf,
0x88, 0xac, 0xc8, 0x7f, 0xf5, 0xfc, 0xbf, 0x72, 0x86, 0x3a, 0x36, 0xc9, 0xf3, 0xf5, 0xf9, 0x8f, 0xf6, 0x16, 0x58, 0x99,
0xff, 0xb3, 0x6d, 0x1f, 0x0b, 0xc7, 0xff, 0xb9, 0xab, 0xab, 0xfb, 0xf7, 0xff, 0xf7, 0x5f, 0xff, 0x1b, 0xe5, 0xeb, 0x46,
0xd9, 0x6b, 0x80, 0x71, 0xea, 0xec, 0xe1, 0x29, 0xf9, 0xef, 0x38, 0xfe, 0x55, 0x47, 0x4a, 0x1d, 0x57, 0xb8, 0xb2, 0xf9,
0x8f, 0x86, 0xb6, 0x8f, 0xa5, 0x47, 0xff, 0x4a, 0xaf, 0x24, 0xff, 0xbd, 0xe3, 0xff, 0x38, 0x71, 0x06, 0x18, 0xaf, 0xe8,
0xff, 0xf3, 0xa3, 0x9c, 0x68, 0xb8, 0x07, 0x57, 0xb9, 0xbb, 0x9a, 0xed, 0x31, 0x2b, 0xf7, 0x24, 0x77, 0x68, 0x77, 0xfd,
0xff, 0x75, 0xdb, 0xa0, 0xb6, 0x2f, 0xfc, 0xf5, 0xff, 0x9e, 0xdf, 0xff, 0xef, 0xb4, 0x35, 0x90, 0xff, 0xab, 0xf7, 0xdb,
0xb8, 0xb5, 0x7f, 0x95, 0x7f, 0xbf, 0x60, 0xeb, 0xca, 0xff, 0xda, 0xdf, 0xff, 0xc4, 0x41, 0x6f, 0x38, 0x1e, 0xd9, 0xff,
0x5f, 0xb3, 0x36, 0x21, 0x79, 0xe0, 0x58, 0x2f, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xfc, 0xd0, 0xec, 0x99, 0xcc, 0xec, 0xe5, 0x6a, 0x15, 0xe0, 0x8e, 0xf7, 0x57, 0x97, 0x10, 0x6d, 0xf5, 0x1f, 0xfb,
0xaa, 0x49, 0x7e, 0x9e, 0x4d, 0x9a, 0x99, 0xf7, 0x9c, 0xab, 0x6f, 0x9e, 0xab, 0x24, 0x17, 0xc9, 0x9a, 0x6d, 0x91, 0xac,
0x5b, 0x9c, 0xdd, 0x8e, 0xf3, 0xb3, 0xec, 0xe7, 0xfe, 0xff, 0xdf, 0xb5, 0x2a, 0xfa, 0xf6, 0xe5, 0xd1, 0xd4, 0x32, 0xd7,
0xe5, 0x7f, 0xb4, 0xd7, 0x54, 0xcd, 0x57, 0xa8, 0xca, 0xd7, 0xc7, 0x1f, 0x9b, 0xe5, 0x3f, 0xb3, 0x3f, 0x66, 0xeb, 0xfe,
0x44, 0x61, 0x56, 0x64, 0x4c, 0xcf, 0xb7, 0x8c, 0x85, 0xfb, 0x5d, 0x57, 0x05, 0xc9, 0x31, 0x99, 0xff, 0x3b, 0xf7, 0xfd,
0x4a, 0x6d, 0x46, 0xf9, 0x7f, 0x43, 0xfe, 0x2b, 0xd5, 0x3d, 0x3b, 0xe6, 0x45, 0x77, 0xd5, 0xc7, 0x8d, 0xf4, 0x79, 0x51,
0x66, 0x7f, 0x88, 0xa9, 0xca, 0xea, 0x91, 0x3e, 0x0e, 0xef, 0x98, 0x7f, 0xfd, 0x7f, 0xa5, 0x36, 0xde, 0xdd, 0xf9, 0x9f,
0x7b, 0x22, 0xc0, 0xea, 0xea, 0x07, 0x6b, 0xfb, 0xa7, 0xde, 0xfe, 0x3f, 0x26, 0xf2, 0x9f, 0x7d, 0x86, 0xd9, 0x5e, 0xf9,
0x9f, 0x3f, 0xff, 0xaf, 0x57, 0x3b, 0xef, 0x1a, 0x05, 0x8f, 0x86, 0xe3, 0x7d, 0xf5, 0x49, 0x82, 0x5d, 0xf9, 0x1f, 0x85,
0xa7, 0xc0, 0xcd, 0x9e, 0x8f, 0x3e, 0x3b, 0xff, 0xb9, 0x2b, 0x11, 0xeb, 0xf2, 0xff, 0xec, 0xfe, 0x7f, 0xbc, 0xe0, 0xfc,
0xbf, 0x63, 0x7b, 0x8f, 0x4d, 0xcf, 0xff, 0xbb, 0x46, 0xd1, 0xef, 0xcb, 0x7f, 0xf6, 0x7b, 0x76, 0x7c, 0xfe, 0x5b, 0xcf,
0xff, 0xe5, 0xff, 0xed, 0xf9, 0xbf, 0xeb, 0x49, 0x66, 0x7b, 0xe4, 0x3f, 0x9a, 0xaa, 0xef, 0xca, 0xff, 0x5b, 0xf3, 0xbf,
0xeb, 0xf5, 0xbf, 0xe7, 0xe6, 0x7f, 0x94, 0xc6, 0x66, 0x73, 0xef, 0x7e, 0x42, 0xff, 0x3f, 0x0a, 0xd7, 0xac, 0xf2, 0x23,
0xd9, 0xeb, 0xc6, 0xff, 0xf2, 0x7f, 0xee, 0xee, 0xd9, 0xdd, 0xf9, 0x5f, 0x73, 0xff, 0xab, 0xef, 0xbc, 0xa0, 0xe3, 0xdd,
0x7b, 0x8f, 0xff, 0x57, 0xff, 0x16, 0x67, 0xed, 0xf2, 0x7b, 0xae, 0xb4, 0x45, 0xf9, 0xba, 0x7d, 0xcf, 0x6f, 0x49, 0xf2,
0xd7, 0xdf, 0xb2, 0x47, 0xce, 0x38, 0x78, 0x7f, 0x34, 0xf5, 0x73, 0x95, 0xea, 0xf0, 0x3b, 0xe4, 0x3f, 0xfb, 0xd4, 0x9f,
0xec, 0xbb, 0xf7, 0xc8, 0xff, 0xfa, 0x96, 0xbd, 0x3a, 0xff, 0x4f, 0xfc, 0xb5, 0xe2, 0xef, 0xb5, 0x42, 0x2c, 0x7e, 0xff,
0x6f, 0xef, 0x0b, 0x7b, 0x3d, 0x31, 0xcb, 0x76, 0xe5, 0xca, 0xbe, 0x15, 0xad, 0x05, 0x8e, 0xac, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x9b, 0xfb, 0x70, 0x34, 0x7f, 0x32, 0x9a, 0xaa, 0x20, 0x64, 0xeb, 0xc0,
0x8d, 0xd3, 0xb5, 0xf0, 0xa3, 0x54, 0x79, 0x76, 0xbe, 0xba, 0xc2, 0xf7, 0x19, 0xcd, 0x9f, 0xbf, 0x69, 0x14, 0x66, 0x09,
0x67, 0x9f, 0x6d, 0x50, 0xa9, 0xad, 0x50, 0x5f, 0x56, 0x14, 0xab, 0x48, 0xce, 0xb7, 0x41, 0x14, 0x9e, 0xef, 0x70, 0xf4,
0x5d, 0xf2, 0x5b, 0x21, 0xf3, 0x5a, 0x65, 0x6e, 0xf9, 0x38, 0xf1, 0xdc, 0x81, 0x38, 0x9c, 0xdf, 0xd0, 0x9b, 0xff, 0xd5,
0x75, 0xb0, 0x2b, 0xb5, 0x3c, 0xfe, 0xfb, 0xda, 0x7d, 0x75, 0x27, 0xbe, 0x1d, 0x77, 0x2a, 0x55, 0x28, 0xb2, 0xc7, 0xe1,
0xfc, 0x5e, 0x38, 0xb7, 0xac, 0x91, 0xda, 0x02, 0x95, 0x7a, 0xe6, 0x9d, 0x6d, 0x1a, 0x85, 0x9a, 0x17, 0xe7, 0x7b, 0x9f,
0x28, 0xb6, 0xfd, 0x4c, 0xcd, 0x9d, 0x33, 0x33, 0x8a, 0xa3, 0xb0, 0xe7, 0x75, 0xd5, 0xc1, 0x8d, 0x96, 0x4c, 0x77, 0x54,
0xc1, 0xca, 0xd5, 0xee, 0xcd, 0xce, 0x24, 0x8d, 0xc9, 0xfd, 0x38, 0xbf, 0x7f, 0x47, 0x4b, 0x35, 0xae, 0xe3, 0x65, 0xc5,
0x97, 0x65, 0x65, 0xf2, 0x5f, 0xef, 0x4b, 0xd7, 0xe7, 0x3f, 0xbf, 0x06, 0x99, 0x0a, 0x52, 0x73, 0xbd, 0xe3, 0x7c, 0xfe,
0x77, 0xed, 0xff, 0xef, 0xce, 0x7f, 0xbe, 0x06, 0xcc, 0xd1, 0x79, 0x77, 0x65, 0x2f, 0x8a, 0x52, 0x26, 0xb3, 0xfb, 0x60,
0xbd, 0xff, 0x8f, 0xd2, 0x39, 0x55, 0xe7, 0xb6, 0xbd, 0x22, 0xff, 0x63, 0x61, 0xfe, 0xef, 0xee, 0xff, 0xf7, 0xcc, 0x7f,
0x5f, 0x2d, 0xdf, 0xb9, 0xfc, 0xe7, 0x53, 0x3e, 0x8a, 0x6b, 0xde, 0x77, 0xfe, 0x1f, 0xe9, 0xf1, 0xd3, 0xcc, 0xb2, 0xa2,
0xe5, 0x5c, 0x6b, 0x1c, 0x3c, 0x9f, 0xf0, 0xf9, 0xf9, 0x1f, 0xc5, 0x33, 0xe0, 0xa3, 0xa7, 0x61, 0xe4, 0xdb, 0x67, 0x76,
0x84, 0xbb, 0xbe, 0x0a, 0xf2, 0xf5, 0xcf, 0xc1, 0x88, 0x86, 0xb3, 0xfc, 0xa3, 0xca, 0x85, 0xb1, 0x41, 0xfe, 0xeb, 0xd7,
0x87, 0xbb, 0xfa, 0xff, 0xee, 0xeb, 0xd6, 0x3d, 0xf9, 0x1f, 0xa5, 0x71, 0x4c, 0x5f, 0x3b, 0x8f, 0xa9, 0xfe, 0x7f, 0xbc,
0x2c, 0xff, 0xd7, 0x3f, 0x07, 0x23, 0x5a, 0x46, 0xf9, 0x51, 0x7c, 0xde, 0x50, 0xef, 0xf9, 0xff, 0xb7, 0xe7, 0xe2, 0x46,
0xf9, 0xd9, 0x70, 0x6b, 0xf3, 0x7f, 0xee, 0x6a, 0xf5, 0xca, 0xfc, 0x0f, 0xf9, 0x3f, 0x79, 0x87, 0xeb, 0xe8, 0x5e, 0xc5,
0x48, 0xdf, 0x75, 0x99, 0xbd, 0x77, 0x74, 0xe5, 0xf9, 0xff, 0x75, 0xfd, 0xff, 0x58, 0x72, 0xfd, 0x7f, 0x45, 0x3f, 0xfb,
0xa4, 0xfe, 0xff, 0xfb, 0x9e, 0xfd, 0x9c, 0xfc, 0x9f, 0x49, 0xdc, 0x78, 0x44, 0x45, 0xd1, 0xae, 0x4a, 0xd0, 0xd7, 0x5e,
0xff, 0xeb, 0xbe, 0x9f, 0xd1, 0x73, 0xfe, 0x9f, 0xef, 0x49, 0xe7, 0x46, 0xb9, 0x9d, 0xcb, 0xba, 0xee, 0xfc, 0xff, 0x1d,
0xf9, 0xef, 0x59, 0xbb, 0xfb, 0x2b, 0x20, 0xee, 0x99, 0xff, 0x51, 0xfc, 0x7d, 0xcd, 0xbd, 0xe7, 0xff, 0x57, 0xe6, 0x6c,
0x8f, 0x7d, 0xe6, 0xbd, 0xf9, 0x3f, 0xfa, 0xfd, 0xcf, 0x13, 0xb7, 0xdb, 0xec, 0xd1, 0x27, 0x16, 0xbd, 0xf7, 0xae, 0xb3,
0xa3, 0x98, 0xba, 0x56, 0x21, 0xff, 0x9d, 0xf9, 0x7f, 0x53, 0xc2, 0x9e, 0x92, 0xff, 0x55, 0x47, 0x8c, 0xa7, 0x3c, 0x19,
0x42, 0xfe, 0xaf, 0xcd, 0xff, 0xaf, 0x24, 0xec, 0xbd, 0xf9, 0x7f, 0xdf, 0xd1, 0x2c, 0x3b, 0x86, 0x8e, 0x0b, 0xc7, 0xdd,
0x71, 0xe3, 0x18, 0xbf, 0xba, 0x5e, 0xd7, 0xac, 0xf3, 0xae, 0x2d, 0xf3, 0x84, 0xb5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0x67, 0xb9, 0x44, 0xcb, 0x6c, 0xd9, 0x51, 0xaa, 0xc3, 0x9e, 0x9f, 0x0b, 0x99, 0xad,
0x35, 0x3f, 0x5a, 0xea, 0x14, 0x57, 0xaa, 0xc5, 0x1e, 0xcf, 0x37, 0x8d, 0x64, 0x5b, 0xde, 0xb5, 0xad, 0xa2, 0xbc, 0xf4,
0x95, 0xdb, 0xe4, 0xf3, 0xac, 0xa0, 0xfc, 0x93, 0x16, 0x2a, 0xd5, 0x33, 0xae, 0xcb, 0xc1, 0xea, 0xd9, 0xfc, 0xf9, 0xba,
0xfc, 0xf3, 0x55, 0x4f, 0xfb, 0x9e, 0x14, 0xd0, 0xfd, 0x2d, 0x32, 0x75, 0x5e, 0xcf, 0xb5, 0x42, 0x34, 0xb5, 0xe5, 0x5d,
0xdb, 0xea, 0x68, 0x8d, 0x62, 0xf9, 0xda, 0x76, 0xd5, 0xeb, 0x8e, 0x52, 0x3f, 0x78, 0x47, 0x0e, 0x2a, 0xfd, 0xd1, 0xfd,
0xb3, 0x5c, 0xe7, 0xe7, 0xf7, 0xd6, 0xf3, 0xff, 0xd4, 0xf3, 0xb1, 0x67, 0x7c, 0xa7, 0xef, 0xb5, 0xb4, 0x76, 0xfa, 0x0e,
0xd5, 0xfc, 0x77, 0x54, 0x97, 0xe9, 0x9c, 0xe7, 0x1e, 0x5f, 0x6a, 0x2e, 0x47, 0xeb, 0xf9, 0xff, 0x4e, 0xaf, 0x57, 0xf3,
0x9f, 0x1f, 0x2f, 0xcc, 0x8e, 0x2f, 0xe6, 0x9f, 0x50, 0x94, 0xaf, 0xde, 0x79, 0xdf, 0xeb, 0xdd, 0xcf, 0x48, 0x5a, 0xfd,
0x7a, 0x25, 0xff, 0xbb, 0xf6, 0x0d, 0x3d, 0xf9, 0x8f, 0x0d, 0xb7, 0x52, 0x7e, 0xf4, 0x36, 0x7f, 0x9e, 0x59, 0x3d, 0xbe,
0x74, 0xe7, 0x7f, 0xc7, 0xb6, 0xcf, 0x8f, 0xff, 0x9f, 0x97, 0xff, 0x28, 0xf4, 0xc3, 0xf7, 0xf5, 0x83, 0x99, 0xa7, 0x58,
0xd6, 0xc7, 0xf8, 0xfb, 0xef, 0x83, 0xf2, 0x7f, 0x77, 0xdb, 0x8f, 0x1f, 0xe8, 0xff, 0xf7, 0xd9, 0xef, 0xba, 0xc7, 0xc1,
0xf2, 0x2f, 0xff, 0xf2, 0x1f, 0x27, 0xc6, 0x63, 0x7b, 0xbc, 0x7e, 0x5d, 0xfe, 0x73, 0x95, 0xf9, 0xd7, 0xbf, 0x5e, 0xcb,
0xed, 0xda, 0x6d, 0x24, 0xff, 0xfb, 0xe5, 0x7f, 0xe6, 0x89, 0x61, 0x4f, 0x68, 0xf3, 0xde, 0xfb, 0x7f, 0xcf, 0x1a, 0x6b,
0xea, 0xff, 0xe5, 0xbf, 0x7e, 0xff, 0xff, 0x1d, 0xf9, 0xef, 0xbe, 0x97, 0xf7, 0x94, 0xeb, 0x7f, 0xe3, 0xe0, 0xb9, 0x40,
0x71, 0xcb, 0x73, 0xc4, 0xd6, 0xe4, 0xff, 0x19, 0xdb, 0xe4, 0x78, 0xaf, 0x7a, 0x52, 0xfe, 0x9f, 0xdf, 0xe6, 0x9d, 0xf7,
0x25, 0xdf, 0xf1, 0xbd, 0x9f, 0x99, 0xff, 0x37, 0x6c, 0x93, 0xa3, 0x11, 0xd3, 0x9e, 0xfd, 0xff, 0xf3, 0x73, 0x10, 0x8b,
0x7f, 0x83, 0xb2, 0x6f, 0xfe, 0xc7, 0x6b, 0xfa, 0xff, 0xe7, 0x6f, 0x93, 0xb8, 0xf1, 0x5b, 0xf4, 0xe6, 0x7f, 0xb7, 0xfb,
0x7f, 0x77, 0xff, 0x06, 0xed, 0x69, 0xe7, 0x3d, 0xcf, 0xfb, 0xfd, 0x4f, 0x6d, 0x4c, 0xfd, 0xa4, 0x7d, 0xf1, 0xae, 0x3b,
0xe7, 0x2a, 0xe2, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xd6, 0x55, 0xdf, 0x3c, 0x8a,
0x33, 0xab, 0xce, 0xbd, 0x56, 0xa9, 0xe6, 0x1e, 0xcb, 0xbe, 0x6b, 0xa5, 0x36, 0x4b, 0xb4, 0xcd, 0x5d, 0xea, 0xda, 0x32,
0x9f, 0x97, 0x1b, 0xc5, 0x2a, 0x2c, 0xbc, 0xeb, 0x08, 0xb0, 0xaa, 0x42, 0xfe, 0x68, 0xa8, 0x92, 0x5f, 0xab, 0xe6, 0x78,
0x4f, 0x2d, 0xf7, 0xb9, 0x99, 0xb2, 0xeb, 0xb6, 0x4c, 0x6f, 0x9d, 0x7c, 0xde, 0x75, 0x04, 0x58, 0xf9, 0x1c, 0x91, 0x68,
0xfc, 0xcc, 0xd8, 0xea, 0xbb, 0x8e, 0xaf, 0x33, 0xcf, 0x46, 0xa2, 0xf2, 0xc4, 0xfa, 0xb5, 0x8d, 0xd6, 0x96, 0x85, 0x3b,
0x8e, 0x59, 0xcf, 0xde, 0x4b, 0xf7, 0xeb, 0x51, 0xe5, 0xff, 0xd7, 0x92, 0xb4, 0x7a, 0x8e, 0xf8, 0x6c, 0x5d, 0x8e, 0xfc,
0x59, 0xea, 0x7e, 0x35, 0x1b, 0xa2, 0x30, 0xa7, 0x7f, 0x78, 0x4e, 0x06, 0x37, 0xf5, 0x3f, 0x9d, 0x75, 0x3b, 0xae, 0xcf,
0xff, 0x5e, 0xaf, 0xd7, 0xfa, 0x7f, 0xf9, 0x47, 0xfe, 0xe5, 0x5f, 0xfe, 0x91, 0xff, 0xf7, 0xe6, 0x3f, 0xe4, 0x9f, 0x5b,
0x47, 0xff, 0x2b, 0x9f, 0xdb, 0x21, 0xff, 0x73, 0x77, 0xff, 0xe4, 0x9f, 0x3b, 0xee, 0xfe, 0xf7, 0x55, 0xc8, 0x95, 0xff,
0xda, 0xaf, 0xaf, 0xe4, 0x1f, 0xf9, 0x7f, 0x7b, 0xff, 0x2f, 0xff, 0xb8, 0xff, 0x77, 0x4d, 0xfe, 0xd5, 0xc9, 0xce, 0xfd,
0x4a, 0x3a, 0xf7, 0x24, 0x44, 0xb8, 0xfe, 0xba, 0x85, 0xbd, 0xb1, 0xff, 0xb7, 0x99, 0x47, 0x2d, 0xab, 0xc5, 0xe1, 0x17,
0xe6, 0x7f, 0xc9, 0x3f, 0xfc, 0xda, 0xc8, 0xaf, 0xfb, 0xff, 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, 0x30, 0xe3, 0xcf, 0x7f, 0xda, 0x01, 0xe4, 0x1f, 0xf8, 0xb9, 0xfc, 0xff,
0x01 };
// Font glyphs rectangles data (on atlas)
static const Rectangle ashesFontRecs[189] = {
{ 4, 4, 4 , 16 },
{ 16, 4, 1 , 10 },
{ 25, 4, 3 , 3 },
{ 36, 4, 6 , 8 },
{ 50, 4, 5 , 11 },
{ 63, 4, 7 , 8 },
{ 78, 4, 6 , 9 },
{ 92, 4, 1 , 3 },
{ 101, 4, 3 , 12 },
{ 112, 4, 3 , 12 },
{ 123, 4, 5 , 5 },
{ 136, 4, 5 , 5 },
{ 149, 4, 2 , 2 },
{ 159, 4, 4 , 1 },
{ 171, 4, 1 , 1 },
{ 180, 4, 5 , 10 },
{ 193, 4, 4 , 8 },
{ 205, 4, 2 , 8 },
{ 215, 4, 4 , 8 },
{ 227, 4, 4 , 8 },
{ 239, 4, 6 , 8 },
{ 253, 4, 4 , 8 },
{ 265, 4, 4 , 8 },
{ 277, 4, 4 , 8 },
{ 289, 4, 4 , 8 },
{ 301, 4, 4 , 8 },
{ 313, 4, 1 , 5 },
{ 322, 4, 2 , 6 },
{ 332, 4, 4 , 7 },
{ 344, 4, 4 , 4 },
{ 356, 4, 4 , 7 },
{ 368, 4, 4 , 10 },
{ 380, 4, 8 , 7 },
{ 396, 4, 4 , 10 },
{ 408, 4, 4 , 10 },
{ 420, 4, 4 , 10 },
{ 432, 4, 4 , 10 },
{ 444, 4, 4 , 10 },
{ 456, 4, 5 , 10 },
{ 469, 4, 4 , 10 },
{ 481, 4, 4 , 10 },
{ 493, 4, 1 , 10 },
{ 4, 28, 3 , 10 },
{ 15, 28, 4 , 10 },
{ 27, 28, 4 , 10 },
{ 39, 28, 7 , 10 },
{ 54, 28, 4 , 10 },
{ 66, 28, 4 , 10 },
{ 78, 28, 4 , 10 },
{ 90, 28, 5 , 11 },
{ 103, 28, 4 , 10 },
{ 115, 28, 4 , 10 },
{ 127, 28, 5 , 10 },
{ 140, 28, 4 , 10 },
{ 152, 28, 4 , 10 },
{ 164, 28, 7 , 10 },
{ 179, 28, 4 , 10 },
{ 191, 28, 4 , 10 },
{ 203, 28, 4 , 10 },
{ 215, 28, 2 , 12 },
{ 225, 28, 5 , 10 },
{ 238, 28, 2 , 12 },
{ 248, 28, 5 , 3 },
{ 261, 28, 5 , 1 },
{ 274, 28, 2 , 2 },
{ 284, 28, 4 , 8 },
{ 296, 28, 4 , 10 },
{ 308, 28, 3 , 8 },
{ 319, 28, 4 , 10 },
{ 331, 28, 4 , 8 },
{ 343, 28, 3 , 10 },
{ 354, 28, 5 , 11 },
{ 367, 28, 4 , 10 },
{ 379, 28, 1 , 10 },
{ 388, 28, 3 , 13 },
{ 399, 28, 4 , 10 },
{ 411, 28, 2 , 10 },
{ 421, 28, 7 , 8 },
{ 436, 28, 4 , 8 },
{ 448, 28, 4 , 8 },
{ 460, 28, 4 , 11 },
{ 472, 28, 4 , 11 },
{ 484, 28, 3 , 8 },
{ 495, 28, 4 , 8 },
{ 4, 52, 3 , 10 },
{ 15, 52, 4 , 8 },
{ 27, 52, 5 , 8 },
{ 40, 52, 7 , 8 },
{ 55, 52, 4 , 8 },
{ 67, 52, 4 , 11 },
{ 79, 52, 4 , 8 },
{ 91, 52, 4 , 12 },
{ 103, 52, 1 , 10 },
{ 112, 52, 4 , 12 },
{ 124, 52, 4 , 2 },
{ 136, 52, 1 , 10 },
{ 145, 52, 4 , 12 },
{ 157, 52, 5 , 10 },
{ 170, 52, 5 , 10 },
{ 183, 52, 5 , 10 },
{ 196, 52, 6 , 13 },
{ 210, 52, 4 , 10 },
{ 222, 52, 6 , 13 },
{ 236, 52, 7 , 9 },
{ 251, 52, 3 , 7 },
{ 262, 52, 6 , 5 },
{ 276, 52, 6 , 13 },
{ 290, 52, 7 , 9 },
{ 305, 52, 4 , 1 },
{ 317, 52, 3 , 5 },
{ 328, 52, 5 , 7 },
{ 341, 52, 3 , 5 },
{ 352, 52, 6 , 13 },
{ 366, 52, 6 , 13 },
{ 380, 52, 4 , 11 },
{ 392, 52, 6 , 10 },
{ 406, 52, 3 , 3 },
{ 417, 52, 6 , 13 },
{ 431, 52, 2 , 5 },
{ 441, 52, 3 , 5 },
{ 452, 52, 6 , 5 },
{ 466, 52, 7 , 10 },
{ 481, 52, 7 , 8 },
{ 496, 52, 6 , 13 },
{ 4, 76, 4 , 10 },
{ 16, 76, 4 , 13 },
{ 28, 76, 4 , 13 },
{ 40, 76, 4 , 13 },
{ 52, 76, 4 , 13 },
{ 64, 76, 4 , 13 },
{ 76, 76, 4 , 13 },
{ 88, 76, 7 , 10 },
{ 103, 76, 4 , 13 },
{ 115, 76, 4 , 13 },
{ 127, 76, 4 , 13 },
{ 139, 76, 4 , 13 },
{ 151, 76, 4 , 13 },
{ 163, 76, 2 , 13 },
{ 173, 76, 2 , 13 },
{ 183, 76, 3 , 13 },
{ 194, 76, 3 , 13 },
{ 205, 76, 5 , 10 },
{ 218, 76, 4 , 13 },
{ 230, 76, 4 , 13 },
{ 242, 76, 4 , 13 },
{ 254, 76, 4 , 13 },
{ 266, 76, 4 , 13 },
{ 278, 76, 4 , 13 },
{ 290, 76, 5 , 5 },
{ 303, 76, 6 , 12 },
{ 317, 76, 4 , 13 },
{ 329, 76, 4 , 13 },
{ 341, 76, 4 , 13 },
{ 353, 76, 4 , 13 },
{ 365, 76, 4 , 13 },
{ 377, 76, 6 , 13 },
{ 391, 76, 5 , 12 },
{ 404, 76, 4 , 12 },
{ 416, 76, 4 , 12 },
{ 428, 76, 4 , 12 },
{ 440, 76, 4 , 12 },
{ 452, 76, 4 , 12 },
{ 464, 76, 4 , 12 },
{ 476, 76, 7 , 8 },
{ 491, 76, 3 , 11 },
{ 4, 100, 4 , 12 },
{ 16, 100, 4 , 12 },
{ 28, 100, 4 , 12 },
{ 40, 100, 4 , 12 },
{ 52, 100, 3 , 12 },
{ 63, 100, 3 , 12 },
{ 74, 100, 3 , 12 },
{ 85, 100, 3 , 12 },
{ 96, 100, 6 , 13 },
{ 110, 100, 4 , 12 },
{ 122, 100, 4 , 12 },
{ 134, 100, 4 , 12 },
{ 146, 100, 4 , 12 },
{ 158, 100, 4 , 12 },
{ 170, 100, 4 , 12 },
{ 182, 100, 5 , 5 },
{ 195, 100, 6 , 10 },
{ 209, 100, 4 , 12 },
{ 221, 100, 4 , 12 },
{ 233, 100, 4 , 12 },
{ 245, 100, 4 , 12 },
{ 257, 100, 4 , 15 },
{ 269, 100, 6 , 13 },
{ 283, 100, 4 , 15 },
};
// Font glyphs info data
// NOTE: No glyphs.image data provided
static const GlyphInfo ashesFontGlyphs[189] = {
{ 32, 0, 13, 4, { 0 }},
{ 33, 0, 3, 4, { 0 }},
{ 34, 0, 1, 5, { 0 }},
{ 35, 0, 4, 8, { 0 }},
{ 36, 0, 2, 7, { 0 }},
{ 37, 0, 5, 9, { 0 }},
{ 38, 0, 4, 8, { 0 }},
{ 39, 0, 1, 3, { 0 }},
{ 40, 0, 2, 5, { 0 }},
{ 41, 0, 2, 5, { 0 }},
{ 42, 0, 3, 7, { 0 }},
{ 43, 0, 6, 7, { 0 }},
{ 44, 0, 12, 4, { 0 }},
{ 45, 0, 9, 5, { 0 }},
{ 46, 0, 12, 3, { 0 }},
{ 47, 0, 3, 7, { 0 }},
{ 48, 0, 5, 6, { 0 }},
{ 49, 0, 5, 4, { 0 }},
{ 50, 0, 5, 6, { 0 }},
{ 51, 0, 5, 6, { 0 }},
{ 52, 0, 5, 8, { 0 }},
{ 53, 0, 5, 6, { 0 }},
{ 54, 0, 5, 6, { 0 }},
{ 55, 0, 5, 6, { 0 }},
{ 56, 0, 5, 6, { 0 }},
{ 57, 0, 5, 6, { 0 }},
{ 58, 0, 8, 3, { 0 }},
{ 59, 0, 8, 4, { 0 }},
{ 60, 0, 5, 6, { 0 }},
{ 61, 0, 7, 7, { 0 }},
{ 62, 0, 5, 6, { 0 }},
{ 63, 1, 3, 7, { 0 }},
{ 64, 0, 5, 10, { 0 }},
{ 65, 0, 3, 6, { 0 }},
{ 66, 0, 3, 6, { 0 }},
{ 67, 0, 3, 6, { 0 }},
{ 68, 0, 3, 6, { 0 }},
{ 69, 0, 3, 6, { 0 }},
{ 70, 0, 3, 6, { 0 }},
{ 71, 0, 3, 6, { 0 }},
{ 72, 0, 3, 6, { 0 }},
{ 73, 0, 3, 3, { 0 }},
{ 74, 0, 3, 5, { 0 }},
{ 75, 0, 3, 6, { 0 }},
{ 76, 0, 3, 6, { 0 }},
{ 77, 0, 3, 9, { 0 }},
{ 78, 0, 3, 6, { 0 }},
{ 79, 0, 3, 6, { 0 }},
{ 80, 0, 3, 6, { 0 }},
{ 81, 0, 3, 7, { 0 }},
{ 82, 0, 3, 6, { 0 }},
{ 83, 0, 3, 6, { 0 }},
{ 84, 0, 3, 6, { 0 }},
{ 85, 0, 3, 6, { 0 }},
{ 86, 0, 3, 6, { 0 }},
{ 87, 0, 3, 9, { 0 }},
{ 88, 0, 3, 6, { 0 }},
{ 89, 0, 3, 6, { 0 }},
{ 90, 0, 3, 6, { 0 }},
{ 91, 0, 2, 4, { 0 }},
{ 92, 0, 3, 7, { 0 }},
{ 93, 0, 2, 4, { 0 }},
{ 94, 0, 3, 7, { 0 }},
{ 95, 0, 12, 7, { 0 }},
{ 96, 0, 1, 4, { 0 }},
{ 97, 0, 5, 6, { 0 }},
{ 98, 0, 3, 6, { 0 }},
{ 99, 0, 5, 5, { 0 }},
{ 100, 0, 3, 6, { 0 }},
{ 101, 0, 5, 6, { 0 }},
{ 102, 0, 3, 5, { 0 }},
{ 103, 0, 5, 6, { 0 }},
{ 104, 0, 3, 6, { 0 }},
{ 105, 0, 3, 3, { 0 }},
{ 106, 0, 3, 5, { 0 }},
{ 107, 0, 3, 6, { 0 }},
{ 108, 0, 3, 4, { 0 }},
{ 109, 0, 5, 9, { 0 }},
{ 110, 0, 5, 6, { 0 }},
{ 111, 0, 5, 6, { 0 }},
{ 112, 0, 5, 6, { 0 }},
{ 113, 0, 5, 6, { 0 }},
{ 114, 0, 5, 5, { 0 }},
{ 115, 0, 5, 6, { 0 }},
{ 116, 0, 3, 5, { 0 }},
{ 117, 0, 5, 6, { 0 }},
{ 118, 0, 5, 7, { 0 }},
{ 119, 0, 5, 9, { 0 }},
{ 120, 0, 5, 6, { 0 }},
{ 121, 0, 5, 6, { 0 }},
{ 122, 0, 5, 6, { 0 }},
{ 123, 0, 2, 6, { 0 }},
{ 124, 0, 3, 3, { 0 }},
{ 125, 0, 2, 6, { 0 }},
{ 126, 0, 1, 6, { 0 }},
{ 161, 0, 4, 4, { 0 }},
{ 162, 0, 3, 6, { 0 }},
{ 163, 0, 3, 7, { 0 }},
{ 8364, 0, 3, 7, { 0 }},
{ 165, 0, 3, 7, { 0 }},
{ 352, 1, 0, 8, { 0 }},
{ 167, 0, 3, 6, { 0 }},
{ 353, 1, 0, 8, { 0 }},
{ 169, 0, 1, 9, { 0 }},
{ 170, 0, 1, 5, { 0 }},
{ 171, 0, 6, 8, { 0 }},
{ 172, 1, 0, 8, { 0 }},
{ 174, 0, 1, 9, { 0 }},
{ 175, 0, 0, 6, { 0 }},
{ 176, 0, 1, 5, { 0 }},
{ 177, 0, 5, 7, { 0 }},
{ 178, 0, 1, 5, { 0 }},
{ 179, 1, 0, 8, { 0 }},
{ 381, 1, 0, 8, { 0 }},
{ 181, 0, 5, 6, { 0 }},
{ 182, 0, 3, 8, { 0 }},
{ 183, 0, 7, 5, { 0 }},
{ 382, 1, 0, 8, { 0 }},
{ 185, 0, 1, 4, { 0 }},
{ 186, 0, 1, 5, { 0 }},
{ 187, 0, 6, 8, { 0 }},
{ 338, 0, 3, 9, { 0 }},
{ 339, 0, 5, 9, { 0 }},
{ 376, 1, 0, 8, { 0 }},
{ 191, 0, 4, 6, { 0 }},
{ 192, 0, 0, 6, { 0 }},
{ 193, 0, 0, 6, { 0 }},
{ 194, 0, 0, 6, { 0 }},
{ 195, 0, 0, 6, { 0 }},
{ 196, 0, 0, 6, { 0 }},
{ 197, 0, 0, 6, { 0 }},
{ 198, 0, 3, 9, { 0 }},
{ 199, 0, 3, 6, { 0 }},
{ 200, 0, 0, 6, { 0 }},
{ 201, 0, 0, 6, { 0 }},
{ 202, 0, 0, 6, { 0 }},
{ 203, 0, 0, 6, { 0 }},
{ 204, 0, 0, 4, { 0 }},
{ 205, 0, 0, 4, { 0 }},
{ 206, 0, 0, 5, { 0 }},
{ 207, 0, 0, 5, { 0 }},
{ 208, 0, 3, 7, { 0 }},
{ 209, 0, 0, 6, { 0 }},
{ 210, 0, 0, 6, { 0 }},
{ 211, 0, 0, 6, { 0 }},
{ 212, 0, 0, 6, { 0 }},
{ 213, 0, 0, 6, { 0 }},
{ 214, 0, 0, 6, { 0 }},
{ 215, 0, 7, 7, { 0 }},
{ 216, 0, 2, 8, { 0 }},
{ 217, 0, 0, 6, { 0 }},
{ 218, 0, 0, 6, { 0 }},
{ 219, 0, 0, 6, { 0 }},
{ 220, 0, 0, 6, { 0 }},
{ 221, 0, 0, 6, { 0 }},
{ 222, 1, 0, 8, { 0 }},
{ 223, 0, 3, 7, { 0 }},
{ 224, 0, 1, 6, { 0 }},
{ 225, 0, 1, 6, { 0 }},
{ 226, 0, 1, 6, { 0 }},
{ 227, 0, 1, 6, { 0 }},
{ 228, 0, 1, 6, { 0 }},
{ 229, 0, 1, 6, { 0 }},
{ 230, 0, 5, 9, { 0 }},
{ 231, 0, 5, 5, { 0 }},
{ 232, 0, 1, 6, { 0 }},
{ 233, 0, 1, 6, { 0 }},
{ 234, 0, 1, 6, { 0 }},
{ 235, 0, 1, 6, { 0 }},
{ 236, 0, 1, 5, { 0 }},
{ 237, 0, 1, 5, { 0 }},
{ 238, 0, 1, 5, { 0 }},
{ 239, 0, 1, 5, { 0 }},
{ 240, 1, 0, 8, { 0 }},
{ 241, 0, 1, 6, { 0 }},
{ 242, 0, 1, 6, { 0 }},
{ 243, 0, 1, 6, { 0 }},
{ 244, 0, 1, 6, { 0 }},
{ 245, 0, 1, 6, { 0 }},
{ 246, 0, 1, 6, { 0 }},
{ 247, 0, 7, 7, { 0 }},
{ 248, 0, 4, 8, { 0 }},
{ 249, 0, 1, 6, { 0 }},
{ 250, 0, 1, 6, { 0 }},
{ 251, 0, 1, 6, { 0 }},
{ 252, 0, 1, 6, { 0 }},
{ 253, 0, 1, 6, { 0 }},
{ 254, 1, 0, 8, { 0 }},
{ 255, 0, 1, 6, { 0 }},
};
// Style loading function: Ashes
static void GuiLoadStyleAshes(void)
{
// Load style properties provided
// NOTE: Default properties are propagated
for (int i = 0; i < ASHES_STYLE_PROPS_COUNT; i++)
{
GuiSetStyle(ashesStyleProps[i].controlId, ashesStyleProps[i].propertyId, ashesStyleProps[i].propertyValue);
}
// Custom font loading
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
int ashesFontDataSize = 0;
unsigned char *data = DecompressData(ashesFontData, ASHES_STYLE_FONT_ATLAS_COMP_SIZE, &ashesFontDataSize);
Image imFont = { data, 512, 256, 1, 2 };
Font font = { 0 };
font.baseSize = 16;
font.glyphCount = 189;
// Load texture from image
font.texture = LoadTextureFromImage(imFont);
UnloadImage(imFont); // Uncompressed image data can be unloaded from memory
// Copy char recs data from global fontRecs
// NOTE: Required to avoid issues if trying to free font
font.recs = (Rectangle *)RAYGUI_MALLOC(font.glyphCount*sizeof(Rectangle));
memcpy(font.recs, ashesFontRecs, font.glyphCount*sizeof(Rectangle));
// Copy font char info data from global fontChars
// NOTE: Required to avoid issues if trying to free font
font.glyphs = (GlyphInfo *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
memcpy(font.glyphs, ashesFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
GuiSetFont(font);
// Setup a white rectangle on the font to be used on shapes drawing,
// it makes possible to draw shapes and text (full UI) in a single draw call
Rectangle fontWhiteRec = { 510, 254, 1, 1 };
SetShapesTexture(font.texture, fontWhiteRec);
//-----------------------------------------------------------------
// TODO: Custom user style setup: Set specific properties here (if required)
// i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT
}

View File

@ -1,19 +1,19 @@
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
// // // //
// StyleAsCode exporter v1.2 - Style data exported as a values array // // StyleAsCode exporter v2.0 - Style data exported as a values array //
// // // //
// USAGE: On init call: GuiLoadStyleBluish(); // // USAGE: On init call: GuiLoadStyleBluish(); //
// // // //
// more info and bugs-report: github.com/raysan5/raygui // // more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com // // feedback and support: ray[at]raylibtech.com //
// // // //
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) // // Copyright (c) 2020-2024 raylib technologies (@raylibtech) //
// // // //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
#define BLUISH_STYLE_PROPS_COUNT 14 #define BLUISH_STYLE_PROPS_COUNT 14
// Custom style name: bluish // Custom style name: Bluish
static const GuiStyleProp bluishStyleProps[BLUISH_STYLE_PROPS_COUNT] = { static const GuiStyleProp bluishStyleProps[BLUISH_STYLE_PROPS_COUNT] = {
{ 0, 0, 0x5ca6a6ff }, // DEFAULT_BORDER_COLOR_NORMAL { 0, 0, 0x5ca6a6ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0xb4e8f3ff }, // DEFAULT_BASE_COLOR_NORMAL { 0, 1, 0xb4e8f3ff }, // DEFAULT_BASE_COLOR_NORMAL
@ -31,88 +31,161 @@ static const GuiStyleProp bluishStyleProps[BLUISH_STYLE_PROPS_COUNT] = {
{ 0, 19, 0xe8eef1ff }, // DEFAULT_BACKGROUND_COLOR { 0, 19, 0xe8eef1ff }, // DEFAULT_BACKGROUND_COLOR
}; };
// WARNING: This style uses a custom font: (size: 10, spacing: 1) // WARNING: This style uses a custom font: "homespun.ttf" (size: 10, spacing: 1)
#define BLUISH_COMPRESSED_DATA_SIZE 1423 #define BLUISH_STYLE_FONT_ATLAS_COMP_SIZE 2914
// Font image pixels data compressed (DEFLATE) // Font atlas image pixels data: DEFLATE compressed
// NOTE: Original pixel data simplified to GRAYSCALE static unsigned char bluishFontData[BLUISH_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
static unsigned char bluishFontData[BLUISH_COMPRESSED_DATA_SIZE] = { 0xed, 0x9d, 0xb1, 0x8e, 0x24, 0x49, 0x11, 0x86, 0x2b, 0xf3, 0x00, 0x09, 0x13, 0x01, 0x12, 0xe0, 0x20, 0x81, 0x90, 0xf0, 0x10,
0xdd, 0xd1, 0x72, 0x9b, 0x3a, 0x10, 0x00, 0x50, 0xc4, 0xff, 0x7f, 0x72, 0x41, 0x77, 0x1a, 0x3b, 0x99, 0xb9, 0x2d, 0x2b, 0x12, 0x2e, 0x16, 0x3c, 0x02, 0x2f, 0x02, 0x0e, 0xef, 0x81, 0x07, 0x12, 0x06, 0x12, 0xce, 0x99, 0x38, 0x48, 0x20, 0xe1,
0x58, 0x21, 0x08, 0x6d, 0x4f, 0xcf, 0xb4, 0x0f, 0x91, 0x51, 0x24, 0x2d, 0xe0, 0x34, 0x5a, 0x2f, 0x75, 0x02, 0x00, 0xf8, 0x81, 0x83, 0xc0, 0xc3, 0xc5, 0xe5, 0x2c, 0x8c, 0xc3, 0x81, 0x93, 0x26, 0x33, 0xd0, 0x4e, 0xcf, 0x2e, 0xe2, 0xae, 0xfe,
0xcd, 0x1c, 0x7c, 0x6d, 0x0e, 0x5f, 0x3d, 0x27, 0x7a, 0x7a, 0x7d, 0x7d, 0x6e, 0xb4, 0xe7, 0x7a, 0x9b, 0x13, 0x3d, 0xb4, 0xc8, 0x8a, 0xac, 0xa8, 0xea, 0xea, 0x9b, 0x6f, 0x3f, 0xed, 0x1a, 0x95, 0x5d, 0xd5, 0x99, 0x19, 0x59, 0x35, 0xb3, 0x9d,
0x5a, 0xda, 0x6d, 0xbf, 0x2a, 0x6f, 0x23, 0x56, 0x76, 0xfe, 0x5a, 0x8f, 0xed, 0x55, 0xca, 0xbc, 0x7e, 0x4e, 0xcd, 0x62, 0x5f, 0x47, 0xd8, 0x02, 0x00, 0x00, 0x00, 0xf0, 0x09, 0xaa, 0x38, 0x56, 0xe5, 0xab, 0x6b, 0xe0, 0x4a, 0xb7, 0xe3, 0xd5,
0x5b, 0x0d, 0xbe, 0xb6, 0x6e, 0xce, 0xb7, 0xd6, 0x12, 0xb4, 0xcc, 0xb5, 0x06, 0xe3, 0xa9, 0x1f, 0x47, 0x6d, 0xf7, 0xd8, 0x69, 0x8f, 0x5d, 0xad, 0x06, 0xae, 0xe0, 0xb5, 0xf8, 0x6d, 0x1f, 0xa7, 0xbc, 0x90, 0x31, 0xb3, 0xf5, 0xdd, 0x7c, 0xac,
0x3a, 0x6a, 0xeb, 0x7b, 0x2c, 0x1b, 0x7d, 0x2c, 0xe1, 0x59, 0xf1, 0xf3, 0x3b, 0x46, 0x2b, 0xb4, 0x06, 0xf1, 0xac, 0x9b, 0xcf, 0x52, 0xe4, 0xf5, 0x35, 0x34, 0x8a, 0x75, 0x4c, 0x1c, 0xeb, 0xab, 0xe3, 0x35, 0x2b, 0xa2, 0xa5, 0x9a, 0x89, 0xfe,
0xaf, 0x7d, 0x29, 0x87, 0x5e, 0xdd, 0xfa, 0x0e, 0xb5, 0x2e, 0x75, 0x79, 0xaf, 0xc7, 0xaf, 0xb3, 0xa8, 0xa9, 0xd7, 0xc7, 0xd8, 0xf3, 0x59, 0xeb, 0x57, 0xf4, 0xce, 0x5a, 0x7b, 0x8f, 0xb6, 0x72, 0x8d, 0x26, 0x57, 0xc5, 0x9b, 0x77, 0x54, 0x33,
0x2d, 0xe7, 0xe3, 0xbf, 0x7e, 0x8c, 0xa7, 0x6c, 0x5c, 0x07, 0x3f, 0xa3, 0xb5, 0x06, 0xf1, 0x8a, 0xc6, 0xf3, 0x5a, 0xb9, 0xd4, 0x45, 0x3c, 0x6d, 0xf5, 0xb5, 0x37, 0xca, 0xa6, 0x57, 0x7b, 0xef, 0x60, 0xd6, 0xac, 0xbd, 0xcc, 0xc7, 0xc7, 0x47,
0xb2, 0xd9, 0x63, 0xeb, 0xa8, 0xe9, 0xf0, 0x6a, 0x6f, 0x1f, 0xff, 0x1a, 0xe9, 0xf6, 0x3c, 0xca, 0x47, 0xdb, 0xd6, 0xda, 0x61, 0xa1, 0xd7, 0xeb, 0x96, 0xfd, 0xf1, 0xef, 0xcf, 0xfd, 0x29, 0x2b, 0xf7, 0xc1, 0x9b, 0x68, 0x75, 0x11, 0x2f, 0xd5,
0x2d, 0x83, 0xee, 0xab, 0xd1, 0x7c, 0xa7, 0xe6, 0xb5, 0xb5, 0xbd, 0x0a, 0x6b, 0xaa, 0xe5, 0x7c, 0xfc, 0xe3, 0x33, 0xba, 0x9f, 0xdb, 0xcc, 0x95, 0xd5, 0x2b, 0x7a, 0x67, 0x2d, 0x9b, 0x67, 0x7b, 0xfd, 0xfc, 0x5b, 0x4f, 0xd7, 0xc7, 0x51, 0x9e,
0xbe, 0xff, 0x46, 0x33, 0x5b, 0x82, 0xf1, 0x94, 0xa0, 0xa5, 0x7d, 0xd4, 0x99, 0xf8, 0x97, 0xf7, 0x48, 0xe7, 0xe0, 0x7a, 0xdb, 0xd6, 0xe6, 0xae, 0x25, 0x3d, 0x57, 0xd5, 0x78, 0x17, 0xf7, 0xde, 0x5a, 0x9f, 0x85, 0x1e, 0x6a, 0xd9, 0x1f, 0x7f,
0xae, 0xc1, 0x15, 0x7d, 0x65, 0xf4, 0xf3, 0xf1, 0x2f, 0xef, 0x73, 0xb5, 0x04, 0xef, 0x4a, 0xf7, 0xc6, 0xbf, 0xbc, 0xef, 0xbd, 0xa2, 0xed, 0xe5, 0xaf, 0x1a, 0x59, 0x13, 0xfd, 0x29, 0xa2, 0xc5, 0x3f, 0x6b, 0x4f, 0xfc, 0xcb, 0x4b, 0x4f, 0xab,
0xff, 0x73, 0x30, 0xfa, 0x12, 0x46, 0x3f, 0xbe, 0xdb, 0x66, 0xde, 0x57, 0x73, 0xd7, 0xff, 0x6b, 0x9d, 0xa3, 0x73, 0xeb, 0xb8, 0x9f, 0x4d, 0xdc, 0xd1, 0x47, 0x46, 0x3f, 0x1e, 0xff, 0xf2, 0xb2, 0x56, 0x8b, 0xf8, 0xa9, 0x74, 0x6e, 0xfc, 0xcb,
0xba, 0xd8, 0xb7, 0xe7, 0x9b, 0x8b, 0x7f, 0x0d, 0xdf, 0x79, 0x3e, 0xcf, 0xe2, 0xb3, 0xb3, 0x58, 0x07, 0x5d, 0xff, 0x6b, 0xcb, 0xf3, 0xbf, 0x8a, 0xde, 0x17, 0x19, 0x7d, 0xfd, 0xb4, 0x8d, 0xfc, 0x5c, 0x8d, 0xdd, 0xff, 0xb7, 0x79, 0x56, 0x6b,
0x38, 0x9e, 0xf2, 0xbe, 0xff, 0x6f, 0xcf, 0x39, 0x73, 0x15, 0x66, 0xe2, 0xbf, 0x17, 0xe3, 0x2b, 0xaf, 0xfd, 0xb8, 0xef, 0xeb, 0xb8, 0xd8, 0xfb, 0xe3, 0x8d, 0xc5, 0xdf, 0xe4, 0x4f, 0x9e, 0xb7, 0xab, 0x78, 0xef, 0x28, 0x7a, 0xd2, 0xfd, 0xdf,
0x7c, 0xfc, 0x5f, 0x3d, 0x6e, 0x7d, 0x97, 0xab, 0xcf, 0xe2, 0x29, 0xf5, 0xf3, 0x5f, 0x69, 0xfc, 0xcc, 0xf3, 0x79, 0xee, 0x65, 0x7f, 0xca, 0xcb, 0xf3, 0x7f, 0x7d, 0xcc, 0x91, 0xbb, 0x30, 0x12, 0xff, 0x51, 0x8c, 0x8f, 0xbc, 0xf7, 0xf5, 0xb5,
0x64, 0xe6, 0x37, 0x2a, 0xce, 0xf7, 0xab, 0xbb, 0x33, 0xc8, 0xc4, 0xbf, 0x84, 0xab, 0x5a, 0x6e, 0x7f, 0xff, 0x6f, 0xc5, 0xe3, 0xf1, 0xbf, 0x5d, 0x71, 0xed, 0x5d, 0x8e, 0x5e, 0xc5, 0x4b, 0xe8, 0xf7, 0xbf, 0xe2, 0xfc, 0xce, 0xf3, 0x76, 0xed,
0xbf, 0x35, 0xd2, 0x56, 0xfc, 0x73, 0xb3, 0xa8, 0xc9, 0x9f, 0xc1, 0x9f, 0x17, 0xff, 0xfa, 0xf5, 0xff, 0xa1, 0x63, 0x73, 0x44, 0xc6, 0x97, 0x15, 0xe7, 0xf3, 0xb1, 0xe1, 0x08, 0x22, 0xf1, 0x2f, 0x72, 0x56, 0xcb, 0xe9, 0x3f, 0xff, 0xbd, 0xf8,
0x8b, 0x5e, 0xdf, 0xea, 0xe9, 0x7b, 0x66, 0xdd, 0x33, 0x9e, 0xa7, 0xcd, 0x82, 0x33, 0x7e, 0x74, 0xc4, 0xf1, 0x87, 0xd8, 0x7b, 0x3d, 0xf5, 0xe2, 0x1f, 0x1b, 0x85, 0x05, 0x7f, 0x07, 0xbf, 0x5e, 0xfc, 0xed, 0xdd, 0xff, 0x87, 0xb6, 0x8d, 0x4d,
0x03, 0x00, 0x00, 0x00, 0x0c, 0xcb, 0xf2, 0x19, 0x95, 0x61, 0x32, 0xba, 0xe5, 0x5c, 0x56, 0x50, 0x9c, 0x9d, 0xd3, 0xca, 0xbd, 0xde, 0xbb, 0xd2, 0x7d, 0x46, 0x3d, 0xd3, 0x9f, 0xab, 0x8d, 0x02, 0xf6, 0xf0, 0x34, 0x11, 0xc7, 0x27, 0x62, 0x0f,
0x48, 0x6a, 0x8f, 0xf2, 0xae, 0xf5, 0x98, 0x6e, 0xca, 0xf9, 0xa9, 0x1d, 0x19, 0x29, 0x77, 0xb5, 0x2c, 0x87, 0xb3, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x66, 0xf9, 0x64, 0x19, 0x26, 0xd9, 0x2d, 0xfb, 0xac, 0x20, 0x6d, 0xe7,
0xb6, 0x77, 0x73, 0xe3, 0xec, 0x9c, 0x35, 0x58, 0xab, 0xbd, 0x51, 0xde, 0xb7, 0x1e, 0x73, 0xc7, 0xe8, 0x7a, 0x7e, 0x5b, 0x78, 0x46, 0x92, 0xdf, 0xcb, 0xb3, 0xe6, 0x63, 0x39, 0xc9, 0xf9, 0xb1, 0x09, 0x23, 0xe5, 0xac, 0x96, 0xb6, 0xd9, 0xc2,
0x5e, 0x77, 0x76, 0xe7, 0x96, 0x54, 0xcb, 0xba, 0xbb, 0xd7, 0x97, 0xcb, 0x7c, 0x39, 0xb7, 0xaf, 0xda, 0xca, 0xce, 0x8b, 0x58, 0xdf, 0xcd, 0xd5, 0x76, 0x4e, 0x17, 0x73, 0x35, 0xea, 0xe5, 0x79, 0xf3, 0x51, 0x27, 0x7a, 0x37, 0xf3, 0x69, 0xb9,
0xf2, 0x3f, 0x5a, 0xa3, 0x8c, 0xf2, 0x2a, 0x6a, 0xf7, 0xac, 0x97, 0xa1, 0xc7, 0x2c, 0x5d, 0xf1, 0x8f, 0x67, 0x15, 0xef, 0x0d, 0x76, 0xe7, 0x5a, 0xa8, 0xa5, 0x0f, 0xf7, 0xfa, 0x62, 0xe6, 0xcb, 0xbe, 0x7d, 0x55, 0xcf, 0xce, 0x53, 0xfe, 0x87,
0xcd, 0xb7, 0xb3, 0x1e, 0xe3, 0xde, 0x72, 0x2d, 0xc7, 0xb3, 0x0f, 0xa2, 0x18, 0xc7, 0x39, 0x12, 0xd9, 0xdc, 0x99, 0xda, 0xd7, 0x4b, 0xe5, 0x55, 0xd8, 0xf4, 0xa8, 0x5b, 0xea, 0x39, 0x6d, 0x2a, 0xfe, 0x7a, 0x54, 0x7a, 0x6f, 0xde, 0xb7, 0x1e,
0xc8, 0xab, 0xd8, 0x9b, 0xdb, 0x92, 0xda, 0x9b, 0xac, 0x3b, 0x6b, 0x78, 0x3e, 0x5b, 0xe6, 0x58, 0x76, 0xc6, 0xda, 0x98, 0xf5, 0xd5, 0x62, 0x2d, 0xdb, 0xed, 0x03, 0x15, 0x63, 0xed, 0x48, 0x44, 0xdd, 0x19, 0x73, 0xbc, 0x8a, 0xd1, 0xd8, 0x5a,
0x6f, 0x3b, 0xc3, 0x64, 0x4d, 0x1d, 0xb3, 0x0e, 0xc8, 0x57, 0xc9, 0x9e, 0x3d, 0xad, 0x3c, 0x9c, 0xb5, 0x11, 0xff, 0x39, 0x68, 0x6f, 0xd2, 0x06, 0x73, 0xb8, 0xdf, 0x96, 0xd9, 0x66, 0x67, 0x74, 0x67, 0xbc, 0xbe, 0x61, 0xd2, 0x43, 0xe7, 0xf4,
0x39, 0xb7, 0x57, 0xcb, 0x9c, 0xda, 0x0b, 0xae, 0x3b, 0x6b, 0x78, 0x3e, 0x5b, 0xe6, 0xd8, 0xfa, 0x95, 0xee, 0x3b, 0xf6, 0x04, 0x5f, 0x25, 0xba, 0x7a, 0x3c, 0x0f, 0xa7, 0x3b, 0xf1, 0xaf, 0xc1, 0xb1, 0xdd, 0x5a, 0x6a, 0x68, 0x2f, 0xd8, 0x06,
0xa8, 0x63, 0xae, 0x3b, 0x03, 0x6a, 0xba, 0x9f, 0xfa, 0x75, 0xa6, 0x8e, 0xbc, 0xff, 0x97, 0x8e, 0x77, 0xe4, 0x72, 0x3a, 0x73, 0xb8, 0xdf, 0x96, 0xd9, 0x36, 0x7f, 0x65, 0xfa, 0x89, 0x9d, 0x75, 0xce, 0x71, 0x2b, 0xc0, 0xc2, 0xd7, 0xb1, 0x77,
0x57, 0xe3, 0xf8, 0x1d, 0xbb, 0x2f, 0xc3, 0x64, 0xd4, 0x31, 0xcf, 0xca, 0xdd, 0x28, 0x9d, 0x77, 0xec, 0x7b, 0x5a, 0xae, 0x2b, 0x35, 0xf3, 0xf9, 0x5f, 0x26, 0x7e, 0x22, 0x97, 0xdd, 0xae, 0xc6, 0xf6, 0x27, 0xf6, 0x9c, 0x61, 0x92, 0x75, 0xce,
0x88, 0x7f, 0x6f, 0x86, 0xc9, 0x3a, 0xec, 0x98, 0xe9, 0xf6, 0x9c, 0x9e, 0x1a, 0x5e, 0xff, 0xad, 0xf5, 0x18, 0xb9, 0x86, 0xb5, 0xdc, 0x8d, 0x32, 0xf9, 0xc4, 0x3e, 0xa7, 0xe5, 0x88, 0xf8, 0xcf, 0x1a, 0x26, 0x3d, 0xed, 0x9c, 0xe5, 0x74, 0xa7,
0xad, 0x3c, 0xa0, 0xf6, 0x08, 0xfe, 0x05, 0x8b, 0xdf, 0xd9, 0x00, 0x00, 0x00, 0x00, 0x40, 0x22, 0xff, 0xa7, 0x9d, 0x7d, 0xc7, 0xe4, 0xfd, 0xef, 0xcd, 0x47, 0xe6, 0x1c, 0x7a, 0x1e, 0x90, 0xdf, 0x83, 0xd7, 0x40, 0xe3, 0x33, 0x1b, 0x00, 0x00,
0x93, 0xcb, 0x50, 0x69, 0x67, 0xed, 0x64, 0x6b, 0xf4, 0xcc, 0xb7, 0x67, 0xdd, 0x8c, 0x6e, 0xe9, 0x59, 0x8b, 0xbd, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xff, 0xe3, 0xdb, 0x37, 0x31, 0x43, 0xc5, 0xb7, 0x76, 0xa2, 0x39, 0x7a,
0xdc, 0x91, 0xfb, 0xbf, 0xef, 0x8e, 0x73, 0x4a, 0xa2, 0xdf, 0x6a, 0x2f, 0x1f, 0x47, 0x8d, 0xd9, 0xfd, 0xab, 0xbb, 0x23, 0xea, 0xe9, 0xd6, 0x4d, 0x76, 0xcb, 0xcc, 0x5c, 0x8c, 0x5a, 0x62, 0x67, 0x8e, 0x3f, 0xef, 0xd6, 0x4e, 0x89, 0xfa, 0x54,
0x7b, 0xfd, 0x3b, 0x3f, 0x30, 0x3f, 0xa9, 0x95, 0xb9, 0xf4, 0x39, 0xf2, 0x91, 0xbb, 0x85, 0xaf, 0x96, 0x65, 0x73, 0x2d, 0xbb, 0x3d, 0x9f, 0x95, 0xb3, 0xfb, 0x67, 0xc3, 0x9e, 0xdd, 0xfe, 0xad, 0x17, 0xf4, 0x93, 0x3c, 0x73, 0xe9, 0x6d, 0xcf,
0x7a, 0xf7, 0xd0, 0x7a, 0xf2, 0x50, 0xda, 0xbb, 0x61, 0xe3, 0xe2, 0xdf, 0x3b, 0xe7, 0x7b, 0x5b, 0xb2, 0x75, 0x44, 0x9e, 0x33, 0x77, 0x0b, 0x6f, 0x2d, 0x6d, 0x75, 0x2e, 0x66, 0xf7, 0xd0, 0x66, 0x3c, 0x14, 0x7f, 0x37, 0x2c, 0x2f, 0xfe, 0xb3,
0x17, 0xff, 0x56, 0x96, 0xcf, 0xa8, 0xf8, 0x9f, 0xcb, 0x83, 0x19, 0x17, 0xff, 0x9e, 0x1c, 0xae, 0x78, 0xec, 0xad, 0x3c, 0x63, 0x3e, 0xb7, 0x25, 0x9a, 0x47, 0xe4, 0x7a, 0xf1, 0xf7, 0x2c, 0x9f, 0xac, 0xf8, 0xef, 0xf3, 0x60, 0xf2, 0xe2, 0x3f,
0xa8, 0x3b, 0xe3, 0x1f, 0xd7, 0xd1, 0x3a, 0x12, 0xff, 0x7c, 0x96, 0x4f, 0x3e, 0xfe, 0xe7, 0xf2, 0x60, 0xc6, 0xc5, 0xbf, 0xe3, 0x70, 0xe9, 0xbe, 0x7b, 0x1e, 0xd4, 0x99, 0xf1, 0xd7, 0x79, 0xb4, 0xb6, 0xc4, 0x3f, 0x6e, 0xf9, 0xc4, 0xe3, 0xbf,
0x27, 0x87, 0x63, 0x6d, 0x54, 0x8b, 0x5a, 0xd3, 0xb5, 0x47, 0xea, 0x4e, 0x8e, 0xe1, 0xd2, 0x11, 0xff, 0x12, 0x8e, 0xf1, 0xcf, 0x83, 0xc9, 0x8b, 0xff, 0x8c, 0xc3, 0xd1, 0x9d, 0x6c, 0x51, 0x3d, 0x9c, 0x7b, 0xc4, 0x06, 0x8e, 0x61, 0x9b, 0x88,
0x6c, 0xfe, 0x67, 0xe6, 0xfa, 0x2f, 0x97, 0xe5, 0xc1, 0x8c, 0xbd, 0xff, 0x8f, 0x5a, 0x87, 0xb2, 0x93, 0x7d, 0x58, 0x3a, 0x7f, 0x91, 0x7d, 0xdc, 0xeb, 0x7f, 0x46, 0xee, 0xff, 0x72, 0x98, 0x07, 0x93, 0xfb, 0xfc, 0xcf, 0x9a, 0x87, 0x32, 0xb0,
0xb2, 0x45, 0xd6, 0xc1, 0x6b, 0x71, 0x2c, 0xdf, 0x61, 0x4c, 0xfc, 0x7b, 0xfa, 0x3a, 0x76, 0x4c, 0x36, 0xfe, 0xa5, 0x23, 0x0f, 0xcb, 0x84, 0x2d, 0xd2, 0x93, 0xe7, 0x62, 0x9b, 0xef, 0x90, 0x13, 0xff, 0x99, 0x6b, 0x6d, 0x3b, 0x27, 0x1a, 0xff,
0xfe, 0x23, 0xc7, 0xde, 0x8e, 0x7f, 0x69, 0x64, 0x8b, 0xec, 0x1f, 0x33, 0x3a, 0xfe, 0xbd, 0x59, 0x2d, 0x65, 0x60, 0x5f, 0x32, 0x11, 0xff, 0xcc, 0xbe, 0xfb, 0xf1, 0x2f, 0x8e, 0x2d, 0x32, 0x3e, 0x27, 0x3b, 0xfe, 0xb3, 0x56, 0x4b, 0x49, 0xbc,
0x75, 0x70, 0xfc, 0xf3, 0x79, 0x32, 0x63, 0xc7, 0xde, 0x8e, 0x7f, 0xff, 0xe8, 0x5e, 0x7f, 0xe6, 0x0b, 0x72, 0xe8, 0x51, 0x96, 0x25, 0xc7, 0x3f, 0xee, 0xc9, 0xe4, 0xf6, 0xdd, 0x8f, 0xff, 0x7c, 0xef, 0x6e, 0x7f, 0xea, 0x01, 0x0e, 0x3d, 0x90,
0x71, 0x06, 0x00, 0x00, 0x00, 0x00, 0xf5, 0x7f, 0xa6, 0xc6, 0x13, 0xa9, 0xda, 0x59, 0x46, 0xc7, 0xb3, 0x85, 0x3e, 0x33, 0x71, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0xff, 0xb3, 0x38, 0x15, 0xa9, 0x7c, 0xcb, 0x68, 0xbb,
0x28, 0xb6, 0xf3, 0x27, 0xc6, 0x54, 0xfa, 0xd9, 0x7f, 0x76, 0x57, 0xf6, 0xfb, 0x44, 0xab, 0xd5, 0x33, 0xb6, 0xab, 0x9f, 0x2d, 0xf4, 0xd6, 0xa0, 0x58, 0xf7, 0x27, 0x72, 0x32, 0xfd, 0x8c, 0x6b, 0x77, 0x45, 0xdf, 0x47, 0xcd, 0xd6, 0x4c, 0xdf,
0x71, 0x76, 0x2c, 0xcb, 0xa7, 0x95, 0xf7, 0x92, 0xfb, 0x0c, 0x6a, 0x54, 0x9b, 0x66, 0x0e, 0x2a, 0xdd, 0x64, 0x3f, 0xbb, 0x8e, 0xae, 0x71, 0xb6, 0xcd, 0xf2, 0xf1, 0xbc, 0x97, 0xd8, 0x77, 0x50, 0x55, 0x6e, 0x9a, 0x2a, 0x32, 0xdd, 0x44, 0xbf,
0xdf, 0xaa, 0x55, 0x11, 0xf7, 0x33, 0xb2, 0x8a, 0x45, 0x0d, 0xcf, 0xd7, 0xda, 0x31, 0xb6, 0x25, 0xf8, 0x6a, 0xd4, 0xc7, 0xbb, 0xef, 0xe5, 0xaa, 0xd0, 0xd7, 0xc9, 0xcc, 0x62, 0x61, 0x72, 0xbd, 0xda, 0x44, 0xdf, 0x9a, 0x38, 0xaa, 0xae, 0x51,
0xdc, 0xfd, 0x49, 0xe9, 0xfe, 0x5a, 0x0e, 0x47, 0x6b, 0x2a, 0xc5, 0x3b, 0x86, 0xaf, 0xbd, 0xee, 0xec, 0x19, 0xb0, 0x86, 0xa7, 0xbf, 0x29, 0x3d, 0x9f, 0xcb, 0x61, 0x6b, 0x4e, 0x25, 0xbd, 0x63, 0x78, 0xdb, 0xeb, 0x8e, 0xae, 0x80, 0x2e, 0xef,
0xd7, 0xd8, 0xf6, 0x58, 0xe7, 0x30, 0xbf, 0x65, 0x0a, 0x9f, 0x66, 0x96, 0xaf, 0x55, 0x53, 0x83, 0xa7, 0x86, 0xb5, 0xf7, 0xb1, 0xf5, 0xbe, 0x56, 0xe9, 0xb7, 0x2c, 0xb2, 0x9a, 0x59, 0x3c, 0x57, 0x8d, 0x89, 0xaa, 0x61, 0xfe, 0xfe, 0x91, 0xea,
0x8f, 0xa2, 0xb1, 0x45, 0x4f, 0x4b, 0x9a, 0x82, 0x3e, 0x96, 0xee, 0xcf, 0x84, 0xd7, 0x9d, 0xe7, 0x48, 0x65, 0x7a, 0x6e, 0x9b, 0xaa, 0x96, 0xb4, 0x88, 0x6b, 0xb4, 0xe9, 0xef, 0x84, 0xdb, 0xa0, 0x8e, 0x54, 0xe4, 0xca, 0xde, 0x0a, 0xf0, 0x2a,
0x9d, 0x01, 0xad, 0x27, 0xb9, 0x2d, 0x03, 0x9e, 0x55, 0x92, 0xaf, 0x55, 0xd3, 0xca, 0x3c, 0x68, 0xf7, 0x96, 0xad, 0xcd, 0xb9, 0xb5, 0x84, 0x5a, 0x25, 0xf1, 0x5c, 0x35, 0x9e, 0x79, 0xe0, 0x5f, 0x2d, 0x9a, 0x9b, 0x45, 0xaf, 0x99, 0xd8, 0x93,
0x12, 0x9f, 0x33, 0xb9, 0x3b, 0xc3, 0xa8, 0x0a, 0x33, 0xc7, 0xee, 0x9c, 0xa5, 0x31, 0xa3, 0x29, 0x7d, 0x06, 0x5c, 0xfb, 0x21, 0x2b, 0xc3, 0xcc, 0xb6, 0x27, 0x67, 0x71, 0x46, 0xb4, 0x84, 0x57, 0xc0, 0xb1, 0x95, 0x3c, 0x8e, 0x33, 0x0f, 0xb6,
0x24, 0x8f, 0xeb, 0x32, 0x0f, 0x8e, 0xce, 0x62, 0xf4, 0xce, 0xf2, 0xf1, 0xf8, 0x4f, 0xa7, 0x6a, 0x82, 0x94, 0xee, 0x5c, 0x8e, 0x22, 0x7b, 0x67, 0x79, 0x7b, 0xfc, 0x97, 0x5d, 0x39, 0x41, 0xca, 0xb4, 0x2b, 0x13, 0x5b, 0x01, 0x47, 0xc7, 0xff,
0x99, 0xdc, 0x19, 0x70, 0x75, 0xfc, 0xaf, 0xca, 0x3c, 0x18, 0x55, 0x81, 0x63, 0x7d, 0x68, 0xfc, 0xf7, 0xaa, 0xcd, 0xe4, 0x28, 0xf3, 0x20, 0x2b, 0x03, 0x47, 0xbf, 0x68, 0xfc, 0x47, 0xd9, 0x66, 0xe2, 0xb1, 0x8c, 0x1b, 0xa3, 0xcb, 0x5d, 0x9e,
0x63, 0x99, 0xcf, 0x18, 0x9d, 0xbe, 0xe5, 0xce, 0x30, 0xfa, 0x98, 0x29, 0xfd, 0x3f, 0x99, 0x67, 0xc4, 0xbf, 0xaf, 0x42, 0x0c, 0xd9, 0xe7, 0x2c, 0xe1, 0xff, 0xc9, 0x5c, 0x23, 0xfe, 0x73, 0x19, 0x6a, 0x4a, 0x38, 0x97, 0xd0, 0xbd, 0xe2, 0x1f,
0x4d, 0x49, 0xd7, 0x12, 0xfa, 0xae, 0xf8, 0xe7, 0x9f, 0x23, 0xd5, 0x77, 0xcc, 0xf8, 0xdc, 0xcb, 0x3b, 0xe2, 0xcf, 0x9f, 0xaf, 0x23, 0x35, 0x77, 0x4e, 0xbe, 0x7b, 0x79, 0x46, 0xfc, 0xe1, 0x71, 0x32, 0x1f, 0x35, 0xfc, 0x24, 0x00, 0x00, 0x00,
0x53, 0xf9, 0x68, 0x91, 0x9f, 0x04, 0x00, 0x00, 0x00, 0x40, 0x52, 0xf9, 0x9f, 0x4c, 0xf6, 0xca, 0xf7, 0xb7, 0xcc, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x52, 0xfe, 0x8f, 0x88, 0xbd, 0x72, 0xff, 0x96, 0x3a, 0xd8, 0xd5, 0x2a, 0xd3, 0x2d,
0xbb, 0x5a, 0xa5, 0xbb, 0xa5, 0x0c, 0xeb, 0xb3, 0x95, 0x63, 0x74, 0xf6, 0x99, 0x67, 0x9f, 0x7d, 0x97, 0x01, 0x3b, 0xe7, 0x25, 0xed, 0x9a, 0x9e, 0x63, 0xb4, 0xb7, 0xe6, 0xd9, 0xdb, 0x6b, 0x97, 0x69, 0xfb, 0xe7, 0x7f, 0x7b, 0xd0, 0xb7, 0x7f,
0xaf, 0x7f, 0xe7, 0x41, 0x3b, 0xeb, 0xe3, 0x5b, 0xae, 0xff, 0x34, 0xff, 0x15, 0xf5, 0x06, 0x5a, 0x15, 0x22, 0xe6, 0xc3, 0x6b, 0xd2, 0xce, 0x7a, 0x7e, 0xcb, 0xf1, 0xdf, 0xe6, 0x3f, 0x22, 0xdf, 0x80, 0x97, 0x21, 0xa2, 0x6e, 0x76, 0x2b, 0x9a,
0xb9, 0x15, 0x4b, 0xb8, 0xa7, 0xba, 0x36, 0x6a, 0x06, 0xe4, 0xf7, 0x20, 0xbe, 0xbf, 0xca, 0xce, 0x92, 0x7c, 0x0e, 0xd5, 0xdc, 0x53, 0xed, 0x32, 0x67, 0x40, 0x9b, 0xd8, 0x83, 0xb8, 0x7f, 0x96, 0x9d, 0x16, 0xac, 0x43, 0x55, 0x4f, 0xcc, 0xb1,
0x7c, 0x63, 0x8d, 0x8d, 0x75, 0x27, 0x1f, 0x26, 0x97, 0x43, 0x13, 0xd7, 0x50, 0x98, 0x52, 0xaf, 0x8d, 0x9e, 0x49, 0xf4, 0xd1, 0x07, 0x3e, 0x4c, 0xcc, 0xa1, 0xd1, 0x39, 0x14, 0x96, 0xd0, 0x6b, 0x55, 0x4d, 0xa2, 0xf2, 0x90, 0xf1, 0x5f, 0x82,
0x67, 0xc6, 0x7f, 0x4a, 0xe6, 0xf6, 0xad, 0x07, 0xea, 0x65, 0x8c, 0xaa, 0xb1, 0x51, 0x3a, 0x32, 0x7c, 0x4a, 0xe3, 0xf9, 0x6e, 0x5f, 0xdf, 0x90, 0x2f, 0x23, 0x2b, 0xc7, 0x46, 0x99, 0x30, 0x7c, 0x8a, 0x53, 0x7f, 0x2c, 0x16, 0x7f, 0x55, 0xad,
0x63, 0xb9, 0xf8, 0x47, 0x4f, 0xab, 0x5b, 0x4f, 0x3e, 0xf9, 0xe9, 0x9a, 0x2a, 0x1b, 0xe3, 0x9f, 0x60, 0x33, 0xae, 0x9a, 0x2e, 0xfe, 0x6c, 0x3c, 0x23, 0xcb, 0x46, 0x7e, 0x05, 0x9b, 0xbc, 0x6c, 0x1e, 0xf9, 0x39, 0x36, 0xbc, 0x9d, 0x72, 0xed,
0xc7, 0xf8, 0x1a, 0x1b, 0xad, 0x9d, 0xf2, 0x38, 0xaf, 0x32, 0x17, 0xff, 0xab, 0x6a, 0x3b, 0x5c, 0x53, 0x65, 0xa3, 0xb7, 0x55, 0xc6, 0xe2, 0x1f, 0xcd, 0xed, 0x70, 0x46, 0xfc, 0x67, 0x6b, 0xdb, 0xe4, 0x66, 0xe6, 0x28, 0x17, 0xc9, 0xb1, 0x11,
0x42, 0x48, 0x4f, 0x6e, 0x4f, 0x79, 0x48, 0x8d, 0x8d, 0x6c, 0x85, 0x90, 0xf3, 0xf7, 0xff, 0xe7, 0xee, 0x54, 0xdf, 0x53, 0xcd, 0x10, 0xb2, 0xff, 0xf9, 0x9f, 0xed, 0x23, 0xe4, 0xed, 0x54, 0x9f, 0x93, 0x67, 0x63, 0xc6, 0xd3, 0x39, 0x6a, 0x67,
0x67, 0xa3, 0x27, 0x4f, 0xe7, 0xaa, 0x9d, 0xf9, 0xfc, 0xee, 0x7c, 0x26, 0xb7, 0x52, 0x65, 0x97, 0x51, 0x79, 0x3a, 0x4f, 0x3e, 0xbe, 0x3b, 0x1f, 0x71, 0x2b, 0xfb, 0x43, 0xc5, 0xff, 0xca, 0x6e, 0xcf, 0x95, 0x38, 0xb2, 0xe6, 0x19, 0xf6, 0xcf,
0xf2, 0x94, 0x67, 0x9e, 0xf1, 0xa4, 0x73, 0xda, 0x1a, 0xfc, 0xdb, 0x59, 0x5e, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0xae, 0x69, 0xe6, 0xe0, 0x75, 0x5b, 0x5e, 0xcc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x93, 0x01,
0x68, 0x91, 0x39, 0x6d, 0x3e, 0x79, 0xfc, 0x8b, 0x56, 0xed, 0x5b, 0xf6, 0x35, 0xfb, 0x8e, 0x7d, 0xd7, 0xbe, 0xe2, 0x5c,
0xb1, 0xa6, 0xe5, 0x1b, 0x1a, 0x9d, 0x53, 0x83, 0x75, 0xca, 0x4a, 0xd8, 0xd7, 0xd9, 0x57, 0x8b, 0x2c, 0x36, 0xf3, 0xd1,
0x6b, 0x8d, 0xe2, 0xe1, 0xfb, 0x5f, 0x9e, 0x45, 0xb1, 0x9e, 0xb7, 0xe7, 0xe7, 0xf6, 0x64, 0x1f, 0xda, 0x3f, 0xed, 0x1f,
0xf6, 0x37, 0xfb, 0xd0, 0x3e, 0x2b, 0x3f, 0xc3, 0x5c, 0xf7, 0x52, 0xde, 0x8c, 0xe1, 0x29, 0x58, 0x4d, 0xcb, 0x3f, 0x47,
0x55, 0x08, 0x53, 0xd7, 0x2b, 0xcf, 0xd6, 0x44, 0x0b, 0xf9, 0x3a, 0xe3, 0x77, 0x52, 0xdf, 0xf1, 0x6e, 0xe1, 0x0a, 0x01,
0x7e, 0x55, 0xb1, 0x78, 0x3c, 0xe6, 0x32, 0xa7, 0xdc, 0xf6, 0xd7, 0xd6, 0xc6, 0xf4, 0x7b, 0xfb, 0x8f, 0xfd, 0xc0, 0xaa,
0xfd, 0xd0, 0xbe, 0x6a, 0x7f, 0xb5, 0xcf, 0xc9, 0xbc, 0x36, 0xeb, 0xe3, 0x6b, 0xd2, 0x87, 0xd1, 0xb9, 0x60, 0xbc, 0x73,
0xca, 0xcb, 0x2e, 0x60, 0x5d, 0xbd, 0x5f, 0xd6, 0xad, 0xac, 0xe2, 0xe6, 0xaa, 0xd1, 0xde, 0x50, 0x19, 0xe6, 0x39, 0x5a,
0x9b, 0x8b, 0x2e, 0x72, 0x0c, 0x75, 0x71, 0xe7, 0xa9, 0x7e, 0xab, 0xe3, 0xa3, 0x78, 0x8c, 0xf7, 0x1b, 0xd6, 0xb3, 0x20,
0x99, 0x18, 0xe9, 0xaf, 0xed, 0xcf, 0xf6, 0x0d, 0xfb, 0xb6, 0xfd, 0xcb, 0xfe, 0x6d, 0x1f, 0xd9, 0x67, 0x56, 0xef, 0x22,
0xe5, 0xe6, 0xe8, 0x27, 0xa5, 0x97, 0x0d, 0xa9, 0x38, 0x39, 0x9c, 0xba, 0x8c, 0xa7, 0xbe, 0xf7, 0xba, 0x5c, 0x9d, 0xde,
0x3c, 0xf5, 0xe1, 0xca, 0x51, 0x7b, 0xc3, 0x25, 0x34, 0x47, 0xaa, 0x72, 0xa0, 0xba, 0xff, 0x47, 0xf1, 0x18, 0xc7, 0xbf,
0x08, 0x43, 0x65, 0x7d, 0x8e, 0x7e, 0x61, 0x7f, 0xb7, 0xaf, 0xdb, 0x97, 0xec, 0x0b, 0xf6, 0x79, 0x7b, 0x5f, 0xc4, 0x4b,
0xad, 0xed, 0x51, 0x06, 0xa5, 0xb8, 0x01, 0x7a, 0x8b, 0xc7, 0x7a, 0xfc, 0x6b, 0x9a, 0x1d, 0x60, 0xef, 0x9e, 0x0b, 0x73,
0x75, 0xb6, 0x22, 0xcf, 0x7f, 0xf5, 0x13, 0x59, 0x3d, 0x53, 0x47, 0xf1, 0x98, 0x75, 0x28, 0x4c, 0xdc, 0x75, 0x7f, 0xb0,
0x9f, 0xd9, 0x4f, 0xed, 0x7b, 0xf6, 0x2b, 0xfb, 0xc8, 0x9a, 0x7d, 0x33, 0xb8, 0xb6, 0x4b, 0xb8, 0xde, 0xa0, 0x4d, 0xde,
0xff, 0x5d, 0xda, 0x77, 0xd7, 0x8e, 0xbf, 0xea, 0xb7, 0x3a, 0x3e, 0x8a, 0xc7, 0xac, 0x43, 0xa1, 0x5c, 0xc9, 0xf7, 0xed,
0xc7, 0xf6, 0x81, 0xfd, 0xd2, 0x7e, 0x64, 0xdf, 0xb7, 0xdf, 0xd8, 0x97, 0x27, 0xc6, 0x66, 0xa1, 0xdf, 0xbd, 0xbc, 0xdf,
0xca, 0xca, 0x20, 0xef, 0x54, 0x6e, 0x1e, 0xa1, 0x33, 0xde, 0x29, 0xce, 0x96, 0x78, 0xc4, 0x6d, 0x2c, 0xbd, 0x32, 0x7e,
0x62, 0xbf, 0xb5, 0x3f, 0xd9, 0x07, 0xf6, 0x3b, 0xfb, 0xa3, 0xfd, 0xc5, 0xde, 0x73, 0x4c, 0xba, 0x68, 0xcd, 0xbc, 0x59,
0xbf, 0xce, 0xe4, 0xef, 0x2a, 0xd9, 0xae, 0x51, 0xd6, 0x3b, 0x59, 0xa2, 0xbd, 0x34, 0x8a, 0xc7, 0xb5, 0xfc, 0x96, 0x99,
0xac, 0x7b, 0x8f, 0xed, 0x79, 0xc1, 0x96, 0x58, 0xce, 0x59, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0,
0xc5, 0xfe, 0xf1, 0xdd, 0x9a, 0x65, 0x53, 0x76, 0x89, 0xb1, 0x15, 0x14, 0x71, 0x5a, 0x8a, 0xcc, 0x61, 0x51, 0x37, 0xd4,
0xda, 0x2a, 0xa1, 0x91, 0xce, 0x1c, 0x1f, 0xf9, 0x3b, 0xfa, 0x78, 0x9e, 0x15, 0x35, 0xe3, 0x23, 0x45, 0x3f, 0x75, 0x6d,
0x6e, 0xe5, 0x9e, 0x88, 0x85, 0xa2, 0x6b, 0x89, 0x99, 0x70, 0x34, 0x9a, 0xf0, 0x04, 0x9a, 0x3c, 0xcb, 0x5e, 0x76, 0x1e,
0x4d, 0x66, 0xc4, 0x79, 0x92, 0xce, 0x8d, 0x3a, 0xfe, 0x9e, 0x8c, 0xf2, 0x93, 0xcc, 0xeb, 0xb3, 0x7e, 0x96, 0x3d, 0x1f,
0xef, 0xa1, 0xbe, 0x99, 0x5b, 0x85, 0xcd, 0x9c, 0xb6, 0xb6, 0xe9, 0x13, 0xf3, 0x51, 0xfc, 0xb7, 0x7b, 0x12, 0x63, 0x0b,
0xc5, 0xe4, 0x0e, 0xfe, 0xba, 0xa3, 0xa5, 0xb3, 0xed, 0xf8, 0x6d, 0xca, 0x9e, 0xf1, 0x73, 0x69, 0x69, 0x83, 0x23, 0xba,
0x62, 0x54, 0x2c, 0x9b, 0x34, 0x99, 0x7c, 0x2b, 0xa6, 0x3a, 0xee, 0x83, 0x97, 0x91, 0xa8, 0x9d, 0x1a, 0xff, 0xb1, 0x85,
0x12, 0x89, 0x7f, 0x77, 0x33, 0x24, 0x68, 0xbb, 0x64, 0x94, 0x11, 0x47, 0xbb, 0x58, 0x65, 0xea, 0xe9, 0x9b, 0xd3, 0xe2,
0xdf, 0xe5, 0x4d, 0xee, 0x7d, 0x7b, 0xf3, 0x10, 0xcf, 0xff, 0xb2, 0x66, 0x71, 0x6c, 0x8f, 0xff, 0xd8, 0x42, 0x31, 0x51,
0x03, 0x6f, 0xce, 0xc4, 0x8a, 0x65, 0x77, 0xf2, 0x57, 0xba, 0xce, 0xec, 0x74, 0x56, 0x8e, 0xbb, 0x99, 0x8c, 0x59, 0x9e,
0x65, 0xb3, 0x6c, 0xcc, 0x01, 0x66, 0x03, 0x5b, 0x63, 0x7b, 0xfc, 0xc7, 0x16, 0x4a, 0xc4, 0x69, 0x19, 0x9b, 0x38, 0x25,
0xb8, 0xab, 0xee, 0xf9, 0x45, 0x3a, 0x8f, 0xd0, 0x4c, 0x25, 0xc8, 0xb3, 0x5a, 0xbc, 0x79, 0x28, 0x1b, 0x23, 0xe7, 0xe7,
0xd0, 0x89, 0xc4, 0x7f, 0x9f, 0x85, 0x12, 0x33, 0x08, 0xe2, 0xfe, 0xe6, 0xd8, 0x22, 0xea, 0x77, 0xcf, 0x71, 0x19, 0x7f,
0x66, 0x74, 0xb9, 0x36, 0xb6, 0x1a, 0x13, 0xfe, 0x2b, 0x23, 0xf3, 0x7c, 0x96, 0x85, 0x32, 0x6b, 0xce, 0x94, 0x09, 0xbf,
0xe4, 0xdc, 0xec, 0x87, 0xf1, 0x96, 0x3e, 0x88, 0x1d, 0xf9, 0x46, 0xb6, 0x3e, 0xe9, 0xe2, 0xbf, 0x1d, 0xdf, 0xbb, 0x65,
0x64, 0xf5, 0x61, 0xd2, 0xec, 0xb7, 0xc8, 0x1e, 0x37, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x19,
0x2e, 0x4b, 0xb0, 0x86, 0x95, 0x6e, 0xd3, 0x47, 0x6b, 0x28, 0x6b, 0x8e, 0xe7, 0xdd, 0xdc, 0xdf, 0xef, 0x29, 0xee, 0x3e,
0x5d, 0x5e, 0x9f, 0xbd, 0x4f, 0x80, 0xf3, 0x0c, 0x17, 0xcf, 0x7d, 0xa8, 0xa1, 0x77, 0xa9, 0xce, 0x3b, 0x3c, 0x89, 0x3d,
0xaf, 0xb8, 0x77, 0x73, 0x7f, 0xbf, 0x47, 0x19, 0x1c, 0x55, 0x7a, 0x1f, 0x33, 0x7d, 0x1e, 0xad, 0x80, 0x2c, 0xc3, 0xc5,
0xf3, 0xce, 0x62, 0xef, 0xd2, 0x44, 0x8b, 0xbe, 0xbe, 0xfe, 0x7c, 0xbf, 0x39, 0x19, 0x84, 0xee, 0xed, 0xf7, 0xe8, 0x6a,
0x54, 0xca, 0xfb, 0xa8, 0x72, 0x05, 0xdc, 0x72, 0x5a, 0xd5, 0xe0, 0xd3, 0xff, 0x1c, 0x8f, 0x25, 0x9a, 0xd3, 0x4c, 0x1d,
0xbf, 0x39, 0x6f, 0x3a, 0x5b, 0x51, 0x2c, 0xe7, 0xd0, 0xfd, 0xfd, 0x9e, 0xee, 0xe6, 0x9b, 0x3a, 0x7e, 0xaf, 0x60, 0x94,
0x8f, 0xa7, 0x4f, 0x54, 0x64, 0x5c, 0xcf, 0x77, 0x64, 0xc2, 0xff, 0x88, 0x1d, 0x5f, 0x64, 0x46, 0x27, 0x73, 0x76, 0xc3,
0xaf, 0xb0, 0x57, 0x1f, 0x8b, 0xcc, 0xcd, 0x72, 0xb0, 0x13, 0xe2, 0x5f, 0x9c, 0x7a, 0x68, 0x79, 0x2d, 0xcb, 0xa0, 0xee,
0x5a, 0xd6, 0xf1, 0xeb, 0xee, 0xd5, 0x47, 0xe3, 0x6f, 0x27, 0xc5, 0xdf, 0x77, 0xdf, 0xb2, 0x5a, 0x88, 0x7f, 0x34, 0xfe,
0xfd, 0xa4, 0xe7, 0xbf, 0x76, 0xdf, 0x32, 0x5b, 0xce, 0x88, 0xbf, 0xb9, 0x35, 0xf5, 0x1e, 0x2d, 0xfe, 0xe5, 0x14, 0x57,
0x20, 0xbb, 0x8a, 0xa7, 0x9f, 0x4d, 0xee, 0xc8, 0xf8, 0xcf, 0x59, 0x1c, 0xe5, 0xce, 0x2d, 0x71, 0x5b, 0x25, 0xf3, 0x5d,
0xf2, 0xab, 0x78, 0xfa, 0x2d, 0xc7, 0x1d, 0xdf, 0xf3, 0x1d, 0x07, 0xbb, 0x63, 0x4b, 0xdc, 0xcb, 0xcb, 0x7c, 0x17, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x2d, 0xfe, 0x4f, 0xd4, 0xe5, 0x99, 0x31, 0x53, 0xaa, 0xeb, 0xe7, 0x5c, 0x35,
0xc7, 0x8e, 0x97, 0x4f, 0x48, 0xb7, 0xdc, 0xdb, 0xa9, 0xaa, 0xa1, 0xe8, 0xc7, 0x5d, 0x1e, 0xed, 0x99, 0xd8, 0xc4, 0x0e,
0xb8, 0xef, 0x06, 0xb5, 0x09, 0x07, 0xa7, 0x3a, 0x0e, 0x4e, 0x0b, 0xe5, 0xd8, 0xe8, 0x4e, 0x3e, 0x21, 0x73, 0x72, 0x17,
0x64, 0x8e, 0x48, 0xf7, 0xbb, 0x89, 0x55, 0xd1, 0xc2, 0x9f, 0x33, 0x3e, 0x85, 0xf2, 0xe5, 0x68, 0xcf, 0x64, 0x76, 0x07,
0x7c, 0xce, 0xc1, 0x69, 0x21, 0x07, 0xc7, 0xab, 0x22, 0x55, 0x07, 0x55, 0xba, 0xf4, 0x6e, 0x4b, 0xae, 0x53, 0x15, 0xeb,
0xb7, 0x9e, 0x81, 0x8c, 0xfc, 0x6f, 0xd9, 0x3b, 0x60, 0x45, 0x98, 0x6e, 0x33, 0x4f, 0xd8, 0x99, 0x16, 0x9d, 0xff, 0xc1,
0xab, 0xde, 0x37, 0x53, 0xc9, 0x28, 0xb7, 0xdf, 0x5e, 0x85, 0xbe, 0x12, 0xca, 0x64, 0x75, 0xdf, 0x6f, 0x38, 0x77, 0x51,
0x39, 0x27, 0xb7, 0x22, 0x90, 0x6e, 0x29, 0x32, 0x27, 0x4a, 0x71, 0x6b, 0x52, 0xf5, 0x70, 0x7d, 0x9c, 0x6c, 0x77, 0xa8,
0x38, 0x96, 0x60, 0xd9, 0x91, 0xfb, 0x69, 0xdf, 0xbd, 0xdc, 0x27, 0x72, 0xec, 0xf4, 0x89, 0xb8, 0x64, 0xb5, 0xd8, 0x54,
0x7d, 0xa9, 0x71, 0x7e, 0x94, 0xe3, 0xb3, 0x06, 0x75, 0xc7, 0xb7, 0xb9, 0x47, 0xfc, 0xc7, 0xf3, 0x15, 0x7f, 0x32, 0x9c,
0x73, 0x1f, 0x45, 0x57, 0xe0, 0x5c, 0x8e, 0x8d, 0x6c, 0xa7, 0xb2, 0x0c, 0xec, 0x8d, 0xb3, 0xe3, 0x5f, 0x06, 0xe7, 0xe8,
0xac, 0x5d, 0x76, 0x57, 0x07, 0x23, 0xfe, 0xbc, 0xde, 0x93, 0x69, 0x26, 0xaf, 0xc5, 0xaf, 0xd0, 0xb7, 0x37, 0xfe, 0x67,
0xd8, 0x2c, 0x57, 0x30, 0x50, 0x72, 0x33, 0x03, 0x9d, 0x37, 0xa2, 0xe8, 0x4a, 0xb3, 0x8b, 0xf6, 0xf5, 0xd3, 0x95, 0x19,
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xd1, 0xf3, 0xff, 0xd4, 0x70, 0xcb, 0x95, 0xb3, 0xec, 0xe4, 0xe5,
0x1f, 0xca, 0x76, 0x78, 0xe6, 0x5c, 0xaa, 0xb9, 0x4c, 0x3f, 0xca, 0x47, 0xa9, 0x81, 0xfc, 0x2b, 0x37, 0xeb, 0x44, 0x55,
0xaa, 0xaa, 0x27, 0xf8, 0x30, 0x33, 0x86, 0x8f, 0x3a, 0xea, 0xed, 0xfc, 0x9c, 0xe3, 0xf0, 0xe8, 0xab, 0xd9, 0xc0, 0xd9,
0xc9, 0xc9, 0xef, 0xde, 0x9c, 0xb9, 0x99, 0x59, 0x31, 0xed, 0x92, 0x86, 0xcf, 0x8c, 0x5b, 0x91, 0xeb, 0xf0, 0xe8, 0x19,
0x6d, 0xd2, 0x2f, 0xf0, 0xab, 0x2f, 0x66, 0x7d, 0x5a, 0x1d, 0xdd, 0x91, 0x6a, 0x61, 0x8b, 0xa2, 0xdc, 0xdd, 0x94, 0xe9,
0xae, 0xc3, 0xd3, 0x43, 0x11, 0x9b, 0x69, 0x19, 0xed, 0xa5, 0x96, 0x44, 0x97, 0x2e, 0x6b, 0xb7, 0xd2, 0x82, 0x4f, 0xcc,
0x6b, 0x67, 0xd9, 0x29, 0x4e, 0xf6, 0x93, 0x47, 0xac, 0xfc, 0x72, 0xaf, 0xf8, 0x3f, 0xe6, 0x8c, 0xf9, 0x39, 0x29, 0x1e,
0x2d, 0xca, 0x36, 0xe9, 0xab, 0xe4, 0xc4, 0xff, 0xda, 0xf3, 0x92, 0x97, 0x65, 0xe3, 0x9c, 0x9e, 0xcd, 0x19, 0x61, 0x99,
0xfb, 0xd5, 0xd1, 0xf8, 0x97, 0xe4, 0xd1, 0x9f, 0x61, 0xf8, 0xcc, 0x64, 0xd9, 0x38, 0xcb, 0x3d, 0x9a, 0xb5, 0x2c, 0x8e,
0xbe, 0xff, 0x33, 0xef, 0x98, 0x7b, 0x1b, 0x3e, 0x57, 0x76, 0x78, 0xe2, 0x2e, 0x9d, 0xf6, 0xd5, 0xe1, 0xd1, 0xd0, 0xb1,
0x7c, 0x3d, 0x95, 0xf9, 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, 0xe0, 0x2f, 0x00, 0xe6, 0xb9, 0xfd, 0x61, 0x1e, 0x88, 0x3f, 0xbc, 0xda, 0xf8, 0xff, 0x17 };
0xf0, 0x1f };
// Font characters rectangles data // Font glyphs rectangles data (on atlas)
static const Rectangle bluishFontRecs[95] = { static const Rectangle bluishFontRecs[189] = {
{ 4, 4, 5 , 10 }, { 4, 4, 5 , 10 },
{ 17, 4, 2 , 8 }, { 17, 4, 2 , 8 },
{ 27, 4, 4 , 3 }, { 27, 4, 4 , 3 },
@ -208,11 +281,105 @@ static const Rectangle bluishFontRecs[95] = {
{ 204, 76, 2 , 10 }, { 204, 76, 2 , 10 },
{ 214, 76, 4 , 8 }, { 214, 76, 4 , 8 },
{ 226, 76, 6 , 4 }, { 226, 76, 6 , 4 },
{ 240, 76, 2 , 8 },
{ 4, 94, 5 , 8 },
{ 17, 94, 5 , 8 },
{ 30, 94, 8 , 8 },
{ 46, 94, 6 , 8 },
{ 60, 94, 5 , 10 },
{ 73, 94, 5 , 10 },
{ 86, 94, 5 , 9 },
{ 99, 94, 7 , 8 },
{ 114, 94, 4 , 6 },
{ 126, 94, 5 , 4 },
{ 139, 94, 5 , 3 },
{ 152, 94, 7 , 8 },
{ 167, 94, 5 , 2 },
{ 180, 94, 4 , 4 },
{ 192, 94, 6 , 8 },
{ 206, 94, 4 , 6 },
{ 218, 94, 4 , 6 },
{ 230, 94, 8 , 8 },
{ 4, 112, 5 , 9 },
{ 17, 112, 6 , 8 },
{ 31, 112, 2 , 2 },
{ 41, 112, 8 , 8 },
{ 57, 112, 3 , 6 },
{ 68, 112, 4 , 6 },
{ 80, 112, 5 , 4 },
{ 93, 112, 6 , 8 },
{ 107, 112, 6 , 6 },
{ 121, 112, 5 , 10 },
{ 134, 112, 5 , 8 },
{ 147, 112, 5 , 10 },
{ 160, 112, 5 , 10 },
{ 173, 112, 5 , 10 },
{ 186, 112, 5 , 10 },
{ 199, 112, 5 , 10 },
{ 212, 112, 5 , 10 },
{ 225, 112, 6 , 8 },
{ 239, 112, 5 , 9 },
{ 4, 130, 5 , 10 },
{ 17, 130, 5 , 10 },
{ 30, 130, 5 , 10 },
{ 43, 130, 5 , 10 },
{ 56, 130, 4 , 10 },
{ 68, 130, 4 , 10 },
{ 80, 130, 4 , 10 },
{ 92, 130, 4 , 10 },
{ 104, 130, 6 , 8 },
{ 118, 130, 5 , 10 },
{ 131, 130, 5 , 10 },
{ 144, 130, 5 , 10 },
{ 157, 130, 5 , 10 },
{ 170, 130, 5 , 10 },
{ 183, 130, 5 , 10 },
{ 196, 130, 4 , 4 },
{ 208, 130, 5 , 10 },
{ 221, 130, 5 , 10 },
{ 234, 130, 5 , 10 },
{ 4, 148, 5 , 10 },
{ 17, 148, 5 , 10 },
{ 30, 148, 5 , 10 },
{ 43, 148, 5 , 8 },
{ 56, 148, 5 , 8 },
{ 69, 148, 5 , 9 },
{ 82, 148, 5 , 9 },
{ 95, 148, 5 , 9 },
{ 108, 148, 5 , 9 },
{ 121, 148, 5 , 8 },
{ 134, 148, 5 , 10 },
{ 147, 148, 6 , 6 },
{ 161, 148, 5 , 7 },
{ 174, 148, 5 , 9 },
{ 187, 148, 5 , 9 },
{ 200, 148, 5 , 9 },
{ 213, 148, 5 , 8 },
{ 226, 148, 3 , 9 },
{ 237, 148, 3 , 9 },
{ 4, 166, 4 , 9 },
{ 16, 166, 4 , 8 },
{ 28, 166, 5 , 9 },
{ 41, 166, 5 , 9 },
{ 54, 166, 5 , 9 },
{ 67, 166, 5 , 9 },
{ 80, 166, 5 , 9 },
{ 93, 166, 5 , 9 },
{ 106, 166, 5 , 8 },
{ 119, 166, 4 , 6 },
{ 131, 166, 5 , 8 },
{ 144, 166, 5 , 9 },
{ 157, 166, 5 , 9 },
{ 170, 166, 5 , 9 },
{ 183, 166, 5 , 8 },
{ 196, 166, 5 , 10 },
{ 209, 166, 5 , 10 },
{ 222, 166, 5 , 9 },
}; };
// Font characters info data // Font glyphs info data
// NOTE: No chars.image data provided // NOTE: No glyphs.image data provided
static const GlyphInfo bluishFontChars[95] = { static const GlyphInfo bluishFontGlyphs[189] = {
{ 32, 0, 9, 5, { 0 }}, { 32, 0, 9, 5, { 0 }},
{ 33, 0, 1, 2, { 0 }}, { 33, 0, 1, 2, { 0 }},
{ 34, 0, 1, 4, { 0 }}, { 34, 0, 1, 4, { 0 }},
@ -308,9 +475,103 @@ static const GlyphInfo bluishFontChars[95] = {
{ 124, 0, 0, 2, { 0 }}, { 124, 0, 0, 2, { 0 }},
{ 125, 0, 1, 4, { 0 }}, { 125, 0, 1, 4, { 0 }},
{ 126, 0, 3, 6, { 0 }}, { 126, 0, 3, 6, { 0 }},
{ 161, 0, 1, 2, { 0 }},
{ 162, 0, 2, 5, { 0 }},
{ 163, 0, 1, 5, { 0 }},
{ 8364, 0, 1, 7, { 0 }},
{ 165, 0, 1, 6, { 0 }},
{ 352, 0, -1, 5, { 0 }},
{ 167, 0, 0, 5, { 0 }},
{ 353, 0, 0, 5, { 0 }},
{ 169, 0, 1, 7, { 0 }},
{ 170, 0, -1, 4, { 0 }},
{ 171, 0, 3, 5, { 0 }},
{ 172, 0, 4, 5, { 0 }},
{ 174, 0, 1, 7, { 0 }},
{ 175, 0, -1, 5, { 0 }},
{ 176, 0, -1, 4, { 0 }},
{ 177, 0, 1, 6, { 0 }},
{ 178, 0, -1, 4, { 0 }},
{ 179, 0, -1, 4, { 0 }},
{ 381, 0, 1, 7, { 0 }},
{ 181, 0, 1, 5, { 0 }},
{ 182, 0, 1, 6, { 0 }},
{ 183, 0, 4, 2, { 0 }},
{ 382, 0, 1, 7, { 0 }},
{ 185, 0, -1, 3, { 0 }},
{ 186, 0, -1, 4, { 0 }},
{ 187, 0, 3, 5, { 0 }},
{ 338, 0, 1, 6, { 0 }},
{ 339, 0, 3, 6, { 0 }},
{ 376, 0, -1, 5, { 0 }},
{ 191, 0, 1, 5, { 0 }},
{ 192, 0, -1, 5, { 0 }},
{ 193, 0, -1, 5, { 0 }},
{ 194, 0, -1, 5, { 0 }},
{ 195, 0, -1, 5, { 0 }},
{ 196, 0, -1, 5, { 0 }},
{ 197, 0, -1, 5, { 0 }},
{ 198, 0, 1, 6, { 0 }},
{ 199, 0, 1, 5, { 0 }},
{ 200, 0, -1, 5, { 0 }},
{ 201, 0, -1, 5, { 0 }},
{ 202, 0, -1, 5, { 0 }},
{ 203, 0, -1, 5, { 0 }},
{ 204, 0, -1, 4, { 0 }},
{ 205, 0, -1, 4, { 0 }},
{ 206, 0, -1, 4, { 0 }},
{ 207, 0, -1, 4, { 0 }},
{ 208, 0, 1, 6, { 0 }},
{ 209, 0, -1, 5, { 0 }},
{ 210, 0, -1, 5, { 0 }},
{ 211, 0, -1, 5, { 0 }},
{ 212, 0, -1, 5, { 0 }},
{ 213, 0, -1, 5, { 0 }},
{ 214, 0, -1, 5, { 0 }},
{ 215, 0, 3, 4, { 0 }},
{ 216, 0, 0, 5, { 0 }},
{ 217, 0, -1, 5, { 0 }},
{ 218, 0, -1, 5, { 0 }},
{ 219, 0, -1, 5, { 0 }},
{ 220, 0, -1, 5, { 0 }},
{ 221, 0, -1, 5, { 0 }},
{ 222, 0, 1, 5, { 0 }},
{ 223, 0, 1, 5, { 0 }},
{ 224, 0, 0, 5, { 0 }},
{ 225, 0, 0, 5, { 0 }},
{ 226, 0, 0, 5, { 0 }},
{ 227, 0, 0, 5, { 0 }},
{ 228, 0, 1, 5, { 0 }},
{ 229, 0, -1, 5, { 0 }},
{ 230, 0, 3, 6, { 0 }},
{ 231, 0, 3, 5, { 0 }},
{ 232, 0, 0, 5, { 0 }},
{ 233, 0, 0, 5, { 0 }},
{ 234, 0, 0, 5, { 0 }},
{ 235, 0, 1, 5, { 0 }},
{ 236, 0, 0, 3, { 0 }},
{ 237, 0, 0, 2, { 0 }},
{ 238, 0, 0, 3, { 0 }},
{ 239, 0, 1, 3, { 0 }},
{ 240, 0, 0, 5, { 0 }},
{ 241, 0, 0, 5, { 0 }},
{ 242, 0, 0, 5, { 0 }},
{ 243, 0, 0, 5, { 0 }},
{ 244, 0, 0, 5, { 0 }},
{ 245, 0, 0, 5, { 0 }},
{ 246, 0, 1, 5, { 0 }},
{ 247, 0, 2, 4, { 0 }},
{ 248, 0, 2, 5, { 0 }},
{ 249, 0, 0, 5, { 0 }},
{ 250, 0, 0, 5, { 0 }},
{ 251, 0, 0, 5, { 0 }},
{ 252, 0, 1, 5, { 0 }},
{ 253, 0, 0, 5, { 0 }},
{ 254, 0, 0, 5, { 0 }},
{ 255, 0, 1, 5, { 0 }},
}; };
// Style loading function: bluish // Style loading function: Bluish
static void GuiLoadStyleBluish(void) static void GuiLoadStyleBluish(void)
{ {
// Load style properties provided // Load style properties provided
@ -323,32 +584,36 @@ static void GuiLoadStyleBluish(void)
// Custom font loading // Custom font loading
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
int bluishFontDataSize = 0; int bluishFontDataSize = 0;
unsigned char *data = DecompressData(bluishFontData, BLUISH_COMPRESSED_DATA_SIZE, &bluishFontDataSize); unsigned char *data = DecompressData(bluishFontData, BLUISH_STYLE_FONT_ATLAS_COMP_SIZE, &bluishFontDataSize);
Image imFont = { data, 256, 256, 1, 2 }; Image imFont = { data, 256, 256, 1, 2 };
Font font = { 0 }; Font font = { 0 };
font.baseSize = 10; font.baseSize = 10;
font.glyphCount = 95; font.glyphCount = 189;
// Load texture from image // Load texture from image
font.texture = LoadTextureFromImage(imFont); font.texture = LoadTextureFromImage(imFont);
UnloadImage(imFont); // Uncompressed data can be unloaded from memory UnloadImage(imFont); // Uncompressed image data can be unloaded from memory
// Copy char recs data from global fontRecs // Copy char recs data from global fontRecs
// NOTE: Required to avoid issues if trying to free font // NOTE: Required to avoid issues if trying to free font
font.recs = (Rectangle *)malloc(font.glyphCount*sizeof(Rectangle)); font.recs = (Rectangle *)RAYGUI_MALLOC(font.glyphCount*sizeof(Rectangle));
memcpy(font.recs, bluishFontRecs, font.glyphCount*sizeof(Rectangle)); memcpy(font.recs, bluishFontRecs, font.glyphCount*sizeof(Rectangle));
// Copy font char info data from global fontChars // Copy font char info data from global fontChars
// NOTE: Required to avoid issues if trying to free font // NOTE: Required to avoid issues if trying to free font
font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo)); font.glyphs = (GlyphInfo *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
memcpy(font.glyphs, bluishFontChars, font.glyphCount*sizeof(GlyphInfo)); memcpy(font.glyphs, bluishFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
GuiSetFont(font); GuiSetFont(font);
// Setup a white rectangle on the font to be used on shapes drawing, // Setup a white rectangle on the font to be used on shapes drawing,
// this way we make sure all gui can be drawn on a single pass because no texture change is required // it makes possible to draw shapes and text (full UI) in a single draw call
// NOTE: Setting up this rectangle is a manual process (for the moment) Rectangle fontWhiteRec = { 254, 254, 1, 1 };
Rectangle whiteChar = { 66, 5, 2, 2 }; SetShapesTexture(font.texture, fontWhiteRec);
SetShapesTexture(font.texture, whiteChar);
//-----------------------------------------------------------------
// TODO: Custom user style setup: Set specific properties here (if required)
// i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT
} }

View File

@ -0,0 +1,589 @@
//////////////////////////////////////////////////////////////////////////////////
// //
// StyleAsCode exporter v2.0 - Style data exported as a values array //
// //
// USAGE: On init call: GuiLoadStyleCandy(); //
// //
// more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com //
// //
// Copyright (c) 2020-2024 raylib technologies (@raylibtech) //
// //
//////////////////////////////////////////////////////////////////////////////////
#define CANDY_STYLE_PROPS_COUNT 17
// Custom style name: Candy
static const GuiStyleProp candyStyleProps[CANDY_STYLE_PROPS_COUNT] = {
{ 0, 0, 0xe58b68ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0xfeda96ff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, 0xe59b5fff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, 0xee813fff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, 0xfcd85bff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, 0xfc6955ff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, 0xb34848ff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, 0xeb7272ff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, 0xbd4a4aff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, 0x94795dff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, 0xc2a37aff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, 0x9c8369ff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, 0x0000000f }, // DEFAULT_TEXT_SIZE
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, 0xd77575ff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0xfff5e1ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, 0x00000016 }, // DEFAULT_TEXT_LINE_SPACING
};
// WARNING: This style uses a custom font: "v5easter.ttf" (size: 15, spacing: 0)
#define CANDY_STYLE_FONT_ATLAS_COMP_SIZE 2260
// Font atlas image pixels data: DEFLATE compressed
static unsigned char candyFontData[CANDY_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
0xdd, 0x4d, 0x92, 0xd4, 0x38, 0x10, 0x06, 0x50, 0xdd, 0x80, 0xfb, 0xcc, 0x61, 0xe6, 0x4a, 0x73, 0x45, 0x8e, 0xc0, 0x86,
0x25, 0xa1, 0x89, 0x61, 0x88, 0x20, 0x80, 0x2e, 0x4b, 0x4a, 0xa5, 0x6c, 0xd9, 0xf5, 0x78, 0x1b, 0xa2, 0xdd, 0x5d, 0x55,
0xfe, 0xf9, 0x2c, 0xc9, 0x2e, 0xa5, 0x6b, 0x01, 0x00, 0x00, 0x00, 0xde, 0xdc, 0x7f, 0xff, 0xfe, 0xfc, 0x59, 0xf9, 0xe0,
0xa7, 0x3f, 0x7f, 0xb7, 0x7e, 0xb8, 0xf4, 0x68, 0x49, 0xfc, 0x2f, 0x8f, 0x3f, 0x49, 0xdf, 0x2b, 0x94, 0x83, 0x25, 0xed,
0xcf, 0xfc, 0xfb, 0xcf, 0x6a, 0xca, 0xbb, 0xbf, 0x7a, 0x9d, 0xd6, 0x27, 0x8a, 0x2c, 0x3b, 0x7a, 0xd5, 0x7a, 0xb0, 0x4e,
0xa5, 0x63, 0x49, 0x0d, 0xad, 0x5d, 0x9d, 0xde, 0xab, 0x63, 0x7b, 0xa7, 0xbd, 0xfe, 0x65, 0x78, 0x1d, 0xcb, 0x82, 0x65,
0x75, 0x72, 0x1f, 0xaf, 0xcc, 0xff, 0xef, 0xff, 0x32, 0xf3, 0x7f, 0xfc, 0x9a, 0x33, 0xc7, 0xc4, 0xcf, 0xb5, 0xa9, 0x09,
0xf9, 0x1f, 0x3f, 0x8b, 0x1c, 0xaf, 0xc1, 0xeb, 0xa3, 0xb8, 0x0c, 0xff, 0x4d, 0xfb, 0xfc, 0x9a, 0xf9, 0xaa, 0x2b, 0x97,
0xf5, 0xa5, 0x76, 0xfe, 0x38, 0x6f, 0x7d, 0x9a, 0xb9, 0x7d, 0x78, 0xe6, 0xb2, 0xdc, 0xfc, 0xb7, 0x7e, 0x37, 0x7a, 0x66,
0x8f, 0xf7, 0x0e, 0x7a, 0x5b, 0xf3, 0x3a, 0x74, 0xec, 0xb7, 0x5b, 0xb1, 0x9c, 0x2d, 0x3c, 0xba, 0xc6, 0xc7, 0xe7, 0x92,
0xd6, 0xd2, 0xf9, 0x36, 0x77, 0xe4, 0xd8, 0xb8, 0xe2, 0x28, 0x6e, 0xef, 0xcd, 0x8c, 0x76, 0xa9, 0xfe, 0xb2, 0xb5, 0xe5,
0xbf, 0xf7, 0xa8, 0xad, 0x8b, 0x5b, 0xda, 0x32, 0xdc, 0xd2, 0xc6, 0xfa, 0x2c, 0x79, 0x5b, 0x38, 0x2b, 0xff, 0x75, 0x22,
0xfd, 0x25, 0xd0, 0xe3, 0x3c, 0x3e, 0x6b, 0xb7, 0x3e, 0x7f, 0xf4, 0x28, 0xc9, 0x3d, 0x66, 0x67, 0xf3, 0x7f, 0xdc, 0x1f,
0x2e, 0x87, 0xe7, 0x9b, 0xf3, 0x7a, 0x5c, 0x3b, 0xe5, 0x3f, 0xda, 0x43, 0xee, 0x1f, 0xdd, 0xe4, 0xb5, 0xff, 0xeb, 0xf3,
0xdf, 0x4a, 0x64, 0x1d, 0x1c, 0xa9, 0xe6, 0xb6, 0xc6, 0x3d, 0xe3, 0xe9, 0xe8, 0x19, 0x7d, 0x7c, 0x8c, 0x7b, 0x7e, 0xff,
0xbf, 0x3d, 0x6e, 0xac, 0xcb, 0x46, 0x4e, 0xf9, 0x09, 0xdb, 0xb7, 0xff, 0xdf, 0xd7, 0x2f, 0x58, 0xd3, 0xff, 0x6f, 0x8d,
0xff, 0xcb, 0xe9, 0xad, 0x7f, 0x2b, 0x59, 0xf1, 0xbd, 0x5f, 0x43, 0x3d, 0xa0, 0xb9, 0xab, 0x0a, 0xb1, 0xfd, 0x39, 0x97,
0xff, 0x15, 0x7d, 0x80, 0xd1, 0xd1, 0xdf, 0x33, 0xfa, 0xff, 0x91, 0x2d, 0x18, 0xbd, 0xce, 0x9c, 0xb5, 0x66, 0xe3, 0xd7,
0xf9, 0xaf, 0xdb, 0x62, 0x79, 0xe7, 0xf9, 0xd9, 0x2d, 0x98, 0xff, 0xaa, 0xb1, 0x5e, 0xf5, 0xe8, 0x51, 0x5c, 0x2f, 0xbd,
0x37, 0x56, 0x6f, 0x71, 0xe5, 0xf4, 0x8c, 0xf6, 0xbf, 0x75, 0xfd, 0x7f, 0xe6, 0xea, 0xc0, 0xd8, 0x9d, 0x8d, 0xba, 0xe1,
0xb1, 0x22, 0xff, 0x77, 0x69, 0xc5, 0xb2, 0x7a, 0xd5, 0xae, 0xff, 0x45, 0xee, 0x69, 0x67, 0xf4, 0xe7, 0xee, 0x92, 0xff,
0xda, 0x71, 0x36, 0xed, 0x5f, 0x12, 0xbf, 0xe3, 0xbe, 0xea, 0x5b, 0x05, 0xad, 0xbb, 0x8d, 0xe7, 0xdd, 0xc5, 0xde, 0x31,
0xff, 0xf7, 0xb8, 0xff, 0xbf, 0xc7, 0xb6, 0x5c, 0x3b, 0x92, 0xdb, 0x31, 0xff, 0xf0, 0x1e, 0xdf, 0x26, 0x3c, 0xef, 0x5b,
0x8b, 0xf2, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xdd, 0x67, 0xe7, 0xc4, 0x2b,
0x44, 0x8e, 0xcd, 0xb9, 0xa9, 0x4b, 0xea, 0x22, 0xc5, 0xe6, 0x46, 0x9f, 0x5b, 0xc3, 0x39, 0x5a, 0x35, 0x7b, 0x6e, 0x5e,
0xf8, 0xeb, 0x7a, 0x42, 0x33, 0xaf, 0x7b, 0x3c, 0x17, 0x79, 0x64, 0x5e, 0x76, 0xb4, 0xd6, 0xf9, 0x68, 0x4d, 0xa0, 0x48,
0xed, 0xa4, 0xd9, 0xda, 0xe9, 0xe3, 0x6b, 0x1c, 0x99, 0xc1, 0x3a, 0x3b, 0xe7, 0xed, 0xac, 0x8a, 0xcd, 0xd1, 0x9c, 0xf6,
0x55, 0xbd, 0xad, 0xc3, 0x95, 0xea, 0x76, 0xab, 0xd3, 0x90, 0x5d, 0x35, 0x63, 0x65, 0xfe, 0x4b, 0x57, 0x6d, 0xec, 0xbe,
0xf9, 0xce, 0x35, 0x71, 0x46, 0xfb, 0x79, 0x35, 0xf7, 0xca, 0xf4, 0x3e, 0x19, 0x6d, 0xa9, 0x9e, 0x9f, 0xff, 0xe8, 0xba,
0xb7, 0xb6, 0x6a, 0xdd, 0xb6, 0x8a, 0xfd, 0x95, 0xf9, 0x8f, 0xf6, 0xed, 0x8e, 0x5b, 0xbe, 0xf1, 0x8a, 0x07, 0xe7, 0x54,
0xb4, 0xa9, 0x1b, 0xe5, 0x7f, 0xfc, 0xdd, 0x56, 0xce, 0x61, 0x9f, 0x6b, 0x7b, 0x6b, 0x5a, 0xfe, 0xe3, 0x7d, 0x9f, 0xdd,
0xda, 0xf8, 0xdc, 0xaa, 0x39, 0xeb, 0xf2, 0x5f, 0xd2, 0xab, 0x32, 0xed, 0x99, 0xff, 0x9e, 0xf6, 0x21, 0x32, 0x36, 0x18,
0xff, 0xcb, 0xe8, 0x19, 0x77, 0xf4, 0xdd, 0x22, 0xed, 0xff, 0xf1, 0x5a, 0xde, 0xb9, 0xfd, 0xdf, 0x25, 0xff, 0x65, 0xab,
0xfe, 0xff, 0xec, 0xd1, 0x38, 0x96, 0xf3, 0xeb, 0x6a, 0xb3, 0xed, 0xfe, 0x24, 0xa3, 0x91, 0x2d, 0x3e, 0x5b, 0x1d, 0x39,
0x7a, 0xdd, 0x21, 0xf3, 0x89, 0x4d, 0xf7, 0xba, 0xc6, 0x55, 0xde, 0x72, 0xfc, 0x1f, 0xbf, 0xee, 0x2b, 0xff, 0xb3, 0xfd,
0xe9, 0x72, 0x41, 0xfe, 0x57, 0x6d, 0xbb, 0x3b, 0xe7, 0x7f, 0xa6, 0xe7, 0x77, 0x56, 0xfe, 0xcb, 0xcb, 0xa7, 0x50, 0xcd,
0xe6, 0x3f, 0xfe, 0x6c, 0x9c, 0xd1, 0x9c, 0xd7, 0x0b, 0xef, 0x6f, 0xad, 0x38, 0x07, 0xc6, 0xef, 0x37, 0x14, 0xf9, 0xbf,
0x55, 0xfe, 0xaf, 0x6f, 0xff, 0x7b, 0x9f, 0xad, 0xf8, 0xde, 0xf9, 0x2f, 0x53, 0xd7, 0xf8, 0x56, 0xfc, 0xdd, 0x6e, 0xfd,
0xff, 0xec, 0x73, 0xe7, 0xb9, 0xe7, 0xd3, 0x75, 0x7d, 0xdc, 0xd8, 0xf5, 0xa4, 0xd8, 0xd3, 0x0c, 0x62, 0x55, 0xb3, 0xd7,
0x1c, 0x53, 0x25, 0xfc, 0x0c, 0xaf, 0x32, 0x7c, 0x06, 0x90, 0xff, 0x5f, 0x97, 0xac, 0x7b, 0x3a, 0x32, 0xac, 0xce, 0xd3,
0xbd, 0xf2, 0x3f, 0xf7, 0x4d, 0x83, 0xfc, 0xa7, 0x0d, 0xd6, 0x0b, 0xda, 0x7f, 0x58, 0x7b, 0x97, 0x3d, 0xef, 0xf7, 0xc9,
0xe8, 0xd3, 0x03, 0xef, 0xdb, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x38, 0x57,
0xe0, 0xf5, 0x2c, 0xcf, 0xe3, 0x2a, 0x18, 0x25, 0x58, 0x05, 0xbb, 0x74, 0x54, 0x4e, 0xae, 0xc1, 0xf7, 0x1b, 0x99, 0xa5,
0xbc, 0x5b, 0x2d, 0x82, 0xd1, 0xfa, 0x88, 0x23, 0xb5, 0xb1, 0xcb, 0x70, 0x9d, 0xaf, 0x68, 0x15, 0x9b, 0x32, 0x59, 0x73,
0x34, 0x3e, 0xff, 0x2e, 0x3a, 0x83, 0xfa, 0x68, 0x7f, 0x7e, 0xaa, 0xdf, 0xea, 0x97, 0xef, 0xbe, 0xd6, 0x7f, 0x86, 0xdf,
0xb5, 0x76, 0xcd, 0xf7, 0x9b, 0xdd, 0x27, 0x3d, 0x5b, 0x28, 0x92, 0xff, 0x1d, 0xab, 0xee, 0x65, 0x55, 0xf9, 0xb8, 0x53,
0xbd, 0xed, 0x91, 0x3a, 0xbc, 0xed, 0x7a, 0x1e, 0xf3, 0xf9, 0xef, 0xad, 0x29, 0x50, 0x27, 0xab, 0x7e, 0x8e, 0x9e, 0x2b,
0x8e, 0xb7, 0xcb, 0xd1, 0xdc, 0xe4, 0xd7, 0xad, 0xdc, 0xa7, 0xfa, 0xf9, 0xc7, 0xff, 0xfe, 0xfe, 0x30, 0xff, 0x35, 0x3c,
0x1b, 0xa7, 0xfd, 0x89, 0x32, 0xe7, 0x57, 0xbf, 0x47, 0xfe, 0xc7, 0xcf, 0x99, 0x77, 0xa8, 0xb7, 0x5d, 0x12, 0x7e, 0x9a,
0x39, 0xf3, 0x3d, 0x5a, 0x53, 0x24, 0x9a, 0xff, 0x91, 0x34, 0xbd, 0x3e, 0xcb, 0x95, 0x8e, 0x0a, 0x6a, 0xa3, 0xf9, 0x6f,
0xbd, 0x6b, 0x24, 0xff, 0x75, 0xb8, 0xf6, 0x4a, 0xff, 0xb6, 0x1c, 0x6b, 0x5d, 0xf6, 0xcc, 0x7f, 0xa4, 0xc7, 0x59, 0x4f,
0xcc, 0xff, 0x5c, 0x8d, 0xaf, 0x72, 0x7a, 0xfe, 0x73, 0x9f, 0x53, 0xd1, 0x37, 0x92, 0xe9, 0x4d, 0x76, 0xff, 0xef, 0xd6,
0x46, 0x5b, 0xbc, 0x2e, 0xff, 0xf5, 0x83, 0xf7, 0x5f, 0xd5, 0xfe, 0xc7, 0xeb, 0xab, 0xd6, 0x83, 0x4f, 0xf8, 0x84, 0xfc,
0x97, 0x4d, 0xfa, 0xff, 0xf9, 0xcf, 0x52, 0xdb, 0x33, 0xff, 0xe3, 0x3d, 0xae, 0xf1, 0x76, 0x7d, 0xac, 0xaf, 0xd0, 0x1e,
0x01, 0xd4, 0xc0, 0x19, 0xa0, 0x27, 0xff, 0xb1, 0xf6, 0x3f, 0x3a, 0xfe, 0x8f, 0x27, 0xa3, 0x3e, 0xb6, 0xfd, 0xcf, 0x1d,
0xff, 0xaf, 0xaa, 0x45, 0x98, 0xfb, 0xbc, 0xad, 0xac, 0x5a, 0x9b, 0xb1, 0xbe, 0x56, 0xb4, 0xfd, 0x6f, 0xf5, 0x0e, 0x66,
0xf2, 0x5f, 0x26, 0x93, 0xf8, 0xf1, 0xf5, 0xbf, 0x55, 0xed, 0xff, 0xf9, 0xd7, 0xff, 0x6b, 0x20, 0x21, 0xab, 0xaa, 0x6e,
0xd6, 0xe1, 0x6b, 0x31, 0xb3, 0x55, 0xd5, 0xfa, 0xef, 0x34, 0xf4, 0x9c, 0x9b, 0x5f, 0xdf, 0xa5, 0xe8, 0xd9, 0x2a, 0x19,
0xa3, 0xbe, 0x5d, 0xfb, 0xff, 0xd7, 0xb4, 0xff, 0x3d, 0xad, 0x7f, 0xa4, 0x0e, 0xd9, 0xba, 0xeb, 0x7f, 0xd1, 0xf1, 0xd3,
0xdc, 0xfd, 0xbf, 0xeb, 0xeb, 0x08, 0x66, 0x5f, 0xf9, 0x39, 0xf3, 0xb5, 0xae, 0xfa, 0x44, 0x3b, 0xf6, 0xff, 0xe3, 0x63,
0xab, 0x91, 0x51, 0x7d, 0xde, 0xfd, 0xbf, 0x98, 0x56, 0xfe, 0xd7, 0xbc, 0xeb, 0xba, 0x63, 0x4e, 0xfe, 0xf7, 0xdc, 0x07,
0x7b, 0xe5, 0xbf, 0xf7, 0x29, 0xe6, 0x35, 0xfd, 0x4e, 0xfc, 0x6e, 0x7b, 0xb0, 0x9d, 0xff, 0x7b, 0x7d, 0xff, 0xe7, 0xfc,
0x27, 0x8f, 0x5e, 0x9d, 0xff, 0xdd, 0xce, 0x00, 0x59, 0x4f, 0xbc, 0x2e, 0x49, 0x7b, 0x32, 0x72, 0x17, 0x6f, 0xf7, 0xf3,
0xa5, 0xfc, 0xf3, 0xfc, 0xef, 0x6f, 0xd6, 0xc7, 0xf7, 0x9b, 0xae, 0xef, 0x5b, 0xcb, 0x3f, 0xbc, 0xaf, 0xf6, 0xf7, 0x7f,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xae, 0x9e, 0x0f, 0x58, 0x27, 0xe7, 0x0a, 0xc6, 0x2a,
0x0d, 0x95, 0xe6, 0x8c, 0xd3, 0x1a, 0xfe, 0x9d, 0x91, 0x75, 0x89, 0xd7, 0xb0, 0x88, 0xd4, 0xe0, 0x2e, 0x8d, 0xba, 0x35,
0x39, 0xdb, 0xe6, 0x9c, 0xf5, 0x6c, 0xd7, 0xda, 0x1b, 0x3b, 0x2e, 0x46, 0xb6, 0x54, 0xbb, 0x86, 0xca, 0x79, 0xdb, 0x21,
0xba, 0xbf, 0x6b, 0x63, 0x76, 0x77, 0x6d, 0x54, 0xae, 0xc9, 0xa9, 0x07, 0x50, 0x1b, 0x75, 0x54, 0xe2, 0xf3, 0xd5, 0x46,
0xcf, 0x00, 0xf5, 0x8f, 0xda, 0x4e, 0x35, 0xf4, 0x3b, 0xa3, 0x7b, 0x3d, 0xb6, 0xac, 0xa7, 0xaa, 0x63, 0x5e, 0xa5, 0xe8,
0xc8, 0xb6, 0x59, 0xbf, 0x9e, 0xe3, 0xc7, 0x45, 0x4d, 0x7a, 0x87, 0xde, 0xba, 0x24, 0xfb, 0xef, 0xef, 0x76, 0x05, 0xd9,
0xba, 0xac, 0xfd, 0xcf, 0xc8, 0xff, 0x58, 0x0d, 0xd6, 0x91, 0x3a, 0x63, 0x99, 0xf9, 0xdf, 0xab, 0x3f, 0x16, 0x7f, 0x1e,
0x44, 0x56, 0xc5, 0xfd, 0x7b, 0xcc, 0xda, 0x8d, 0x3f, 0x99, 0xe0, 0x3e, 0xfb, 0x7b, 0xf5, 0xfa, 0xf5, 0x9c, 0x29, 0xe7,
0xea, 0x42, 0x5c, 0x95, 0xff, 0xbc, 0xfe, 0x7f, 0xb4, 0x3f, 0x1d, 0x79, 0x26, 0xd2, 0x6c, 0x2d, 0xc5, 0x99, 0x27, 0x8b,
0x9c, 0xbd, 0x2e, 0x73, 0xa3, 0x82, 0x9e, 0x31, 0xeb, 0x0e, 0xdb, 0x61, 0x66, 0x1b, 0x95, 0xe0, 0x93, 0x17, 0xb2, 0xf2,
0x9f, 0x51, 0xcf, 0x74, 0x7c, 0xfc, 0xd7, 0xde, 0x56, 0xb9, 0xe7, 0xc5, 0xd8, 0xeb, 0xed, 0xba, 0xac, 0x4e, 0x8c, 0x63,
0xae, 0x7d, 0x92, 0x51, 0x4e, 0xfe, 0xfb, 0x7b, 0xb5, 0xbb, 0xef, 0xd3, 0xd2, 0x31, 0x4e, 0xde, 0x3f, 0xff, 0xa3, 0x9f,
0x25, 0xb3, 0x8f, 0x3b, 0x5b, 0x5d, 0xfa, 0x9a, 0x65, 0xf3, 0x4f, 0x2a, 0xd9, 0xfd, 0xd8, 0xbe, 0x3a, 0xff, 0x6b, 0x9e,
0x06, 0x93, 0xbd, 0x8d, 0x5a, 0xa3, 0x86, 0xac, 0xf6, 0xbf, 0x35, 0x02, 0xa9, 0x5b, 0x8c, 0x0b, 0xfb, 0xb2, 0x3d, 0x7e,
0xfd, 0x7f, 0xee, 0x58, 0x59, 0xb1, 0x6c, 0xfe, 0xb8, 0xdd, 0x37, 0xe3, 0xbb, 0xe4, 0xff, 0x0e, 0xe7, 0xc8, 0x78, 0xab,
0x9d, 0xd1, 0xf7, 0x3d, 0xbf, 0xfd, 0xcf, 0xc8, 0x7f, 0xfe, 0x15, 0xd0, 0x3b, 0x2e, 0x5b, 0x9f, 0xd5, 0xd9, 0x6b, 0x70,
0xf2, 0x2f, 0xff, 0xf1, 0xbe, 0x4a, 0x4d, 0xaf, 0x70, 0xb9, 0xe2, 0xe9, 0x60, 0x57, 0x8d, 0xff, 0x73, 0xaf, 0x43, 0xdd,
0xb5, 0xff, 0x7f, 0xf7, 0x7d, 0x3a, 0xd3, 0x6b, 0xa7, 0xbc, 0x55, 0xdf, 0x60, 0xf6, 0x6c, 0xff, 0xb4, 0xfc, 0x3f, 0x7b,
0x9f, 0x4a, 0xbd, 0xfc, 0xe7, 0x9e, 0x01, 0xd6, 0x65, 0x7c, 0x24, 0xbb, 0xef, 0x97, 0xff, 0xbb, 0x3c, 0x35, 0x48, 0xfe,
0x9f, 0x31, 0xe6, 0x3b, 0xf7, 0x7b, 0x0e, 0x39, 0xdf, 0xff, 0x2b, 0x27, 0x3e, 0x01, 0xef, 0xec, 0xfb, 0xff, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x33, 0x7e, 0x33, 0x2b, 0x3d, 0x1f, 0xfd, 0xe5, 0xa7, 0xfa,
0xad, 0x7e, 0xf9, 0xee, 0x6b, 0xfd, 0xe7, 0xb0, 0xce, 0xc9, 0x19, 0x6b, 0xa1, 0x2e, 0xf7, 0xda, 0xba, 0xdc, 0xc7, 0x7b,
0xfb, 0x2e, 0x55, 0xb9, 0x7b, 0x8f, 0xd9, 0x3a, 0xb8, 0x85, 0x57, 0xa6, 0x2f, 0xab, 0x9e, 0x43, 0x74, 0xee, 0xe1, 0xab,
0xd7, 0xfc, 0x54, 0x3f, 0xff, 0xf8, 0xdf, 0xdf, 0x1f, 0x6e, 0xcb, 0xbe, 0x7a, 0x60, 0x79, 0x6b, 0xa1, 0x2e, 0xf7, 0xca,
0xba, 0xdc, 0x7d, 0x7b, 0x7b, 0xf7, 0xaa, 0xdc, 0xfd, 0x6b, 0x51, 0x37, 0x49, 0xdf, 0xb5, 0xb3, 0xe4, 0xe2, 0xdb, 0x72,
0xaf, 0x1a, 0xce, 0x35, 0x5c, 0x5b, 0x73, 0xae, 0x2e, 0xef, 0xf9, 0xeb, 0xb2, 0xaa, 0x87, 0xd9, 0x4a, 0xce, 0x6e, 0x47,
0x74, 0x6c, 0x2d, 0xae, 0xd9, 0x9b, 0xfd, 0xef, 0xb8, 0xd3, 0xec, 0xe7, 0x99, 0xfc, 0xef, 0x54, 0xa7, 0xb9, 0xbd, 0xbd,
0xe3, 0xcf, 0x51, 0x7a, 0x4e, 0x5d, 0xee, 0xd6, 0xde, 0x2e, 0x27, 0xcf, 0xbc, 0x8d, 0x6d, 0xa1, 0xfe, 0x3e, 0xeb, 0x1e,
0x75, 0x96, 0xee, 0x9e, 0xff, 0x9d, 0xb6, 0x63, 0x0d, 0xd6, 0xe5, 0xdf, 0xab, 0xf6, 0xf6, 0xae, 0xf9, 0xbf, 0x47, 0xa5,
0x95, 0x9e, 0xfc, 0xef, 0x76, 0xdc, 0x3e, 0xb1, 0xfd, 0x2f, 0x1d, 0xd5, 0xee, 0x33, 0x97, 0xe5, 0xd4, 0x8c, 0x7f, 0xe7,
0xba, 0xbc, 0xef, 0x93, 0xff, 0x22, 0xff, 0xa7, 0xf4, 0xff, 0xcf, 0x5b, 0x36, 0xdf, 0x37, 0x58, 0x71, 0xfd, 0xff, 0x5e,
0x75, 0x79, 0xdf, 0xa9, 0xfd, 0xdf, 0xa7, 0xce, 0xe2, 0x33, 0xf3, 0xbf, 0x63, 0x7b, 0xaa, 0x2e, 0xa7, 0xfc, 0xd7, 0xcd,
0xd2, 0xb7, 0xcb, 0x11, 0x15, 0x3f, 0x22, 0x76, 0xaa, 0x57, 0x9d, 0x7d, 0x6d, 0xb0, 0xff, 0x0e, 0xfb, 0x13, 0xea, 0x72,
0xde, 0x27, 0xff, 0x33, 0xd7, 0xff, 0xcf, 0x4f, 0x5f, 0x19, 0x7a, 0x0e, 0xf8, 0x15, 0x67, 0xa0, 0xd8, 0xfd, 0xff, 0xb3,
0xaf, 0x8b, 0x67, 0x3d, 0x97, 0x28, 0xf7, 0x3b, 0x59, 0xcf, 0xa9, 0xcb, 0x79, 0x9f, 0xbb, 0x3d, 0x33, 0xf7, 0xff, 0xfb,
0xee, 0x2c, 0x96, 0xe1, 0x1c, 0x67, 0x3c, 0xeb, 0xbf, 0x5c, 0x54, 0xc5, 0x38, 0xfa, 0xfd, 0x9f, 0x3b, 0x7d, 0xa3, 0x52,
0x7d, 0xd7, 0xd5, 0xc9, 0xb1, 0x16, 0xeb, 0x8f, 0xd6, 0x35, 0x55, 0x8c, 0x5f, 0xe7, 0xbf, 0xf5, 0x5d, 0x4a, 0x9e, 0x94,
0xff, 0x27, 0xec, 0x6d, 0xc7, 0x2c, 0xac, 0xf4, 0x97, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xd0, 0x3d, 0x43, 0xf3, 0xf8, 0xbb, 0xcd, 0x3b, 0xd7, 0x20, 0x05, 0x66, 0xe7, 0xe3, 0x3c, 0x63, 0x3e, 0x1e, 0x90, 0x3d,
0xb7, 0x71, 0xaf, 0x7a, 0xdc, 0x40, 0xee, 0xfc, 0x7f, 0xf9, 0x07, 0xf9, 0x97, 0x7f, 0x90, 0x7f, 0xf9, 0x07, 0xf9, 0xff,
0xf9, 0x97, 0x55, 0xfe, 0xe1, 0xe6, 0xf9, 0xaf, 0x4b, 0x6a, 0x9b, 0x03, 0x77, 0x39, 0x03, 0x44, 0xf2, 0x5f, 0xf4, 0xff,
0xe1, 0xb1, 0xdf, 0x01, 0x30, 0xfe, 0x07, 0xe3, 0x7f, 0xf9, 0x87, 0x77, 0xcc, 0x7f, 0xeb, 0xfb, 0xbf, 0x46, 0xff, 0xf0,
0x8c, 0xf1, 0xbf, 0x2d, 0x01, 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, 0xbc, 0xf2, 0xff, 0x3f, 0xdb, 0x01, 0xe4, 0x1f, 0x78, 0xbb, 0xfc, 0xff, 0x0b };
// Font glyphs rectangles data (on atlas)
static const Rectangle candyFontRecs[189] = {
{ 4, 4, 3 , 15 },
{ 15, 4, 2 , 9 },
{ 25, 4, 3 , 2 },
{ 36, 4, 8 , 9 },
{ 52, 4, 6 , 11 },
{ 66, 4, 7 , 9 },
{ 81, 4, 7 , 9 },
{ 96, 4, 1 , 2 },
{ 105, 4, 3 , 11 },
{ 116, 4, 3 , 11 },
{ 127, 4, 7 , 7 },
{ 142, 4, 6 , 5 },
{ 156, 4, 2 , 3 },
{ 166, 4, 5 , 1 },
{ 179, 4, 2 , 2 },
{ 189, 4, 5 , 10 },
{ 202, 4, 6 , 9 },
{ 216, 4, 4 , 9 },
{ 228, 4, 6 , 9 },
{ 242, 4, 6 , 9 },
{ 256, 4, 7 , 9 },
{ 271, 4, 6 , 9 },
{ 285, 4, 6 , 9 },
{ 299, 4, 6 , 9 },
{ 313, 4, 6 , 9 },
{ 327, 4, 6 , 9 },
{ 341, 4, 2 , 6 },
{ 351, 4, 2 , 7 },
{ 361, 4, 4 , 6 },
{ 373, 4, 5 , 3 },
{ 386, 4, 4 , 6 },
{ 398, 4, 6 , 9 },
{ 412, 4, 8 , 7 },
{ 428, 4, 6 , 9 },
{ 442, 4, 6 , 9 },
{ 456, 4, 6 , 9 },
{ 470, 4, 6 , 9 },
{ 484, 4, 6 , 9 },
{ 4, 27, 6 , 9 },
{ 18, 27, 6 , 9 },
{ 32, 27, 6 , 9 },
{ 46, 27, 2 , 9 },
{ 56, 27, 6 , 9 },
{ 70, 27, 6 , 9 },
{ 84, 27, 6 , 9 },
{ 98, 27, 8 , 9 },
{ 114, 27, 6 , 9 },
{ 128, 27, 6 , 9 },
{ 142, 27, 6 , 9 },
{ 156, 27, 6 , 9 },
{ 170, 27, 6 , 9 },
{ 184, 27, 6 , 9 },
{ 198, 27, 6 , 9 },
{ 212, 27, 6 , 9 },
{ 226, 27, 6 , 9 },
{ 240, 27, 8 , 9 },
{ 256, 27, 6 , 9 },
{ 270, 27, 6 , 9 },
{ 284, 27, 6 , 9 },
{ 298, 27, 3 , 11 },
{ 309, 27, 5 , 10 },
{ 322, 27, 3 , 11 },
{ 333, 27, 6 , 4 },
{ 347, 27, 6 , 1 },
{ 361, 27, 3 , 2 },
{ 372, 27, 6 , 7 },
{ 386, 27, 6 , 10 },
{ 400, 27, 6 , 7 },
{ 414, 27, 6 , 10 },
{ 428, 27, 6 , 7 },
{ 442, 27, 5 , 10 },
{ 455, 27, 7 , 10 },
{ 470, 27, 6 , 10 },
{ 484, 27, 2 , 10 },
{ 494, 27, 2 , 12 },
{ 4, 50, 6 , 10 },
{ 18, 50, 3 , 10 },
{ 29, 50, 8 , 7 },
{ 45, 50, 6 , 7 },
{ 59, 50, 6 , 7 },
{ 73, 50, 6 , 10 },
{ 87, 50, 6 , 10 },
{ 101, 50, 6 , 7 },
{ 115, 50, 6 , 7 },
{ 129, 50, 3 , 10 },
{ 140, 50, 6 , 7 },
{ 154, 50, 6 , 7 },
{ 168, 50, 8 , 7 },
{ 184, 50, 6 , 7 },
{ 198, 50, 6 , 10 },
{ 212, 50, 6 , 7 },
{ 226, 50, 4 , 11 },
{ 238, 50, 1 , 11 },
{ 247, 50, 4 , 11 },
{ 259, 50, 6 , 2 },
{ 273, 50, 2 , 10 },
{ 283, 50, 6 , 11 },
{ 297, 50, 8 , 9 },
{ 313, 50, 7 , 9 },
{ 328, 50, 6 , 9 },
{ 342, 50, 0 , 0 },
{ 350, 50, 6 , 11 },
{ 364, 50, 0 , 0 },
{ 372, 50, 8 , 8 },
{ 388, 50, 5 , 7 },
{ 401, 50, 7 , 6 },
{ 416, 50, 7 , 12 },
{ 431, 50, 8 , 8 },
{ 447, 50, 6 , 1 },
{ 461, 50, 4 , 5 },
{ 473, 50, 6 , 7 },
{ 487, 50, 3 , 5 },
{ 498, 50, 3 , 5 },
{ 4, 73, 0 , 0 },
{ 12, 73, 6 , 9 },
{ 26, 73, 6 , 9 },
{ 40, 73, 4 , 4 },
{ 52, 73, 0 , 0 },
{ 60, 73, 2 , 5 },
{ 70, 73, 4 , 7 },
{ 82, 73, 7 , 6 },
{ 97, 73, 10 , 9 },
{ 115, 73, 10 , 7 },
{ 133, 73, 0 , 0 },
{ 141, 73, 6 , 9 },
{ 155, 73, 6 , 12 },
{ 169, 73, 6 , 12 },
{ 183, 73, 6 , 12 },
{ 197, 73, 6 , 12 },
{ 211, 73, 6 , 11 },
{ 225, 73, 6 , 12 },
{ 239, 73, 10 , 9 },
{ 257, 73, 6 , 12 },
{ 271, 73, 6 , 12 },
{ 285, 73, 6 , 12 },
{ 299, 73, 6 , 12 },
{ 313, 73, 6 , 11 },
{ 327, 73, 3 , 12 },
{ 338, 73, 3 , 12 },
{ 349, 73, 4 , 12 },
{ 361, 73, 4 , 11 },
{ 373, 73, 8 , 9 },
{ 389, 73, 6 , 12 },
{ 403, 73, 6 , 12 },
{ 417, 73, 6 , 12 },
{ 431, 73, 6 , 12 },
{ 445, 73, 6 , 12 },
{ 459, 73, 6 , 11 },
{ 473, 73, 5 , 5 },
{ 486, 73, 9 , 10 },
{ 4, 96, 6 , 12 },
{ 18, 96, 6 , 12 },
{ 32, 96, 6 , 12 },
{ 46, 96, 6 , 11 },
{ 60, 96, 6 , 12 },
{ 74, 96, 7 , 12 },
{ 89, 96, 6 , 10 },
{ 103, 96, 6 , 10 },
{ 117, 96, 6 , 10 },
{ 131, 96, 6 , 10 },
{ 145, 96, 6 , 10 },
{ 159, 96, 6 , 9 },
{ 173, 96, 6 , 11 },
{ 187, 96, 10 , 7 },
{ 205, 96, 6 , 10 },
{ 219, 96, 6 , 10 },
{ 233, 96, 6 , 10 },
{ 247, 96, 6 , 10 },
{ 261, 96, 6 , 9 },
{ 275, 96, 3 , 10 },
{ 286, 96, 3 , 10 },
{ 297, 96, 4 , 10 },
{ 309, 96, 4 , 9 },
{ 321, 96, 7 , 12 },
{ 336, 96, 6 , 13 },
{ 350, 96, 6 , 10 },
{ 364, 96, 6 , 10 },
{ 378, 96, 6 , 10 },
{ 392, 96, 6 , 10 },
{ 406, 96, 6 , 9 },
{ 420, 96, 7 , 12 },
{ 435, 96, 8 , 8 },
{ 451, 96, 6 , 10 },
{ 465, 96, 6 , 10 },
{ 479, 96, 6 , 10 },
{ 493, 96, 6 , 9 },
{ 4, 119, 6 , 13 },
{ 18, 119, 7 , 12 },
{ 33, 119, 6 , 12 },
};
// Font glyphs info data
// NOTE: No glyphs.image data provided
static const GlyphInfo candyFontGlyphs[189] = {
{ 32, 0, 12, 3, { 0 }},
{ 33, 0, 3, 3, { 0 }},
{ 34, 0, 2, 4, { 0 }},
{ 35, 0, 3, 9, { 0 }},
{ 36, 0, 2, 7, { 0 }},
{ 37, 0, 3, 8, { 0 }},
{ 38, 0, 3, 8, { 0 }},
{ 39, 0, 2, 2, { 0 }},
{ 40, 1, 2, 5, { 0 }},
{ 41, 1, 2, 5, { 0 }},
{ 42, 0, 4, 8, { 0 }},
{ 43, 0, 6, 7, { 0 }},
{ 44, 0, 10, 3, { 0 }},
{ 45, 0, 7, 6, { 0 }},
{ 46, 0, 10, 3, { 0 }},
{ 47, 1, 3, 7, { 0 }},
{ 48, 0, 3, 7, { 0 }},
{ 49, 0, 3, 5, { 0 }},
{ 50, 0, 3, 7, { 0 }},
{ 51, 0, 3, 7, { 0 }},
{ 52, 0, 3, 8, { 0 }},
{ 53, 0, 3, 7, { 0 }},
{ 54, 0, 3, 7, { 0 }},
{ 55, 0, 3, 7, { 0 }},
{ 56, 0, 3, 7, { 0 }},
{ 57, 0, 3, 7, { 0 }},
{ 58, 0, 6, 3, { 0 }},
{ 59, 0, 6, 3, { 0 }},
{ 60, 1, 5, 6, { 0 }},
{ 61, 1, 7, 7, { 0 }},
{ 62, 1, 5, 6, { 0 }},
{ 63, 0, 3, 7, { 0 }},
{ 64, 0, 4, 9, { 0 }},
{ 65, 0, 3, 7, { 0 }},
{ 66, 0, 3, 7, { 0 }},
{ 67, 0, 3, 7, { 0 }},
{ 68, 0, 3, 7, { 0 }},
{ 69, 0, 3, 7, { 0 }},
{ 70, 0, 3, 7, { 0 }},
{ 71, 0, 3, 7, { 0 }},
{ 72, 0, 3, 7, { 0 }},
{ 73, 0, 3, 3, { 0 }},
{ 74, 0, 3, 7, { 0 }},
{ 75, 0, 3, 7, { 0 }},
{ 76, 0, 3, 7, { 0 }},
{ 77, 0, 3, 9, { 0 }},
{ 78, 0, 3, 7, { 0 }},
{ 79, 0, 3, 7, { 0 }},
{ 80, 0, 3, 7, { 0 }},
{ 81, 0, 3, 7, { 0 }},
{ 82, 0, 3, 7, { 0 }},
{ 83, 0, 3, 7, { 0 }},
{ 84, 0, 3, 7, { 0 }},
{ 85, 0, 3, 7, { 0 }},
{ 86, 0, 3, 7, { 0 }},
{ 87, 0, 3, 9, { 0 }},
{ 88, 0, 3, 7, { 0 }},
{ 89, 0, 3, 7, { 0 }},
{ 90, 0, 3, 7, { 0 }},
{ 91, 1, 2, 5, { 0 }},
{ 92, 1, 3, 7, { 0 }},
{ 93, 1, 2, 5, { 0 }},
{ 94, 0, 3, 7, { 0 }},
{ 95, 0, 11, 7, { 0 }},
{ 96, 0, 0, 4, { 0 }},
{ 97, 0, 5, 7, { 0 }},
{ 98, 0, 2, 7, { 0 }},
{ 99, 0, 5, 7, { 0 }},
{ 100, 0, 2, 7, { 0 }},
{ 101, 0, 5, 7, { 0 }},
{ 102, 0, 2, 6, { 0 }},
{ 103, 0, 5, 7, { 0 }},
{ 104, 0, 2, 7, { 0 }},
{ 105, 0, 2, 3, { 0 }},
{ 106, 0, 2, 3, { 0 }},
{ 107, 0, 2, 7, { 0 }},
{ 108, 0, 2, 4, { 0 }},
{ 109, 0, 5, 9, { 0 }},
{ 110, 0, 5, 7, { 0 }},
{ 111, 0, 5, 7, { 0 }},
{ 112, 0, 5, 7, { 0 }},
{ 113, 0, 5, 7, { 0 }},
{ 114, 0, 5, 7, { 0 }},
{ 115, 0, 5, 7, { 0 }},
{ 116, 0, 2, 4, { 0 }},
{ 117, 0, 5, 7, { 0 }},
{ 118, 0, 5, 7, { 0 }},
{ 119, 0, 5, 9, { 0 }},
{ 120, 0, 5, 7, { 0 }},
{ 121, 0, 5, 7, { 0 }},
{ 122, 0, 5, 7, { 0 }},
{ 123, 1, 2, 6, { 0 }},
{ 124, 1, 2, 3, { 0 }},
{ 125, 1, 2, 6, { 0 }},
{ 126, 0, 0, 7, { 0 }},
{ 161, 0, 3, 3, { 0 }},
{ 162, 0, 2, 7, { 0 }},
{ 163, 0, 3, 9, { 0 }},
{ 8364, 0, 3, 8, { 0 }},
{ 165, 0, 3, 7, { 0 }},
{ 352, 0, 12, 1, { 0 }},
{ 167, 0, 2, 7, { 0 }},
{ 353, 0, 12, 1, { 0 }},
{ 169, 0, 0, 9, { 0 }},
{ 170, 0, 0, 6, { 0 }},
{ 171, 1, 5, 9, { 0 }},
{ 172, 0, 0, 7, { 0 }},
{ 174, 0, 0, 9, { 0 }},
{ 175, 0, 0, 7, { 0 }},
{ 176, 0, 0, 5, { 0 }},
{ 177, 0, 4, 7, { 0 }},
{ 178, 0, 0, 4, { 0 }},
{ 179, 0, 0, 4, { 0 }},
{ 381, 0, 12, 1, { 0 }},
{ 181, 0, 5, 7, { 0 }},
{ 182, 0, 3, 7, { 0 }},
{ 183, 0, 6, 5, { 0 }},
{ 382, 0, 12, 1, { 0 }},
{ 185, 0, 0, 3, { 0 }},
{ 186, 0, 0, 5, { 0 }},
{ 187, 1, 5, 9, { 0 }},
{ 338, 0, 3, 11, { 0 }},
{ 339, 0, 5, 11, { 0 }},
{ 376, 0, 12, 1, { 0 }},
{ 191, 0, 4, 7, { 0 }},
{ 192, 0, 0, 7, { 0 }},
{ 193, 0, 0, 7, { 0 }},
{ 194, 0, 0, 7, { 0 }},
{ 195, 0, 0, 7, { 0 }},
{ 196, 0, 1, 7, { 0 }},
{ 197, 0, 0, 7, { 0 }},
{ 198, 0, 3, 11, { 0 }},
{ 199, 0, 3, 7, { 0 }},
{ 200, 0, 0, 7, { 0 }},
{ 201, 0, 0, 7, { 0 }},
{ 202, 0, 0, 7, { 0 }},
{ 203, 0, 1, 7, { 0 }},
{ 204, -1, 0, 3, { 0 }},
{ 205, 0, 0, 3, { 0 }},
{ 206, -1, 0, 3, { 0 }},
{ 207, -1, 1, 3, { 0 }},
{ 208, 0, 3, 9, { 0 }},
{ 209, 0, 0, 7, { 0 }},
{ 210, 0, 0, 7, { 0 }},
{ 211, 0, 0, 7, { 0 }},
{ 212, 0, 0, 7, { 0 }},
{ 213, 0, 0, 7, { 0 }},
{ 214, 0, 1, 7, { 0 }},
{ 215, 0, 7, 6, { 0 }},
{ 216, 0, 3, 10, { 0 }},
{ 217, 0, 0, 7, { 0 }},
{ 218, 0, 0, 7, { 0 }},
{ 219, 0, 0, 7, { 0 }},
{ 220, 0, 1, 7, { 0 }},
{ 221, 0, 0, 7, { 0 }},
{ 222, 0, 0, 7, { 0 }},
{ 223, 0, 3, 7, { 0 }},
{ 224, 0, 2, 7, { 0 }},
{ 225, 0, 2, 7, { 0 }},
{ 226, 0, 2, 7, { 0 }},
{ 227, 0, 2, 7, { 0 }},
{ 228, 0, 3, 7, { 0 }},
{ 229, 0, 1, 7, { 0 }},
{ 230, 0, 5, 11, { 0 }},
{ 231, 0, 5, 7, { 0 }},
{ 232, 0, 2, 7, { 0 }},
{ 233, 0, 2, 7, { 0 }},
{ 234, 0, 2, 7, { 0 }},
{ 235, 0, 3, 7, { 0 }},
{ 236, 0, 2, 4, { 0 }},
{ 237, 0, 2, 4, { 0 }},
{ 238, 0, 2, 4, { 0 }},
{ 239, 0, 3, 4, { 0 }},
{ 240, 0, 0, 7, { 0 }},
{ 241, 0, 2, 7, { 0 }},
{ 242, 0, 2, 7, { 0 }},
{ 243, 0, 2, 7, { 0 }},
{ 244, 0, 2, 7, { 0 }},
{ 245, 0, 2, 7, { 0 }},
{ 246, 0, 3, 7, { 0 }},
{ 247, 0, 0, 7, { 0 }},
{ 248, 0, 5, 9, { 0 }},
{ 249, 0, 2, 7, { 0 }},
{ 250, 0, 2, 7, { 0 }},
{ 251, 0, 2, 7, { 0 }},
{ 252, 0, 3, 7, { 0 }},
{ 253, 0, 2, 7, { 0 }},
{ 254, 0, 0, 7, { 0 }},
{ 255, 0, 3, 7, { 0 }},
};
// Style loading function: Candy
static void GuiLoadStyleCandy(void)
{
// Load style properties provided
// NOTE: Default properties are propagated
for (int i = 0; i < CANDY_STYLE_PROPS_COUNT; i++)
{
GuiSetStyle(candyStyleProps[i].controlId, candyStyleProps[i].propertyId, candyStyleProps[i].propertyValue);
}
// Custom font loading
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
int candyFontDataSize = 0;
unsigned char *data = DecompressData(candyFontData, CANDY_STYLE_FONT_ATLAS_COMP_SIZE, &candyFontDataSize);
Image imFont = { data, 512, 256, 1, 2 };
Font font = { 0 };
font.baseSize = 15;
font.glyphCount = 189;
// Load texture from image
font.texture = LoadTextureFromImage(imFont);
UnloadImage(imFont); // Uncompressed image data can be unloaded from memory
// Copy char recs data from global fontRecs
// NOTE: Required to avoid issues if trying to free font
font.recs = (Rectangle *)RAYGUI_MALLOC(font.glyphCount*sizeof(Rectangle));
memcpy(font.recs, candyFontRecs, font.glyphCount*sizeof(Rectangle));
// Copy font char info data from global fontChars
// NOTE: Required to avoid issues if trying to free font
font.glyphs = (GlyphInfo *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
memcpy(font.glyphs, candyFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
GuiSetFont(font);
// Setup a white rectangle on the font to be used on shapes drawing,
// it makes possible to draw shapes and text (full UI) in a single draw call
Rectangle fontWhiteRec = { 510, 254, 1, 1 };
SetShapesTexture(font.texture, fontWhiteRec);
//-----------------------------------------------------------------
// TODO: Custom user style setup: Set specific properties here (if required)
// i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT
}

View File

@ -0,0 +1,617 @@
//////////////////////////////////////////////////////////////////////////////////
// //
// StyleAsCode exporter v2.0 - Style data exported as a values array //
// //
// USAGE: On init call: GuiLoadStyleCherry(); //
// //
// more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com //
// //
// Copyright (c) 2020-2024 raylib technologies (@raylibtech) //
// //
//////////////////////////////////////////////////////////////////////////////////
#define CHERRY_STYLE_PROPS_COUNT 17
// Custom style name: Cherry
static const GuiStyleProp cherryStyleProps[CHERRY_STYLE_PROPS_COUNT] = {
{ 0, 0, 0xda5757ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0x753233ff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, 0xe17373ff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, 0xfaaa97ff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, 0xe06262ff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, 0xfdb4aaff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, 0xe03c46ff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, 0x5b1e20ff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, 0xc2474fff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, 0xa19292ff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, 0x706060ff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, 0x9e8585ff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, 0x0000000f }, // DEFAULT_TEXT_SIZE
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, 0xfb8170ff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0x3a1720ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, 0x00000016 }, // DEFAULT_TEXT_LINE_SPACING
};
// WARNING: This style uses a custom font: "Westington.ttf" (size: 15, spacing: 0)
#define CHERRY_STYLE_FONT_ATLAS_COMP_SIZE 2821
// Font atlas image pixels data: DEFLATE compressed
static unsigned char cherryFontData[CHERRY_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
0xdd, 0x59, 0x92, 0xdc, 0xba, 0x11, 0x05, 0x50, 0xee, 0x7f, 0xd3, 0xd7, 0xe1, 0x70, 0x84, 0xed, 0x27, 0xa9, 0x09, 0x20,
0x91, 0x20, 0xab, 0x5b, 0x47, 0xe7, 0xaf, 0xa1, 0x1a, 0x38, 0x24, 0x26, 0x16, 0x12, 0xb9, 0x00, 0x00, 0x00, 0x00, 0xf2,
0xef, 0x7f, 0x5f, 0xfd, 0xf5, 0xcf, 0x65, 0xff, 0xff, 0xaa, 0xdc, 0xbe, 0x73, 0xfd, 0xb3, 0xb3, 0xf8, 0xae, 0x59, 0xf8,
0x7f, 0xf9, 0xf2, 0xbb, 0x64, 0xfa, 0x33, 0xd7, 0x8f, 0x7b, 0xfd, 0x58, 0xef, 0xce, 0xfd, 0xfa, 0x31, 0x5c, 0x37, 0x9f,
0xbf, 0xf6, 0xdd, 0x2a, 0xaf, 0xb9, 0x2f, 0x59, 0xbf, 0x7b, 0x3a, 0xae, 0xc8, 0xdc, 0x35, 0xb8, 0x3f, 0xa7, 0xd7, 0xf0,
0x95, 0xeb, 0xef, 0x9c, 0xe1, 0x59, 0x1c, 0x7f, 0xab, 0xb5, 0x1a, 0xe0, 0xeb, 0xbf, 0x8e, 0xee, 0xa6, 0x14, 0xee, 0xab,
0xff, 0xbd, 0x22, 0x8b, 0x65, 0xa3, 0xd7, 0xec, 0xdd, 0x57, 0x59, 0xa8, 0xa5, 0x2a, 0x57, 0x21, 0x8b, 0xe7, 0x61, 0xf5,
0xdc, 0xa5, 0x54, 0xff, 0x8c, 0xbe, 0x6d, 0x5a, 0x8e, 0xe7, 0xae, 0x24, 0xd3, 0x7f, 0x1d, 0xbf, 0xa2, 0xf2, 0x6e, 0x33,
0xf7, 0xd5, 0xdd, 0xab, 0xfb, 0xdf, 0x39, 0x53, 0xf7, 0xef, 0xd9, 0xf8, 0x1f, 0xd5, 0x97, 0xf7, 0xe7, 0xfb, 0xee, 0x28,
0xf2, 0xdf, 0xde, 0x45, 0xed, 0xbe, 0xdb, 0x89, 0xf4, 0xdc, 0xdc, 0x9d, 0x29, 0x9e, 0x8d, 0xfa, 0xff, 0xbb, 0x8f, 0x97,
0x14, 0x7b, 0x5e, 0x59, 0xb8, 0x4f, 0xb3, 0x54, 0xeb, 0xcd, 0xf4, 0x26, 0x2a, 0x35, 0xdd, 0x6e, 0x2f, 0x6a, 0xbf, 0xa7,
0xfb, 0xf5, 0x35, 0xb8, 0x3b, 0xdf, 0x99, 0x3c, 0x82, 0x94, 0xe2, 0xff, 0x5a, 0xac, 0xb1, 0x9f, 0x8a, 0xff, 0x71, 0xac,
0x8c, 0xe2, 0x29, 0xc3, 0x2b, 0x9c, 0x96, 0xef, 0x9f, 0x52, 0x8d, 0x76, 0x6a, 0x9c, 0x55, 0xbf, 0x7f, 0x66, 0xcf, 0x5e,
0x06, 0xa3, 0xb9, 0xee, 0x5e, 0xe8, 0x7c, 0xaf, 0x2f, 0xc5, 0xda, 0x75, 0xa5, 0x8f, 0x9f, 0xad, 0xde, 0xfa, 0x28, 0x7e,
0xb3, 0x5c, 0x17, 0x67, 0xa2, 0x3f, 0x74, 0xa2, 0x4f, 0xf2, 0x09, 0xf1, 0x9f, 0xc2, 0x08, 0xae, 0x5a, 0xc7, 0xa7, 0xa9,
0x6d, 0xce, 0xa1, 0xfa, 0xb5, 0x3b, 0xfe, 0xd7, 0xcb, 0xc6, 0x91, 0x91, 0xd6, 0x71, 0x58, 0x4a, 0x23, 0xe9, 0x7a, 0x1b,
0xbe, 0xfb, 0xda, 0xbb, 0xb9, 0xa2, 0x4c, 0xd4, 0x9e, 0x59, 0x9e, 0x01, 0xd8, 0x89, 0xff, 0xfe, 0xf1, 0x7f, 0x4a, 0xaf,
0x98, 0xab, 0x8d, 0x6b, 0x35, 0x71, 0x16, 0xbe, 0x59, 0x9a, 0x6a, 0xb6, 0x1c, 0x9d, 0x65, 0xbd, 0x1a, 0xe3, 0xbf, 0x36,
0x72, 0x4a, 0xdb, 0xdc, 0x44, 0x7d, 0xec, 0x96, 0xa6, 0xfb, 0x35, 0xad, 0xaf, 0xb8, 0x8f, 0xff, 0xbb, 0xf6, 0x7f, 0xbf,
0xff, 0xff, 0x7e, 0xfb, 0xdf, 0x3d, 0xfa, 0x9f, 0x9f, 0xc5, 0x18, 0x9f, 0xd3, 0xe7, 0xe2, 0xff, 0x64, 0xdf, 0xbf, 0x36,
0x96, 0x4f, 0x71, 0x9e, 0x32, 0x4d, 0x23, 0xf6, 0x94, 0x47, 0xe7, 0x69, 0x99, 0xd5, 0xe9, 0xab, 0xab, 0x53, 0xfe, 0x8c,
0xfa, 0x3c, 0xf6, 0x4f, 0x1d, 0xff, 0x67, 0xe9, 0xd9, 0xc0, 0xb8, 0x6f, 0x75, 0x77, 0x66, 0xd2, 0x3e, 0xff, 0xf7, 0xde,
0x53, 0xd6, 0xb5, 0x5a, 0x27, 0x85, 0x31, 0x76, 0x65, 0xd6, 0xbc, 0xfa, 0x34, 0xb1, 0xf3, 0xd9, 0xe4, 0xfb, 0xd7, 0xa9,
0x3a, 0xd7, 0x98, 0x72, 0xed, 0x9e, 0x89, 0x67, 0x3f, 0xeb, 0xb3, 0x0a, 0x4f, 0xf5, 0xa6, 0x66, 0xe6, 0x62, 0xae, 0xe2,
0xbc, 0x69, 0x0a, 0x3d, 0x9c, 0x4f, 0x8f, 0xff, 0x4f, 0xaa, 0x89, 0x3e, 0xf1, 0xf7, 0x27, 0x69, 0x1e, 0xe9, 0x77, 0x45,
0x40, 0x26, 0x46, 0xe2, 0x57, 0xa1, 0x9e, 0xfe, 0x0e, 0xcf, 0xff, 0xc7, 0xf1, 0x5f, 0x1d, 0xff, 0x67, 0xea, 0xf7, 0x18,
0x6b, 0xcf, 0x01, 0xf2, 0xe1, 0xad, 0xbf, 0x1a, 0xa0, 0x67, 0x4e, 0xfe, 0xe9, 0xfa, 0x39, 0x87, 0xc7, 0x85, 0x7f, 0xe3,
0x75, 0x05, 0xf7, 0x0f, 0x20, 0xfa, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x5e, 0x37,
0xb8, 0xbe, 0x16, 0xb1, 0x3b, 0x4b, 0x6b, 0xe5, 0xfd, 0x7e, 0x2f, 0x1d, 0xbd, 0x47, 0xf5, 0x68, 0x2b, 0xb9, 0xa0, 0x33,
0xf5, 0xdd, 0xb3, 0xbc, 0xa2, 0x73, 0x74, 0x34, 0xf9, 0xc7, 0x1a, 0xd5, 0x99, 0x73, 0xba, 0x73, 0x5d, 0xc6, 0x99, 0x77,
0x57, 0xf2, 0xfb, 0xae, 0xad, 0x06, 0x5e, 0x5d, 0x21, 0xd0, 0x99, 0xed, 0x60, 0xf6, 0xfa, 0x56, 0xee, 0xa8, 0x95, 0x4f,
0xdb, 0x59, 0x8b, 0x78, 0x9f, 0x81, 0xf9, 0x1a, 0x66, 0x88, 0xee, 0xca, 0x51, 0x97, 0x8d, 0x35, 0xfb, 0xbf, 0xdf, 0xc9,
0x95, 0x55, 0xdb, 0xe3, 0x7b, 0xaa, 0x92, 0x77, 0xa9, 0x9a, 0xb3, 0x39, 0x2d, 0x9f, 0x3b, 0xf3, 0xcd, 0xe6, 0x32, 0xfa,
0xd4, 0x33, 0xb6, 0x5f, 0x8b, 0xfb, 0x30, 0xac, 0xad, 0xe5, 0xce, 0xf2, 0x5a, 0xf8, 0xb4, 0xe5, 0x8b, 0x48, 0xf1, 0x3d,
0x6b, 0xf7, 0xda, 0x99, 0xec, 0x3f, 0xd5, 0x2c, 0x59, 0x67, 0xe2, 0x3f, 0xe5, 0xef, 0x92, 0xdb, 0x7b, 0xe2, 0x1a, 0x66,
0x28, 0xaa, 0x66, 0x5e, 0xca, 0x46, 0xbd, 0x96, 0x8d, 0xb5, 0xee, 0x5d, 0xf1, 0xbf, 0x13, 0xe1, 0xb3, 0xf9, 0x7b, 0xd3,
0xb2, 0xba, 0x7f, 0x25, 0x1b, 0x7a, 0xb5, 0x1f, 0xdc, 0x19, 0x21, 0x77, 0xc7, 0x9e, 0x8d, 0x33, 0x73, 0x26, 0xfe, 0xf3,
0x01, 0xf1, 0xbf, 0x53, 0x17, 0x7d, 0xcf, 0xf8, 0x4f, 0x43, 0xed, 0x9c, 0xd2, 0x15, 0xfa, 0x3d, 0x76, 0x2b, 0x7b, 0x59,
0x5c, 0xe5, 0x8c, 0xce, 0x69, 0x6e, 0x8f, 0x3a, 0xd6, 0x14, 0x3f, 0x19, 0xff, 0xeb, 0xf5, 0xcd, 0xa9, 0xf8, 0xbf, 0xdb,
0xad, 0x23, 0xa5, 0xdd, 0x9e, 0xfa, 0xf6, 0xc1, 0x5a, 0xa9, 0x8b, 0x32, 0x9d, 0x5b, 0xb4, 0x12, 0xff, 0x19, 0xee, 0xa0,
0x51, 0xd9, 0xb7, 0xa0, 0x9a, 0x0d, 0xb9, 0x23, 0xfe, 0xe7, 0xf3, 0x9b, 0x67, 0xb2, 0xee, 0xed, 0x88, 0xf3, 0x77, 0xe2,
0x7f, 0x74, 0x05, 0x53, 0xcc, 0xd6, 0xb7, 0x9e, 0xe5, 0x7b, 0xfc, 0x69, 0xbd, 0x59, 0xd4, 0x67, 0xf6, 0x9a, 0xc9, 0x37,
0x68, 0xff, 0xcf, 0xc7, 0x7f, 0xe5, 0x5d, 0x67, 0xe7, 0x66, 0xf2, 0x5a, 0xfc, 0x67, 0xbb, 0x85, 0x4f, 0xf3, 0xe8, 0xf2,
0x8d, 0xbc, 0x5f, 0x33, 0xf3, 0x05, 0xb5, 0x18, 0x4f, 0xeb, 0x78, 0xa3, 0xf6, 0x69, 0x27, 0x7a, 0x98, 0xeb, 0xf1, 0x9f,
0xa3, 0xe3, 0xff, 0x95, 0x4f, 0xa8, 0xf7, 0xff, 0xef, 0x3e, 0xbb, 0x77, 0xfe, 0xaf, 0x6b, 0xee, 0x69, 0xa6, 0xed, 0x4e,
0x43, 0x2f, 0xe2, 0x7c, 0xcd, 0x90, 0xd7, 0x9e, 0x91, 0x55, 0x3e, 0xff, 0x44, 0x44, 0x56, 0x63, 0xab, 0x1a, 0xff, 0xbd,
0xf3, 0xff, 0x1d, 0xf3, 0xcc, 0x73, 0x47, 0x9f, 0x42, 0xa4, 0xa6, 0x38, 0xbe, 0xca, 0xd6, 0x0c, 0x79, 0x36, 0xe2, 0x3f,
0x0d, 0xf1, 0x7f, 0xf7, 0xfc, 0x6e, 0x37, 0xfe, 0x33, 0x78, 0xbe, 0x91, 0x6f, 0x13, 0xff, 0x29, 0xc5, 0x7f, 0x9a, 0x23,
0x32, 0xe5, 0xd8, 0xba, 0x96, 0x9f, 0x4f, 0x9e, 0x79, 0xfe, 0x3f, 0x7e, 0xca, 0xba, 0xf3, 0x24, 0x79, 0xf6, 0x3b, 0xd5,
0x7f, 0xed, 0x30, 0x3a, 0x4b, 0x59, 0x8e, 0xb0, 0x94, 0x72, 0xf3, 0xcf, 0x8f, 0xf9, 0xb2, 0xd9, 0x4a, 0x8d, 0x6b, 0x88,
0x6a, 0x4e, 0xea, 0xd5, 0x7d, 0xd5, 0xf3, 0xfa, 0xbe, 0x36, 0xcf, 0xbc, 0x72, 0x67, 0xaf, 0x06, 0x39, 0x89, 0xf9, 0x19,
0xbf, 0x49, 0x73, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0xd6, 0x60,
0xa6, 0x94, 0xd5, 0x6b, 0xf6, 0x7f, 0x55, 0x73, 0x90, 0xe5, 0x36, 0xcb, 0xf4, 0xda, 0x5a, 0xdf, 0x0c, 0x8f, 0xb1, 0x63,
0xa5, 0xf4, 0xd9, 0x2c, 0xdc, 0xf3, 0xe7, 0xb6, 0x76, 0xf5, 0xb3, 0x98, 0xcf, 0x32, 0xed, 0x2b, 0xd3, 0xc7, 0xeb, 0xad,
0xef, 0xd7, 0xd0, 0xd7, 0x5f, 0x77, 0x15, 0x56, 0x38, 0xaf, 0x5e, 0xad, 0x99, 0x5c, 0xf1, 0x6f, 0xd4, 0x15, 0xd7, 0x44,
0x86, 0xbb, 0x9d, 0x1c, 0xfa, 0x77, 0xe7, 0xfe, 0xeb, 0xfb, 0xf5, 0xee, 0x7b, 0xf5, 0xe5, 0x2d, 0xbc, 0xb6, 0x33, 0xe8,
0x5e, 0x8f, 0x64, 0xe1, 0xce, 0xe2, 0x7d, 0x38, 0xfb, 0x3f, 0x47, 0x59, 0x04, 0x53, 0xc8, 0xf4, 0x71, 0xee, 0x78, 0x67,
0xf2, 0x3f, 0x8d, 0xf2, 0x3c, 0xfe, 0xf9, 0xef, 0x2b, 0xf7, 0x53, 0x2d, 0x67, 0x72, 0x06, 0xb9, 0x24, 0x7b, 0xd7, 0x5a,
0xe7, 0xf6, 0x5e, 0x5d, 0xef, 0x47, 0x9c, 0xb9, 0xa2, 0xf5, 0xf8, 0x5f, 0x6f, 0x77, 0x4e, 0xc5, 0xff, 0x7e, 0x16, 0xde,
0x9d, 0x1c, 0x3d, 0xfb, 0x7f, 0xbf, 0x6f, 0xfd, 0xaf, 0xe5, 0xde, 0xd9, 0xb5, 0x95, 0xeb, 0x76, 0x9c, 0x09, 0x67, 0x9c,
0x61, 0x6a, 0xf5, 0x38, 0xae, 0xc5, 0xfc, 0xce, 0x9f, 0x13, 0xff, 0x57, 0x29, 0xfe, 0xaf, 0x0f, 0x8a, 0xff, 0xbb, 0x76,
0xe7, 0x2a, 0xee, 0x27, 0x72, 0xd7, 0x33, 0xbb, 0x1a, 0xdb, 0x9c, 0xdf, 0x6b, 0xd5, 0x94, 0xfa, 0xc3, 0x29, 0x67, 0x4f,
0x7c, 0x2b, 0x07, 0xd7, 0x78, 0x77, 0x93, 0x71, 0xdf, 0xbf, 0x56, 0x53, 0xd6, 0x32, 0x31, 0xdd, 0x8f, 0x28, 0xb2, 0xb4,
0x3b, 0x41, 0x3d, 0x2f, 0x58, 0x0e, 0x64, 0x47, 0x59, 0xad, 0xe9, 0x53, 0xe8, 0xff, 0x5f, 0x5b, 0xfb, 0x48, 0x54, 0xf3,
0x1e, 0xd7, 0x72, 0xac, 0xa7, 0xd0, 0xee, 0xcc, 0xc4, 0xdf, 0x5e, 0x16, 0xde, 0x4c, 0x8e, 0xb2, 0xae, 0xc5, 0x3a, 0xf2,
0x6a, 0xab, 0x31, 0xd6, 0x7a, 0x98, 0xd9, 0x1a, 0x6d, 0xcd, 0xd4, 0x0d, 0x59, 0xdc, 0xab, 0xa1, 0xde, 0x5e, 0x54, 0xf2,
0xc9, 0xd5, 0x6b, 0x80, 0xbc, 0x36, 0xff, 0x77, 0x15, 0x32, 0xd5, 0xaf, 0xe5, 0xe6, 0xab, 0xcc, 0xbd, 0x55, 0x8e, 0xaf,
0x96, 0x73, 0x6f, 0x26, 0x6b, 0x7b, 0x4f, 0xfe, 0xe2, 0xd5, 0xf3, 0x73, 0x4d, 0xcd, 0x6a, 0xe5, 0xa5, 0xf6, 0x7f, 0x3d,
0x02, 0xe6, 0x76, 0xa5, 0xdc, 0xe9, 0xd5, 0x54, 0x33, 0x76, 0xf7, 0xf7, 0x7e, 0xde, 0x9f, 0xff, 0x5f, 0xcb, 0xe0, 0xfd,
0x59, 0xd9, 0x59, 0xd3, 0xf0, 0x3f, 0xfa, 0x3e, 0xeb, 0xed, 0x67, 0x38, 0x39, 0x5a, 0xfb, 0xf7, 0xc6, 0x7f, 0x8a, 0xe3,
0xc9, 0xd9, 0x7a, 0x38, 0x4b, 0x39, 0x87, 0xc7, 0xf3, 0x5b, 0xe7, 0xc6, 0x3f, 0x9f, 0x78, 0x3f, 0xed, 0xe4, 0xb2, 0x7f,
0xf6, 0x7b, 0xe6, 0xb1, 0x1e, 0xd3, 0x89, 0xd9, 0x97, 0xe7, 0xce, 0xc4, 0xda, 0x31, 0xa5, 0xf1, 0x8e, 0xad, 0xcd, 0xff,
0x65, 0x63, 0x8e, 0x6f, 0x77, 0xbf, 0xde, 0x14, 0x66, 0x15, 0xff, 0x86, 0x5f, 0x0a, 0x7c, 0x3d, 0x03, 0x91, 0xbf, 0x22,
0xf7, 0xf0, 0x4f, 0x3c, 0xc6, 0x8e, 0xe7, 0xff, 0xd5, 0x7e, 0x53, 0x6d, 0xe7, 0x80, 0xb9, 0x79, 0x9f, 0xca, 0xfc, 0x6e,
0x75, 0xcc, 0x08, 0x54, 0x9e, 0x31, 0x57, 0x76, 0x0e, 0xe8, 0x18, 0xc1, 0x65, 0xf9, 0xf9, 0x3f, 0xf0, 0x53, 0x6a, 0xa2,
0xda, 0xbc, 0x22, 0xf0, 0xfd, 0x47, 0x3b, 0x22, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
0x9e, 0xbf, 0x88, 0x5e, 0x5f, 0xeb, 0xba, 0x9e, 0xeb, 0xb0, 0x9e, 0x71, 0x65, 0x76, 0x7d, 0xea, 0x55, 0xca, 0x1a, 0xb9,
0x97, 0x9b, 0x66, 0x2e, 0x5b, 0x73, 0x3d, 0x5b, 0x5d, 0x35, 0x43, 0xd6, 0x5e, 0xe9, 0xf8, 0x95, 0xf5, 0x57, 0x5f, 0xd3,
0xe7, 0x2d, 0xaf, 0x1c, 0x77, 0x16, 0x73, 0x18, 0xac, 0xdc, 0x53, 0xfd, 0xc7, 0xba, 0x77, 0x2e, 0xae, 0x62, 0x46, 0x9f,
0x4a, 0xb6, 0xe3, 0x4a, 0xbc, 0xde, 0xe5, 0x3b, 0xcd, 0xe2, 0x67, 0x65, 0x39, 0xa7, 0xf3, 0xa8, 0x16, 0xc9, 0x60, 0xc5,
0x68, 0x26, 0xd6, 0x9c, 0xee, 0xe5, 0x1b, 0xa8, 0x96, 0x8d, 0xaf, 0x7a, 0x3d, 0xcf, 0x49, 0x16, 0xeb, 0x8f, 0xb5, 0x1c,
0x7d, 0x27, 0x8f, 0x7b, 0x7d, 0x0d, 0x73, 0x96, 0x73, 0x64, 0x5d, 0x8b, 0xad, 0x4d, 0x26, 0xda, 0x87, 0xea, 0xb9, 0x98,
0x6d, 0x01, 0x57, 0xdb, 0xcd, 0xd5, 0x9a, 0xa4, 0x1a, 0xff, 0xd5, 0xcf, 0x3a, 0x13, 0xff, 0x77, 0xc7, 0x96, 0xdb, 0x9c,
0x13, 0xd9, 0xcc, 0x6f, 0xf8, 0x6c, 0xaf, 0xb0, 0xa7, 0xfd, 0x4d, 0x71, 0x8d, 0xfe, 0xf9, 0x75, 0x81, 0xa7, 0x56, 0x07,
0xd6, 0x73, 0x47, 0xbf, 0x71, 0x0f, 0xa4, 0x2d, 0x6b, 0xe4, 0x5c, 0x3e, 0xd6, 0xf5, 0xf8, 0x5f, 0x1d, 0x2f, 0xac, 0xe6,
0x33, 0xcc, 0x44, 0xeb, 0x34, 0xdb, 0xfe, 0x67, 0xeb, 0xea, 0x3f, 0xdf, 0xff, 0xbf, 0x36, 0xda, 0xd0, 0xb9, 0xd1, 0xc1,
0x6c, 0x1e, 0x8e, 0xd5, 0xbb, 0xa9, 0x5e, 0x3a, 0xce, 0x0d, 0xbc, 0xf7, 0xd7, 0xf1, 0xfd, 0x77, 0xf7, 0x4e, 0x95, 0x91,
0x52, 0xb6, 0x33, 0x36, 0x65, 0xf9, 0x6c, 0xdc, 0x1f, 0xf5, 0x7a, 0xce, 0xe5, 0xd5, 0xf8, 0x1f, 0xd5, 0x26, 0x6b, 0x23,
0xb8, 0x71, 0xfb, 0x3f, 0x93, 0x6b, 0x72, 0x6f, 0xb7, 0x8a, 0x1c, 0x89, 0xc3, 0x7a, 0xe9, 0xce, 0x4e, 0x27, 0x7f, 0xaa,
0x13, 0x53, 0xae, 0x99, 0x72, 0xac, 0xf4, 0xc4, 0xf8, 0x7f, 0x9c, 0x71, 0x24, 0x85, 0x7c, 0x25, 0x3b, 0xa3, 0xa8, 0xdd,
0xf6, 0xa5, 0xe3, 0xdd, 0xb2, 0xb5, 0x97, 0xc3, 0xb9, 0x6f, 0xdd, 0x31, 0xfe, 0x3f, 0x3b, 0xff, 0xb7, 0xbf, 0xe3, 0x58,
0xcf, 0x6e, 0x45, 0xab, 0xb5, 0xd9, 0xaf, 0xe7, 0x22, 0x1f, 0xd2, 0xab, 0xa9, 0xd5, 0x0e, 0xfb, 0x7f, 0x1d, 0xcf, 0x59,
0xe7, 0xa5, 0xf8, 0xef, 0x1d, 0x09, 0xe5, 0xc0, 0xfc, 0xe4, 0xf3, 0xd1, 0xbf, 0x32, 0xfe, 0xef, 0x98, 0x31, 0xab, 0xee,
0x38, 0x72, 0xb6, 0xb4, 0xb2, 0xe3, 0xea, 0xfc, 0x3d, 0xf9, 0x44, 0x0b, 0xdf, 0xb5, 0x4f, 0xc2, 0x4f, 0x8d, 0xff, 0x37,
0xf7, 0x18, 0xd9, 0x89, 0xff, 0xf3, 0x59, 0x9a, 0xf3, 0x87, 0x79, 0xbd, 0xdd, 0x4f, 0x1c, 0xed, 0x11, 0x9b, 0xf6, 0x38,
0xdc, 0x8f, 0xe1, 0x9d, 0xd2, 0xb9, 0x7d, 0x78, 0x6a, 0x51, 0xba, 0x53, 0xfa, 0x56, 0xfb, 0x3f, 0x33, 0x0b, 0xf5, 0x74,
0xfc, 0x77, 0xce, 0x86, 0xe6, 0x50, 0xeb, 0xb8, 0x3e, 0x9a, 0xe8, 0x9f, 0x1b, 0xed, 0xf8, 0xc4, 0x6a, 0xcb, 0xf0, 0x4e,
0xff, 0xbf, 0xfe, 0xfb, 0x8b, 0x7f, 0xce, 0x66, 0xa5, 0x38, 0xab, 0xf5, 0x93, 0xc6, 0xff, 0xd7, 0xd4, 0xae, 0x51, 0x79,
0x69, 0xfc, 0xff, 0x19, 0xaf, 0xff, 0x7b, 0x7f, 0x81, 0x75, 0x1d, 0x6e, 0x87, 0x9f, 0x2e, 0x3d, 0xdf, 0x63, 0xdc, 0x2b,
0xcd, 0x2b, 0xed, 0xff, 0xdc, 0x48, 0xf4, 0xbd, 0xf8, 0xef, 0xea, 0x2f, 0xab, 0x09, 0x3a, 0xe7, 0x59, 0xde, 0x6d, 0xc3,
0x6b, 0xbb, 0x38, 0xee, 0xfd, 0xda, 0x66, 0x76, 0x74, 0x50, 0x2b, 0xcd, 0xe1, 0xf1, 0xff, 0xee, 0x55, 0xae, 0x1c, 0xcf,
0xa7, 0xc4, 0xbf, 0xbc, 0xea, 0xa7, 0xea, 0x8c, 0x4a, 0x1c, 0x3e, 0x15, 0xc3, 0xcf, 0xdf, 0x4d, 0x7b, 0xcf, 0xff, 0xd7,
0xeb, 0xe8, 0xb5, 0xe7, 0xff, 0x3b, 0x2d, 0xc3, 0xd3, 0xcf, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0xef, 0xb7, 0xfe, 0x6c, 0x9c, 0x99, 0xa6, 0x9e, 0xd5, 0x7b, 0x37, 0x2b, 0xc0, 0xde, 0x11, 0xa5, 0xb4, 0xf6,
0x6c, 0x36, 0xb7, 0x75, 0xf7, 0xfa, 0xb4, 0x7a, 0x7e, 0xf0, 0x6c, 0xac, 0x3a, 0xac, 0xff, 0xba, 0xfc, 0xd4, 0x71, 0x9e,
0xca, 0xc2, 0x55, 0xb9, 0x1f, 0x9e, 0xbb, 0x96, 0x69, 0xbf, 0xc2, 0xb3, 0xef, 0x51, 0xcd, 0x05, 0x9d, 0xa5, 0x1c, 0x10,
0xab, 0x71, 0x96, 0xcd, 0x0c, 0xf5, 0xf5, 0xb5, 0x67, 0xb3, 0xb5, 0x4e, 0x6f, 0xe6, 0xea, 0x6c, 0xe4, 0x87, 0xae, 0x9f,
0xa3, 0x9d, 0xd5, 0xa5, 0xdd, 0xc7, 0xb9, 0x7e, 0xc5, 0x3a, 0x72, 0x73, 0x67, 0xe3, 0xcc, 0x67, 0xf9, 0xcc, 0x64, 0x50,
0x3b, 0xe5, 0x91, 0x75, 0xa5, 0xbd, 0x99, 0x0b, 0x56, 0x57, 0x34, 0x3e, 0xb7, 0xd6, 0xb6, 0xbe, 0x0a, 0x6c, 0x37, 0xbf,
0xd5, 0x73, 0xfd, 0xb7, 0x6a, 0x5f, 0xe4, 0xd7, 0xa3, 0xcc, 0x07, 0xe4, 0x74, 0x38, 0xbb, 0x9a, 0xed, 0xcc, 0x5e, 0x23,
0xe7, 0xbf, 0xe1, 0xde, 0xde, 0x21, 0x3b, 0x6b, 0x08, 0x53, 0xec, 0x51, 0x8d, 0x32, 0x1a, 0xdc, 0xc7, 0xe7, 0x6e, 0xf9,
0x5c, 0x0e, 0xb8, 0x6b, 0x22, 0x33, 0x6d, 0x0a, 0xd9, 0x2f, 0x32, 0x58, 0xd7, 0xde, 0x5d, 0x56, 0xbb, 0x47, 0x67, 0xf2,
0x96, 0xe7, 0xc0, 0x1d, 0x75, 0xbd, 0x98, 0x9b, 0xeb, 0x5a, 0x6e, 0x93, 0x53, 0x6c, 0x7b, 0x3b, 0x4b, 0x3a, 0xea, 0xe7,
0x6a, 0x2f, 0x6f, 0xa6, 0x6c, 0x3d, 0xa3, 0xe1, 0x4c, 0xcf, 0xf2, 0x99, 0xf2, 0xf5, 0x5c, 0xe6, 0xb3, 0xd9, 0x6f, 0xf2,
0x58, 0x59, 0xca, 0x77, 0xdb, 0x35, 0x91, 0x87, 0xff, 0xd4, 0x5d, 0xf3, 0x7c, 0x36, 0x8b, 0x4a, 0x0d, 0x5a, 0xcb, 0x91,
0xf8, 0x5c, 0xc9, 0x6c, 0xae, 0x83, 0x13, 0x57, 0xeb, 0x2a, 0xde, 0x39, 0x9f, 0x11, 0xff, 0xb9, 0xbd, 0xe6, 0xd7, 0x56,
0xdd, 0xd6, 0xdd, 0x2e, 0xce, 0xb4, 0x99, 0xf5, 0x7a, 0xa3, 0xfa, 0xb9, 0xb5, 0xac, 0x34, 0x73, 0xd9, 0x79, 0xae, 0xe9,
0x91, 0x7e, 0x65, 0x8f, 0xca, 0x95, 0x4f, 0xad, 0xb4, 0x03, 0x4f, 0x95, 0x54, 0x46, 0x30, 0x4f, 0xc5, 0xff, 0x67, 0xb4,
0xef, 0xb5, 0xdd, 0x0d, 0xc7, 0xe3, 0xff, 0x94, 0x7b, 0x45, 0xfd, 0x65, 0x29, 0xcf, 0xde, 0x74, 0xcc, 0x0b, 0xa5, 0xb5,
0xec, 0x6a, 0x9a, 0x9f, 0xaf, 0xec, 0x66, 0xf7, 0xb9, 0xf1, 0x5f, 0xdd, 0x3b, 0xe6, 0xad, 0xf8, 0xcf, 0xc7, 0xb7, 0xff,
0xeb, 0xbb, 0x9b, 0xfe, 0xf9, 0x19, 0x55, 0x4a, 0x3d, 0x8b, 0xce, 0xb2, 0xab, 0xb8, 0xef, 0xda, 0x6e, 0xaf, 0xf9, 0xc4,
0xf8, 0x66, 0x36, 0x27, 0xf0, 0x93, 0xf1, 0x5f, 0xb9, 0x2a, 0xbd, 0x25, 0xbb, 0x33, 0x43, 0x6f, 0xb4, 0xff, 0xf3, 0xcf,
0x0d, 0xde, 0x8a, 0xff, 0xea, 0xf3, 0xff, 0x99, 0xbd, 0x3c, 0x4f, 0xb4, 0x8c, 0x95, 0x96, 0xfc, 0xec, 0x3e, 0x09, 0x27,
0xc6, 0x39, 0xa7, 0xdb, 0xff, 0xca, 0x78, 0xe4, 0x1a, 0xee, 0xfc, 0x7e, 0xba, 0xe4, 0xda, 0x9e, 0xf9, 0xfd, 0xb4, 0x19,
0x99, 0xa7, 0xc6, 0xf7, 0x9f, 0xb5, 0xdf, 0xea, 0xf5, 0xda, 0xf3, 0xb4, 0x9f, 0x70, 0xac, 0x1d, 0x33, 0x00, 0xcf, 0x3f,
0x73, 0xfc, 0xb4, 0x73, 0x57, 0xdd, 0x89, 0xe5, 0xb9, 0xef, 0xd3, 0x51, 0x3e, 0xf3, 0xbd, 0xe5, 0x4c, 0xe5, 0x6f, 0xfa,
0xf5, 0xef, 0x67, 0xe5, 0x10, 0x1e, 0xff, 0x86, 0x76, 0xaf, 0xfc, 0xb9, 0xdf, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xa9, 0xdf, 0xde, 0xd7, 0xd7, 0xbd, 0x57, 0xd7, 0x7c, 0xf7, 0x67, 0xe2, 0x8e, 0x35,
0x3c, 0xd0, 0xb6, 0x16, 0x34, 0x93, 0xb9, 0xe0, 0xba, 0x63, 0x31, 0x5b, 0x99, 0x4d, 0x80, 0xf9, 0x36, 0xff, 0x8d, 0x75,
0x7e, 0xd5, 0xcf, 0xcd, 0x30, 0xf3, 0x82, 0x55, 0x7c, 0x30, 0x1f, 0xff, 0x19, 0xe6, 0x32, 0xea, 0x2e, 0xbd, 0x26, 0xb2,
0x0b, 0x5c, 0x85, 0xfc, 0x55, 0xd1, 0x47, 0x80, 0xa5, 0xf8, 0x9f, 0xc9, 0xc8, 0xfd, 0x49, 0xa5, 0x29, 0xef, 0x3e, 0x06,
0xfc, 0x79, 0x94, 0xfd, 0xbd, 0xe2, 0x7f, 0x27, 0x7f, 0x3d, 0xf0, 0x7e, 0xfc, 0xa7, 0x58, 0x5a, 0xcf, 0x15, 0x0b, 0xfc,
0xda, 0xfb, 0x9f, 0x99, 0xfd, 0x4f, 0x7b, 0xe9, 0xd5, 0xb0, 0xc7, 0x44, 0xf5, 0xa9, 0x24, 0xd0, 0xf1, 0x7c, 0x70, 0xa7,
0xb4, 0xfe, 0x9b, 0x84, 0x99, 0xe7, 0x19, 0xae, 0x1c, 0x7c, 0xff, 0xe7, 0x92, 0xb5, 0xfa, 0xca, 0x19, 0x84, 0xef, 0xdf,
0xef, 0x70, 0x1e, 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, 0xe0, 0x79, 0xff, 0xf9, 0xe7, 0x3c, 0x80, 0xf8, 0x07, 0xfe, 0xba, 0xf8, 0xff, 0x17 };
// Font glyphs rectangles data (on atlas)
static const Rectangle cherryFontRecs[189] = {
{ 4, 4, 5 , 15 },
{ 17, 4, 3 , 10 },
{ 28, 4, 5 , 2 },
{ 41, 4, 10 , 10 },
{ 59, 4, 7 , 11 },
{ 74, 4, 7 , 10 },
{ 89, 4, 8 , 10 },
{ 105, 4, 1 , 2 },
{ 114, 4, 3 , 10 },
{ 125, 4, 3 , 10 },
{ 136, 4, 3 , 3 },
{ 147, 4, 7 , 7 },
{ 162, 4, 2 , 2 },
{ 172, 4, 6 , 3 },
{ 186, 4, 1 , 1 },
{ 195, 4, 4 , 10 },
{ 207, 4, 5 , 8 },
{ 220, 4, 5 , 8 },
{ 233, 4, 5 , 8 },
{ 246, 4, 5 , 8 },
{ 259, 4, 5 , 8 },
{ 272, 4, 5 , 8 },
{ 285, 4, 5 , 8 },
{ 298, 4, 5 , 8 },
{ 311, 4, 5 , 8 },
{ 324, 4, 5 , 8 },
{ 337, 4, 3 , 10 },
{ 348, 4, 3 , 12 },
{ 359, 4, 6 , 7 },
{ 373, 4, 6 , 4 },
{ 387, 4, 6 , 7 },
{ 401, 4, 5 , 10 },
{ 414, 4, 8 , 10 },
{ 430, 4, 7 , 9 },
{ 445, 4, 7 , 9 },
{ 460, 4, 6 , 9 },
{ 474, 4, 6 , 9 },
{ 488, 4, 7 , 9 },
{ 4, 27, 6 , 9 },
{ 18, 27, 6 , 9 },
{ 32, 27, 7 , 9 },
{ 47, 27, 3 , 9 },
{ 58, 27, 6 , 9 },
{ 72, 27, 7 , 9 },
{ 87, 27, 7 , 9 },
{ 102, 27, 11 , 9 },
{ 121, 27, 8 , 9 },
{ 137, 27, 6 , 9 },
{ 151, 27, 6 , 9 },
{ 165, 27, 7 , 9 },
{ 180, 27, 7 , 9 },
{ 195, 27, 6 , 9 },
{ 209, 27, 7 , 9 },
{ 224, 27, 8 , 9 },
{ 240, 27, 9 , 9 },
{ 257, 27, 11 , 9 },
{ 276, 27, 7 , 9 },
{ 291, 27, 7 , 9 },
{ 306, 27, 7 , 9 },
{ 321, 27, 3 , 9 },
{ 332, 27, 4 , 10 },
{ 344, 27, 3 , 9 },
{ 355, 27, 3 , 3 },
{ 366, 27, 7 , 2 },
{ 381, 27, 2 , 2 },
{ 391, 27, 6 , 6 },
{ 405, 27, 6 , 9 },
{ 419, 27, 6 , 6 },
{ 433, 27, 6 , 9 },
{ 447, 27, 6 , 6 },
{ 461, 27, 5 , 9 },
{ 474, 27, 5 , 9 },
{ 487, 27, 7 , 9 },
{ 4, 50, 3 , 7 },
{ 15, 50, 3 , 8 },
{ 26, 50, 6 , 9 },
{ 40, 50, 4 , 9 },
{ 52, 50, 11 , 6 },
{ 71, 50, 7 , 6 },
{ 86, 50, 5 , 6 },
{ 99, 50, 6 , 8 },
{ 113, 50, 6 , 8 },
{ 127, 50, 5 , 6 },
{ 140, 50, 5 , 6 },
{ 153, 50, 5 , 9 },
{ 166, 50, 7 , 6 },
{ 181, 50, 7 , 6 },
{ 196, 50, 11 , 6 },
{ 215, 50, 7 , 6 },
{ 230, 50, 7 , 8 },
{ 245, 50, 6 , 6 },
{ 259, 50, 5 , 9 },
{ 272, 50, 1 , 9 },
{ 281, 50, 5 , 9 },
{ 294, 50, 7 , 3 },
{ 309, 50, 3 , 10 },
{ 320, 50, 7 , 10 },
{ 335, 50, 7 , 10 },
{ 350, 50, 6 , 9 },
{ 364, 50, 7 , 9 },
{ 379, 50, 6 , 12 },
{ 393, 50, 7 , 11 },
{ 408, 50, 5 , 9 },
{ 421, 50, 5 , 5 },
{ 434, 50, 4 , 5 },
{ 446, 50, 6 , 7 },
{ 460, 50, 6 , 3 },
{ 474, 50, 5 , 5 },
{ 487, 50, 6 , 1 },
{ 4, 73, 3 , 3 },
{ 15, 73, 7 , 10 },
{ 30, 73, 3 , 5 },
{ 41, 73, 3 , 5 },
{ 52, 73, 7 , 12 },
{ 67, 73, 6 , 8 },
{ 81, 73, 7 , 9 },
{ 96, 73, 2 , 3 },
{ 106, 73, 6 , 9 },
{ 120, 73, 3 , 5 },
{ 131, 73, 3 , 5 },
{ 142, 73, 6 , 7 },
{ 156, 73, 13 , 9 },
{ 177, 73, 10 , 6 },
{ 195, 73, 7 , 11 },
{ 210, 73, 5 , 10 },
{ 223, 73, 7 , 12 },
{ 238, 73, 7 , 12 },
{ 253, 73, 7 , 12 },
{ 268, 73, 7 , 12 },
{ 283, 73, 7 , 11 },
{ 298, 73, 7 , 11 },
{ 313, 73, 12 , 9 },
{ 333, 73, 6 , 11 },
{ 347, 73, 7 , 12 },
{ 362, 73, 7 , 12 },
{ 377, 73, 7 , 12 },
{ 392, 73, 7 , 11 },
{ 407, 73, 3 , 12 },
{ 418, 73, 3 , 12 },
{ 429, 73, 3 , 12 },
{ 440, 73, 3 , 11 },
{ 451, 73, 7 , 9 },
{ 466, 73, 8 , 12 },
{ 482, 73, 6 , 12 },
{ 496, 73, 6 , 12 },
{ 4, 96, 6 , 12 },
{ 18, 96, 6 , 12 },
{ 32, 96, 6 , 11 },
{ 46, 96, 5 , 5 },
{ 59, 96, 8 , 9 },
{ 75, 96, 8 , 12 },
{ 91, 96, 8 , 12 },
{ 107, 96, 8 , 12 },
{ 123, 96, 8 , 11 },
{ 139, 96, 7 , 12 },
{ 154, 96, 7 , 9 },
{ 169, 96, 8 , 9 },
{ 185, 96, 6 , 9 },
{ 199, 96, 6 , 9 },
{ 213, 96, 6 , 9 },
{ 227, 96, 6 , 9 },
{ 241, 96, 6 , 8 },
{ 255, 96, 6 , 10 },
{ 269, 96, 10 , 6 },
{ 287, 96, 6 , 8 },
{ 301, 96, 6 , 9 },
{ 315, 96, 6 , 9 },
{ 329, 96, 6 , 9 },
{ 343, 96, 6 , 8 },
{ 357, 96, 3 , 10 },
{ 368, 96, 3 , 10 },
{ 379, 96, 3 , 10 },
{ 390, 96, 3 , 9 },
{ 401, 96, 6 , 10 },
{ 415, 96, 7 , 9 },
{ 430, 96, 5 , 9 },
{ 443, 96, 5 , 9 },
{ 456, 96, 5 , 9 },
{ 469, 96, 5 , 9 },
{ 482, 96, 5 , 8 },
{ 495, 96, 7 , 9 },
{ 4, 119, 8 , 8 },
{ 20, 119, 7 , 9 },
{ 35, 119, 7 , 9 },
{ 50, 119, 7 , 9 },
{ 65, 119, 7 , 8 },
{ 80, 119, 7 , 11 },
{ 95, 119, 5 , 8 },
{ 108, 119, 7 , 10 },
};
// Font glyphs info data
// NOTE: No glyphs.image data provided
static const GlyphInfo cherryFontGlyphs[189] = {
{ 32, 0, 12, 5, { 0 }},
{ 33, 0, 2, 4, { 0 }},
{ 34, 0, 2, 6, { 0 }},
{ 35, 0, 2, 11, { 0 }},
{ 36, 0, 2, 8, { 0 }},
{ 37, 0, 2, 8, { 0 }},
{ 38, 0, 2, 9, { 0 }},
{ 39, 0, 2, 2, { 0 }},
{ 40, 0, 2, 4, { 0 }},
{ 41, 0, 2, 4, { 0 }},
{ 42, 0, 2, 4, { 0 }},
{ 43, 0, 4, 8, { 0 }},
{ 44, 0, 11, 3, { 0 }},
{ 45, 0, 6, 7, { 0 }},
{ 46, 0, 11, 2, { 0 }},
{ 47, 0, 2, 5, { 0 }},
{ 48, 0, 4, 6, { 0 }},
{ 49, 0, 4, 6, { 0 }},
{ 50, 0, 4, 6, { 0 }},
{ 51, 0, 4, 6, { 0 }},
{ 52, 0, 4, 6, { 0 }},
{ 53, 0, 4, 6, { 0 }},
{ 54, 0, 4, 6, { 0 }},
{ 55, 0, 4, 6, { 0 }},
{ 56, 0, 4, 6, { 0 }},
{ 57, 0, 4, 6, { 0 }},
{ 58, 0, 2, 4, { 0 }},
{ 59, 0, 2, 4, { 0 }},
{ 60, 0, 4, 7, { 0 }},
{ 61, 0, 5, 7, { 0 }},
{ 62, 0, 4, 7, { 0 }},
{ 63, 0, 2, 6, { 0 }},
{ 64, 0, 2, 9, { 0 }},
{ 65, 0, 3, 8, { 0 }},
{ 66, 0, 3, 8, { 0 }},
{ 67, 0, 3, 7, { 0 }},
{ 68, 0, 3, 7, { 0 }},
{ 69, 0, 3, 8, { 0 }},
{ 70, 0, 3, 7, { 0 }},
{ 71, 0, 3, 7, { 0 }},
{ 72, 0, 3, 8, { 0 }},
{ 73, 0, 3, 4, { 0 }},
{ 74, 0, 3, 7, { 0 }},
{ 75, 0, 3, 8, { 0 }},
{ 76, 0, 3, 8, { 0 }},
{ 77, 0, 3, 12, { 0 }},
{ 78, 0, 3, 9, { 0 }},
{ 79, 0, 3, 7, { 0 }},
{ 80, 0, 3, 7, { 0 }},
{ 81, 0, 3, 8, { 0 }},
{ 82, 0, 3, 8, { 0 }},
{ 83, 0, 3, 7, { 0 }},
{ 84, 0, 3, 8, { 0 }},
{ 85, 0, 3, 9, { 0 }},
{ 86, 0, 3, 10, { 0 }},
{ 87, 0, 3, 12, { 0 }},
{ 88, 0, 3, 8, { 0 }},
{ 89, 0, 3, 8, { 0 }},
{ 90, 0, 3, 8, { 0 }},
{ 91, 0, 3, 4, { 0 }},
{ 92, 0, 2, 5, { 0 }},
{ 93, 0, 3, 4, { 0 }},
{ 94, 0, 3, 4, { 0 }},
{ 95, 0, 10, 8, { 0 }},
{ 96, 0, 2, 3, { 0 }},
{ 97, 0, 6, 7, { 0 }},
{ 98, 0, 3, 7, { 0 }},
{ 99, 0, 6, 7, { 0 }},
{ 100, 0, 3, 7, { 0 }},
{ 101, 0, 6, 7, { 0 }},
{ 102, 0, 3, 6, { 0 }},
{ 103, 0, 5, 6, { 0 }},
{ 104, 0, 3, 8, { 0 }},
{ 105, 0, 5, 4, { 0 }},
{ 106, 0, 5, 4, { 0 }},
{ 107, 0, 3, 7, { 0 }},
{ 108, 0, 3, 5, { 0 }},
{ 109, 0, 6, 12, { 0 }},
{ 110, 0, 6, 8, { 0 }},
{ 111, 0, 6, 6, { 0 }},
{ 112, 0, 6, 7, { 0 }},
{ 113, 0, 6, 7, { 0 }},
{ 114, 0, 6, 6, { 0 }},
{ 115, 0, 6, 6, { 0 }},
{ 116, 0, 3, 6, { 0 }},
{ 117, 0, 6, 8, { 0 }},
{ 118, 0, 6, 8, { 0 }},
{ 119, 0, 6, 12, { 0 }},
{ 120, 0, 6, 8, { 0 }},
{ 121, 0, 6, 8, { 0 }},
{ 122, 0, 6, 7, { 0 }},
{ 123, 0, 3, 6, { 0 }},
{ 124, 0, 3, 2, { 0 }},
{ 125, 0, 3, 6, { 0 }},
{ 126, 0, 6, 8, { 0 }},
{ 161, 0, 4, 4, { 0 }},
{ 162, 0, 4, 8, { 0 }},
{ 163, 0, 2, 8, { 0 }},
{ 8364, 0, 3, 7, { 0 }},
{ 165, 0, 3, 8, { 0 }},
{ 352, 0, 0, 7, { 0 }},
{ 167, 0, 2, 8, { 0 }},
{ 353, 0, 3, 6, { 0 }},
{ 169, 0, 1, 6, { 0 }},
{ 170, 0, 2, 5, { 0 }},
{ 171, 0, 5, 7, { 0 }},
{ 172, 0, 6, 7, { 0 }},
{ 174, 0, 1, 6, { 0 }},
{ 175, 0, 2, 7, { 0 }},
{ 176, 0, 2, 4, { 0 }},
{ 177, 0, 3, 8, { 0 }},
{ 178, 0, 2, 4, { 0 }},
{ 179, 0, 2, 4, { 0 }},
{ 381, 0, 0, 8, { 0 }},
{ 181, 0, 6, 7, { 0 }},
{ 182, 0, 3, 8, { 0 }},
{ 183, 0, 6, 3, { 0 }},
{ 382, 0, 3, 7, { 0 }},
{ 185, 0, 2, 4, { 0 }},
{ 186, 0, 2, 4, { 0 }},
{ 187, 0, 5, 7, { 0 }},
{ 338, 0, 3, 14, { 0 }},
{ 339, 0, 6, 11, { 0 }},
{ 376, 0, 1, 8, { 0 }},
{ 191, 0, 4, 6, { 0 }},
{ 192, 0, 0, 8, { 0 }},
{ 193, 0, 0, 8, { 0 }},
{ 194, 0, 0, 8, { 0 }},
{ 195, 0, 0, 8, { 0 }},
{ 196, 0, 1, 8, { 0 }},
{ 197, 0, 1, 8, { 0 }},
{ 198, 0, 3, 13, { 0 }},
{ 199, 0, 3, 7, { 0 }},
{ 200, 0, 0, 8, { 0 }},
{ 201, 0, 0, 8, { 0 }},
{ 202, 0, 0, 8, { 0 }},
{ 203, 0, 1, 8, { 0 }},
{ 204, 0, 0, 4, { 0 }},
{ 205, 0, 0, 4, { 0 }},
{ 206, 0, 0, 4, { 0 }},
{ 207, 0, 1, 4, { 0 }},
{ 208, 0, 3, 8, { 0 }},
{ 209, 0, 0, 9, { 0 }},
{ 210, 0, 0, 7, { 0 }},
{ 211, 0, 0, 7, { 0 }},
{ 212, 0, 0, 7, { 0 }},
{ 213, 0, 0, 7, { 0 }},
{ 214, 0, 1, 7, { 0 }},
{ 215, 1, 5, 7, { 0 }},
{ 216, 0, 3, 9, { 0 }},
{ 217, 0, 0, 9, { 0 }},
{ 218, 0, 0, 9, { 0 }},
{ 219, 0, 0, 9, { 0 }},
{ 220, 0, 1, 9, { 0 }},
{ 221, 0, 0, 8, { 0 }},
{ 222, 0, 2, 8, { 0 }},
{ 223, 0, 3, 9, { 0 }},
{ 224, 0, 3, 7, { 0 }},
{ 225, 0, 3, 7, { 0 }},
{ 226, 0, 3, 7, { 0 }},
{ 227, 0, 3, 7, { 0 }},
{ 228, 0, 4, 7, { 0 }},
{ 229, 0, 2, 7, { 0 }},
{ 230, 0, 6, 11, { 0 }},
{ 231, 0, 6, 7, { 0 }},
{ 232, 0, 3, 7, { 0 }},
{ 233, 0, 3, 7, { 0 }},
{ 234, 0, 3, 7, { 0 }},
{ 235, 0, 4, 7, { 0 }},
{ 236, 0, 2, 4, { 0 }},
{ 237, 0, 2, 4, { 0 }},
{ 238, 0, 2, 4, { 0 }},
{ 239, 0, 3, 4, { 0 }},
{ 240, 0, 2, 7, { 0 }},
{ 241, 0, 3, 8, { 0 }},
{ 242, 0, 3, 6, { 0 }},
{ 243, 0, 3, 6, { 0 }},
{ 244, 0, 3, 6, { 0 }},
{ 245, 0, 3, 6, { 0 }},
{ 246, 0, 4, 6, { 0 }},
{ 247, 0, 3, 8, { 0 }},
{ 248, 0, 4, 9, { 0 }},
{ 249, 0, 3, 8, { 0 }},
{ 250, 0, 3, 8, { 0 }},
{ 251, 0, 3, 8, { 0 }},
{ 252, 0, 4, 8, { 0 }},
{ 253, 0, 3, 8, { 0 }},
{ 254, 0, 4, 6, { 0 }},
{ 255, 0, 4, 8, { 0 }},
};
// Style loading function: Cherry
static void GuiLoadStyleCherry(void)
{
// Load style properties provided
// NOTE: Default properties are propagated
for (int i = 0; i < CHERRY_STYLE_PROPS_COUNT; i++)
{
GuiSetStyle(cherryStyleProps[i].controlId, cherryStyleProps[i].propertyId, cherryStyleProps[i].propertyValue);
}
// Custom font loading
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
int cherryFontDataSize = 0;
unsigned char *data = DecompressData(cherryFontData, CHERRY_STYLE_FONT_ATLAS_COMP_SIZE, &cherryFontDataSize);
Image imFont = { data, 512, 256, 1, 2 };
Font font = { 0 };
font.baseSize = 15;
font.glyphCount = 189;
// Load texture from image
font.texture = LoadTextureFromImage(imFont);
UnloadImage(imFont); // Uncompressed image data can be unloaded from memory
// Copy char recs data from global fontRecs
// NOTE: Required to avoid issues if trying to free font
font.recs = (Rectangle *)RAYGUI_MALLOC(font.glyphCount*sizeof(Rectangle));
memcpy(font.recs, cherryFontRecs, font.glyphCount*sizeof(Rectangle));
// Copy font char info data from global fontChars
// NOTE: Required to avoid issues if trying to free font
font.glyphs = (GlyphInfo *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
memcpy(font.glyphs, cherryFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
GuiSetFont(font);
// Setup a white rectangle on the font to be used on shapes drawing,
// it makes possible to draw shapes and text (full UI) in a single draw call
Rectangle fontWhiteRec = { 510, 254, 1, 1 };
SetShapesTexture(font.texture, fontWhiteRec);
//-----------------------------------------------------------------
// TODO: Custom user style setup: Set specific properties here (if required)
// i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT
}

View File

@ -1,19 +1,19 @@
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
// // // //
// StyleAsCode exporter v1.2 - Style data exported as a values array // // StyleAsCode exporter v2.0 - Style data exported as a values array //
// // // //
// USAGE: On init call: GuiLoadStyleCyber(); // // USAGE: On init call: GuiLoadStyleCyber(); //
// // // //
// more info and bugs-report: github.com/raysan5/raygui // // more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com // // feedback and support: ray[at]raylibtech.com //
// // // //
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) // // Copyright (c) 2020-2024 raylib technologies (@raylibtech) //
// // // //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
#define CYBER_STYLE_PROPS_COUNT 16 #define CYBER_STYLE_PROPS_COUNT 17
// Custom style name: cyber // Custom style name: Cyber
static const GuiStyleProp cyberStyleProps[CYBER_STYLE_PROPS_COUNT] = { static const GuiStyleProp cyberStyleProps[CYBER_STYLE_PROPS_COUNT] = {
{ 0, 0, 0x2f7486ff }, // DEFAULT_BORDER_COLOR_NORMAL { 0, 0, 0x2f7486ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0x024658ff }, // DEFAULT_BASE_COLOR_NORMAL { 0, 1, 0x024658ff }, // DEFAULT_BASE_COLOR_NORMAL
@ -31,74 +31,133 @@ static const GuiStyleProp cyberStyleProps[CYBER_STYLE_PROPS_COUNT] = {
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING { 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, 0x81c0d0ff }, // DEFAULT_LINE_COLOR { 0, 18, 0x81c0d0ff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0x00222bff }, // DEFAULT_BACKGROUND_COLOR { 0, 19, 0x00222bff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, 0x00000015 }, // DEFAULT_TEXT_LINE_SPACING
}; };
// WARNING: This style uses a custom font: (size: 14, spacing: 0) // WARNING: This style uses a custom font: "Kyrou 7 Wide.ttf" (size: 14, spacing: 0)
#define CYBER_COMPRESSED_DATA_SIZE 1104 #define CYBER_STYLE_FONT_ATLAS_COMP_SIZE 2286
// Font image pixels data compressed (DEFLATE) // Font atlas image pixels data: DEFLATE compressed
// NOTE: Original pixel data simplified to GRAYSCALE static unsigned char cyberFontData[CYBER_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
static unsigned char cyberFontData[CYBER_COMPRESSED_DATA_SIZE] = { 0xed, 0xdd, 0x81, 0x6e, 0xdb, 0x36, 0x10, 0x06, 0x60, 0x21, 0xef, 0xff, 0xc6, 0x99, 0xf6, 0x0f, 0xe8, 0xd0, 0x2d, 0x45, 0x6b,
0xdd, 0xe1, 0x6e, 0x9b, 0x30, 0x14, 0x05, 0x60, 0xb4, 0xf7, 0x7f, 0xe3, 0x8d, 0x9d, 0x49, 0x95, 0xb6, 0xa9, 0x9b, 0x02, 0x89, 0x3c, 0x92, 0xb2, 0xec, 0x7c, 0xfd, 0x80, 0x61, 0x88, 0x62, 0x5b, 0xa2, 0x78, 0xe4, 0x49, 0x0a, 0xcf, 0xd9, 0x00,
0xf6, 0xb5, 0x4d, 0x48, 0xfa, 0xed, 0xfb, 0xd7, 0x94, 0x05, 0x7c, 0xb1, 0x81, 0xfa, 0xc4, 0xc9, 0x06, 0x00, 0xb0, 0x58, 0x00, 0x00, 0x00, 0x26, 0xcb, 0xc5, 0x9f, 0x96, 0xe6, 0x9f, 0xce, 0x3b, 0xa2, 0x9f, 0xff, 0x9e, 0x7b, 0xec, 0xfa, 0x57,
0x2e, 0x7e, 0xb7, 0x34, 0xff, 0x74, 0xde, 0x11, 0xfd, 0xfe, 0xf7, 0xdc, 0x63, 0x5f, 0x77, 0x74, 0x8f, 0x8e, 0x24, 0x27, 0x7f, 0xbb, 0xe7, 0xe1, 0xb9, 0xd3, 0x9e, 0x5f, 0x7f, 0x92, 0xc3, 0xdf, 0x4d, 0xa9, 0x75, 0x73, 0x7a, 0xc6, 0x8e, 0xcf,
0xc7, 0x99, 0x87, 0x2d, 0xf3, 0xef, 0x56, 0x39, 0xd8, 0xbe, 0x6f, 0x4f, 0xfb, 0xce, 0xc3, 0x1c, 0xee, 0xfd, 0xda, 0xf3, 0x4c, 0x5f, 0xbc, 0x3d, 0xde, 0x87, 0x74, 0xbf, 0x62, 0xe5, 0xc8, 0xf8, 0xf3, 0xdf, 0xde, 0xd5, 0xdf, 0x8f, 0x7b, 0x71,
0x39, 0x87, 0x6d, 0xb6, 0x77, 0x6c, 0x75, 0xdc, 0xce, 0xab, 0xea, 0xff, 0xf9, 0xdf, 0xa3, 0xff, 0x29, 0x0d, 0xad, 0x56, 0x5b, 0x2f, 0xcf, 0xc9, 0x1e, 0xa5, 0xe1, 0x37, 0xce, 0x5e, 0xbf, 0x0d, 0xec, 0xfd, 0x7e, 0xe9, 0x5c, 0x94, 0xd3, 0x31,
0x3d, 0xbb, 0xc6, 0xeb, 0xbf, 0x75, 0x9d, 0x5f, 0xeb, 0xc7, 0xc5, 0x34, 0x54, 0xba, 0xbf, 0x1f, 0xad, 0x1a, 0xaf, 0xf7, 0x63, 0x5b, 0x70, 0x34, 0x19, 0x3c, 0x97, 0x19, 0x1e, 0xd1, 0xda, 0xe3, 0xff, 0xac, 0x5f, 0xe4, 0xb7, 0xff, 0x6e, 0xa5,
0x86, 0x63, 0xd9, 0xcb, 0xef, 0x98, 0xee, 0x3d, 0xea, 0xad, 0x7f, 0x0e, 0x46, 0xee, 0x79, 0x3d, 0xaa, 0x7a, 0x36, 0x56, 0x48, 0xcb, 0xc2, 0xf8, 0xdf, 0xba, 0xc6, 0x97, 0xf5, 0x79, 0x51, 0x1a, 0x22, 0xbd, 0xff, 0x35, 0xad, 0x47, 0x5b, 0x1b,
0xc6, 0x9f, 0x6b, 0xeb, 0x3f, 0x36, 0xfe, 0x9f, 0xbf, 0xdf, 0xf7, 0x0f, 0xed, 0x7b, 0xf5, 0x2a, 0xfd, 0xbf, 0xed, 0x3d, 0xf1, 0xd2, 0xfc, 0xbb, 0x29, 0x1d, 0xf1, 0xac, 0x33, 0xd2, 0x3b, 0x72, 0x9e, 0xb5, 0xc6, 0x8a, 0xa3, 0xf9, 0xfa, 0xb3,
0x73, 0x93, 0xf1, 0xbf, 0x5e, 0xff, 0xbf, 0xfd, 0x3f, 0x03, 0x15, 0x6b, 0x3f, 0xae, 0x2b, 0xae, 0xff, 0xe3, 0xf6, 0xc6, 0xcf, 0xc1, 0xd7, 0xef, 0xcb, 0xc7, 0xc8, 0xbd, 0xa1, 0xa5, 0xf6, 0xf2, 0x27, 0xa6, 0x90, 0xcd, 0xcd, 0x3a, 0xfb, 0xab,
0xbd, 0xcc, 0x84, 0xab, 0xde, 0xea, 0x7b, 0xed, 0xb1, 0xeb, 0x7f, 0x1a, 0xcf, 0xae, 0x75, 0xf5, 0xbf, 0xde, 0x8f, 0xe6, 0xf3, 0xc2, 0x94, 0x63, 0x29, 0x43, 0x67, 0xef, 0xf8, 0x73, 0xab, 0xf3, 0xf7, 0xda, 0x11, 0xaf, 0x3f, 0xd7, 0xcf, 0xa4,
0x23, 0x78, 0x4e, 0xfd, 0xaf, 0x1b, 0xff, 0x7b, 0xee, 0xff, 0xf3, 0x26, 0xf5, 0x4f, 0x47, 0xaf, 0xea, 0x7d, 0xfa, 0x5c, 0xd1, 0xbc, 0x36, 0x9a, 0xfd, 0x6c, 0xa9, 0x2c, 0x88, 0xdf, 0x79, 0x63, 0xf1, 0xcc, 0x1c, 0x69, 0x24, 0xef, 0x3c, 0xda,
0x79, 0xbf, 0xe2, 0xf9, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xd3, 0xac, 0x63, 0x0a, 0xc9, 0x86, 0xf7, 0x6e, 0xf6, 0xf9, 0x43, 0xfb, 0x5e, 0xbd, 0xca, 0xfc, 0x9f, 0x81, 0xf3, 0x97, 0x52, 0x3b, 0x9f, 0xe5, 0x94, 0xad, 0x47, 0x7c,
0xa3, 0x96, 0xa3, 0xcc, 0x49, 0x4e, 0x35, 0x0d, 0xbf, 0x71, 0xb6, 0x7d, 0x6d, 0x1e, 0xfc, 0x38, 0x27, 0xbb, 0x36, 0xf1, 0xfc, 0xe9, 0x7b, 0xe1, 0x98, 0x3f, 0xb2, 0xff, 0x67, 0x9b, 0x92, 0xd3, 0x66, 0xe2, 0xb9, 0x4c, 0xf7, 0xb5, 0xd2, 0xbf,
0xb0, 0x35, 0x67, 0xc0, 0x67, 0x1c, 0x4d, 0x9a, 0xb7, 0xaf, 0x65, 0x25, 0x8f, 0xf3, 0x68, 0xb5, 0x1c, 0x74, 0x86, 0x32, 0x71, 0x5b, 0xcf, 0x99, 0x93, 0xbf, 0x7f, 0xd8, 0x17, 0xe7, 0x62, 0x57, 0xc4, 0xff, 0xff, 0xa3, 0x58, 0x06, 0x22, 0x36,
0x8b, 0x19, 0x7c, 0x7d, 0x74, 0xa4, 0x38, 0x4b, 0x35, 0x3d, 0xfe, 0xe9, 0x8a, 0xa3, 0xc9, 0xa7, 0x4c, 0xe4, 0xfc, 0xd6, 0x83, 0x33, 0xcc, 0xdc, 0xeb, 0xff, 0x71, 0xfb, 0xd0, 0xf9, 0xcb, 0xf4, 0xab, 0xda, 0xff, 0xa3, 0x37, 0xa5, 0xfc, 0x21,
0x38, 0xce, 0x9a, 0x54, 0xfb, 0xef, 0xda, 0x1c, 0x74, 0xff, 0x58, 0x9f, 0x49, 0xe9, 0x94, 0xda, 0xd9, 0xfc, 0xbb, 0xa5, 0xd3, 0x46, 0xd9, 0x7d, 0xe1, 0xbd, 0xe4, 0x2c, 0xca, 0xd2, 0x1e, 0xcd, 0xff, 0xd7, 0x65, 0x3b, 0x6b, 0xae, 0x96, 0x7a,
0x46, 0x8f, 0x66, 0x9f, 0x98, 0xb1, 0x69, 0x4b, 0x1a, 0x65, 0xb0, 0x0f, 0xed, 0x85, 0xb6, 0xfc, 0x96, 0xfd, 0x8f, 0xad, 0xee, 0x9d, 0x56, 0xaf, 0xff, 0xd3, 0x38, 0xba, 0xac, 0x8b, 0xff, 0xeb, 0xfd, 0x35, 0x78, 0xfe, 0x72, 0xf1, 0xf5, 0xf9,
0x38, 0x26, 0xae, 0xa9, 0xfe, 0x59, 0xde, 0xed, 0xd1, 0xef, 0xef, 0x43, 0x9f, 0xa4, 0x48, 0x7e, 0x7e, 0xd8, 0x97, 0x64, 0x9c, 0x2b, 0xf4, 0x7a, 0xc6, 0xb3, 0xf6, 0xfa, 0xff, 0xaa, 0x11, 0x63, 0x45, 0xfe, 0x9f, 0x17, 0xcf, 0xff, 0x7b, 0xee,
0xac, 0x72, 0x78, 0x45, 0x4a, 0xd7, 0x58, 0xdf, 0x33, 0x26, 0xb5, 0xe5, 0xa0, 0xf7, 0x85, 0x09, 0xb3, 0x2c, 0xca, 0xee, 0xff, 0xe7, 0x4d, 0xe2, 0x3f, 0xc3, 0x4f, 0xa4, 0x32, 0xfd, 0xfe, 0x7c, 0x5b, 0xb6, 0x3b, 0xf6, 0x7c, 0x21, 0x43, 0x47,
0x3f, 0xea, 0xff, 0xd7, 0x8d, 0x76, 0xdb, 0xd2, 0xeb, 0xf3, 0x9c, 0x2b, 0x74, 0x3d, 0x07, 0xbf, 0xf6, 0xfa, 0x7f, 0xd5, 0x3c, 0xeb, 0x5e, 0x4c, 0x26, 0xfd, 0x6e, 0x1a, 0x67, 0xc5, 0xda, 0xfd, 0xdd, 0xe7, 0xde, 0xff, 0xf7, 0xfc, 0x1f, 0x00,
0x19, 0xb3, 0x62, 0xfc, 0x9f, 0xff, 0x94, 0x33, 0x7a, 0x4f, 0x9b, 0x62, 0x5e, 0x77, 0xf6, 0x1d, 0xef, 0xda, 0xfb, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9e, 0xd5, 0x9d, 0xb9, 0xe0, 0x75, 0x95,
0xd6, 0xa3, 0x49, 0xf1, 0x53, 0x5f, 0x57, 0xb5, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x9a, 0xfe, 0x4d, 0x55, 0xb4, 0x23, 0xab, 0x6e, 0x47, 0xd6, 0xec, 0x56, 0x5f, 0x79, 0x5e, 0x87, 0xa8, 0xbe, 0xce, 0xb8, 0x7d, 0x95, 0x73,
0x69, 0xc6, 0x7a, 0x6c, 0xeb, 0x7a, 0xfe, 0x72, 0x5d, 0x4e, 0x26, 0x27, 0xbf, 0xdb, 0xba, 0x5e, 0xd9, 0x79, 0x8a, 0x77, 0xdf, 0xba, 0xe1, 0xb1, 0xea, 0x28, 0x39, 0x5d, 0x47, 0xdf, 0x56, 0x8f, 0xe0, 0xbc, 0x76, 0xeb, 0x59, 0x25, 0xab, 0xf5,
0xbf, 0x41, 0x0a, 0x78, 0x2c, 0x53, 0x98, 0xa5, 0x79, 0x97, 0xde, 0xff, 0x63, 0x56, 0xfd, 0x73, 0x98, 0xe4, 0xcb, 0x85, 0xb5, 0x5f, 0x57, 0xd6, 0xa6, 0x4c, 0xb9, 0x05, 0x7b, 0x56, 0xbf, 0xa7, 0xab, 0x3e, 0x41, 0x75, 0x1d, 0xfa, 0x75, 0x55,
0x29, 0xdf, 0xf5, 0x99, 0xe8, 0x99, 0x7d, 0xe5, 0x7e, 0xf5, 0xaf, 0xae, 0x37, 0x99, 0x83, 0xd4, 0x7b, 0x4e, 0x32, 0xb1, 0x01, 0xc7, 0x57, 0xc8, 0x1f, 0xbf, 0xf3, 0xbe, 0xfc, 0x28, 0xda, 0xf7, 0x38, 0x13, 0xce, 0xd9, 0x8a, 0xf8, 0xcf, 0x61,
0x77, 0xaa, 0xff, 0x36, 0xa1, 0xfe, 0xf5, 0xf1, 0x3f, 0x27, 0xe9, 0xe2, 0x34, 0x8d, 0x65, 0x73, 0x73, 0xfb, 0xad, 0x67, 0x45, 0x80, 0x5c, 0x58, 0xdb, 0x75, 0x5d, 0x25, 0xdc, 0x75, 0x95, 0x76, 0xce, 0xe3, 0xbf, 0xbd, 0x66, 0x73, 0x26, 0x47,
0xed, 0xe3, 0x15, 0x27, 0xcf, 0xd6, 0x33, 0x7d, 0x7e, 0xff, 0xae, 0x8e, 0xff, 0x2b, 0xfb, 0x7f, 0x5e, 0xaa, 0xff, 0xb7, 0x6b, 0xca, 0xd1, 0x33, 0x6b, 0x04, 0xa8, 0x8c, 0x5b, 0x33, 0xe2, 0xbf, 0x9a, 0x3b, 0xbc, 0x76, 0xfc, 0x57, 0xeb, 0x89,
0x5c, 0xff, 0xeb, 0x29, 0xfe, 0x0c, 0xa6, 0x80, 0xf7, 0xe6, 0xfa, 0xde, 0x67, 0xfc, 0x9f, 0x5b, 0xff, 0xdc, 0xe2, 0xfe, 0xe5, 0xe0, 0xbc, 0xa7, 0xb1, 0x6f, 0xdf, 0x61, 0xfb, 0x76, 0xd3, 0xf8, 0x3f, 0x8f, 0xa9, 0x0c, 0x57, 0x29, 0x9e, 0xd7,
0x2f, 0x4b, 0xc6, 0xe7, 0xf6, 0xf1, 0x25, 0x83, 0x89, 0xee, 0xb9, 0x77, 0xf0, 0xd7, 0xde, 0xff, 0x8f, 0xf5, 0xa0, 0xf6, 0x9f, 0xe6, 0xd9, 0x9b, 0xa2, 0xb4, 0x56, 0xd3, 0x73, 0x2f, 0x8f, 0x2c, 0xab, 0xf2, 0xff, 0x9c, 0x5c, 0x79, 0xa4, 0x29,
0x63, 0xca, 0xf4, 0xf1, 0x77, 0x74, 0xed, 0xdf, 0xb9, 0xe3, 0x3f, 0xaf, 0xf4, 0xd9, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x9d, 0x3b, 0xc6, 0xb6, 0x8e, 0x5a, 0x8f, 0x2b, 0x8a, 0x9d, 0xd5, 0x2b, 0x7c, 0xfe, 0xfc, 0x3e, 0x56, 0x4f, 0xf9,
0x00, 0x30, 0x8f, 0x96, 0xe2, 0x6a, 0x5d, 0xe9, 0x5c, 0x13, 0xaa, 0xb2, 0xfa, 0x6a, 0x7d, 0x9e, 0x76, 0xce, 0x2c, 0x6f, 0x9a, 0xf8, 0x1f, 0x8f, 0xc4, 0x3c, 0x65, 0xce, 0x9a, 0x73, 0x6f, 0x22, 0xc5, 0x79, 0x6b, 0xcd, 0x6b, 0xaf, 0x98, 0xff,
0x86, 0xe7, 0xe8, 0xdb, 0x5e, 0x4f, 0x79, 0x3e, 0xbd, 0x67, 0x36, 0xbf, 0x27, 0xa3, 0x90, 0xf2, 0x1c, 0xec, 0x75, 0xab, 0xf3, 0x52, 0xf3, 0x7f, 0xcb, 0xf5, 0x7f, 0x26, 0x5c, 0xbd, 0xd6, 0x5a, 0x6d, 0x6f, 0x3e, 0x97, 0x2b, 0xf2, 0xff, 0x96,
0x85, 0x8e, 0xcf, 0x0e, 0x8f, 0x7e, 0x63, 0xf2, 0xfa, 0xfa, 0xb7, 0x7c, 0x7f, 0x74, 0x3d, 0x0b, 0x36, 0xf6, 0xcd, 0xfe, 0x99, 0x7d, 0x7c, 0xfe, 0x1f, 0xd9, 0x9a, 0xe6, 0x59, 0xf8, 0xfa, 0xf8, 0x6f, 0x3b, 0xa6, 0x5c, 0xfa, 0xda, 0xd7, 0x8b,
0x39, 0xcc, 0x87, 0x8e, 0x9f, 0x01, 0xf5, 0x6c, 0xcd, 0x3b, 0xd5, 0xff, 0xbc, 0x4d, 0x53, 0xae, 0xfe, 0xd8, 0xb7, 0x81, 0xff, 0xdc, 0xe2, 0xfe, 0x5f, 0x16, 0xd6, 0x66, 0xce, 0x94, 0xd1, 0x6d, 0x4d, 0xfc, 0xb7, 0xd5, 0x43, 0x1f, 0xb9, 0xfe,
0xaf, 0xcd, 0x60, 0xec, 0x4d, 0xe7, 0x46, 0x6d, 0xad, 0xd7, 0x7d, 0x78, 0x55, 0xdc, 0x2b, 0xeb, 0x3f, 0x5e, 0x89, 0x2c, 0x1f, 0x8b, 0xf0, 0xf3, 0x08, 0xf8, 0x4b, 0xfc, 0x4f, 0xca, 0xff, 0x67, 0xbd, 0xba, 0xff, 0x5e, 0xc9, 0xc8, 0x0c, 0xda,
0xc9, 0xa8, 0xe7, 0xb2, 0x4f, 0xdf, 0x54, 0x72, 0x7e, 0xf5, 0x6d, 0xe7, 0xd5, 0xbf, 0xa5, 0x67, 0x8f, 0xf7, 0xff, 0x91, 0x7e, 0x4c, 0x99, 0x9e, 0x7f, 0x8f, 0xd6, 0xf6, 0x5d, 0x9d, 0xff, 0xcf, 0x7a, 0xfd, 0x56, 0x3e, 0xef, 0xe7, 0x5b, 0xc6,
0x57, 0xd3, 0xdc, 0x0b, 0xef, 0x95, 0xc1, 0xca, 0xc0, 0x5e, 0x5c, 0x59, 0xff, 0xe3, 0xea, 0xcd, 0xb8, 0xfe, 0x8f, 0x55, 0x7a, 0xe5, 0xf6, 0x84, 0x6f, 0x73, 0x58, 0xfd, 0x7c, 0xcf, 0x77, 0x94, 0xbe, 0xdf, 0x53, 0x6c, 0x6d, 0x70, 0xef, 0xe7,
0xf8, 0xbc, 0x05, 0x7e, 0xa8, 0xff, 0xe0, 0x73, 0x46, 0x1a, 0x9e, 0xa3, 0xaa, 0x4f, 0x18, 0xe7, 0xaf, 0x8c, 0x65, 0x94, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x5e, 0x65, 0x75, 0xbf, 0x15,
0x47, 0x9f, 0x11, 0x9e, 0x71, 0x6d, 0xb8, 0xea, 0xe9, 0xd0, 0xf3, 0xbf, 0xbf, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x69, 0x58, 0x1f, 0xda, 0x52, 0x3f, 0xf3, 0xb8, 0xfa, 0xe6, 0xa3, 0x1a, 0x12, 0x7b, 0x53, 0xed, 0xcd, 0x59, 0xad,
0xf0, 0x8a, 0xf3, 0x63, 0x79, 0x93, 0xf9, 0xc5, 0x34, 0x7d, 0x8b, 0xf6, 0xf9, 0xea, 0xa9, 0xc7, 0x6b, 0xaf, 0xee, 0xa5, 0xd9, 0x5a, 0x07, 0x61, 0xb4, 0x4e, 0x67, 0xe5, 0xdd, 0x5b, 0x5a, 0xf9, 0x7c, 0xcd, 0x63, 0x4e, 0xd6, 0x01, 0x6f, 0x13,
0xd4, 0x55, 0x7d, 0x9f, 0xe6, 0x27, 0x04, 0xfe, 0xdf, 0x72, 0xef, 0x98, 0x05, 0xcd, 0xf4, 0xe4, 0x6a, 0x26, 0xa5, 0x3a, 0x7b, 0xe0, 0xf9, 0x9a, 0xe7, 0x0c, 0xd4, 0x5c, 0x18, 0xa9, 0x22, 0x98, 0x85, 0x2b, 0x4c, 0x53, 0x6a, 0x95, 0xf6, 0x0a,
0x7a, 0xf2, 0xc6, 0xfd, 0xc9, 0xa9, 0x39, 0xaf, 0xce, 0xca, 0xb6, 0xcd, 0xa9, 0xff, 0x58, 0x76, 0x3a, 0xcb, 0x52, 0x13, 0x1c, 0xad, 0x5b, 0x33, 0xa9, 0xca, 0xc3, 0xea, 0x7e, 0x3d, 0x63, 0x6b, 0x7f, 0x1d, 0x85, 0x67, 0xc4, 0xff, 0x71, 0x0f,
0x5f, 0xa7, 0xfe, 0x5b, 0x71, 0xbd, 0xd2, 0xb9, 0xfd, 0xbf, 0x67, 0xbf, 0x52, 0x4e, 0x35, 0x57, 0xfa, 0x7f, 0xde, 0xbe, 0xc9, 0xe4, 0xb3, 0xdd, 0xf7, 0xd3, 0xb3, 0xd8, 0x7f, 0x5c, 0x5b, 0xf9, 0xa3, 0xb1, 0xdf, 0xf4, 0x6c, 0xcf, 0xf0, 0x59,
0xfe, 0xb5, 0xd6, 0xcc, 0x94, 0x1e, 0x57, 0xcb, 0x4e, 0xed, 0xe5, 0xf4, 0x69, 0x6f, 0xfd, 0x73, 0x69, 0xff, 0xdf, 0x1a, 0xce, 0x60, 0x25, 0x84, 0xbd, 0x73, 0xbe, 0x69, 0x8f, 0xfe, 0xb1, 0x9e, 0xb7, 0x6e, 0x05, 0xfc, 0x3b, 0xc5, 0xff, 0x56,
0x57, 0xc3, 0x9c, 0xd9, 0x96, 0xf5, 0xf5, 0x8a, 0x57, 0xdf, 0x85, 0xd5, 0x3f, 0x21, 0x31, 0xa3, 0xfe, 0x63, 0xab, 0x68, 0xac, 0x58, 0xb8, 0x3a, 0xfe, 0xb7, 0xa6, 0x7d, 0xca, 0xb4, 0x23, 0x9a, 0x57, 0x7d, 0xfb, 0xa3, 0x3b, 0xc7, 0x9a, 0x53,
0x3e, 0xa7, 0x3d, 0x56, 0xec, 0x5d, 0x6e, 0x90, 0x41, 0xed, 0xeb, 0x25, 0x33, 0xfb, 0xff, 0xca, 0x7b, 0x0c, 0xf5, 0x5f, 0xcb, 0x2a, 0x17, 0xd6, 0x7a, 0x48, 0x47, 0xef, 0xaa, 0x8e, 0x00, 0x29, 0xce, 0xff, 0xfd, 0x2d, 0x3d, 0x2b, 0xc7, 0x78,
0xf1, 0xce, 0x57, 0xd4, 0x7f, 0xfb, 0x52, 0xe9, 0xcc, 0xf7, 0xcf, 0xa2, 0x4a, 0xda, 0x7e, 0xed, 0xbf, 0x40, 0x69, 0x05, 0xcd, 0xf8, 0xaf, 0xb5, 0x66, 0x06, 0xce, 0xf0, 0xda, 0xf9, 0x7f, 0x66, 0xe5, 0xee, 0x4a, 0x74, 0xec, 0x0f, 0xde, 0x65,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd9, 0xf3, 0x6e, 0x79, 0x42, 0x9a, 0xaa, 0x25, 0x4f, 0xd3, 0x96, 0x14, 0x39, 0x9e, 0x2f, 0xcf, 0xce, 0xf5, 0xab, 0x83, 0xad, 0xe9, 0x3b, 0x19, 0xf6, 0xee, 0xd7, 0xe5, 0x97, 0xf8, 0xcc, 0x92, 0x6b, 0xf4,
0x5b, 0x32, 0xc3, 0xb4, 0xaa, 0xfe, 0x47, 0xdf, 0x54, 0xdc, 0x9e, 0x50, 0xcb, 0x92, 0x9f, 0xaa, 0xfd, 0x15, 0xf5, 0xdf, 0x1c, 0xb4, 0x70, 0xb5, 0x1a, 0x69, 0x6f, 0xfc, 0xe7, 0xd2, 0xf9, 0x7f, 0x6b, 0xfc, 0xf6, 0x8c, 0xad, 0x74, 0xbe, 0xb6,
0x9a, 0x92, 0x6b, 0x99, 0x96, 0x7b, 0xbd, 0x53, 0x1e, 0xec, 0x7d, 0xce, 0x80, 0xfa, 0xea, 0x9d, 0xf5, 0xfe, 0x3f, 0x73, 0xe2, 0xbb, 0xd6, 0x5f, 0x99, 0xd3, 0x1e, 0xbb, 0xa6, 0x1e, 0xed, 0xcc, 0x6f, 0xe8, 0xc8, 0x84, 0x7e, 0x9b, 0x93, 0x4f,
0x3d, 0x67, 0xf5, 0x5f, 0x93, 0xbf, 0x68, 0x5f, 0xbd, 0xb1, 0xb2, 0x4a, 0xed, 0xcc, 0x75, 0xdb, 0x9d, 0x01, 0xef, 0x96, 0x48, 0x31, 0x07, 0xef, 0xcd, 0xfc, 0x7b, 0xc6, 0xd9, 0x74, 0xdc, 0x19, 0xc8, 0xc1, 0x18, 0x98, 0x45, 0x39, 0xf8, 0xcc,
0xef, 0xd2, 0xff, 0xbf, 0xea, 0xa7, 0x0b, 0xd5, 0x1f, 0xf5, 0x67, 0xfc, 0xf9, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x30, 0x53, 0xf3, 0xb5, 0x75, 0x77, 0x17, 0x57, 0x66, 0x74, 0xd7, 0xbc, 0xdb, 0xb3, 0xda, 0xe4, 0xca, 0xf9, 0x3f,
0xdd, 0xd9, 0xee, 0xc8, 0xfc, 0x9f, 0xe1, 0x3a, 0x99, 0x67, 0xb9, 0xdf, 0x76, 0xbb, 0xf9, 0xbf, 0x2d, 0x36, 0x73, 0x79,
0xfe, 0x2f, 0xfe, 0xaf, 0x7e, 0xd2, 0xb2, 0xbd, 0x44, 0xfc, 0xaf, 0xbd, 0xfe, 0x9f, 0x33, 0x82, 0x54, 0x67, 0xd9, 0x6d,
0xf1, 0x33, 0x82, 0xfa, 0xab, 0xd6, 0xc5, 0xff, 0xf6, 0xad, 0xaa, 0x35, 0xbe, 0x5b, 0x6d, 0xca, 0x67, 0xc4, 0x7f, 0x4b,
0xfe, 0x9f, 0xe2, 0xfd, 0xff, 0xf6, 0x6f, 0xd8, 0x4a, 0x57, 0xce, 0xd2, 0x9e, 0x77, 0xbc, 0x67, 0x8f, 0xe0, 0x9d, 0x47,
0xb4, 0xb1, 0xe7, 0xff, 0x77, 0x1b, 0x83, 0xc7, 0xbe, 0x53, 0xe5, 0x3b, 0xf7, 0x7f, 0x75, 0x97, 0xf1, 0xd7, 0x72, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x5e, 0xb7, 0x90, 0x4b, 0xd7, 0xcb, 0x57, 0xeb,
0xd6, 0xf5, 0xaf, 0x58, 0xcd, 0xa4, 0x96, 0xc9, 0xa4, 0xb3, 0xb5, 0x37, 0xac, 0xce, 0xcf, 0x60, 0xbb, 0x67, 0xf8, 0x77,
0xd2, 0xb0, 0x22, 0x2c, 0xa5, 0x33, 0x7c, 0xbf, 0x75, 0xab, 0x23, 0xab, 0x06, 0x33, 0xb5, 0x75, 0x67, 0x9e, 0xef, 0x9c,
0x56, 0xc3, 0xfe, 0x6a, 0x2f, 0x56, 0x5f, 0x49, 0x69, 0xc5, 0x64, 0xca, 0xb5, 0x09, 0x7a, 0xc7, 0xbb, 0x74, 0xb6, 0x59,
0xef, 0xb9, 0xfe, 0xda, 0xc6, 0xad, 0x55, 0x66, 0xbe, 0x6e, 0xdf, 0xcb, 0x3d, 0xfb, 0x73, 0xa8, 0xdf, 0xa7, 0x3c, 0x42,
0x6f, 0x53, 0xea, 0x7a, 0xb7, 0x54, 0xe3, 0xd8, 0x1b, 0xd6, 0xd0, 0x67, 0xb8, 0x36, 0x58, 0xca, 0xed, 0x30, 0xb3, 0xe7,
0x8d, 0x7d, 0xda, 0xd9, 0x5a, 0xed, 0x0c, 0xcc, 0xa0, 0x29, 0xd6, 0xbf, 0xcb, 0x60, 0x65, 0x88, 0x1c, 0xac, 0xf1, 0xce,
0xb2, 0xf5, 0xed, 0xe9, 0x8c, 0xfe, 0xf6, 0xe3, 0x4d, 0x73, 0x9b, 0xb6, 0xd5, 0xab, 0xfe, 0xb8, 0x7d, 0x56, 0xba, 0x97,
0x66, 0x9b, 0x5a, 0x9b, 0x5e, 0x9d, 0x6f, 0xdc, 0xbd, 0xb6, 0xc7, 0x79, 0xf5, 0xb1, 0xf5, 0xd7, 0x06, 0x95, 0x5a, 0x2c,
0xf3, 0xe2, 0x3f, 0xdd, 0x15, 0xa5, 0xf6, 0xa1, 0xab, 0x8e, 0xbe, 0xf8, 0x6f, 0x7b, 0xdf, 0x94, 0xe6, 0xff, 0xb3, 0xf8,
0x5b, 0xbb, 0x7d, 0xb4, 0xda, 0x7e, 0x35, 0xfe, 0xfb, 0xfb, 0x40, 0x16, 0xd4, 0x48, 0x3d, 0xcb, 0x4a, 0x2a, 0x5b, 0xc6,
0xaf, 0xb1, 0xd7, 0xc5, 0xff, 0x51, 0xeb, 0x8d, 0xe6, 0x1b, 0xb3, 0xe6, 0xff, 0x0c, 0xe7, 0xff, 0xad, 0x7d, 0x35, 0xcd,
0xdf, 0x2f, 0xd4, 0x92, 0x53, 0x1d, 0x55, 0x77, 0xde, 0x4f, 0xbf, 0x29, 0x63, 0x2b, 0x7e, 0x1b, 0xc6, 0xea, 0xed, 0x3d,
0xe3, 0xf6, 0x9c, 0xca, 0x9d, 0xd7, 0x6f, 0x9d, 0x31, 0xf6, 0xdd, 0x23, 0xfe, 0xb3, 0x28, 0xd3, 0xc9, 0x50, 0xbb, 0xa6,
0x6b, 0xdf, 0xaf, 0xb9, 0xbb, 0x94, 0xcb, 0xaa, 0x8a, 0xce, 0xf9, 0x2e, 0x8c, 0x75, 0xdb, 0x5b, 0xc7, 0xc1, 0xfd, 0x82,
0xf9, 0x7f, 0xe5, 0x1d, 0xd0, 0x7a, 0x55, 0xf8, 0x6b, 0xe2, 0xff, 0x59, 0xd7, 0x46, 0xeb, 0xfa, 0x76, 0x4f, 0xfc, 0xe7,
0xe2, 0xe3, 0xb8, 0x3e, 0xfe, 0x3f, 0xfe, 0x18, 0x41, 0xe9, 0xc8, 0x6b, 0xd7, 0x6c, 0x9f, 0x39, 0xbe, 0x8c, 0x8e, 0x75,
0xcf, 0xc9, 0xff, 0x9f, 0x1f, 0xff, 0x77, 0xbe, 0x43, 0x91, 0x37, 0xba, 0x43, 0x93, 0x5f, 0xee, 0xb2, 0x5c, 0xf7, 0x3c,
0xb6, 0x7e, 0xfd, 0xfd, 0x5a, 0xdb, 0xc7, 0xee, 0xff, 0x7f, 0xdf, 0xfc, 0xff, 0xce, 0x7f, 0xb3, 0xe0, 0xef, 0x36, 0x56,
0xb6, 0xd3, 0xfd, 0xe3, 0x7b, 0xfe, 0xc8, 0xfc, 0xe8, 0x6e, 0xc8, 0xf7, 0xcd, 0xff, 0xef, 0xff, 0x17, 0x4b, 0xaa, 0xad,
0x5e, 0x71, 0x4d, 0x72, 0xc7, 0xfb, 0x7b, 0xb3, 0xfb, 0xfb, 0xd1, 0xbd, 0xd0, 0x55, 0xf9, 0xff, 0x76, 0xf3, 0xfb, 0xff,
0xf0, 0x9a, 0xe3, 0x13, 0x20, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xf7, 0xaf, 0x29,
0x53, 0x5e, 0x37, 0x91, 0x1f, 0x6b, 0xc8, 0x3f, 0x06, 0x56, 0x23, 0xad, 0xab, 0x22, 0x7b, 0x5c, 0x03, 0xeb, 0x73, 0xe0,
0xef, 0x47, 0xd7, 0x1e, 0x57, 0x26, 0xad, 0x1f, 0x7d, 0xc6, 0x91, 0xa5, 0x78, 0xae, 0xc6, 0xd7, 0x32, 0xe7, 0xb7, 0xff,
0x9f, 0xbb, 0xd6, 0xf7, 0x71, 0xbd, 0x84, 0xb1, 0x33, 0xd2, 0xb3, 0xf2, 0xf0, 0x5e, 0x15, 0x0a, 0xf7, 0x1f, 0xed, 0x91,
0xc3, 0x3a, 0x92, 0x77, 0xae, 0x22, 0xbb, 0x97, 0xaa, 0xcb, 0xac, 0x3f, 0xae, 0xb1, 0x78, 0xc8, 0x49, 0x5d, 0xcf, 0xe7,
0x54, 0xbb, 0x3d, 0x3b, 0x57, 0xc7, 0xb5, 0xb0, 0xf7, 0xc6, 0xf5, 0xf2, 0xc7, 0x55, 0x91, 0x33, 0x38, 0xfa, 0x9d, 0x47,
0x7f, 0x4a, 0x47, 0xf7, 0xa7, 0x33, 0x96, 0xe6, 0x4f, 0xc8, 0xa4, 0xea, 0x5c, 0xc7, 0xad, 0xb1, 0xbf, 0xf0, 0x4a, 0xe1,
0xbd, 0x2b, 0xfe, 0xf3, 0x25, 0x43, 0xc8, 0x0b, 0xae, 0x6e, 0x69, 0x1d, 0x8f, 0x5f, 0x6b, 0xe5, 0x4c, 0x9a, 0x57, 0x84,
0x8f, 0x54, 0xdc, 0xb1, 0x9e, 0xaa, 0xbd, 0x27, 0x9e, 0xf7, 0xd3, 0x7b, 0x57, 0x91, 0xfd, 0x3c, 0x39, 0xae, 0xbc, 0x6c,
0xf5, 0x9b, 0xb6, 0x56, 0x49, 0x21, 0x3b, 0x78, 0xd6, 0xd6, 0xe3, 0x2c, 0xee, 0x4f, 0xf3, 0x7f, 0x2d, 0xb3, 0x79, 0xd6,
0xb1, 0xb7, 0xee, 0x6b, 0x96, 0x5c, 0x09, 0xb6, 0xf4, 0x84, 0x1c, 0x66, 0x5b, 0xaf, 0x18, 0x27, 0x2d, 0x99, 0xe8, 0x3d,
0xf7, 0x3b, 0x8d, 0xbd, 0x21, 0x07, 0x79, 0xf8, 0x5d, 0xeb, 0xde, 0x8e, 0x8c, 0x4a, 0x69, 0xb8, 0xc2, 0x6f, 0xc9, 0x0e,
0xf6, 0x4b, 0xb7, 0xde, 0x35, 0xfe, 0x5b, 0xe6, 0xff, 0xbc, 0x69, 0xfc, 0xef, 0x37, 0xdf, 0xef, 0xfa, 0xf7, 0x9f, 0xb5,
0xce, 0xff, 0xf7, 0xda, 0x3a, 0x33, 0x83, 0x7f, 0x7c, 0xbf, 0x6d, 0x5d, 0xa5, 0xcf, 0xfe, 0xfb, 0x8e, 0xaf, 0x11, 0xff,
0x77, 0x9e, 0x27, 0xeb, 0xf1, 0xff, 0xf9, 0x02, 0xfb, 0x9d, 0xd2, 0x1d, 0x9d, 0xb3, 0xf8, 0xdf, 0x6f, 0xb9, 0x75, 0x66,
0x65, 0xab, 0xea, 0xb3, 0xaa, 0x95, 0x95, 0x3e, 0xef, 0x1b, 0xff, 0x2d, 0xf9, 0xd2, 0xab, 0x5e, 0x27, 0x6f, 0xc3, 0x11,
0x74, 0xd7, 0xf8, 0x3f, 0x7f, 0xf2, 0x50, 0x7f, 0x42, 0xf6, 0x8c, 0xad, 0xfb, 0x45, 0x77, 0xf0, 0x9e, 0x77, 0xec, 0xcf,
0x8b, 0xff, 0x91, 0x0a, 0x85, 0xc7, 0xf7, 0x5d, 0xee, 0x70, 0x9d, 0xbc, 0xa2, 0x1e, 0xe2, 0x3d, 0xf6, 0x3b, 0x8b, 0xe6,
0xa2, 0x7b, 0x3f, 0xc9, 0x71, 0x07, 0xff, 0x9e, 0x4f, 0x0d, 0x6a, 0xfd, 0x78, 0xf5, 0xf6, 0x67, 0xf5, 0xc6, 0x2b, 0xf6,
0x5b, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xa7, 0x95, 0x3c, 0x39, 0x59,
0x05, 0xbc, 0x75, 0xd5, 0x2e, 0xfa, 0x55, 0xb5, 0x66, 0x6a, 0x26, 0x54, 0xc9, 0x7c, 0xb4, 0xf6, 0x66, 0xbf, 0xfc, 0x68,
0xb6, 0xc1, 0x77, 0x86, 0xab, 0x56, 0xf3, 0xfd, 0x69, 0xbd, 0x78, 0xb5, 0xcf, 0x57, 0x6b, 0xa6, 0x8e, 0xd5, 0x8b, 0x3d,
0x5b, 0x29, 0xfd, 0x59, 0x1c, 0xcf, 0x56, 0x55, 0x80, 0x3d, 0x7a, 0xe7, 0xf3, 0x7a, 0xbe, 0xd6, 0x03, 0x32, 0x1e, 0xfd,
0xdf, 0xa1, 0x07, 0x65, 0x59, 0x5e, 0xb1, 0x72, 0x9f, 0x3f, 0xf4, 0x50, 0x9e, 0x94, 0x03, 0xb4, 0xad, 0x65, 0xdf, 0x6f,
0xb5, 0xf5, 0xf1, 0x3e, 0xa7, 0xb1, 0xb2, 0xdf, 0xbd, 0xb6, 0x8e, 0xd4, 0xf3, 0x85, 0x96, 0x2b, 0xe2, 0xf3, 0xaa, 0xa8,
0xaf, 0xb3, 0xb5, 0xe5, 0x68, 0xb7, 0x37, 0x39, 0x56, 0xf1, 0xcf, 0xac, 0x39, 0xff, 0x9d, 0x7a, 0x7d, 0x86, 0xda, 0x42,
0xfc, 0x23, 0xfe, 0xbf, 0x5b, 0xaf, 0x17, 0xff, 0x7c, 0xdf, 0xfc, 0x7f, 0x1f, 0xaa, 0x17, 0xbf, 0xdd, 0x6a, 0xeb, 0xf8,
0xb5, 0xd0, 0x7d, 0xb6, 0xde, 0xb5, 0x0a, 0x22, 0x70, 0xc5, 0x1d, 0xd8, 0xb1, 0x27, 0xb8, 0xc0, 0x6b, 0xe4, 0x60, 0x95,
0xb8, 0x36, 0xfb, 0x03, 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, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0f, 0xbf, 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, 0xd0, 0xe2, 0xdf, 0x7f, 0xda, 0x01, 0xc4, 0x3f,
0xf0, 0xed, 0xe2, 0xff, 0x1f };
// Font characters rectangles data // Font glyphs rectangles data (on atlas)
static const Rectangle cyberFontRecs[95] = { static const Rectangle cyberFontRecs[189] = {
{ 4, 4, 4 , 14 }, { 4, 4, 4 , 14 },
{ 16, 4, 1 , 8 }, { 16, 4, 1 , 8 },
{ 25, 4, 4 , 3 }, { 25, 4, 4 , 3 },
@ -118,87 +177,181 @@ static const Rectangle cyberFontRecs[95] = {
{ 207, 4, 8 , 8 }, { 207, 4, 8 , 8 },
{ 223, 4, 2 , 8 }, { 223, 4, 2 , 8 },
{ 233, 4, 8 , 8 }, { 233, 4, 8 , 8 },
{ 4, 26, 8 , 8 }, { 249, 4, 8 , 8 },
{ 20, 26, 8 , 8 }, { 265, 4, 8 , 8 },
{ 36, 26, 8 , 8 }, { 281, 4, 8 , 8 },
{ 52, 26, 8 , 8 }, { 297, 4, 8 , 8 },
{ 68, 26, 7 , 8 }, { 313, 4, 7 , 8 },
{ 83, 26, 8 , 8 }, { 328, 4, 8 , 8 },
{ 99, 26, 8 , 8 }, { 344, 4, 8 , 8 },
{ 115, 26, 1 , 4 }, { 360, 4, 1 , 4 },
{ 124, 26, 2 , 5 }, { 369, 4, 2 , 5 },
{ 134, 26, 4 , 8 }, { 379, 4, 4 , 8 },
{ 146, 26, 5 , 3 }, { 391, 4, 5 , 3 },
{ 159, 26, 4 , 8 }, { 404, 4, 4 , 8 },
{ 171, 26, 7 , 8 }, { 416, 4, 7 , 8 },
{ 186, 26, 8 , 8 }, { 431, 4, 8 , 8 },
{ 202, 26, 8 , 8 }, { 447, 4, 8 , 8 },
{ 218, 26, 8 , 8 }, { 463, 4, 8 , 8 },
{ 234, 26, 8 , 8 }, { 479, 4, 8 , 8 },
{ 4, 48, 8 , 8 }, { 495, 4, 8 , 8 },
{ 20, 48, 7 , 8 }, { 4, 26, 7 , 8 },
{ 35, 48, 7 , 8 }, { 19, 26, 7 , 8 },
{ 50, 48, 8 , 8 }, { 34, 26, 8 , 8 },
{ 66, 48, 8 , 8 }, { 50, 26, 8 , 8 },
{ 82, 48, 5 , 8 }, { 66, 26, 5 , 8 },
{ 95, 48, 7 , 8 }, { 79, 26, 7 , 8 },
{ 110, 48, 8 , 8 }, { 94, 26, 8 , 8 },
{ 126, 48, 7 , 8 }, { 110, 26, 7 , 8 },
{ 141, 48, 8 , 8 }, { 125, 26, 8 , 8 },
{ 157, 48, 8 , 8 }, { 141, 26, 8 , 8 },
{ 173, 48, 8 , 8 }, { 157, 26, 8 , 8 },
{ 189, 48, 8 , 8 }, { 173, 26, 8 , 8 },
{ 205, 48, 8 , 9 }, { 189, 26, 8 , 9 },
{ 221, 48, 8 , 8 }, { 205, 26, 8 , 8 },
{ 237, 48, 8 , 8 }, { 221, 26, 8 , 8 },
{ 4, 70, 8 , 8 }, { 237, 26, 8 , 8 },
{ 20, 70, 8 , 8 }, { 253, 26, 8 , 8 },
{ 36, 70, 8 , 8 }, { 269, 26, 8 , 8 },
{ 52, 70, 9 , 8 }, { 285, 26, 9 , 8 },
{ 69, 70, 8 , 8 }, { 302, 26, 8 , 8 },
{ 85, 70, 8 , 8 }, { 318, 26, 8 , 8 },
{ 101, 70, 8 , 8 }, { 334, 26, 8 , 8 },
{ 117, 70, 4 , 9 }, { 350, 26, 4 , 9 },
{ 129, 70, 8 , 8 }, { 362, 26, 8 , 8 },
{ 145, 70, 4 , 9 }, { 378, 26, 4 , 9 },
{ 157, 70, 4 , 3 }, { 390, 26, 4 , 3 },
{ 169, 70, 7 , 1 }, { 402, 26, 7 , 1 },
{ 184, 70, 2 , 3 }, { 417, 26, 2 , 3 },
{ 194, 70, 7 , 5 }, { 427, 26, 7 , 5 },
{ 209, 70, 7 , 8 }, { 442, 26, 7 , 8 },
{ 224, 70, 7 , 5 }, { 457, 26, 7 , 5 },
{ 239, 70, 7 , 8 }, { 472, 26, 7 , 8 },
{ 4, 92, 7 , 5 }, { 487, 26, 7 , 5 },
{ 19, 92, 4 , 8 }, { 4, 48, 4 , 8 },
{ 31, 92, 7 , 7 }, { 16, 48, 7 , 7 },
{ 46, 92, 7 , 8 }, { 31, 48, 7 , 8 },
{ 61, 92, 1 , 8 }, { 46, 48, 1 , 8 },
{ 70, 92, 3 , 10 }, { 55, 48, 3 , 10 },
{ 81, 92, 7 , 8 }, { 66, 48, 7 , 8 },
{ 96, 92, 4 , 8 }, { 81, 48, 4 , 8 },
{ 108, 92, 9 , 5 }, { 93, 48, 9 , 5 },
{ 125, 92, 7 , 5 }, { 110, 48, 7 , 5 },
{ 140, 92, 7 , 5 }, { 125, 48, 7 , 5 },
{ 155, 92, 7 , 7 }, { 140, 48, 7 , 7 },
{ 170, 92, 7 , 7 }, { 155, 48, 7 , 7 },
{ 185, 92, 5 , 5 }, { 170, 48, 5 , 5 },
{ 198, 92, 7 , 5 }, { 183, 48, 7 , 5 },
{ 213, 92, 5 , 8 }, { 198, 48, 5 , 8 },
{ 226, 92, 7 , 5 }, { 211, 48, 7 , 5 },
{ 4, 114, 7 , 5 }, { 226, 48, 7 , 5 },
{ 19, 114, 9 , 5 }, { 241, 48, 9 , 5 },
{ 36, 114, 7 , 5 }, { 258, 48, 7 , 5 },
{ 51, 114, 7 , 7 }, { 273, 48, 7 , 7 },
{ 66, 114, 7 , 5 }, { 288, 48, 7 , 5 },
{ 81, 114, 4 , 9 }, { 303, 48, 4 , 9 },
{ 93, 114, 1 , 9 }, { 315, 48, 1 , 9 },
{ 102, 114, 4 , 9 }, { 324, 48, 4 , 9 },
{ 114, 114, 8 , 2 }, { 336, 48, 8 , 2 },
{ 352, 48, 1 , 8 },
{ 361, 48, 7 , 8 },
{ 376, 48, 7 , 8 },
{ 391, 48, 8 , 9 },
{ 407, 48, 8 , 9 },
{ 423, 48, 8 , 10 },
{ 439, 48, 4 , 9 },
{ 451, 48, 7 , 8 },
{ 466, 48, 8 , 8 },
{ 482, 48, 7 , 6 },
{ 497, 48, 5 , 3 },
{ 4, 70, 5 , 3 },
{ 17, 70, 8 , 8 },
{ 33, 70, 0 , 0 },
{ 41, 70, 4 , 3 },
{ 53, 70, 8 , 6 },
{ 69, 70, 4 , 5 },
{ 81, 70, 4 , 5 },
{ 93, 70, 8 , 10 },
{ 109, 70, 7 , 7 },
{ 124, 70, 5 , 7 },
{ 137, 70, 1 , 1 },
{ 146, 70, 7 , 8 },
{ 161, 70, 2 , 5 },
{ 171, 70, 4 , 5 },
{ 183, 70, 5 , 3 },
{ 196, 70, 14 , 8 },
{ 218, 70, 13 , 5 },
{ 239, 70, 8 , 9 },
{ 255, 70, 7 , 8 },
{ 270, 70, 8 , 10 },
{ 286, 70, 8 , 10 },
{ 302, 70, 8 , 10 },
{ 318, 70, 8 , 10 },
{ 334, 70, 8 , 9 },
{ 350, 70, 8 , 12 },
{ 366, 70, 14 , 8 },
{ 388, 70, 8 , 10 },
{ 404, 70, 7 , 10 },
{ 419, 70, 7 , 10 },
{ 434, 70, 7 , 10 },
{ 449, 70, 7 , 9 },
{ 464, 70, 5 , 10 },
{ 477, 70, 5 , 10 },
{ 490, 70, 5 , 10 },
{ 4, 92, 5 , 9 },
{ 17, 92, 8 , 8 },
{ 33, 92, 8 , 10 },
{ 49, 92, 8 , 10 },
{ 65, 92, 8 , 10 },
{ 81, 92, 8 , 10 },
{ 97, 92, 8 , 10 },
{ 113, 92, 8 , 9 },
{ 129, 92, 4 , 4 },
{ 141, 92, 8 , 8 },
{ 157, 92, 8 , 10 },
{ 173, 92, 8 , 10 },
{ 189, 92, 8 , 10 },
{ 205, 92, 8 , 9 },
{ 221, 92, 8 , 10 },
{ 237, 92, 7 , 9 },
{ 252, 92, 7 , 9 },
{ 267, 92, 7 , 8 },
{ 282, 92, 7 , 8 },
{ 297, 92, 7 , 8 },
{ 312, 92, 7 , 8 },
{ 327, 92, 7 , 8 },
{ 342, 92, 7 , 9 },
{ 357, 92, 13 , 5 },
{ 378, 92, 7 , 7 },
{ 393, 92, 7 , 8 },
{ 408, 92, 7 , 8 },
{ 423, 92, 7 , 8 },
{ 438, 92, 7 , 8 },
{ 453, 92, 3 , 8 },
{ 464, 92, 2 , 8 },
{ 474, 92, 3 , 8 },
{ 485, 92, 3 , 8 },
{ 4, 114, 8 , 8 },
{ 20, 114, 7 , 8 },
{ 35, 114, 7 , 8 },
{ 50, 114, 7 , 8 },
{ 65, 114, 7 , 8 },
{ 80, 114, 7 , 8 },
{ 95, 114, 7 , 8 },
{ 110, 114, 5 , 6 },
{ 123, 114, 7 , 5 },
{ 138, 114, 7 , 8 },
{ 153, 114, 7 , 8 },
{ 168, 114, 7 , 8 },
{ 183, 114, 7 , 8 },
{ 198, 114, 7 , 10 },
{ 213, 114, 7 , 10 },
{ 228, 114, 7 , 10 },
}; };
// Font characters info data // Font glyphs info data
// NOTE: No chars.image data provided // NOTE: No glyphs.image data provided
static const GlyphInfo cyberFontChars[95] = { static const GlyphInfo cyberFontGlyphs[189] = {
{ 32, 0, 11, 4, { 0 }}, { 32, 0, 11, 4, { 0 }},
{ 33, 0, 3, 2, { 0 }}, { 33, 0, 3, 2, { 0 }},
{ 34, 0, 3, 4, { 0 }}, { 34, 0, 3, 4, { 0 }},
@ -294,9 +447,103 @@ static const GlyphInfo cyberFontChars[95] = {
{ 124, 0, 3, 2, { 0 }}, { 124, 0, 3, 2, { 0 }},
{ 125, 0, 3, 5, { 0 }}, { 125, 0, 3, 5, { 0 }},
{ 126, 0, 6, 8, { 0 }}, { 126, 0, 6, 8, { 0 }},
{ 161, 0, 3, 2, { 0 }},
{ 162, 0, 4, 7, { 0 }},
{ 163, 0, 3, 7, { 0 }},
{ 8364, 0, 3, 9, { 0 }},
{ 165, 0, 3, 8, { 0 }},
{ 352, 0, 1, 8, { 0 }},
{ 167, 0, 4, 5, { 0 }},
{ 353, 0, 3, 7, { 0 }},
{ 169, 0, 3, 9, { 0 }},
{ 170, 0, 3, 7, { 0 }},
{ 171, 0, 6, 6, { 0 }},
{ 172, 0, 7, 6, { 0 }},
{ 174, 0, 3, 9, { 0 }},
{ 175, 0, 11, 3, { 0 }},
{ 176, 0, 3, 4, { 0 }},
{ 177, 0, 6, 8, { 0 }},
{ 178, 0, 3, 4, { 0 }},
{ 179, 0, 3, 4, { 0 }},
{ 381, 0, 1, 8, { 0 }},
{ 181, 0, 6, 7, { 0 }},
{ 182, 0, 4, 6, { 0 }},
{ 183, 0, 7, 2, { 0 }},
{ 382, 0, 3, 7, { 0 }},
{ 185, 0, 3, 4, { 0 }},
{ 186, 0, 3, 5, { 0 }},
{ 187, 0, 6, 6, { 0 }},
{ 338, 0, 3, 14, { 0 }},
{ 339, 0, 6, 13, { 0 }},
{ 376, 0, 2, 8, { 0 }},
{ 191, 0, 3, 7, { 0 }},
{ 192, 0, 1, 8, { 0 }},
{ 193, 0, 1, 8, { 0 }},
{ 194, 0, 1, 8, { 0 }},
{ 195, 0, 1, 8, { 0 }},
{ 196, 0, 2, 8, { 0 }},
{ 197, 0, -1, 8, { 0 }},
{ 198, 0, 3, 14, { 0 }},
{ 199, 0, 3, 8, { 0 }},
{ 200, 0, 1, 7, { 0 }},
{ 201, 0, 1, 7, { 0 }},
{ 202, 0, 1, 7, { 0 }},
{ 203, 0, 2, 7, { 0 }},
{ 204, 0, 1, 6, { 0 }},
{ 205, 0, 1, 6, { 0 }},
{ 206, 0, 1, 6, { 0 }},
{ 207, 0, 2, 6, { 0 }},
{ 208, 0, 3, 9, { 0 }},
{ 209, 0, 1, 8, { 0 }},
{ 210, 0, 1, 8, { 0 }},
{ 211, 0, 1, 8, { 0 }},
{ 212, 0, 1, 8, { 0 }},
{ 213, 0, 1, 8, { 0 }},
{ 214, 0, 2, 8, { 0 }},
{ 215, 1, 6, 6, { 0 }},
{ 216, 0, 3, 8, { 0 }},
{ 217, 0, 1, 8, { 0 }},
{ 218, 0, 1, 8, { 0 }},
{ 219, 0, 1, 8, { 0 }},
{ 220, 0, 2, 8, { 0 }},
{ 221, 0, 1, 8, { 0 }},
{ 222, 0, 3, 7, { 0 }},
{ 223, 0, 3, 7, { 0 }},
{ 224, 0, 3, 7, { 0 }},
{ 225, 0, 3, 7, { 0 }},
{ 226, 0, 3, 7, { 0 }},
{ 227, 0, 3, 7, { 0 }},
{ 228, 0, 3, 7, { 0 }},
{ 229, 0, 2, 7, { 0 }},
{ 230, 0, 6, 13, { 0 }},
{ 231, 0, 6, 7, { 0 }},
{ 232, 0, 3, 7, { 0 }},
{ 233, 0, 3, 7, { 0 }},
{ 234, 0, 3, 7, { 0 }},
{ 235, 0, 3, 7, { 0 }},
{ 236, -1, 3, 2, { 0 }},
{ 237, 0, 3, 2, { 0 }},
{ 238, -1, 3, 2, { 0 }},
{ 239, -1, 3, 2, { 0 }},
{ 240, 0, 3, 8, { 0 }},
{ 241, 0, 3, 7, { 0 }},
{ 242, 0, 3, 7, { 0 }},
{ 243, 0, 3, 7, { 0 }},
{ 244, 0, 3, 7, { 0 }},
{ 245, 0, 3, 7, { 0 }},
{ 246, 0, 3, 7, { 0 }},
{ 247, 0, 4, 6, { 0 }},
{ 248, 0, 6, 7, { 0 }},
{ 249, 0, 3, 7, { 0 }},
{ 250, 0, 3, 7, { 0 }},
{ 251, 0, 3, 7, { 0 }},
{ 252, 0, 3, 7, { 0 }},
{ 253, 0, 3, 7, { 0 }},
{ 254, 0, 3, 7, { 0 }},
{ 255, 0, 3, 7, { 0 }},
}; };
// Style loading function: cyber // Style loading function: Cyber
static void GuiLoadStyleCyber(void) static void GuiLoadStyleCyber(void)
{ {
// Load style properties provided // Load style properties provided
@ -309,32 +556,36 @@ static void GuiLoadStyleCyber(void)
// Custom font loading // Custom font loading
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
int cyberFontDataSize = 0; int cyberFontDataSize = 0;
unsigned char *data = DecompressData(cyberFontData, CYBER_COMPRESSED_DATA_SIZE, &cyberFontDataSize); unsigned char *data = DecompressData(cyberFontData, CYBER_STYLE_FONT_ATLAS_COMP_SIZE, &cyberFontDataSize);
Image imFont = { data, 256, 256, 1, 2 }; Image imFont = { data, 512, 256, 1, 2 };
Font font = { 0 }; Font font = { 0 };
font.baseSize = 14; font.baseSize = 14;
font.glyphCount = 95; font.glyphCount = 189;
// Load texture from image // Load texture from image
font.texture = LoadTextureFromImage(imFont); font.texture = LoadTextureFromImage(imFont);
UnloadImage(imFont); // Uncompressed data can be unloaded from memory UnloadImage(imFont); // Uncompressed image data can be unloaded from memory
// Copy char recs data from global fontRecs // Copy char recs data from global fontRecs
// NOTE: Required to avoid issues if trying to free font // NOTE: Required to avoid issues if trying to free font
font.recs = (Rectangle *)malloc(font.glyphCount*sizeof(Rectangle)); font.recs = (Rectangle *)RAYGUI_MALLOC(font.glyphCount*sizeof(Rectangle));
memcpy(font.recs, cyberFontRecs, font.glyphCount*sizeof(Rectangle)); memcpy(font.recs, cyberFontRecs, font.glyphCount*sizeof(Rectangle));
// Copy font char info data from global fontChars // Copy font char info data from global fontChars
// NOTE: Required to avoid issues if trying to free font // NOTE: Required to avoid issues if trying to free font
font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo)); font.glyphs = (GlyphInfo *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
memcpy(font.glyphs, cyberFontChars, font.glyphCount*sizeof(GlyphInfo)); memcpy(font.glyphs, cyberFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
GuiSetFont(font); GuiSetFont(font);
// Setup a white rectangle on the font to be used on shapes drawing, // Setup a white rectangle on the font to be used on shapes drawing,
// this way we make sure all gui can be drawn on a single pass because no texture change is required // it makes possible to draw shapes and text (full UI) in a single draw call
// NOTE: Setting up this rectangle is a manual process (for the moment) Rectangle fontWhiteRec = { 510, 254, 1, 1 };
Rectangle whiteChar = { 89, 9, 2, 2 }; SetShapesTexture(font.texture, fontWhiteRec);
SetShapesTexture(font.texture, whiteChar);
//-----------------------------------------------------------------
// TODO: Custom user style setup: Set specific properties here (if required)
// i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT
} }

View File

@ -1,19 +1,19 @@
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
// // // //
// StyleAsCode exporter v1.2 - Style data exported as a values array // // StyleAsCode exporter v2.0 - Style data exported as a values array //
// // // //
// USAGE: On init call: GuiLoadStyleDark(); // // USAGE: On init call: GuiLoadStyleDark(); //
// // // //
// more info and bugs-report: github.com/raysan5/raygui // // more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com // // feedback and support: ray[at]raylibtech.com //
// // // //
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) // // Copyright (c) 2020-2024 raylib technologies (@raylibtech) //
// // // //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
#define DARK_STYLE_PROPS_COUNT 22 #define DARK_STYLE_PROPS_COUNT 23
// Custom style name: dark // Custom style name: Dark
static const GuiStyleProp darkStyleProps[DARK_STYLE_PROPS_COUNT] = { static const GuiStyleProp darkStyleProps[DARK_STYLE_PROPS_COUNT] = {
{ 0, 0, 0x878787ff }, // DEFAULT_BORDER_COLOR_NORMAL { 0, 0, 0x878787ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0x2c2c2cff }, // DEFAULT_BASE_COLOR_NORMAL { 0, 1, 0x2c2c2cff }, // DEFAULT_BASE_COLOR_NORMAL
@ -31,6 +31,7 @@ static const GuiStyleProp darkStyleProps[DARK_STYLE_PROPS_COUNT] = {
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING { 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, 0x9d9d9dff }, // DEFAULT_LINE_COLOR { 0, 18, 0x9d9d9dff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0x3c3c3cff }, // DEFAULT_BACKGROUND_COLOR { 0, 19, 0x3c3c3cff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, 0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
{ 1, 5, 0xf7f7f7ff }, // LABEL_TEXT_COLOR_FOCUSED { 1, 5, 0xf7f7f7ff }, // LABEL_TEXT_COLOR_FOCUSED
{ 1, 8, 0x898989ff }, // LABEL_TEXT_COLOR_PRESSED { 1, 8, 0x898989ff }, // LABEL_TEXT_COLOR_PRESSED
{ 4, 5, 0xb0b0b0ff }, // SLIDER_TEXT_COLOR_FOCUSED { 4, 5, 0xb0b0b0ff }, // SLIDER_TEXT_COLOR_FOCUSED
@ -39,68 +40,122 @@ static const GuiStyleProp darkStyleProps[DARK_STYLE_PROPS_COUNT] = {
{ 10, 5, 0xf6f6f6ff }, // VALUEBOX_TEXT_COLOR_FOCUSED { 10, 5, 0xf6f6f6ff }, // VALUEBOX_TEXT_COLOR_FOCUSED
}; };
// WARNING: This style uses a custom font: PixelOperator.ttf (size: 16, spacing: 0) // WARNING: This style uses a custom font: "PixelOperator.ttf" (size: 16, spacing: 0)
#define DARK_COMPRESSED_DATA_SIZE 1031 #define DARK_STYLE_FONT_ATLAS_COMP_SIZE 2126
// Font image pixels data compressed (DEFLATE) // Font atlas image pixels data: DEFLATE compressed
// NOTE: Original pixel data simplified to GRAYSCALE static unsigned char darkFontData[DARK_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
static unsigned char darkFontData[DARK_COMPRESSED_DATA_SIZE] = { 0xed, 0xdd, 0xdb, 0x72, 0xa4, 0x3a, 0x12, 0x05, 0x50, 0xfd, 0xff, 0x4f, 0xe7, 0x3c, 0x4c, 0x4c, 0x4c, 0x74, 0x9c, 0xd3, 0x20,
0xdd, 0xd1, 0x76, 0x9b, 0x30, 0x0c, 0x00, 0x50, 0xff, 0xff, 0x4f, 0x6b, 0x4f, 0x3b, 0xeb, 0xb6, 0x16, 0x90, 0x90, 0x8d, 0xa5, 0x52, 0x17, 0xec, 0xd5, 0xeb, 0xcd, 0xe5, 0x76, 0x51, 0xa0, 0x94, 0x84, 0x28, 0x36, 0xd1, 0x00, 0x00, 0x00, 0x80,
0x93, 0xdc, 0xdd, 0x97, 0x9d, 0x36, 0x25, 0xc4, 0xc2, 0xc6, 0x04, 0xc9, 0xc4, 0x00, 0x00, 0xf8, 0x47, 0x7c, 0xfb, 0x93, 0x5f, 0x2f, 0xfe, 0xf5, 0x27, 0xf1, 0xd7, 0xdf, 0x8c, 0xee, 0xbf, 0xf3, 0xfc, 0xf3, 0xff, 0xbd, 0x1a, 0x0f, 0xef, 0xd5,
0xf8, 0xf1, 0x95, 0x71, 0x79, 0x3b, 0xc7, 0x3f, 0xff, 0xfd, 0xdb, 0x38, 0x78, 0xaf, 0x6b, 0xfb, 0x9a, 0x7d, 0xdf, 0x48, 0xb7, 0xad, 0xa3, 0xef, 0x1b, 0x03, 0x7b, 0xe2, 0xdf, 0xb7, 0x2f, 0xba, 0xff, 0xee, 0xdf, 0x3e, 0xdf, 0xf8, 0xef, 0x3f,
0xb4, 0xc4, 0xf7, 0xfb, 0x17, 0x97, 0xb7, 0xfb, 0xd3, 0xe7, 0xcb, 0xbf, 0xfe, 0x68, 0x4b, 0xe7, 0xed, 0xfc, 0x54, 0xfc, 0xfd, 0xa5, 0xe7, 0xad, 0x8f, 0xa1, 0xfd, 0x3e, 0xfe, 0x7f, 0xc6, 0x8e, 0x62, 0x2c, 0xd9, 0xf7, 0xef, 0x5b, 0x37, 0xbe,
0xe3, 0x52, 0x24, 0xe2, 0x62, 0xdb, 0x5c, 0x6f, 0xc5, 0xa3, 0x77, 0x8e, 0xe6, 0x16, 0x3c, 0x3f, 0x3a, 0x7f, 0x8a, 0x74, 0xed, 0x95, 0xff, 0x27, 0x1e, 0x3e, 0x4f, 0xe6, 0x28, 0xf5, 0xd4, 0xd6, 0x0d, 0xf5, 0x1f, 0x5d, 0x95, 0x18, 0xa5, 0x2d,
0xbe, 0x3d, 0xe2, 0xa0, 0x1f, 0xcd, 0x8d, 0xff, 0xd7, 0x7f, 0xb9, 0x7e, 0x1c, 0xc9, 0x88, 0x76, 0xf4, 0xf4, 0xe3, 0xfd, 0xe7, 0xff, 0xef, 0x1a, 0x85, 0x3d, 0x55, 0x76, 0x4f, 0x3e, 0x55, 0xfa, 0xf8, 0xfe, 0x78, 0x6a, 0xfd, 0xe3, 0x3d, 0x60,
0x8c, 0xd4, 0xf6, 0x67, 0xc4, 0x3f, 0x5a, 0xc7, 0xae, 0x68, 0xed, 0xff, 0xc7, 0xaf, 0xcc, 0xf6, 0xb7, 0x48, 0xf6, 0xdd, 0x94, 0x7c, 0x96, 0xf9, 0xd6, 0x18, 0xd3, 0xbf, 0xdd, 0xd7, 0x92, 0x6a, 0x3e, 0xd5, 0xcc, 0x2b, 0xad, 0xe4, 0x28, 0x9d,
0x8e, 0x36, 0xa9, 0xf5, 0xff, 0xee, 0xe8, 0xff, 0xf9, 0xec, 0x7d, 0xe3, 0x50, 0x7e, 0x5c, 0x5e, 0x19, 0xff, 0x4a, 0xec, 0xa8, 0xff, 0x48, 0xf7, 0x54, 0x31, 0x58, 0xd1, 0x15, 0x7b, 0x30, 0xd3, 0x0f, 0xb7, 0x8d, 0xf5, 0x1f, 0xa5, 0x73, 0x97,
0xae, 0x8e, 0x5c, 0x95, 0x3e, 0x31, 0x36, 0x88, 0x7f, 0xf6, 0x38, 0x3c, 0x6e, 0xab, 0x91, 0x3e, 0x33, 0x3c, 0x1f, 0xff, 0x28, 0x6b, 0x73, 0x27, 0xea, 0xff, 0x79, 0xd4, 0x6e, 0x25, 0xed, 0x26, 0x5e, 0xf6, 0x51, 0x6d, 0x2d, 0xaf, 0x9d, 0xa7,
0xf3, 0xf1, 0x3f, 0x26, 0xc4, 0xff, 0xf9, 0x79, 0xf4, 0x9f, 0x88, 0x45, 0xb2, 0x2f, 0xe7, 0xce, 0x31, 0x91, 0xe8, 0x45, 0xae, 0xae, 0xff, 0xe7, 0xdf, 0x1c, 0x1d, 0x6f, 0x63, 0x70, 0xec, 0xae, 0xd8, 0x4f, 0xb9, 0xf1, 0xbf, 0x7e, 0x3f, 0xc6,
0xf5, 0xd6, 0xab, 0x9d, 0xff, 0xbf, 0x46, 0x3f, 0xde, 0x38, 0xfe, 0x91, 0x9c, 0xdf, 0x66, 0xe7, 0x38, 0x3b, 0xb4, 0xc2, 0x5f, 0xc7, 0xe6, 0xec, 0x3c, 0x64, 0x64, 0x0f, 0xc7, 0xe0, 0xd9, 0xd5, 0xec, 0x08, 0x7b, 0x72, 0xfc, 0xef, 0x9b, 0x0b,
0xf9, 0xfc, 0xff, 0x78, 0xef, 0xe2, 0xe6, 0xd8, 0x15, 0x2f, 0xd6, 0xfb, 0x3b, 0xe3, 0x1f, 0xd3, 0xe2, 0x1f, 0x4b, 0xe2, 0xaa, 0xff, 0xb5, 0xf5, 0x9f, 0xf9, 0x24, 0xd1, 0xb9, 0x05, 0x99, 0x31, 0xb1, 0x5d, 0x50, 0xff, 0xa3, 0xfd, 0xd0, 0xf3,
0x3f, 0x0e, 0xaf, 0x6a, 0xe3, 0xf6, 0x0c, 0x7b, 0xcf, 0xf8, 0x67, 0xaf, 0xff, 0x6b, 0x23, 0xec, 0xf3, 0x2d, 0x11, 0x37, 0xbe, 0xaa, 0x9a, 0xcb, 0x8f, 0xae, 0x4b, 0xf4, 0x9d, 0x61, 0xef, 0x6b, 0x85, 0xe3, 0x73, 0xa3, 0xf1, 0xfa, 0x1f, 0xef,
0xaf, 0x41, 0x78, 0xfd, 0x6f, 0x11, 0x43, 0xf4, 0x7d, 0x8f, 0x8c, 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8b, 0xef, 0x3d, 0xdf, 0xfe, 0xda, 0xe8, 0x5e, 0xfd, 0xfb, 0x99, 0xdd, 0xfc, 0x1e, 0xdf, 0x57, 0xff, 0x91, 0x18, 0x53, 0xce, 0xd7,
0xd0, 0x45, 0x53, 0xb6, 0x6c, 0x25, 0x53, 0xfd, 0x5e, 0x9e, 0x7f, 0x2e, 0x6b, 0xf7, 0x6c, 0xef, 0xf2, 0xfb, 0xde, 0xf9, 0x73, 0x4d, 0xfd, 0x47, 0x62, 0xe5, 0xa2, 0x95, 0xad, 0xf2, 0xe5, 0xd6, 0x25, 0xea, 0xd6, 0x0c, 0xce, 0x1f, 0x81, 0xf7,
0x37, 0x47, 0x59, 0xc8, 0xb5, 0x1c, 0xeb, 0x2b, 0x95, 0x16, 0x9d, 0xb9, 0x25, 0xf5, 0x4c, 0xf5, 0xee, 0x3b, 0x49, 0x51, 0xfa, 0x7f, 0x3b, 0x1f, 0x3c, 0x3f, 0xfe, 0xc7, 0x15, 0xe3, 0x7f, 0xa4, 0xd7, 0x86, 0x5b, 0xa2, 0xf7, 0xfd, 0x5a, 0xfd,
0xae, 0x2b, 0xe8, 0xf9, 0x54, 0x77, 0x7e, 0xd3, 0x13, 0xa5, 0xae, 0xf8, 0x8f, 0x2d, 0xe2, 0x9f, 0xcf, 0x13, 0xca, 0x1f, 0x47, 0xa2, 0x66, 0xa2, 0xe4, 0xbc, 0xbc, 0x2d, 0x59, 0xcb, 0xab, 0x5d, 0x33, 0xdc, 0x73, 0xb4, 0xde, 0x46, 0xd1, 0xaa,
0xb7, 0x91, 0xce, 0x47, 0x8b, 0xd6, 0x9c, 0xad, 0x68, 0x8d, 0x52, 0x24, 0x2a, 0xad, 0x7a, 0x72, 0x4e, 0x77, 0xef, 0xff, 0xb3, 0x9a, 0x9f, 0x55, 0xff, 0xad, 0x60, 0xfc, 0xef, 0x9b, 0x03, 0xcc, 0x7e, 0x8e, 0xf8, 0xd8, 0xe8, 0x5f, 0x59, 0xff,
0xd7, 0x32, 0xb2, 0x3f, 0x2b, 0xfe, 0xf9, 0x73, 0xeb, 0xdd, 0x33, 0xec, 0x8a, 0x5c, 0x82, 0x6a, 0xa5, 0x4c, 0x3e, 0xfe, 0xbb, 0x56, 0xec, 0xd7, 0xb7, 0xc6, 0xb8, 0xe2, 0xc8, 0x58, 0xff, 0xaf, 0x9c, 0xff, 0xe7, 0xd7, 0x00, 0xc6, 0xce, 0x63,
0xf9, 0xde, 0x73, 0xb6, 0xb5, 0x51, 0xca, 0xa3, 0xbe, 0x9b, 0x01, 0x9e, 0xad, 0x52, 0x5b, 0x9d, 0x8f, 0x3a, 0x3f, 0x23, 0xe2, 0xd2, 0xea, 0xcf, 0x9c, 0x33, 0x57, 0x5d, 0xb1, 0xaf, 0xfd, 0x36, 0x41, 0x24, 0xbe, 0xab, 0x51, 0xb3, 0x8a, 0xb3,
0x37, 0x2e, 0xd4, 0xb8, 0xed, 0xdb, 0xff, 0x63, 0x42, 0xff, 0x5f, 0x93, 0x8f, 0x1c, 0x4b, 0x8f, 0x92, 0xb3, 0x5e, 0xd4, 0xfa, 0x18, 0x8c, 0x8f, 0xff, 0xbb, 0xae, 0xff, 0xbf, 0xcf, 0xb9, 0xef, 0x18, 0xff, 0xdb, 0xeb, 0xe8, 0x7e, 0xcb, 0xf6,
0x75, 0x56, 0x7b, 0x95, 0xf8, 0xaf, 0xfe, 0x6c, 0xb1, 0x65, 0xd6, 0xd8, 0xbc, 0x36, 0xda, 0x7d, 0xfe, 0xdf, 0x75, 0xc5, 0x00, 0x7b, 0x7b, 0x80, 0x50, 0xfd, 0xe0, 0x7b, 0xc4, 0x80, 0xfa, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x7e, 0xbf, 0x52, 0x7d, 0x4d, 0xf4, 0xa3, 0xf4, 0x3d, 0x48, 0x65, 0x8e, 0xd4, 0x7b, 0xfd, 0x9f, 0x9f, 0xc1, 0x87, 0x0c, 0x00, 0x00, 0x00, 0x0a, 0xbf, 0x9f, 0x5f, 0x9f, 0x63, 0x30, 0x9e, 0x84, 0xbd, 0x3e, 0x81, 0x7d, 0x26, 0x13, 0x38, 0xbb,
0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x8f, 0xca, 0xff, 0x5f, 0x93, 0x11, 0x34, 0x4a, 0x2b, 0xa1, 0xcf, 0xcf, 0x87, 0xaa, 0xfe, 0xe2, 0x73, 0x76, 0xfc, 0x48, 0xd2, 0x42, 0x7f, 0xcb, 0x88, 0xe1, 0xa7, 0x1f, 0x54, 0x26, 0x0a, 0x64,
0xb9, 0xbf, 0xb3, 0x26, 0x78, 0x3c, 0x9c, 0x61, 0x7e, 0x5c, 0x2d, 0xf0, 0xda, 0xf1, 0x7f, 0xfe, 0x37, 0xa3, 0xb0, 0x7e, 0x32, 0x0d, 0xda, 0x60, 0x9b, 0xa8, 0xcd, 0x52, 0x1a, 0xdb, 0xfa, 0x3d, 0x2d, 0xfe, 0x0b, 0xf5, 0x7f, 0xfe, 0x95, 0x96,
0xe7, 0xca, 0xf8, 0x8f, 0x42, 0x34, 0x7a, 0xb2, 0xe4, 0x73, 0x5b, 0x89, 0xff, 0xfe, 0xb7, 0x63, 0xfc, 0xc7, 0x92, 0xf8, 0xc8, 0xef, 0xd9, 0x59, 0xff, 0xa3, 0x6d, 0x2f, 0x97, 0x8f, 0x3b, 0x37, 0x96, 0xec, 0x4e, 0x14, 0x8b, 0xc2, 0x63, 0xb8,
0xc7, 0xcb, 0xc7, 0xbf, 0x52, 0x6b, 0x71, 0x9c, 0x59, 0x2b, 0xfe, 0xe7, 0x6d, 0x1b, 0xa5, 0x2a, 0x8c, 0xfe, 0xf8, 0x47, 0x6f, 0x5c, 0xfd, 0x33, 0x43, 0x67, 0x47, 0xbb, 0x9e, 0xa9, 0xff, 0xd1, 0xec, 0xd3, 0x78, 0xe8, 0x85, 0xef, 0xa9, 0xff,
0x71, 0x2b, 0x71, 0x72, 0x44, 0xf5, 0xe6, 0xdc, 0xf7, 0xe4, 0xe9, 0xad, 0x8d, 0x7f, 0xf7, 0x73, 0x3f, 0x76, 0xea, 0xff, 0xb6, 0xa5, 0xfe, 0xe3, 0x23, 0xf5, 0x5f, 0x9d, 0x24, 0x53, 0x95, 0x42, 0x9e, 0x49, 0xbe, 0x19, 0x3f, 0x86, 0xf9, 0x84,
0xd7, 0xea, 0xae, 0x66, 0x67, 0x1f, 0xdf, 0xe9, 0xe9, 0x4f, 0xf6, 0xff, 0xee, 0x67, 0x6b, 0xad, 0x3e, 0xff, 0xcf, 0x9a, 0xdf, 0x6c, 0x8b, 0xfb, 0x4e, 0xfd, 0x67, 0xda, 0xd6, 0x73, 0xce, 0xaa, 0xfa, 0x7f, 0xdf, 0xb7, 0x99, 0xd1, 0x64, 0xfe,
0xff, 0x8d, 0xf4, 0x68, 0x12, 0xdb, 0xc6, 0xff, 0xce, 0x2c, 0xb4, 0x3b, 0xfe, 0xf1, 0x22, 0xf3, 0xff, 0x51, 0x38, 0x3e, 0xe7, 0x35, 0x95, 0xbf, 0x27, 0x47, 0xf7, 0xed, 0x39, 0x5a, 0x6b, 0xdb, 0xca, 0xec, 0x58, 0xf9, 0x95, 0xfa, 0x8f, 0xe4,
0x67, 0xcf, 0xff, 0xaf, 0x3d, 0xef, 0x68, 0xef, 0xf8, 0x8f, 0x1b, 0xe7, 0xd7, 0x58, 0x72, 0xfd, 0x3f, 0x4e, 0xae, 0x36, 0x5f, 0x89, 0x97, 0x1e, 0xa5, 0x36, 0x81, 0xbd, 0x26, 0xb5, 0x6d, 0x6f, 0xfd, 0x57, 0x3f, 0xf7, 0xe7, 0x8e, 0xfa, 0x3f,
0x7a, 0xde, 0x67, 0xb4, 0xad, 0xdf, 0xff, 0xf7, 0xbe, 0xe5, 0x6b, 0xf5, 0xb3, 0x2b, 0x16, 0x58, 0x75, 0x1d, 0x00, 0x00, 0x9f, 0xa3, 0xbb, 0xea, 0x1c, 0xae, 0x76, 0xac, 0xfc, 0xd9, 0xe3, 0xff, 0x7b, 0x2f, 0xb9, 0xa3, 0x7d, 0xcc, 0x8c, 0xf4,
0x00, 0x00, 0x00, 0x00, 0x40, 0xfe, 0xff, 0xd9, 0x1d, 0xe4, 0xfc, 0xbd, 0xe8, 0xd1, 0x78, 0x6f, 0x3f, 0x9a, 0x32, 0x19, 0x27, 0xc7, 0xff, 0x73, 0x3f, 0x3f, 0x5b, 0xff, 0x55, 0xad, 0x3d, 0x36, 0xce, 0x4c, 0xb2, 0x63, 0xe5, 0xce, 0x55, 0xb2,
0xc6, 0xc1, 0x9d, 0xf8, 0xec, 0x0a, 0x7c, 0x3d, 0x99, 0xb9, 0x47, 0x7b, 0xdf, 0x57, 0xd3, 0x30, 0x6e, 0xef, 0x51, 0x7e, 0xdd, 0xe7, 0xff, 0xab, 0x3e, 0x59, 0x1b, 0x9e, 0x4d, 0xc4, 0xb5, 0xf5, 0x3f, 0xb3, 0x0a, 0xb9, 0x6e, 0xbe, 0x70, 0x66,
0x3d, 0xc1, 0xe7, 0x57, 0x96, 0x8d, 0xc6, 0xcc, 0xae, 0x75, 0xd5, 0x36, 0x33, 0x73, 0xc6, 0xbb, 0xeb, 0x3f, 0xba, 0x5a, 0xfe, 0x9f, 0x7b, 0xbe, 0x6d, 0xe6, 0xa9, 0x80, 0xb7, 0x8d, 0xff, 0xbb, 0xae, 0x92, 0xb5, 0xcd, 0x35, 0xb9, 0xf7, 0xbd,
0x23, 0x6e, 0x8c, 0x0c, 0xb3, 0xe3, 0x5f, 0x5f, 0xe9, 0xbb, 0x7a, 0x7c, 0xad, 0x88, 0x7f, 0x4f, 0x16, 0x69, 0x3e, 0xf2, 0x2a, 0x9f, 0x52, 0x37, 0x9e, 0xdf, 0x1f, 0xc5, 0x33, 0xbc, 0xaf, 0xd7, 0x7f, 0x7e, 0x95, 0xbf, 0x15, 0xad, 0x4a, 0x9e,
0x6b, 0xd6, 0xd3, 0x3e, 0x7b, 0x9e, 0xca, 0xba, 0xdc, 0xc7, 0x4a, 0x06, 0xed, 0xbb, 0xc6, 0xff, 0xf9, 0xf5, 0xb4, 0x67, 0x9b, 0xff, 0xef, 0x7e, 0xd2, 0x49, 0xe6, 0x5d, 0x6a, 0xfa, 0xdf, 0xbe, 0xab, 0xc2, 0xb5, 0xa3, 0xc0, 0xdf, 0xaf, 0x36,
0x55, 0x76, 0xf5, 0x66, 0xd0, 0x8b, 0xff, 0xbc, 0xda, 0xbe, 0x58, 0x38, 0x32, 0x55, 0x2b, 0x68, 0xe6, 0xd5, 0x0c, 0x76, 0x44, 0xd1, 0xc8, 0x51, 0x95, 0xdf, 0xff, 0xe7, 0xb6, 0x8d, 0x3f, 0xf1, 0x6c, 0xfc, 0x4a, 0x7c, 0x0c, 0x3e, 0x4f, 0xff,
0x57, 0x91, 0xcc, 0x1f, 0xff, 0x6b, 0xcf, 0xb9, 0xaa, 0x3c, 0x1d, 0x68, 0xb7, 0xfe, 0xdf, 0x99, 0x3b, 0xbd, 0x4b, 0xfc, 0x44, 0xfd, 0x67, 0xde, 0x39, 0xf3, 0xbf, 0x46, 0x8f, 0x61, 0x65, 0xfd, 0x9f, 0xeb, 0x01, 0xe4, 0x6e, 0xc2, 0x8d, 0xb3,
0xeb, 0xb3, 0xfc, 0xd1, 0x34, 0x2b, 0x7d, 0x6e, 0xfc, 0x5f, 0xfd, 0xc4, 0x8b, 0xfa, 0x3c, 0xfc, 0x89, 0x3d, 0xa9, 0xbc, 0x18, 0xe0, 0xe7, 0xf4, 0x00, 0x9e, 0x70, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x73, 0xe5, 0xaf, 0xb2, 0x99, 0xfd, 0x9d, 0xf1, 0xdf, 0xef, 0x08, 0xe0, 0xe9, 0x51, 0x8c, 0xf7, 0x3a, 0x02, 0x54, 0xe0, 0xec, 0xbe, 0x13, 0xfb, 0xef, 0xd9, 0x5c, 0x99, 0xd4, 0xf8, 0xf1, 0xfb, 0xa4, 0x77, 0x26, 0xe6, 0xb7, 0x97, 0x14, 0xb2,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x36, 0xbb, 0xe3, 0x7e, 0x9c, 0xa5, 0x13, 0x2d, 0x19, 0x37, 0xbb, 0xaf, 0xa5, 0xe7, 0xdf, 0xfa, 0xf3, 0x95, 0x8a, 0x3c, 0xde, 0x28, 0xbc, 0x6b, 0xfd, 0x29, 0x93, 0xe4, 0x39, 0x4b, 0x71, 0x34, 0x77,
0x3f, 0x4e, 0xd6, 0xa7, 0xbd, 0x96, 0xdb, 0x15, 0xdb, 0xde, 0x0f, 0xae, 0xb6, 0x7f, 0x57, 0xfe, 0xf4, 0xee, 0x6b, 0xe9, 0xe0, 0x7d, 0x0f, 0x8f, 0x1f, 0x97, 0x99, 0xd7, 0x5a, 0x61, 0x9a, 0x42, 0x24, 0xd2, 0x5e, 0xde, 0xf6, 0x7a, 0x7f, 0x36,
0xdf, 0x5f, 0x93, 0x33, 0x4e, 0x8e, 0x8e, 0x57, 0x8c, 0x7f, 0x25, 0x67, 0xf4, 0xf9, 0xb5, 0x94, 0xa3, 0x94, 0xf1, 0x1a, 0x70, 0x94, 0x6d, 0xf1, 0x58, 0x1d, 0x55, 0x65, 0x27, 0xdf, 0x9e, 0x98, 0x3f, 0x9f, 0xbc, 0x13, 0x2f, 0xad, 0xae, 0xbf,
0x9b, 0xe7, 0xcc, 0xed, 0x94, 0x8b, 0xbd, 0x72, 0xfc, 0x8f, 0x72, 0x74, 0xa2, 0x21, 0x0f, 0x5a, 0xfc, 0x47, 0xba, 0x16, 0xfe, 0x7b, 0x92, 0x23, 0xd6, 0xe7, 0x18, 0xf5, 0xfc, 0x34, 0x93, 0x7a, 0x31, 0x96, 0xc1, 0x36, 0xd7, 0x06, 0x56, 0x8f,
0x6f, 0xe7, 0xfe, 0xff, 0xc4, 0xda, 0xeb, 0xef, 0x17, 0xff, 0xce, 0x8a, 0xab, 0x19, 0x6b, 0x69, 0xe7, 0xab, 0x3b, 0xdf, 0x50, 0x6d, 0xb2, 0x42, 0x62, 0xaa, 0xa5, 0xcc, 0x67, 0xff, 0xbd, 0x6f, 0x69, 0x1b, 0x1c, 0xb9, 0x6e, 0x48, 0xcc, 0x8c,
0xbf, 0xff, 0x57, 0xe7, 0xff, 0x3d, 0xe3, 0xff, 0xea, 0xb5, 0xb4, 0xf3, 0xf3, 0xff, 0xcf, 0x18, 0xff, 0xef, 0xbc, 0x22, 0xce, 0xfa, 0xaa, 0xfe, 0x69, 0x1b, 0xec, 0x6f, 0x32, 0x79, 0x75, 0x51, 0x9a, 0x44, 0x91, 0xff, 0x3f, 0x91, 0x48, 0x6d,
0x73, 0xac, 0xbd, 0x5e, 0x5e, 0xae, 0xf8, 0x7f, 0x7a, 0x5e, 0xee, 0xdd, 0xeb, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0xc9, 0x2c, 0xbe, 0x7c, 0x46, 0x7c, 0x26, 0xa7, 0x2a, 0x16, 0xef, 0xd9, 0x4c, 0xfd, 0xb7, 0x43, 0xf5, 0x9f, 0x49,
0x3d, 0x38, 0x9f, 0x98, 0x1d, 0xa9, 0xda, 0xdd, 0x5b, 0xff, 0xd1, 0xd1, 0x7f, 0x65, 0x66, 0xd7, 0x51, 0x78, 0xce, 0xf0,
0x3e, 0xe3, 0xad, 0x1e, 0xff, 0xdb, 0xe3, 0x7e, 0x1a, 0x4f, 0x75, 0x5b, 0x3f, 0x42, 0x65, 0x7a, 0x93, 0xb1, 0xfa, 0x5f,
0xdd, 0x63, 0xcd, 0x3c, 0x07, 0x29, 0x3e, 0x37, 0xfe, 0x9f, 0x49, 0xcc, 0x8e, 0xc4, 0xd9, 0x75, 0xe6, 0x7d, 0xeb, 0xd7,
0x5e, 0xa2, 0xb0, 0xfe, 0x33, 0x3d, 0x40, 0xbe, 0xfe, 0x77, 0xce, 0xa6, 0xb3, 0x79, 0x93, 0x31, 0xdd, 0x86, 0xce, 0xd4,
0x7f, 0xe5, 0xd3, 0x96, 0x56, 0x24, 0xe6, 0x8e, 0x3f, 0xd9, 0xf1, 0xd4, 0xf8, 0xdf, 0x52, 0xe3, 0x7f, 0x6e, 0x9c, 0xa8,
0x3b, 0xf6, 0xb5, 0x73, 0xe5, 0xf7, 0xfa, 0x8f, 0x0d, 0xef, 0xb6, 0xaf, 0xfe, 0x33, 0x3d, 0x61, 0x2c, 0x9b, 0xff, 0x67,
0xab, 0x25, 0x86, 0xe7, 0xd7, 0x3b, 0x13, 0x73, 0x33, 0xeb, 0xcc, 0xf7, 0xd7, 0x7f, 0xe5, 0x33, 0x4c, 0xda, 0x54, 0xfa,
0x72, 0x94, 0x8e, 0xc8, 0xfb, 0xc6, 0xff, 0x15, 0xb3, 0xe9, 0x4c, 0xfa, 0xfe, 0x3d, 0xeb, 0x7f, 0xad, 0xf8, 0x88, 0xb5,
0xe3, 0x79, 0x88, 0x2b, 0x66, 0x85, 0x27, 0xce, 0xff, 0xab, 0x12, 0xd8, 0x73, 0xe7, 0xff, 0xd5, 0x2b, 0xf2, 0x73, 0xc7,
0xf2, 0xde, 0xf1, 0x3f, 0xd7, 0x42, 0x62, 0x68, 0x7c, 0x6e, 0x9f, 0xaa, 0xff, 0x5b, 0xbe, 0xd1, 0x50, 0xd1, 0x6f, 0x45,
0x49, 0xef, 0x96, 0x79, 0x6e, 0x4b, 0xe5, 0x3c, 0xaa, 0x72, 0xfd, 0x6a, 0xe6, 0xfa, 0xff, 0xcc, 0xb7, 0x53, 0x56, 0xbf,
0x5b, 0xfe, 0xfa, 0xff, 0xda, 0xfa, 0x8f, 0xe2, 0x2d, 0xe6, 0x9e, 0x5e, 0xea, 0xe6, 0xf7, 0xd3, 0x7e, 0xee, 0x38, 0x82,
0x6a, 0x59, 0xeb, 0x39, 0x71, 0x3e, 0xc4, 0xef, 0x9a, 0x33, 0xf3, 0xd3, 0xbf, 0xe1, 0x6d, 0x3f, 0x18, 0x9b, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xef, 0xde, 0xc3, 0x14, 0xaf, 0x77, 0x38, 0xbc, 0x65, 0x4b,
0x64, 0x72, 0x29, 0x5b, 0x69, 0xce, 0x5d, 0x4b, 0x24, 0xf3, 0x67, 0xb7, 0xae, 0x77, 0xaf, 0xac, 0xff, 0x64, 0xb3, 0x69,
0xe6, 0x99, 0xc4, 0xf9, 0xcc, 0x3e, 0x3e, 0x7b, 0x34, 0xdf, 0x32, 0x3c, 0x22, 0x91, 0xc6, 0x5a, 0x79, 0xbc, 0x5a, 0x6a,
0xdf, 0x65, 0x5b, 0x59, 0x6f, 0x0f, 0xd0, 0x9f, 0x0f, 0x53, 0x7f, 0x8f, 0x69, 0xa4, 0xf6, 0x79, 0x4d, 0x32, 0xff, 0x4c,
0x5b, 0x6a, 0xe9, 0x04, 0xe2, 0x6c, 0xab, 0xe9, 0xfd, 0x5b, 0x31, 0xfd, 0x97, 0xdf, 0xb3, 0x5a, 0xe3, 0x73, 0x47, 0x33,
0x9b, 0x17, 0x5f, 0x7d, 0xbc, 0x6a, 0xd3, 0xdb, 0x6a, 0x7a, 0x80, 0x8a, 0xfa, 0xaf, 0xdb, 0xca, 0xfd, 0xf7, 0xc6, 0x46,
0xf2, 0x7e, 0xfa, 0xf8, 0xfc, 0xfd, 0xa7, 0xf1, 0xd1, 0x24, 0x81, 0x5c, 0xca, 0xe4, 0xae, 0x4f, 0x95, 0xcb, 0xe5, 0xca,
0xa7, 0xb7, 0xed, 0x1c, 0xff, 0x33, 0x49, 0x52, 0x99, 0xb4, 0xd0, 0xea, 0x57, 0xb2, 0xbd, 0x65, 0xae, 0xfe, 0x33, 0x99,
0x4d, 0x51, 0x94, 0x67, 0x5c, 0xf7, 0xdc, 0x93, 0x48, 0xce, 0xaf, 0x4f, 0x1e, 0xcd, 0x78, 0x4d, 0x25, 0xaf, 0xca, 0xd8,
0xdd, 0xfb, 0x4a, 0x4c, 0x26, 0x3e, 0x44, 0xd7, 0xf1, 0x8e, 0xe9, 0xb1, 0x70, 0xd7, 0xd3, 0x02, 0x33, 0xcf, 0xa4, 0x68,
0xc9, 0xd4, 0xcc, 0x28, 0x9b, 0xe1, 0x57, 0xbf, 0xb2, 0xa2, 0xfe, 0xe3, 0xe1, 0x3c, 0xb9, 0xfa, 0x99, 0x65, 0xd5, 0x47,
0xb3, 0xa7, 0x67, 0xf8, 0x62, 0xfd, 0xaf, 0x9d, 0xa7, 0xd5, 0x9c, 0xff, 0x47, 0xfa, 0x59, 0x3c, 0x77, 0xb6, 0x98, 0xe8,
0x4c, 0x77, 0xfe, 0x69, 0xf5, 0xbf, 0x77, 0x1f, 0x57, 0xf7, 0xe6, 0xcf, 0x33, 0xec, 0xf6, 0xd1, 0xfa, 0x9f, 0x49, 0x8b,
0xaf, 0x39, 0x5f, 0x79, 0x5f, 0xff, 0xaf, 0x5c, 0xd9, 0xb8, 0xa3, 0xfe, 0x6f, 0xa9, 0xf2, 0xb1, 0x7d, 0xbe, 0xb6, 0xfe,
0xcf, 0xd7, 0xd0, 0x6c, 0xf2, 0xfb, 0xf9, 0x6d, 0x8f, 0xb2, 0xf3, 0xff, 0x9a, 0x75, 0xa1, 0xea, 0x79, 0xc4, 0x6d, 0x3d,
0xe8, 0xaa, 0xa7, 0xab, 0xbd, 0xcd, 0x1d, 0xaa, 0xcf, 0x77, 0xef, 0x18, 0xff, 0x43, 0xfd, 0x2f, 0x58, 0x0b, 0xaf, 0x1d,
0x25, 0xf3, 0x2b, 0xcc, 0x33, 0xfd, 0xc9, 0xf8, 0xb3, 0xec, 0x6b, 0x57, 0xc9, 0x32, 0x7d, 0x68, 0xcf, 0x2b, 0xf9, 0x27,
0x6e, 0x7c, 0x75, 0xfe, 0xdf, 0xf3, 0x54, 0xa0, 0x6f, 0xd5, 0x7f, 0x24, 0xd7, 0xb7, 0xee, 0xa8, 0xff, 0xb5, 0x57, 0x06,
0xd6, 0x5f, 0xcb, 0xbf, 0x79, 0xfe, 0xbf, 0xa2, 0xcf, 0xfb, 0x76, 0xfd, 0x7f, 0x61, 0x0e, 0xbd, 0xe6, 0x5b, 0x28, 0xe7,
0xea, 0x7f, 0x6e, 0xdc, 0x56, 0xff, 0x2b, 0x56, 0x8c, 0xf3, 0x9f, 0x7a, 0xc5, 0xf9, 0x7f, 0xef, 0x4c, 0xe3, 0xe7, 0xd7,
0x7f, 0x7d, 0xd2, 0xf9, 0x9a, 0xf3, 0xcd, 0x76, 0xe9, 0x77, 0x61, 0xee, 0xfa, 0x4e, 0xf2, 0x9e, 0x16, 0xb3, 0x66, 0xed,
0x23, 0xf3, 0x94, 0xde, 0xda, 0xa7, 0x39, 0xc5, 0xa2, 0x4a, 0xcf, 0x5d, 0xe5, 0xdd, 0x73, 0xfd, 0x7f, 0xef, 0x37, 0x8a,
0xaa, 0xb7, 0x50, 0xfd, 0x7f, 0xa3, 0x0f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xdb,
0xee, 0xd0, 0xdb, 0x9b, 0xa8, 0x5f, 0x9f, 0x82, 0x71, 0x7b, 0xa2, 0xfe, 0xdb, 0x5d, 0x33, 0xed, 0xda, 0x44, 0xfd, 0xd6,
0x95, 0x4c, 0xf4, 0xbd, 0x44, 0xfd, 0xdf, 0x78, 0xc7, 0xc7, 0x6d, 0x89, 0xfa, 0x75, 0x77, 0x4e, 0xdf, 0x9e, 0xa8, 0xdf,
0x5e, 0xf2, 0x87, 0x6e, 0x4e, 0xd4, 0xcf, 0xdf, 0x3b, 0x75, 0x6b, 0xa2, 0x3e, 0x6b, 0xef, 0x98, 0xec, 0xed, 0xfb, 0xe3,
0xe0, 0x31, 0x5b, 0x75, 0x77, 0x69, 0x7c, 0xf4, 0xce, 0xcf, 0xf1, 0x8c, 0xa6, 0x15, 0x3d, 0x4a, 0xe5, 0x5d, 0x9a, 0xeb,
0x13, 0xf5, 0x7f, 0x4a, 0xbd, 0xee, 0x4a, 0xd4, 0x7f, 0xcf, 0x19, 0x8b, 0x4d, 0xdb, 0x1f, 0x43, 0xf3, 0xc6, 0xb5, 0x89,
0x5a, 0xcf, 0xfd, 0xe8, 0xbd, 0xcf, 0x47, 0xf8, 0x76, 0xa2, 0xf6, 0x6f, 0xab, 0xff, 0x55, 0xfb, 0x29, 0x8a, 0xaa, 0xae,
0xf7, 0x95, 0x7d, 0x59, 0x41, 0x75, 0xf5, 0x1f, 0xe5, 0xaf, 0xed, 0x4d, 0xd4, 0xca, 0xae, 0x27, 0xa8, 0xff, 0xef, 0xac,
0x01, 0xe4, 0xd6, 0xad, 0xe6, 0x12, 0x75, 0x4f, 0xb6, 0x80, 0x9d, 0x89, 0x5a, 0x5f, 0xaf, 0xff, 0xcc, 0xac, 0x5c, 0xfd,
0xdf, 0x39, 0xff, 0x8f, 0xb2, 0x57, 0x32, 0xbd, 0x46, 0x7e, 0xfd, 0xff, 0xcb, 0x4f, 0xd4, 0xfa, 0x99, 0xf5, 0x7f, 0x47,
0xa2, 0xae, 0xfa, 0x3f, 0x33, 0xff, 0x5f, 0xf7, 0x54, 0x82, 0x9d, 0x89, 0xba, 0xc6, 0xff, 0x55, 0x15, 0x71, 0x77, 0x95,
0xdf, 0x95, 0x9b, 0xfb, 0xcd, 0xf3, 0xff, 0xdc, 0x93, 0x40, 0xb3, 0x3d, 0xc0, 0xbe, 0x84, 0xd6, 0x13, 0x89, 0xfa, 0x12,
0x75, 0x67, 0x8e, 0xd7, 0xf3, 0xec, 0xef, 0x9b, 0xd7, 0x63, 0x6e, 0x9f, 0xff, 0xd7, 0x5e, 0xab, 0xf9, 0xe7, 0x9a, 0xd2,
0xea, 0x15, 0xef, 0x55, 0xf3, 0xff, 0xda, 0x2b, 0x5b, 0x12, 0x75, 0xab, 0x8f, 0xda, 0x6f, 0x5f, 0xff, 0x3b, 0xdb, 0xd3,
0xc0, 0xee, 0x79, 0xed, 0xf9, 0x9e, 0x10, 0xf8, 0xda, 0x37, 0xb9, 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, 0x80, 0x46, 0xbf, 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, 0x56, 0xf9, 0xef, 0x3f, 0xfb, 0x01, 0xd4, 0x3f,
0xf0, 0xeb, 0xea, 0xff, 0x3f };
// Font characters rectangles data // Font glyphs rectangles data (on atlas)
static const Rectangle darkFontRecs[95] = { static const Rectangle darkFontRecs[189] = {
{ 4, 4, 4 , 16 }, { 4, 4, 4 , 16 },
{ 16, 4, 1 , 9 }, { 16, 4, 1 , 9 },
{ 25, 4, 3 , 3 }, { 25, 4, 3 , 3 },
@ -122,85 +177,179 @@ static const Rectangle darkFontRecs[95] = {
{ 214, 4, 5 , 9 }, { 214, 4, 5 , 9 },
{ 227, 4, 5 , 9 }, { 227, 4, 5 , 9 },
{ 240, 4, 5 , 9 }, { 240, 4, 5 , 9 },
{ 4, 28, 5 , 9 }, { 253, 4, 5 , 9 },
{ 17, 28, 5 , 9 }, { 266, 4, 5 , 9 },
{ 30, 28, 5 , 9 }, { 279, 4, 5 , 9 },
{ 43, 28, 5 , 9 }, { 292, 4, 5 , 9 },
{ 56, 28, 5 , 9 }, { 305, 4, 5 , 9 },
{ 69, 28, 1 , 7 }, { 318, 4, 1 , 7 },
{ 78, 28, 2 , 9 }, { 327, 4, 2 , 9 },
{ 88, 28, 3 , 5 }, { 337, 4, 3 , 5 },
{ 99, 28, 4 , 3 }, { 348, 4, 4 , 3 },
{ 111, 28, 3 , 5 }, { 360, 4, 3 , 5 },
{ 122, 28, 5 , 9 }, { 371, 4, 5 , 9 },
{ 135, 28, 7 , 9 }, { 384, 4, 7 , 9 },
{ 150, 28, 5 , 9 }, { 399, 4, 5 , 9 },
{ 163, 28, 5 , 9 }, { 412, 4, 5 , 9 },
{ 176, 28, 5 , 9 }, { 425, 4, 5 , 9 },
{ 189, 28, 5 , 9 }, { 438, 4, 5 , 9 },
{ 202, 28, 5 , 9 }, { 451, 4, 5 , 9 },
{ 215, 28, 5 , 9 }, { 464, 4, 5 , 9 },
{ 228, 28, 5 , 9 }, { 477, 4, 5 , 9 },
{ 241, 28, 5 , 9 }, { 490, 4, 5 , 9 },
{ 4, 52, 1 , 9 }, { 4, 28, 1 , 9 },
{ 13, 52, 5 , 9 }, { 13, 28, 5 , 9 },
{ 26, 52, 5 , 9 }, { 26, 28, 5 , 9 },
{ 39, 52, 5 , 9 }, { 39, 28, 5 , 9 },
{ 52, 52, 7 , 9 }, { 52, 28, 7 , 9 },
{ 67, 52, 5 , 9 }, { 67, 28, 5 , 9 },
{ 80, 52, 5 , 9 }, { 80, 28, 5 , 9 },
{ 93, 52, 5 , 9 }, { 93, 28, 5 , 9 },
{ 106, 52, 5 , 9 }, { 106, 28, 5 , 9 },
{ 119, 52, 5 , 9 }, { 119, 28, 5 , 9 },
{ 132, 52, 5 , 9 }, { 132, 28, 5 , 9 },
{ 145, 52, 5 , 9 }, { 145, 28, 5 , 9 },
{ 158, 52, 5 , 9 }, { 158, 28, 5 , 9 },
{ 171, 52, 5 , 9 }, { 171, 28, 5 , 9 },
{ 184, 52, 7 , 9 }, { 184, 28, 7 , 9 },
{ 199, 52, 5 , 9 }, { 199, 28, 5 , 9 },
{ 212, 52, 5 , 9 }, { 212, 28, 5 , 9 },
{ 225, 52, 5 , 9 }, { 225, 28, 5 , 9 },
{ 238, 52, 3 , 9 }, { 238, 28, 3 , 9 },
{ 4, 76, 3 , 9 }, { 249, 28, 3 , 9 },
{ 15, 76, 3 , 9 }, { 260, 28, 3 , 9 },
{ 26, 76, 5 , 3 }, { 271, 28, 5 , 3 },
{ 39, 76, 5 , 1 }, { 284, 28, 5 , 1 },
{ 52, 76, 2 , 2 }, { 297, 28, 2 , 2 },
{ 62, 76, 5 , 7 }, { 307, 28, 5 , 7 },
{ 75, 76, 5 , 9 }, { 320, 28, 5 , 9 },
{ 88, 76, 5 , 7 }, { 333, 28, 5 , 7 },
{ 101, 76, 5 , 9 }, { 346, 28, 5 , 9 },
{ 114, 76, 5 , 7 }, { 359, 28, 5 , 7 },
{ 127, 76, 4 , 9 }, { 372, 28, 4 , 9 },
{ 139, 76, 5 , 9 }, { 384, 28, 5 , 9 },
{ 152, 76, 5 , 9 }, { 397, 28, 5 , 9 },
{ 165, 76, 1 , 9 }, { 410, 28, 1 , 9 },
{ 174, 76, 5 , 11 }, { 419, 28, 5 , 11 },
{ 187, 76, 5 , 9 }, { 432, 28, 5 , 9 },
{ 200, 76, 2 , 9 }, { 445, 28, 2 , 9 },
{ 210, 76, 7 , 7 }, { 455, 28, 7 , 7 },
{ 225, 76, 5 , 7 }, { 470, 28, 5 , 7 },
{ 238, 76, 5 , 7 }, { 483, 28, 5 , 7 },
{ 4, 100, 5 , 9 }, { 496, 28, 5 , 9 },
{ 17, 100, 5 , 9 }, { 4, 52, 5 , 9 },
{ 30, 100, 5 , 7 }, { 17, 52, 5 , 7 },
{ 43, 100, 5 , 7 }, { 30, 52, 5 , 7 },
{ 56, 100, 4 , 8 }, { 43, 52, 4 , 8 },
{ 68, 100, 5 , 7 }, { 55, 52, 5 , 7 },
{ 81, 100, 5 , 7 }, { 68, 52, 5 , 7 },
{ 94, 100, 7 , 7 }, { 81, 52, 7 , 7 },
{ 109, 100, 5 , 7 }, { 96, 52, 5 , 7 },
{ 122, 100, 5 , 9 }, { 109, 52, 5 , 9 },
{ 135, 100, 5 , 7 }, { 122, 52, 5 , 7 },
{ 148, 100, 4 , 9 }, { 135, 52, 4 , 9 },
{ 160, 100, 1 , 9 }, { 147, 52, 1 , 9 },
{ 169, 100, 4 , 9 }, { 156, 52, 4 , 9 },
{ 181, 100, 6 , 2 }, { 168, 52, 6 , 2 },
{ 182, 52, 1 , 9 },
{ 191, 52, 5 , 11 },
{ 204, 52, 6 , 9 },
{ 218, 52, 6 , 9 },
{ 232, 52, 5 , 9 },
{ 245, 52, 5 , 12 },
{ 258, 52, 5 , 9 },
{ 271, 52, 5 , 10 },
{ 284, 52, 7 , 9 },
{ 299, 52, 5 , 9 },
{ 312, 52, 6 , 5 },
{ 326, 52, 5 , 3 },
{ 339, 52, 7 , 9 },
{ 354, 52, 5 , 9 },
{ 367, 52, 4 , 4 },
{ 379, 52, 5 , 7 },
{ 392, 52, 5 , 9 },
{ 405, 52, 5 , 9 },
{ 418, 52, 5 , 12 },
{ 431, 52, 5 , 9 },
{ 444, 52, 7 , 9 },
{ 459, 52, 1 , 1 },
{ 468, 52, 5 , 10 },
{ 481, 52, 5 , 9 },
{ 494, 52, 5 , 9 },
{ 4, 76, 6 , 5 },
{ 18, 76, 9 , 9 },
{ 35, 76, 9 , 7 },
{ 52, 76, 5 , 11 },
{ 65, 76, 5 , 9 },
{ 78, 76, 5 , 12 },
{ 91, 76, 5 , 12 },
{ 104, 76, 5 , 12 },
{ 117, 76, 6 , 12 },
{ 131, 76, 5 , 11 },
{ 144, 76, 5 , 13 },
{ 157, 76, 9 , 9 },
{ 174, 76, 5 , 12 },
{ 187, 76, 5 , 12 },
{ 200, 76, 5 , 12 },
{ 213, 76, 5 , 12 },
{ 226, 76, 5 , 11 },
{ 239, 76, 2 , 12 },
{ 249, 76, 2 , 12 },
{ 259, 76, 3 , 12 },
{ 270, 76, 3 , 11 },
{ 281, 76, 6 , 9 },
{ 295, 76, 6 , 12 },
{ 309, 76, 5 , 12 },
{ 322, 76, 5 , 12 },
{ 335, 76, 5 , 12 },
{ 348, 76, 6 , 12 },
{ 362, 76, 5 , 11 },
{ 375, 76, 5 , 5 },
{ 388, 76, 7 , 9 },
{ 403, 76, 5 , 12 },
{ 416, 76, 5 , 12 },
{ 429, 76, 5 , 12 },
{ 442, 76, 5 , 11 },
{ 455, 76, 5 , 12 },
{ 468, 76, 5 , 9 },
{ 481, 76, 5 , 9 },
{ 494, 76, 5 , 10 },
{ 4, 100, 5 , 10 },
{ 17, 100, 5 , 10 },
{ 30, 100, 6 , 10 },
{ 44, 100, 5 , 9 },
{ 57, 100, 5 , 11 },
{ 70, 100, 9 , 7 },
{ 87, 100, 5 , 10 },
{ 100, 100, 5 , 10 },
{ 113, 100, 5 , 10 },
{ 126, 100, 5 , 10 },
{ 139, 100, 5 , 9 },
{ 152, 100, 2 , 10 },
{ 162, 100, 2 , 10 },
{ 172, 100, 3 , 10 },
{ 183, 100, 3 , 9 },
{ 194, 100, 6 , 9 },
{ 208, 100, 6 , 10 },
{ 222, 100, 5 , 10 },
{ 235, 100, 5 , 10 },
{ 248, 100, 5 , 10 },
{ 261, 100, 6 , 10 },
{ 275, 100, 5 , 9 },
{ 288, 100, 5 , 5 },
{ 301, 100, 7 , 7 },
{ 316, 100, 5 , 10 },
{ 329, 100, 5 , 10 },
{ 342, 100, 5 , 10 },
{ 355, 100, 5 , 9 },
{ 368, 100, 5 , 12 },
{ 381, 100, 5 , 11 },
{ 394, 100, 5 , 11 },
}; };
// Font glyphs info data // Font glyphs info data
// NOTE: No glyphs.image data provided // NOTE: No glyphs.image data provided
static const GlyphInfo darkFontChars[95] = { static const GlyphInfo darkFontGlyphs[189] = {
{ 32, 0, 13, 4, { 0 }}, { 32, 0, 13, 4, { 0 }},
{ 33, 2, 4, 5, { 0 }}, { 33, 2, 4, 5, { 0 }},
{ 34, 2, 4, 7, { 0 }}, { 34, 2, 4, 7, { 0 }},
@ -296,9 +445,103 @@ static const GlyphInfo darkFontChars[95] = {
{ 124, 2, 4, 5, { 0 }}, { 124, 2, 4, 5, { 0 }},
{ 125, 1, 4, 7, { 0 }}, { 125, 1, 4, 7, { 0 }},
{ 126, 1, 4, 8, { 0 }}, { 126, 1, 4, 8, { 0 }},
{ 161, 2, 6, 5, { 0 }},
{ 162, 1, 4, 7, { 0 }},
{ 163, 1, 4, 8, { 0 }},
{ 8364, 1, 4, 8, { 0 }},
{ 165, 1, 4, 7, { 0 }},
{ 352, 1, 1, 7, { 0 }},
{ 167, 2, 4, 9, { 0 }},
{ 353, 1, 3, 7, { 0 }},
{ 169, 1, 4, 9, { 0 }},
{ 170, 2, 4, 9, { 0 }},
{ 171, 1, 6, 8, { 0 }},
{ 172, 1, 8, 7, { 0 }},
{ 174, 1, 4, 9, { 0 }},
{ 175, 2, 4, 9, { 0 }},
{ 176, 1, 4, 6, { 0 }},
{ 177, 1, 6, 7, { 0 }},
{ 178, 2, 4, 9, { 0 }},
{ 179, 2, 4, 9, { 0 }},
{ 381, 1, 1, 7, { 0 }},
{ 181, 1, 6, 7, { 0 }},
{ 182, 1, 4, 9, { 0 }},
{ 183, 2, 8, 5, { 0 }},
{ 382, 1, 3, 7, { 0 }},
{ 185, 2, 4, 9, { 0 }},
{ 186, 2, 4, 9, { 0 }},
{ 187, 1, 6, 8, { 0 }},
{ 338, 1, 4, 11, { 0 }},
{ 339, 1, 6, 11, { 0 }},
{ 376, 1, 2, 7, { 0 }},
{ 191, 1, 6, 7, { 0 }},
{ 192, 1, 1, 7, { 0 }},
{ 193, 1, 1, 7, { 0 }},
{ 194, 1, 1, 7, { 0 }},
{ 195, 1, 1, 7, { 0 }},
{ 196, 1, 2, 7, { 0 }},
{ 197, 1, 0, 7, { 0 }},
{ 198, 1, 4, 11, { 0 }},
{ 199, 1, 4, 7, { 0 }},
{ 200, 1, 1, 7, { 0 }},
{ 201, 1, 1, 7, { 0 }},
{ 202, 1, 1, 7, { 0 }},
{ 203, 1, 2, 7, { 0 }},
{ 204, 1, 1, 5, { 0 }},
{ 205, 2, 1, 5, { 0 }},
{ 206, 1, 1, 5, { 0 }},
{ 207, 1, 2, 5, { 0 }},
{ 208, 0, 4, 7, { 0 }},
{ 209, 1, 1, 7, { 0 }},
{ 210, 1, 1, 7, { 0 }},
{ 211, 1, 1, 7, { 0 }},
{ 212, 1, 1, 7, { 0 }},
{ 213, 1, 1, 7, { 0 }},
{ 214, 1, 2, 7, { 0 }},
{ 215, 1, 6, 7, { 0 }},
{ 216, 0, 4, 7, { 0 }},
{ 217, 1, 1, 7, { 0 }},
{ 218, 1, 1, 7, { 0 }},
{ 219, 1, 1, 7, { 0 }},
{ 220, 1, 2, 7, { 0 }},
{ 221, 1, 1, 7, { 0 }},
{ 222, 1, 4, 7, { 0 }},
{ 223, 1, 4, 7, { 0 }},
{ 224, 1, 3, 7, { 0 }},
{ 225, 1, 3, 7, { 0 }},
{ 226, 1, 3, 7, { 0 }},
{ 227, 1, 3, 7, { 0 }},
{ 228, 1, 4, 7, { 0 }},
{ 229, 1, 2, 7, { 0 }},
{ 230, 1, 6, 11, { 0 }},
{ 231, 1, 6, 7, { 0 }},
{ 232, 1, 3, 7, { 0 }},
{ 233, 1, 3, 7, { 0 }},
{ 234, 1, 3, 7, { 0 }},
{ 235, 1, 4, 7, { 0 }},
{ 236, 1, 3, 5, { 0 }},
{ 237, 2, 3, 5, { 0 }},
{ 238, 1, 3, 5, { 0 }},
{ 239, 1, 4, 5, { 0 }},
{ 240, 1, 4, 7, { 0 }},
{ 241, 1, 3, 7, { 0 }},
{ 242, 1, 3, 7, { 0 }},
{ 243, 1, 3, 7, { 0 }},
{ 244, 1, 3, 7, { 0 }},
{ 245, 1, 3, 7, { 0 }},
{ 246, 1, 4, 7, { 0 }},
{ 247, 1, 6, 7, { 0 }},
{ 248, 0, 6, 7, { 0 }},
{ 249, 1, 3, 7, { 0 }},
{ 250, 1, 3, 7, { 0 }},
{ 251, 1, 3, 7, { 0 }},
{ 252, 1, 4, 7, { 0 }},
{ 253, 1, 3, 7, { 0 }},
{ 254, 1, 4, 7, { 0 }},
{ 255, 1, 4, 7, { 0 }},
}; };
// Style loading function: dark // Style loading function: Dark
static void GuiLoadStyleDark(void) static void GuiLoadStyleDark(void)
{ {
// Load style properties provided // Load style properties provided
@ -311,34 +554,33 @@ static void GuiLoadStyleDark(void)
// Custom font loading // Custom font loading
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
int darkFontDataSize = 0; int darkFontDataSize = 0;
unsigned char *data = DecompressData(darkFontData, DARK_COMPRESSED_DATA_SIZE, &darkFontDataSize); unsigned char *data = DecompressData(darkFontData, DARK_STYLE_FONT_ATLAS_COMP_SIZE, &darkFontDataSize);
Image imFont = { data, 256, 256, 1, 2 }; Image imFont = { data, 512, 256, 1, 2 };
Font font = { 0 }; Font font = { 0 };
font.baseSize = 16; font.baseSize = 16;
font.glyphCount = 95; font.glyphCount = 189;
// Load texture from image // Load texture from image
font.texture = LoadTextureFromImage(imFont); font.texture = LoadTextureFromImage(imFont);
UnloadImage(imFont); // Uncompressed data can be unloaded from memory UnloadImage(imFont); // Uncompressed image data can be unloaded from memory
// Copy char recs data from global fontRecs // Copy char recs data from global fontRecs
// NOTE: Required to avoid issues if trying to free font // NOTE: Required to avoid issues if trying to free font
font.recs = (Rectangle *)malloc(font.glyphCount*sizeof(Rectangle)); font.recs = (Rectangle *)RAYGUI_MALLOC(font.glyphCount*sizeof(Rectangle));
memcpy(font.recs, darkFontRecs, font.glyphCount*sizeof(Rectangle)); memcpy(font.recs, darkFontRecs, font.glyphCount*sizeof(Rectangle));
// Copy font char info data from global fontChars // Copy font char info data from global fontChars
// NOTE: Required to avoid issues if trying to free font // NOTE: Required to avoid issues if trying to free font
font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo)); font.glyphs = (GlyphInfo *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
memcpy(font.glyphs, darkFontChars, font.glyphCount*sizeof(GlyphInfo)); memcpy(font.glyphs, darkFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
GuiSetFont(font); GuiSetFont(font);
// TODO: Setup a white rectangle on the font to be used on shapes drawing, // Setup a white rectangle on the font to be used on shapes drawing,
// this way we make sure all gui can be drawn on a single pass because no texture change is required // it makes possible to draw shapes and text (full UI) in a single draw call
// NOTE: Setting up this rectangle is a manual process (for the moment) Rectangle fontWhiteRec = { 510, 254, 1, 1 };
Rectangle whiteChar = { 124, 6, 1, 1 }; SetShapesTexture(font.texture, fontWhiteRec);
SetShapesTexture(font.texture, whiteChar);
//----------------------------------------------------------------- //-----------------------------------------------------------------

View File

@ -0,0 +1,600 @@
//////////////////////////////////////////////////////////////////////////////////
// //
// StyleAsCode exporter v2.0 - Style data exported as a values array //
// //
// USAGE: On init call: GuiLoadStyleEnefete(); //
// //
// more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com //
// //
// Copyright (c) 2020-2024 raylib technologies (@raylibtech) //
// //
//////////////////////////////////////////////////////////////////////////////////
#define ENEFETE_STYLE_PROPS_COUNT 17
// Custom style name: Enefete
static const GuiStyleProp enefeteStyleProps[ENEFETE_STYLE_PROPS_COUNT] = {
{ 0, 0, 0x1980d5ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0x4df3ebff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, 0x103e60ff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, 0xe7e2f7ff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, 0x23d4ddff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, 0xf1f1f1ff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, 0x6413a6ff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, 0xea66d9ff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, 0x9f00bbff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, 0x4b909eff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, 0x73c7d0ff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, 0x448894ff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, 0x1d3f6cff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0x29c9e5ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, 0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
};
// WARNING: This style uses a custom font: "GenericMobileSystemNuevo.ttf" (size: 16, spacing: 0)
#define ENEFETE_STYLE_FONT_ATLAS_COMP_SIZE 2462
// Font atlas image pixels data: DEFLATE compressed
static unsigned char enefeteFontData[ENEFETE_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
0xdd, 0x59, 0xb2, 0xeb, 0x34, 0x10, 0x00, 0x50, 0x6d, 0x83, 0xfd, 0xef, 0x8d, 0x6d, 0x88, 0xa2, 0x28, 0x0a, 0xb8, 0x8f,
0x58, 0x52, 0x77, 0xcb, 0x53, 0x0e, 0xa7, 0xf8, 0xb9, 0x7e, 0x49, 0x6c, 0xd9, 0x6d, 0x0d, 0xb6, 0x5a, 0xbd, 0x01, 0x00,
0x00, 0x00, 0x5f, 0xef, 0xcf, 0xff, 0xfe, 0xff, 0x6f, 0xff, 0xb7, 0xe5, 0x78, 0xdb, 0xdf, 0xff, 0x62, 0xb4, 0xa5, 0x7f,
0xdc, 0x93, 0x7e, 0xb0, 0x6d, 0xee, 0xb7, 0x62, 0xfb, 0xd5, 0x97, 0xca, 0xa6, 0x1f, 0x94, 0x5a, 0x4b, 0xff, 0xbd, 0x1d,
0x96, 0x7d, 0x0f, 0x94, 0x5e, 0x3b, 0xdc, 0xe7, 0xcf, 0x9f, 0x1c, 0x6f, 0xa9, 0xdc, 0xcf, 0x95, 0x32, 0xad, 0x3c, 0x3f,
0x2b, 0x25, 0xd8, 0x96, 0xb7, 0x1e, 0x97, 0x54, 0x9b, 0x2a, 0xc7, 0xf1, 0x37, 0xf7, 0x9b, 0xc4, 0xff, 0xf1, 0xd1, 0xfc,
0x1d, 0x83, 0x47, 0x67, 0x7f, 0xfe, 0xda, 0x68, 0xd3, 0xf7, 0x84, 0x7f, 0x7e, 0xbb, 0x2e, 0x42, 0xb3, 0xdf, 0xd2, 0x87,
0x77, 0xc2, 0x95, 0x12, 0x3a, 0x2e, 0xbd, 0x16, 0x8a, 0x89, 0xd1, 0x77, 0x46, 0xf6, 0x65, 0x66, 0xdb, 0xdc, 0xfe, 0xc5,
0xae, 0xf9, 0xf1, 0xf7, 0x1d, 0x5f, 0x69, 0x47, 0x67, 0x78, 0x74, 0xe5, 0x1e, 0x1f, 0xdf, 0xfa, 0x59, 0xcd, 0x44, 0xfd,
0x9e, 0xf8, 0xef, 0xff, 0x8a, 0xb3, 0x1e, 0x8c, 0xc1, 0x7c, 0xdd, 0xb0, 0x5e, 0x2b, 0x1c, 0xdf, 0xb3, 0xf6, 0x95, 0xf0,
0x51, 0x39, 0xf5, 0xc0, 0x35, 0xbc, 0x7e, 0xce, 0xa2, 0xbf, 0xb3, 0x23, 0xfe, 0x2b, 0xa2, 0xb8, 0x4d, 0xd4, 0x88, 0x91,
0x36, 0xc5, 0x71, 0x8b, 0x33, 0x1f, 0xe1, 0xa3, 0x7d, 0x89, 0xb4, 0x67, 0xf2, 0x65, 0xb9, 0xda, 0xe6, 0xd8, 0x17, 0xff,
0x15, 0xf5, 0xed, 0x7a, 0x5d, 0xb2, 0xaf, 0x7c, 0x67, 0xea, 0xeb, 0xfb, 0xc7, 0xff, 0xfa, 0xb1, 0x55, 0xc4, 0x7f, 0xcd,
0x59, 0x59, 0x8f, 0xff, 0x2e, 0xfe, 0xa7, 0xeb, 0xff, 0xcf, 0xa5, 0xde, 0x83, 0xfd, 0xaf, 0x7c, 0xaf, 0xbd, 0xaa, 0x9d,
0x7f, 0x6d, 0xfc, 0x8f, 0xfa, 0x83, 0x6d, 0x39, 0xfe, 0x63, 0xbd, 0xcf, 0x48, 0x6f, 0xa3, 0xaa, 0xfd, 0xbf, 0xb7, 0xf5,
0x70, 0xdc, 0x7b, 0x8c, 0x44, 0xf8, 0xda, 0x98, 0x47, 0xcd, 0x37, 0x5f, 0x11, 0xff, 0x6d, 0x62, 0x6f, 0xfa, 0xb0, 0xff,
0x3f, 0x7b, 0x87, 0x5f, 0x8b, 0xff, 0xba, 0xba, 0xe3, 0xca, 0xf8, 0xef, 0xc1, 0x11, 0xb1, 0xea, 0x7e, 0x7c, 0xfc, 0xd8,
0xd6, 0xc6, 0xe7, 0xce, 0xeb, 0xff, 0x8f, 0xda, 0x81, 0x99, 0xf8, 0xff, 0x96, 0xf6, 0xff, 0x4c, 0x4b, 0x7b, 0x54, 0x8a,
0xf3, 0xf7, 0xb3, 0x2b, 0x6a, 0xf3, 0x6b, 0xe3, 0xbf, 0x4f, 0x8d, 0x61, 0xdf, 0x3b, 0xfe, 0xdb, 0x72, 0x2f, 0xaf, 0xf2,
0xda, 0x8d, 0x5e, 0x51, 0xa3, 0x2b, 0x77, 0xe6, 0xae, 0x76, 0xcf, 0xf8, 0x8f, 0x5d, 0xcf, 0x7d, 0xd8, 0xca, 0xef, 0x89,
0xf8, 0x6f, 0xaf, 0x89, 0xff, 0x1e, 0x1c, 0xed, 0xf8, 0xdc, 0xde, 0x8b, 0x8d, 0xc7, 0x45, 0x5a, 0xf2, 0x99, 0x36, 0x4a,
0x55, 0xfc, 0xdf, 0xe3, 0x4c, 0xaa, 0xff, 0x2b, 0xc6, 0xff, 0xdb, 0x61, 0x0b, 0xff, 0xbb, 0xe2, 0xff, 0xf8, 0xf9, 0x5f,
0xbb, 0xfd, 0xb3, 0xba, 0x68, 0xfc, 0xd7, 0x8c, 0xff, 0x9f, 0x7f, 0xb7, 0x9e, 0xe9, 0xb9, 0xe6, 0xe2, 0xff, 0x4e, 0xcf,
0xff, 0xf6, 0xc6, 0xff, 0xe8, 0xa9, 0xf7, 0x9b, 0xda, 0xff, 0x95, 0xe3, 0xf8, 0xf1, 0x77, 0x6e, 0xf6, 0xbd, 0x53, 0xd4,
0x42, 0x6f, 0x72, 0xdd, 0x33, 0xfa, 0xa3, 0xcf, 0x81, 0x72, 0xa3, 0x74, 0x57, 0xbf, 0xff, 0x53, 0x5f, 0x82, 0xe7, 0xed,
0x4f, 0xbf, 0x71, 0x9b, 0x91, 0x77, 0xbd, 0x25, 0xeb, 0xea, 0x3a, 0xf3, 0xf9, 0x6c, 0xfc, 0xb7, 0x9c, 0x1f, 0x76, 0xd6,
0x6c, 0x4a, 0xe2, 0x19, 0x63, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xe4, 0xf9,
0x0b, 0x91, 0xb9, 0x86, 0xd1, 0x3c, 0x04, 0xb5, 0xf9, 0x10, 0xfa, 0x8f, 0x3c, 0xac, 0xab, 0xdf, 0x3d, 0x3b, 0xd7, 0x32,
0x33, 0x4f, 0xb3, 0xf6, 0xb3, 0x55, 0x99, 0x25, 0x6a, 0x67, 0x9e, 0x8f, 0xf3, 0xdd, 0xac, 0x66, 0x6b, 0x8e, 0x65, 0x41,
0x5b, 0xcf, 0x69, 0x9e, 0xc9, 0xc3, 0x57, 0x3d, 0xb7, 0xba, 0x26, 0x3f, 0xda, 0xfc, 0x9c, 0xf7, 0x9a, 0x4c, 0x23, 0x75,
0xf1, 0xbf, 0x7e, 0x1e, 0xfa, 0x8f, 0xfd, 0xe8, 0x17, 0x64, 0x62, 0xa8, 0xdf, 0x3a, 0xf7, 0xf7, 0x3b, 0xc5, 0xff, 0xec,
0x3d, 0x38, 0x7b, 0xf5, 0xc6, 0x67, 0xdc, 0x8d, 0xb2, 0x4f, 0x5c, 0x9f, 0x5b, 0xa5, 0x15, 0xe5, 0x47, 0xad, 0x8f, 0xff,
0x76, 0x52, 0xfd, 0x1f, 0x8d, 0xff, 0x3e, 0x5c, 0xcd, 0xe6, 0xbe, 0xf1, 0xbf, 0x9e, 0x77, 0x22, 0xfb, 0xab, 0xb9, 0x95,
0x1c, 0xe2, 0xb9, 0xc6, 0xf3, 0xf1, 0x9f, 0xcb, 0x14, 0x74, 0x6e, 0xdd, 0x7a, 0x7d, 0xfc, 0x47, 0x4b, 0xe4, 0xaa, 0xf8,
0x8f, 0x5f, 0x25, 0x7d, 0x98, 0xcd, 0xfa, 0x8e, 0xf1, 0xdf, 0xbf, 0x3e, 0xfe, 0xeb, 0x73, 0xf9, 0x46, 0x23, 0x20, 0x92,
0x07, 0x7d, 0xa6, 0x5f, 0xbd, 0xda, 0xb3, 0x8b, 0xf7, 0xbb, 0xa2, 0xf5, 0xff, 0xe8, 0xf3, 0x33, 0x47, 0x72, 0x75, 0xfc,
0xb7, 0x61, 0x84, 0xf7, 0x44, 0x94, 0xc6, 0x47, 0x40, 0x32, 0x39, 0xaf, 0xae, 0x89, 0xff, 0x16, 0x5a, 0x31, 0x30, 0x5e,
0xcf, 0xdf, 0x3d, 0xfe, 0xab, 0xfb, 0x06, 0xd1, 0x11, 0x83, 0xea, 0x7d, 0xbc, 0x5f, 0xff, 0xbf, 0x17, 0xb4, 0x12, 0x77,
0xc4, 0x7f, 0xb6, 0x7c, 0xa2, 0xd1, 0x14, 0x8b, 0xff, 0xf9, 0xda, 0x3d, 0xb6, 0x9a, 0x40, 0x6c, 0xdb, 0x7b, 0xe3, 0xbf,
0x36, 0x7f, 0xea, 0xfa, 0x58, 0xf1, 0x9b, 0xe2, 0x3f, 0xda, 0xff, 0x9f, 0xef, 0x71, 0xdd, 0x2b, 0xfe, 0xdb, 0xc4, 0xfa,
0x3c, 0x67, 0xc7, 0xff, 0x28, 0xdb, 0xea, 0xdb, 0xe2, 0x3f, 0x1a, 0x5b, 0xd1, 0xf5, 0x8c, 0x5a, 0xb8, 0xa6, 0x7b, 0x7b,
0xfd, 0xdf, 0x5e, 0x1a, 0xff, 0xf1, 0xf5, 0x65, 0x9e, 0x15, 0xff, 0xd5, 0xad, 0x86, 0xeb, 0xf3, 0xea, 0x45, 0x47, 0x1b,
0xe3, 0xa3, 0x94, 0xef, 0x6e, 0xff, 0xf7, 0x0d, 0xad, 0xf0, 0xec, 0xf3, 0xff, 0xab, 0xe2, 0x7f, 0xd7, 0xf3, 0xbf, 0x36,
0xbd, 0xe6, 0xdf, 0xae, 0xbd, 0x12, 0xff, 0xd5, 0xf1, 0x5f, 0xb9, 0x76, 0xe2, 0xda, 0xbf, 0xa8, 0x7e, 0xff, 0xa7, 0x7e,
0x24, 0x6d, 0xff, 0xfb, 0x3f, 0x7b, 0xca, 0xa7, 0x4d, 0xad, 0x98, 0xb6, 0xfe, 0xab, 0x6d, 0x72, 0x55, 0xe3, 0xd8, 0x3e,
0xd7, 0xbf, 0x7d, 0x73, 0xf7, 0xf8, 0x8f, 0xbd, 0x6d, 0x10, 0xfd, 0x64, 0xfc, 0x13, 0xf7, 0x59, 0x0b, 0xec, 0x3b, 0xdf,
0xa2, 0x54, 0x0a, 0xd5, 0x25, 0xa4, 0x54, 0x71, 0x07, 0x78, 0xd7, 0x7b, 0xe6, 0xbb, 0xfe, 0x3d, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf7, 0xcd, 0x5e, 0x99, 0xcd, 0xb9, 0xfd, 0xeb, 0x5f, 0x7b, 0x68, 0xbe,
0x6b, 0x4f, 0x7e, 0xae, 0x2f, 0xe7, 0xc1, 0x58, 0x9b, 0x77, 0x5a, 0x91, 0x83, 0xa1, 0x3a, 0x8f, 0xd4, 0xb8, 0x5c, 0x66,
0xcf, 0xf4, 0x78, 0x26, 0xf1, 0xea, 0x15, 0x12, 0x99, 0xd7, 0x93, 0xc9, 0xa8, 0x93, 0x59, 0x4b, 0x20, 0x9e, 0x09, 0xb1,
0x2d, 0x7e, 0x6b, 0xec, 0xac, 0xfd, 0x3a, 0xbf, 0x3a, 0x9a, 0xef, 0xb3, 0x26, 0xfe, 0x63, 0xb9, 0x25, 0xaf, 0xc8, 0xb4,
0x16, 0xbf, 0x9a, 0x6a, 0xf7, 0xb0, 0xbe, 0x54, 0xe6, 0xf6, 0x36, 0xf7, 0xf7, 0xcc, 0x9c, 0xfe, 0x5c, 0xee, 0x81, 0xd5,
0x92, 0xe8, 0x53, 0xd9, 0x52, 0x56, 0x3f, 0xf9, 0xf9, 0x73, 0xc7, 0xdb, 0xfa, 0x54, 0xe6, 0x88, 0xd5, 0x6f, 0xfd, 0x6d,
0xf0, 0xf9, 0x7e, 0x78, 0xe7, 0xad, 0x9d, 0xd1, 0xfa, 0x94, 0xf8, 0x5f, 0xbf, 0x77, 0x9f, 0x1d, 0xff, 0xf1, 0xfb, 0x54,
0x2b, 0xcc, 0xd2, 0xb3, 0xbe, 0x36, 0x46, 0x64, 0xe6, 0x6e, 0x3e, 0x47, 0xd0, 0x19, 0x19, 0x35, 0x7e, 0x8d, 0xa6, 0x95,
0xb3, 0x36, 0x17, 0xfd, 0x9f, 0xe2, 0xf7, 0xa8, 0xb5, 0xb5, 0x2f, 0xfe, 0x6b, 0x32, 0xf2, 0x3d, 0x27, 0xfe, 0x67, 0x7a,
0x1b, 0xe7, 0xc5, 0xff, 0xf8, 0xef, 0x75, 0x59, 0xb5, 0x2b, 0x73, 0xed, 0x8c, 0x72, 0x2d, 0xb7, 0xd0, 0x19, 0xe9, 0xc1,
0xfb, 0x4a, 0x2f, 0xce, 0x67, 0xde, 0x7f, 0xfc, 0x3f, 0x5b, 0x53, 0xcf, 0xc6, 0xff, 0xfa, 0x2f, 0xfe, 0x36, 0xd1, 0x7e,
0xa8, 0x6e, 0xff, 0xaf, 0x5c, 0x2f, 0x4f, 0x8a, 0xff, 0x36, 0x95, 0x8b, 0xec, 0xde, 0xf5, 0x7f, 0x65, 0x4e, 0xad, 0xfa,
0xf8, 0x8f, 0x45, 0x78, 0xa4, 0x26, 0x9f, 0x5f, 0xf1, 0x60, 0xed, 0xbc, 0x8d, 0x5b, 0xf9, 0x3d, 0xd1, 0xfe, 0xdf, 0x11,
0xff, 0xd5, 0xe3, 0x7f, 0xf1, 0x35, 0x3c, 0xf6, 0x8c, 0x74, 0x45, 0xc6, 0xff, 0xda, 0x09, 0xfd, 0xff, 0x51, 0x3b, 0x31,
0x5a, 0x2a, 0xf5, 0x6b, 0x53, 0x55, 0x66, 0xdb, 0x5e, 0x8d, 0xff, 0x4c, 0xfd, 0x1f, 0x1d, 0x87, 0xc8, 0xb4, 0x10, 0xdb,
0x60, 0xe4, 0x60, 0xf4, 0x9b, 0xeb, 0x59, 0x43, 0x73, 0xed, 0xff, 0x1d, 0xf1, 0x7f, 0x56, 0xff, 0xbf, 0x25, 0x47, 0x35,
0xeb, 0xda, 0xff, 0x2d, 0xd1, 0xca, 0xcc, 0xdc, 0x6d, 0x22, 0xa5, 0xbd, 0x5e, 0x66, 0x57, 0xd6, 0xff, 0xb9, 0xd5, 0xe6,
0xda, 0xb6, 0x7c, 0xa7, 0x91, 0xf6, 0xff, 0x9e, 0xa7, 0x70, 0xcf, 0xae, 0xff, 0xcf, 0x7c, 0x3a, 0xb9, 0x73, 0x7f, 0xee,
0x93, 0x77, 0x6e, 0x4f, 0x1e, 0xe9, 0x3b, 0xf4, 0xff, 0x23, 0xe3, 0xff, 0xd1, 0x9c, 0xc7, 0xe3, 0xda, 0xb8, 0x0f, 0x46,
0xd3, 0xbe, 0x35, 0xfe, 0xef, 0x91, 0x9b, 0xf9, 0x7b, 0xe3, 0xbf, 0xa5, 0xf2, 0x4f, 0x5f, 0x11, 0xff, 0x73, 0x2d, 0xab,
0xd8, 0x8a, 0x88, 0xb9, 0x15, 0x93, 0xa3, 0x7d, 0xba, 0x76, 0xea, 0x95, 0x9e, 0x79, 0xfe, 0xb7, 0xe7, 0xfd, 0x9f, 0xda,
0x37, 0x0d, 0x9e, 0xfb, 0x3e, 0xd4, 0x3b, 0x8e, 0xe0, 0x8c, 0xfb, 0xf9, 0x78, 0xd5, 0x82, 0xbe, 0xe9, 0x98, 0x62, 0x4f,
0x75, 0xa3, 0xcf, 0x89, 0xf7, 0xdd, 0xef, 0xa3, 0xef, 0xff, 0x44, 0xcb, 0x54, 0xa6, 0xe5, 0x6f, 0xb9, 0x83, 0x5d, 0x19,
0xff, 0xfb, 0x5b, 0x49, 0x55, 0xef, 0x30, 0x7c, 0xdb, 0x95, 0xa2, 0x64, 0xbe, 0xe5, 0xbc, 0xae, 0x8f, 0xf4, 0xbe, 0xa5,
0x24, 0x5c, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3b, 0xe7, 0x8a, 0xf5, 0xb2,
0x4c, 0x0b, 0xb3, 0x79, 0xae, 0xfa, 0xc2, 0xcc, 0xcd, 0x36, 0xcc, 0xdd, 0x9c, 0xfd, 0x9e, 0x9f, 0xab, 0x1a, 0xf4, 0xc1,
0xbf, 0x68, 0x81, 0x3d, 0xed, 0xe1, 0x79, 0xc8, 0xeb, 0x6b, 0x34, 0xfc, 0xdc, 0xe3, 0x96, 0x28, 0x91, 0x36, 0x31, 0x4f,
0x75, 0x6d, 0xae, 0xde, 0xee, 0x63, 0xae, 0xc9, 0x96, 0x1e, 0xc9, 0xfb, 0x37, 0x9b, 0xbd, 0x64, 0x47, 0xa9, 0xe4, 0x66,
0xbb, 0xf7, 0xa5, 0xbf, 0xc7, 0x72, 0x3f, 0xf4, 0xc3, 0x18, 0xaa, 0xb9, 0x3f, 0xcd, 0x65, 0xe8, 0x5b, 0x9f, 0xb3, 0x3e,
0x97, 0xdf, 0xb3, 0x6d, 0xcc, 0x89, 0xbd, 0x7e, 0xb5, 0xc7, 0x23, 0x25, 0xb7, 0x75, 0x6e, 0xae, 0xfe, 0x8e, 0x63, 0x8e,
0xe7, 0xb3, 0x9d, 0xff, 0x9e, 0x4c, 0xed, 0x37, 0x9e, 0x85, 0x99, 0xa9, 0x27, 0xda, 0xd4, 0xdd, 0x7a, 0x2d, 0xca, 0xa3,
0x77, 0x99, 0xf5, 0xf8, 0xaf, 0x99, 0x83, 0xde, 0x87, 0xc7, 0x13, 0x5b, 0x81, 0x63, 0x26, 0xbf, 0xf7, 0xfb, 0x5a, 0x8b,
0xf9, 0xf8, 0xff, 0xd6, 0x36, 0xf6, 0xfd, 0x4a, 0xa0, 0x2f, 0xd6, 0xf1, 0x9f, 0x23, 0x6c, 0xa6, 0x15, 0x5f, 0x13, 0xff,
0xeb, 0xf7, 0xad, 0xfd, 0xf1, 0xdf, 0x43, 0xdf, 0x10, 0x6d, 0xcf, 0xde, 0x73, 0x6b, 0x2e, 0xfe, 0xc7, 0x57, 0xd0, 0x9e,
0xad, 0x55, 0xab, 0x28, 0xe5, 0x72, 0x94, 0xb7, 0x60, 0xef, 0x21, 0x9b, 0x11, 0x68, 0x35, 0x1b, 0x5b, 0x0f, 0xf5, 0x46,
0xf6, 0xd4, 0xff, 0xf9, 0xfe, 0xff, 0x7c, 0xbb, 0x2d, 0x3e, 0x7e, 0x90, 0xb9, 0x96, 0x76, 0xb4, 0xc3, 0xcf, 0xd8, 0x1a,
0xc9, 0x1b, 0x77, 0xd5, 0xd6, 0xdd, 0xf1, 0xdf, 0xff, 0xb3, 0x8e, 0xe2, 0x51, 0x44, 0xad, 0xdf, 0x1d, 0xee, 0xd7, 0xb2,
0x88, 0x8f, 0xff, 0xad, 0x1e, 0x43, 0xc5, 0x11, 0xcf, 0xf5, 0x0b, 0x67, 0xa3, 0xb4, 0xae, 0xfe, 0xcf, 0x9c, 0xf5, 0x2b,
0xb7, 0x66, 0x46, 0xf7, 0xde, 0x1a, 0xff, 0x73, 0xe5, 0x76, 0x45, 0xfc, 0x57, 0xe7, 0x13, 0x9c, 0x69, 0x4d, 0x44, 0xb3,
0x34, 0x5f, 0xd1, 0x97, 0x9c, 0xcd, 0xce, 0x9f, 0x5b, 0x7f, 0xf6, 0x4d, 0xf1, 0xdf, 0x8a, 0xda, 0xff, 0x67, 0x6e, 0xbd,
0x47, 0xfb, 0xbf, 0xbf, 0xa0, 0xfe, 0xcf, 0x3e, 0xd7, 0x99, 0x3f, 0x86, 0x73, 0x8e, 0x36, 0x9e, 0x81, 0x3f, 0xf3, 0x04,
0xe3, 0xca, 0xbe, 0x70, 0x76, 0x6b, 0x36, 0xfe, 0xbf, 0xb5, 0xfe, 0x7f, 0x43, 0xfc, 0xe7, 0x9f, 0x65, 0xaf, 0x8c, 0xff,
0x9d, 0x75, 0x44, 0xf9, 0xf6, 0x51, 0xee, 0xd9, 0xff, 0x3b, 0xeb, 0xff, 0x9a, 0x35, 0xe7, 0x9f, 0x16, 0xff, 0x33, 0xa3,
0x4c, 0x4f, 0x8d, 0xff, 0x8a, 0x18, 0xa9, 0x1a, 0xff, 0xaf, 0xbe, 0x03, 0xb4, 0xad, 0x99, 0xeb, 0x9f, 0x17, 0xe1, 0xe3,
0xf8, 0x8f, 0xbc, 0xff, 0xf3, 0xee, 0xf8, 0x9f, 0x7b, 0x37, 0xe6, 0xd9, 0xf1, 0xdf, 0x93, 0x2b, 0xd6, 0xbc, 0xf3, 0xf9,
0x70, 0x6c, 0xfd, 0xe9, 0xe7, 0xc5, 0x7f, 0xfc, 0xed, 0x8c, 0xb7, 0x3f, 0xff, 0xcb, 0xbd, 0x1d, 0xb0, 0xf7, 0xf9, 0xdf,
0x13, 0xde, 0x2b, 0xe1, 0x4d, 0xf7, 0x42, 0xe7, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xa0, 0x6a, 0x46, 0x46, 0x3c, 0x67, 0xcf, 0xdc, 0x4c, 0xb1, 0x6b, 0x72, 0xdf, 0x47, 0x32, 0x15, 0xcc, 0xec, 0x4f, 0x3c,
0xff, 0x41, 0x24, 0xdb, 0xfe, 0xd1, 0xb9, 0x89, 0xe6, 0x1c, 0xcf, 0xe4, 0x32, 0xda, 0x75, 0x8c, 0xeb, 0x59, 0xe1, 0xe7,
0x7f, 0x61, 0x2e, 0xf7, 0x63, 0x2c, 0x2e, 0xee, 0x71, 0xae, 0x33, 0xf3, 0xee, 0x76, 0x67, 0x8a, 0xef, 0xc9, 0x5c, 0xef,
0xf5, 0x7b, 0x95, 0xcd, 0xd3, 0x1f, 0xdb, 0xe7, 0x48, 0x09, 0xf7, 0xc4, 0x4a, 0x2c, 0x6d, 0xe2, 0x4a, 0xaa, 0xce, 0xef,
0x93, 0x59, 0x99, 0x63, 0xfe, 0x8e, 0x5c, 0x99, 0xb3, 0xbf, 0x25, 0xf2, 0xf5, 0xdf, 0xe5, 0x5c, 0xdf, 0xb5, 0x65, 0x71,
0x9c, 0xf1, 0xe8, 0xbe, 0xad, 0xa4, 0x1e, 0xca, 0x6e, 0xfa, 0x9c, 0x7c, 0x04, 0xb1, 0x3a, 0xf7, 0xbd, 0xed, 0xe2, 0xf7,
0x1f, 0x73, 0x26, 0xb7, 0xc0, 0x4c, 0x1d, 0xde, 0x02, 0xf1, 0x7f, 0xc7, 0xfc, 0x55, 0xb9, 0xcc, 0x57, 0x33, 0xa5, 0x78,
0xd6, 0xb6, 0x23, 0xbf, 0x07, 0x56, 0x62, 0xbb, 0xf2, 0x18, 0xf7, 0xe7, 0xec, 0x38, 0xce, 0x26, 0xf2, 0xe4, 0x73, 0xdd,
0xb6, 0xe7, 0x82, 0x89, 0xd6, 0xff, 0x4f, 0x8d, 0xff, 0xd1, 0x6a, 0x04, 0x9f, 0xd7, 0x25, 0x3b, 0x6f, 0x5b, 0xc5, 0x5a,
0x06, 0xab, 0x3d, 0xa0, 0x1d, 0xdb, 0xae, 0xcc, 0xd9, 0x75, 0xf6, 0xb1, 0xc6, 0xcb, 0xe8, 0xca, 0xf8, 0x9f, 0xe9, 0xd7,
0x7d, 0x5b, 0xfd, 0xdf, 0x2f, 0xdf, 0x36, 0x7f, 0x17, 0xbb, 0xfb, 0xb5, 0xbd, 0x7f, 0xcd, 0x8e, 0x27, 0xc4, 0xf8, 0x5d,
0xe3, 0xff, 0xaa, 0x8c, 0xc7, 0x35, 0x2b, 0x2d, 0x45, 0xfb, 0xff, 0x4f, 0xb8, 0x26, 0x7a, 0x72, 0x2d, 0xe3, 0xd8, 0x0a,
0xce, 0xd5, 0xdb, 0xc4, 0xff, 0xdd, 0xeb, 0xff, 0x99, 0xb1, 0x95, 0xfb, 0xe5, 0xaf, 0xcc, 0xae, 0xd3, 0xfb, 0xee, 0xeb,
0xa5, 0x85, 0x9e, 0x79, 0xed, 0xd8, 0x26, 0xfe, 0xc5, 0xbf, 0xf8, 0xbf, 0xe2, 0x7a, 0xe9, 0x5f, 0xd1, 0xff, 0x17, 0xff,
0xe2, 0x3f, 0xf2, 0xcc, 0xec, 0xfe, 0xfd, 0xff, 0x5d, 0x4f, 0x2a, 0xdf, 0x36, 0xfe, 0x1f, 0x7d, 0xda, 0xfb, 0xa4, 0xf1,
0xff, 0xdd, 0xcf, 0xff, 0xae, 0xf8, 0xdd, 0xdc, 0x3e, 0xbf, 0xff, 0x19, 0xf7, 0x3b, 0xf2, 0xc5, 0xf3, 0xfc, 0xeb, 0x50,
0x19, 0x80, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0xe7, 0x00, 0xaf, 0xbe,
0xa7, 0x7f, 0x66, 0xbe, 0xf7, 0xc8, 0x9c, 0xcf, 0xb9, 0xef, 0x04, 0xf1, 0x1f, 0x9b, 0xa7, 0x73, 0x66, 0xbe, 0xf7, 0xfc,
0xdc, 0x7c, 0xe7, 0x1a, 0xde, 0x37, 0x53, 0x5c, 0x6c, 0x43, 0x2e, 0xc2, 0xa3, 0x39, 0x3a, 0xef, 0xb2, 0xed, 0x1d, 0x2b,
0x73, 0xc0, 0xbd, 0x6a, 0xd5, 0xa7, 0xc4, 0x7f, 0xdb, 0x96, 0xef, 0x12, 0xbe, 0xb1, 0xff, 0x2f, 0xfe, 0x41, 0xfc, 0x8b,
0x7f, 0xd0, 0xfe, 0x17, 0xff, 0x60, 0xfc, 0xff, 0xaa, 0x58, 0x9d, 0x59, 0x27, 0xe6, 0xc9, 0x4f, 0x31, 0xe0, 0x7e, 0x77,
0x80, 0xf8, 0xdd, 0xa1, 0x7a, 0x5b, 0x1b, 0xde, 0x37, 0x3c, 0x23, 0x84, 0xb3, 0xe2, 0xff, 0x9a, 0x51, 0x8a, 0xd5, 0xf8,
0xd7, 0xfe, 0x87, 0x37, 0xf5, 0x46, 0x22, 0xef, 0xff, 0x89, 0x7e, 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, 0xd8, 0xe9, 0xaf, 0xff, 0x94, 0x03, 0x88, 0x7f, 0xe0, 0xeb, 0xe2, 0xff,
0x0f };
// Font glyphs rectangles data (on atlas)
static const Rectangle enefeteFontRecs[189] = {
{ 4, 4, 4 , 16 },
{ 16, 4, 2 , 10 },
{ 26, 4, 5 , 3 },
{ 39, 4, 7 , 10 },
{ 54, 4, 7 , 13 },
{ 69, 4, 7 , 10 },
{ 84, 4, 7 , 10 },
{ 99, 4, 2 , 3 },
{ 109, 4, 3 , 12 },
{ 120, 4, 3 , 12 },
{ 131, 4, 5 , 6 },
{ 144, 4, 6 , 5 },
{ 158, 4, 2 , 4 },
{ 168, 4, 5 , 1 },
{ 181, 4, 2 , 2 },
{ 191, 4, 4 , 10 },
{ 203, 4, 6 , 10 },
{ 217, 4, 4 , 10 },
{ 229, 4, 6 , 10 },
{ 243, 4, 6 , 10 },
{ 257, 4, 6 , 10 },
{ 271, 4, 6 , 10 },
{ 285, 4, 6 , 10 },
{ 299, 4, 6 , 10 },
{ 313, 4, 6 , 10 },
{ 327, 4, 6 , 10 },
{ 341, 4, 2 , 6 },
{ 351, 4, 2 , 8 },
{ 361, 4, 7 , 7 },
{ 376, 4, 5 , 3 },
{ 389, 4, 7 , 7 },
{ 404, 4, 6 , 10 },
{ 418, 4, 7 , 12 },
{ 433, 4, 7 , 10 },
{ 448, 4, 7 , 10 },
{ 463, 4, 7 , 10 },
{ 478, 4, 7 , 10 },
{ 493, 4, 7 , 10 },
{ 4, 28, 7 , 10 },
{ 19, 28, 7 , 10 },
{ 34, 28, 7 , 10 },
{ 49, 28, 2 , 10 },
{ 59, 28, 5 , 10 },
{ 72, 28, 7 , 10 },
{ 87, 28, 6 , 10 },
{ 101, 28, 9 , 10 },
{ 118, 28, 7 , 10 },
{ 133, 28, 7 , 10 },
{ 148, 28, 7 , 10 },
{ 163, 28, 7 , 12 },
{ 178, 28, 7 , 10 },
{ 193, 28, 7 , 10 },
{ 208, 28, 6 , 10 },
{ 222, 28, 7 , 10 },
{ 237, 28, 7 , 10 },
{ 252, 28, 8 , 10 },
{ 268, 28, 7 , 10 },
{ 283, 28, 6 , 10 },
{ 297, 28, 7 , 10 },
{ 312, 28, 4 , 12 },
{ 324, 28, 4 , 10 },
{ 336, 28, 4 , 12 },
{ 348, 28, 6 , 3 },
{ 362, 28, 7 , 1 },
{ 377, 28, 4 , 3 },
{ 389, 28, 6 , 7 },
{ 403, 28, 6 , 10 },
{ 417, 28, 6 , 7 },
{ 431, 28, 6 , 10 },
{ 445, 28, 6 , 7 },
{ 459, 28, 4 , 10 },
{ 471, 28, 6 , 9 },
{ 485, 28, 6 , 10 },
{ 499, 28, 2 , 10 },
{ 4, 52, 5 , 12 },
{ 17, 52, 6 , 10 },
{ 31, 52, 3 , 10 },
{ 42, 52, 8 , 7 },
{ 58, 52, 6 , 7 },
{ 72, 52, 6 , 7 },
{ 86, 52, 6 , 9 },
{ 100, 52, 6 , 9 },
{ 114, 52, 5 , 7 },
{ 127, 52, 6 , 7 },
{ 141, 52, 4 , 10 },
{ 153, 52, 6 , 7 },
{ 167, 52, 6 , 7 },
{ 181, 52, 8 , 7 },
{ 197, 52, 6 , 7 },
{ 211, 52, 6 , 9 },
{ 225, 52, 6 , 7 },
{ 239, 52, 5 , 12 },
{ 252, 52, 2 , 12 },
{ 262, 52, 5 , 12 },
{ 275, 52, 7 , 3 },
{ 290, 52, 2 , 9 },
{ 300, 52, 6 , 11 },
{ 314, 52, 7 , 10 },
{ 329, 52, 7 , 9 },
{ 344, 52, 6 , 10 },
{ 358, 52, 7 , 11 },
{ 373, 52, 6 , 12 },
{ 387, 52, 6 , 10 },
{ 401, 52, 7 , 10 },
{ 416, 52, 5 , 5 },
{ 429, 52, 7 , 6 },
{ 444, 52, 6 , 3 },
{ 458, 52, 7 , 10 },
{ 473, 52, 9 , 10 },
{ 490, 52, 4 , 4 },
{ 4, 76, 6 , 7 },
{ 18, 76, 4 , 5 },
{ 30, 76, 4 , 5 },
{ 42, 76, 7 , 11 },
{ 57, 76, 6 , 9 },
{ 71, 76, 7 , 12 },
{ 86, 76, 2 , 2 },
{ 96, 76, 6 , 10 },
{ 110, 76, 3 , 5 },
{ 121, 76, 4 , 5 },
{ 133, 76, 7 , 6 },
{ 148, 76, 9 , 10 },
{ 165, 76, 8 , 7 },
{ 181, 76, 6 , 11 },
{ 195, 76, 6 , 11 },
{ 209, 76, 7 , 11 },
{ 224, 76, 7 , 11 },
{ 239, 76, 7 , 11 },
{ 254, 76, 7 , 11 },
{ 269, 76, 7 , 11 },
{ 284, 76, 7 , 11 },
{ 299, 76, 9 , 10 },
{ 316, 76, 7 , 12 },
{ 331, 76, 7 , 11 },
{ 346, 76, 7 , 11 },
{ 361, 76, 7 , 11 },
{ 376, 76, 7 , 11 },
{ 391, 76, 3 , 11 },
{ 402, 76, 3 , 11 },
{ 413, 76, 5 , 11 },
{ 426, 76, 5 , 11 },
{ 439, 76, 8 , 10 },
{ 455, 76, 7 , 11 },
{ 470, 76, 7 , 11 },
{ 485, 76, 7 , 11 },
{ 4, 100, 7 , 11 },
{ 19, 100, 7 , 11 },
{ 34, 100, 7 , 11 },
{ 49, 100, 7 , 7 },
{ 64, 100, 7 , 13 },
{ 79, 100, 7 , 11 },
{ 94, 100, 7 , 11 },
{ 109, 100, 7 , 11 },
{ 124, 100, 7 , 11 },
{ 139, 100, 6 , 11 },
{ 153, 100, 7 , 10 },
{ 168, 100, 7 , 10 },
{ 183, 100, 6 , 10 },
{ 197, 100, 6 , 10 },
{ 211, 100, 6 , 10 },
{ 225, 100, 6 , 10 },
{ 239, 100, 6 , 10 },
{ 253, 100, 6 , 11 },
{ 267, 100, 8 , 7 },
{ 283, 100, 6 , 9 },
{ 297, 100, 6 , 10 },
{ 311, 100, 6 , 10 },
{ 325, 100, 6 , 10 },
{ 339, 100, 6 , 10 },
{ 353, 100, 3 , 10 },
{ 364, 100, 3 , 10 },
{ 375, 100, 5 , 10 },
{ 388, 100, 5 , 10 },
{ 401, 100, 6 , 10 },
{ 415, 100, 6 , 10 },
{ 429, 100, 6 , 10 },
{ 443, 100, 6 , 10 },
{ 457, 100, 6 , 10 },
{ 471, 100, 6 , 10 },
{ 485, 100, 6 , 10 },
{ 4, 124, 6 , 7 },
{ 18, 124, 7 , 11 },
{ 33, 124, 6 , 10 },
{ 47, 124, 6 , 10 },
{ 61, 124, 6 , 10 },
{ 75, 124, 6 , 10 },
{ 89, 124, 6 , 12 },
{ 103, 124, 6 , 12 },
{ 117, 124, 6 , 12 },
};
// Font glyphs info data
// NOTE: No glyphs.image data provided
static const GlyphInfo enefeteFontGlyphs[189] = {
{ 32, 0, 12, 4, { 0 }},
{ 33, 0, 2, 3, { 0 }},
{ 34, 0, 2, 6, { 0 }},
{ 35, 0, 2, 8, { 0 }},
{ 36, 0, 1, 8, { 0 }},
{ 37, 0, 2, 8, { 0 }},
{ 38, 0, 2, 8, { 0 }},
{ 39, 0, 2, 3, { 0 }},
{ 40, 0, 2, 4, { 0 }},
{ 41, 0, 2, 4, { 0 }},
{ 42, 0, 4, 6, { 0 }},
{ 43, 0, 6, 7, { 0 }},
{ 44, 0, 10, 3, { 0 }},
{ 45, 0, 8, 6, { 0 }},
{ 46, 0, 10, 3, { 0 }},
{ 47, 0, 2, 5, { 0 }},
{ 48, 0, 2, 7, { 0 }},
{ 49, 0, 2, 7, { 0 }},
{ 50, 0, 2, 7, { 0 }},
{ 51, 0, 2, 7, { 0 }},
{ 52, 0, 2, 7, { 0 }},
{ 53, 0, 2, 7, { 0 }},
{ 54, 0, 2, 7, { 0 }},
{ 55, 0, 2, 7, { 0 }},
{ 56, 0, 2, 7, { 0 }},
{ 57, 0, 2, 7, { 0 }},
{ 58, 0, 4, 3, { 0 }},
{ 59, 0, 4, 3, { 0 }},
{ 60, 0, 4, 8, { 0 }},
{ 61, 0, 6, 6, { 0 }},
{ 62, 0, 4, 8, { 0 }},
{ 63, 0, 2, 7, { 0 }},
{ 64, 0, 2, 8, { 0 }},
{ 65, 0, 2, 8, { 0 }},
{ 66, 0, 2, 8, { 0 }},
{ 67, 0, 2, 8, { 0 }},
{ 68, 0, 2, 8, { 0 }},
{ 69, 0, 2, 8, { 0 }},
{ 70, 0, 2, 8, { 0 }},
{ 71, 0, 2, 8, { 0 }},
{ 72, 0, 2, 8, { 0 }},
{ 73, 0, 2, 3, { 0 }},
{ 74, 0, 2, 6, { 0 }},
{ 75, 0, 2, 8, { 0 }},
{ 76, 0, 2, 7, { 0 }},
{ 77, 0, 2, 10, { 0 }},
{ 78, 0, 2, 8, { 0 }},
{ 79, 0, 2, 8, { 0 }},
{ 80, 0, 2, 8, { 0 }},
{ 81, 0, 2, 8, { 0 }},
{ 82, 0, 2, 8, { 0 }},
{ 83, 0, 2, 8, { 0 }},
{ 84, 0, 2, 7, { 0 }},
{ 85, 0, 2, 8, { 0 }},
{ 86, 0, 2, 8, { 0 }},
{ 87, 0, 2, 9, { 0 }},
{ 88, 0, 2, 8, { 0 }},
{ 89, 0, 2, 7, { 0 }},
{ 90, 0, 2, 8, { 0 }},
{ 91, 0, 2, 5, { 0 }},
{ 92, 0, 2, 5, { 0 }},
{ 93, 0, 2, 5, { 0 }},
{ 94, 0, 2, 7, { 0 }},
{ 95, 0, 14, 8, { 0 }},
{ 96, 0, 2, 5, { 0 }},
{ 97, 0, 5, 7, { 0 }},
{ 98, 0, 2, 7, { 0 }},
{ 99, 0, 5, 7, { 0 }},
{ 100, 0, 2, 7, { 0 }},
{ 101, 0, 5, 7, { 0 }},
{ 102, 0, 2, 5, { 0 }},
{ 103, 0, 5, 7, { 0 }},
{ 104, 0, 2, 7, { 0 }},
{ 105, 0, 2, 3, { 0 }},
{ 106, 0, 2, 6, { 0 }},
{ 107, 0, 2, 7, { 0 }},
{ 108, 0, 2, 4, { 0 }},
{ 109, 0, 5, 9, { 0 }},
{ 110, 0, 5, 7, { 0 }},
{ 111, 0, 5, 7, { 0 }},
{ 112, 0, 5, 7, { 0 }},
{ 113, 0, 5, 7, { 0 }},
{ 114, 0, 5, 6, { 0 }},
{ 115, 0, 5, 7, { 0 }},
{ 116, 0, 2, 5, { 0 }},
{ 117, 0, 5, 7, { 0 }},
{ 118, 0, 5, 7, { 0 }},
{ 119, 0, 5, 9, { 0 }},
{ 120, 0, 5, 7, { 0 }},
{ 121, 0, 5, 7, { 0 }},
{ 122, 0, 5, 7, { 0 }},
{ 123, 0, 2, 6, { 0 }},
{ 124, 0, 2, 3, { 0 }},
{ 125, 0, 2, 6, { 0 }},
{ 126, 0, 6, 8, { 0 }},
{ 161, 0, 5, 3, { 0 }},
{ 162, 0, 3, 7, { 0 }},
{ 163, 0, 2, 8, { 0 }},
{ 8364, 0, 3, 8, { 0 }},
{ 165, 0, 2, 7, { 0 }},
{ 352, 0, 1, 8, { 0 }},
{ 167, 0, 2, 7, { 0 }},
{ 353, 0, 2, 7, { 0 }},
{ 169, 0, 2, 8, { 0 }},
{ 170, 0, 2, 6, { 0 }},
{ 171, 0, 6, 8, { 0 }},
{ 172, 0, 7, 7, { 0 }},
{ 174, 0, 2, 8, { 0 }},
{ 175, 1, 3, 14, { 0 }},
{ 176, 0, 2, 5, { 0 }},
{ 177, 0, 4, 7, { 0 }},
{ 178, 0, 2, 5, { 0 }},
{ 179, 0, 2, 5, { 0 }},
{ 381, 0, 1, 8, { 0 }},
{ 181, 0, 5, 7, { 0 }},
{ 182, 0, 2, 8, { 0 }},
{ 183, 0, 6, 3, { 0 }},
{ 382, 0, 2, 7, { 0 }},
{ 185, 0, 2, 4, { 0 }},
{ 186, 0, 2, 5, { 0 }},
{ 187, 0, 6, 8, { 0 }},
{ 338, 0, 2, 10, { 0 }},
{ 339, 0, 5, 9, { 0 }},
{ 376, 0, 1, 7, { 0 }},
{ 191, 0, 3, 7, { 0 }},
{ 192, 0, 1, 8, { 0 }},
{ 193, 0, 1, 8, { 0 }},
{ 194, 0, 1, 8, { 0 }},
{ 195, 0, 1, 8, { 0 }},
{ 196, 0, 1, 8, { 0 }},
{ 197, 0, 1, 8, { 0 }},
{ 198, 0, 2, 10, { 0 }},
{ 199, 0, 2, 8, { 0 }},
{ 200, 0, 1, 8, { 0 }},
{ 201, 0, 1, 8, { 0 }},
{ 202, 0, 1, 8, { 0 }},
{ 203, 0, 1, 8, { 0 }},
{ 204, 0, 1, 4, { 0 }},
{ 205, 0, 1, 4, { 0 }},
{ 206, 0, 1, 6, { 0 }},
{ 207, 0, 1, 6, { 0 }},
{ 208, 0, 2, 9, { 0 }},
{ 209, 0, 1, 8, { 0 }},
{ 210, 0, 1, 8, { 0 }},
{ 211, 0, 1, 8, { 0 }},
{ 212, 0, 1, 8, { 0 }},
{ 213, 0, 1, 8, { 0 }},
{ 214, 0, 1, 8, { 0 }},
{ 215, 0, 5, 8, { 0 }},
{ 216, 0, 1, 8, { 0 }},
{ 217, 0, 1, 8, { 0 }},
{ 218, 0, 1, 8, { 0 }},
{ 219, 0, 1, 8, { 0 }},
{ 220, 0, 1, 8, { 0 }},
{ 221, 0, 1, 7, { 0 }},
{ 222, 0, 2, 8, { 0 }},
{ 223, 0, 2, 8, { 0 }},
{ 224, 0, 2, 7, { 0 }},
{ 225, 0, 2, 7, { 0 }},
{ 226, 0, 2, 7, { 0 }},
{ 227, 0, 2, 7, { 0 }},
{ 228, 0, 2, 7, { 0 }},
{ 229, 0, 1, 7, { 0 }},
{ 230, 0, 5, 9, { 0 }},
{ 231, 0, 5, 7, { 0 }},
{ 232, 0, 2, 7, { 0 }},
{ 233, 0, 2, 7, { 0 }},
{ 234, 0, 2, 7, { 0 }},
{ 235, 0, 2, 7, { 0 }},
{ 236, 0, 2, 4, { 0 }},
{ 237, 0, 2, 4, { 0 }},
{ 238, 0, 2, 6, { 0 }},
{ 239, 0, 2, 6, { 0 }},
{ 240, 0, 2, 7, { 0 }},
{ 241, 0, 2, 7, { 0 }},
{ 242, 0, 2, 7, { 0 }},
{ 243, 0, 2, 7, { 0 }},
{ 244, 0, 2, 7, { 0 }},
{ 245, 0, 2, 7, { 0 }},
{ 246, 0, 2, 7, { 0 }},
{ 247, 0, 4, 7, { 0 }},
{ 248, 0, 3, 8, { 0 }},
{ 249, 0, 2, 7, { 0 }},
{ 250, 0, 2, 7, { 0 }},
{ 251, 0, 2, 7, { 0 }},
{ 252, 0, 2, 7, { 0 }},
{ 253, 0, 2, 7, { 0 }},
{ 254, 0, 2, 7, { 0 }},
{ 255, 0, 2, 7, { 0 }},
};
// Style loading function: Enefete
static void GuiLoadStyleEnefete(void)
{
// Load style properties provided
// NOTE: Default properties are propagated
for (int i = 0; i < ENEFETE_STYLE_PROPS_COUNT; i++)
{
GuiSetStyle(enefeteStyleProps[i].controlId, enefeteStyleProps[i].propertyId, enefeteStyleProps[i].propertyValue);
}
// Custom font loading
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
int enefeteFontDataSize = 0;
unsigned char *data = DecompressData(enefeteFontData, ENEFETE_STYLE_FONT_ATLAS_COMP_SIZE, &enefeteFontDataSize);
Image imFont = { data, 512, 256, 1, 2 };
Font font = { 0 };
font.baseSize = 16;
font.glyphCount = 189;
// Load texture from image
font.texture = LoadTextureFromImage(imFont);
UnloadImage(imFont); // Uncompressed image data can be unloaded from memory
// Copy char recs data from global fontRecs
// NOTE: Required to avoid issues if trying to free font
font.recs = (Rectangle *)RAYGUI_MALLOC(font.glyphCount*sizeof(Rectangle));
memcpy(font.recs, enefeteFontRecs, font.glyphCount*sizeof(Rectangle));
// Copy font char info data from global fontChars
// NOTE: Required to avoid issues if trying to free font
font.glyphs = (GlyphInfo *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
memcpy(font.glyphs, enefeteFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
GuiSetFont(font);
// Setup a white rectangle on the font to be used on shapes drawing,
// it makes possible to draw shapes and text (full UI) in a single draw call
Rectangle fontWhiteRec = { 510, 254, 1, 1 };
SetShapesTexture(font.texture, fontWhiteRec);
//-----------------------------------------------------------------
// TODO: Custom user style setup: Set specific properties here (if required)
// i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT
}

View File

@ -2,12 +2,12 @@
// // // //
// StyleAsCode exporter v2.0 - Style data exported as a values array // // StyleAsCode exporter v2.0 - Style data exported as a values array //
// // // //
// USAGE: On init call: GuiLoadStyleJungle(); // // USAGE: On init call: GuiLoadStyleJungle(); //
// // // //
// more info and bugs-report: github.com/raysan5/raygui // // more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com // // feedback and support: ray[at]raylibtech.com //
// // // //
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) // // Copyright (c) 2020-2024 raylib technologies (@raylibtech) //
// // // //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////

View File

@ -2,12 +2,12 @@
// // // //
// StyleAsCode exporter v2.0 - Style data exported as a values array // // StyleAsCode exporter v2.0 - Style data exported as a values array //
// // // //
// USAGE: On init call: GuiLoadStyleLavanda(); // // USAGE: On init call: GuiLoadStyleLavanda(); //
// // // //
// more info and bugs-report: github.com/raysan5/raygui // // more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com // // feedback and support: ray[at]raylibtech.com //
// // // //
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) // // Copyright (c) 2020-2024 raylib technologies (@raylibtech) //
// // // //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////

View File

@ -0,0 +1,616 @@
//////////////////////////////////////////////////////////////////////////////////
// //
// StyleAsCode exporter v2.0 - Style data exported as a values array //
// //
// USAGE: On init call: GuiLoadStyleSunny(); //
// //
// more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com //
// //
// Copyright (c) 2020-2024 raylib technologies (@raylibtech) //
// //
//////////////////////////////////////////////////////////////////////////////////
#define SUNNY_STYLE_PROPS_COUNT 33
// Custom style name: Sunny
static const GuiStyleProp sunnyStyleProps[SUNNY_STYLE_PROPS_COUNT] = {
{ 0, 0, 0x9c760aff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0x594006ff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, 0xf6d519ff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, 0xf6ee89ff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, 0xf5f3d1ff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, 0xf4cd19ff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, 0xf7e580ff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, 0xf7f2c1ff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, 0x52470aff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, 0xc0be92ff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, 0xd3d3a1ff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, 0xbcbc89ff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, 0x725706ff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0xf0be4bff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, 0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
{ 1, 2, 0x504506ff }, // LABEL_TEXT_COLOR_NORMAL
{ 1, 5, 0xfdeb9bff }, // LABEL_TEXT_COLOR_FOCUSED
{ 1, 8, 0xf5e8a4ff }, // LABEL_TEXT_COLOR_PRESSED
{ 2, 2, 0xebc21fff }, // BUTTON_TEXT_COLOR_NORMAL
{ 3, 2, 0xebc21fff }, // TOGGLE_TEXT_COLOR_NORMAL
{ 4, 2, 0x81700fff }, // SLIDER_TEXT_COLOR_NORMAL
{ 4, 5, 0xf4e49aff }, // SLIDER_TEXT_COLOR_FOCUSED
{ 7, 2, 0xebc21fff }, // COMBOBOX_TEXT_COLOR_NORMAL
{ 8, 2, 0xefd87bff }, // DROPDOWNBOX_TEXT_COLOR_NORMAL
{ 8, 5, 0xd4b219ff }, // DROPDOWNBOX_TEXT_COLOR_FOCUSED
{ 9, 2, 0x7a680bff }, // TEXTBOX_TEXT_COLOR_NORMAL
{ 9, 5, 0xad931fff }, // TEXTBOX_TEXT_COLOR_FOCUSED
{ 10, 2, 0x62570eff }, // VALUEBOX_TEXT_COLOR_NORMAL
{ 10, 5, 0xf2df88ff }, // VALUEBOX_TEXT_COLOR_FOCUSED
{ 12, 2, 0xf4e798ff }, // LISTVIEW_TEXT_COLOR_NORMAL
{ 15, 2, 0xebc21fff }, // STATUSBAR_TEXT_COLOR_NORMAL
};
// WARNING: This style uses a custom font: "GenericMobileSystemNuevo.ttf" (size: 16, spacing: 0)
#define SUNNY_STYLE_FONT_ATLAS_COMP_SIZE 2462
// Font atlas image pixels data: DEFLATE compressed
static unsigned char sunnyFontData[SUNNY_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
0xdd, 0x59, 0xb2, 0xeb, 0x34, 0x10, 0x00, 0x50, 0x6d, 0x83, 0xfd, 0xef, 0x8d, 0x6d, 0x88, 0xa2, 0x28, 0x0a, 0xb8, 0x8f,
0x58, 0x52, 0x77, 0xcb, 0x53, 0x0e, 0xa7, 0xf8, 0xb9, 0x7e, 0x49, 0x6c, 0xd9, 0x6d, 0x0d, 0xb6, 0x5a, 0xbd, 0x01, 0x00,
0x00, 0x00, 0x5f, 0xef, 0xcf, 0xff, 0xfe, 0xff, 0x6f, 0xff, 0xb7, 0xe5, 0x78, 0xdb, 0xdf, 0xff, 0x62, 0xb4, 0xa5, 0x7f,
0xdc, 0x93, 0x7e, 0xb0, 0x6d, 0xee, 0xb7, 0x62, 0xfb, 0xd5, 0x97, 0xca, 0xa6, 0x1f, 0x94, 0x5a, 0x4b, 0xff, 0xbd, 0x1d,
0x96, 0x7d, 0x0f, 0x94, 0x5e, 0x3b, 0xdc, 0xe7, 0xcf, 0x9f, 0x1c, 0x6f, 0xa9, 0xdc, 0xcf, 0x95, 0x32, 0xad, 0x3c, 0x3f,
0x2b, 0x25, 0xd8, 0x96, 0xb7, 0x1e, 0x97, 0x54, 0x9b, 0x2a, 0xc7, 0xf1, 0x37, 0xf7, 0x9b, 0xc4, 0xff, 0xf1, 0xd1, 0xfc,
0x1d, 0x83, 0x47, 0x67, 0x7f, 0xfe, 0xda, 0x68, 0xd3, 0xf7, 0x84, 0x7f, 0x7e, 0xbb, 0x2e, 0x42, 0xb3, 0xdf, 0xd2, 0x87,
0x77, 0xc2, 0x95, 0x12, 0x3a, 0x2e, 0xbd, 0x16, 0x8a, 0x89, 0xd1, 0x77, 0x46, 0xf6, 0x65, 0x66, 0xdb, 0xdc, 0xfe, 0xc5,
0xae, 0xf9, 0xf1, 0xf7, 0x1d, 0x5f, 0x69, 0x47, 0x67, 0x78, 0x74, 0xe5, 0x1e, 0x1f, 0xdf, 0xfa, 0x59, 0xcd, 0x44, 0xfd,
0x9e, 0xf8, 0xef, 0xff, 0x8a, 0xb3, 0x1e, 0x8c, 0xc1, 0x7c, 0xdd, 0xb0, 0x5e, 0x2b, 0x1c, 0xdf, 0xb3, 0xf6, 0x95, 0xf0,
0x51, 0x39, 0xf5, 0xc0, 0x35, 0xbc, 0x7e, 0xce, 0xa2, 0xbf, 0xb3, 0x23, 0xfe, 0x2b, 0xa2, 0xb8, 0x4d, 0xd4, 0x88, 0x91,
0x36, 0xc5, 0x71, 0x8b, 0x33, 0x1f, 0xe1, 0xa3, 0x7d, 0x89, 0xb4, 0x67, 0xf2, 0x65, 0xb9, 0xda, 0xe6, 0xd8, 0x17, 0xff,
0x15, 0xf5, 0xed, 0x7a, 0x5d, 0xb2, 0xaf, 0x7c, 0x67, 0xea, 0xeb, 0xfb, 0xc7, 0xff, 0xfa, 0xb1, 0x55, 0xc4, 0x7f, 0xcd,
0x59, 0x59, 0x8f, 0xff, 0x2e, 0xfe, 0xa7, 0xeb, 0xff, 0xcf, 0xa5, 0xde, 0x83, 0xfd, 0xaf, 0x7c, 0xaf, 0xbd, 0xaa, 0x9d,
0x7f, 0x6d, 0xfc, 0x8f, 0xfa, 0x83, 0x6d, 0x39, 0xfe, 0x63, 0xbd, 0xcf, 0x48, 0x6f, 0xa3, 0xaa, 0xfd, 0xbf, 0xb7, 0xf5,
0x70, 0xdc, 0x7b, 0x8c, 0x44, 0xf8, 0xda, 0x98, 0x47, 0xcd, 0x37, 0x5f, 0x11, 0xff, 0x6d, 0x62, 0x6f, 0xfa, 0xb0, 0xff,
0x3f, 0x7b, 0x87, 0x5f, 0x8b, 0xff, 0xba, 0xba, 0xe3, 0xca, 0xf8, 0xef, 0xc1, 0x11, 0xb1, 0xea, 0x7e, 0x7c, 0xfc, 0xd8,
0xd6, 0xc6, 0xe7, 0xce, 0xeb, 0xff, 0x8f, 0xda, 0x81, 0x99, 0xf8, 0xff, 0x96, 0xf6, 0xff, 0x4c, 0x4b, 0x7b, 0x54, 0x8a,
0xf3, 0xf7, 0xb3, 0x2b, 0x6a, 0xf3, 0x6b, 0xe3, 0xbf, 0x4f, 0x8d, 0x61, 0xdf, 0x3b, 0xfe, 0xdb, 0x72, 0x2f, 0xaf, 0xf2,
0xda, 0x8d, 0x5e, 0x51, 0xa3, 0x2b, 0x77, 0xe6, 0xae, 0x76, 0xcf, 0xf8, 0x8f, 0x5d, 0xcf, 0x7d, 0xd8, 0xca, 0xef, 0x89,
0xf8, 0x6f, 0xaf, 0x89, 0xff, 0x1e, 0x1c, 0xed, 0xf8, 0xdc, 0xde, 0x8b, 0x8d, 0xc7, 0x45, 0x5a, 0xf2, 0x99, 0x36, 0x4a,
0x55, 0xfc, 0xdf, 0xe3, 0x4c, 0xaa, 0xff, 0x2b, 0xc6, 0xff, 0xdb, 0x61, 0x0b, 0xff, 0xbb, 0xe2, 0xff, 0xf8, 0xf9, 0x5f,
0xbb, 0xfd, 0xb3, 0xba, 0x68, 0xfc, 0xd7, 0x8c, 0xff, 0x9f, 0x7f, 0xb7, 0x9e, 0xe9, 0xb9, 0xe6, 0xe2, 0xff, 0x4e, 0xcf,
0xff, 0xf6, 0xc6, 0xff, 0xe8, 0xa9, 0xf7, 0x9b, 0xda, 0xff, 0x95, 0xe3, 0xf8, 0xf1, 0x77, 0x6e, 0xf6, 0xbd, 0x53, 0xd4,
0x42, 0x6f, 0x72, 0xdd, 0x33, 0xfa, 0xa3, 0xcf, 0x81, 0x72, 0xa3, 0x74, 0x57, 0xbf, 0xff, 0x53, 0x5f, 0x82, 0xe7, 0xed,
0x4f, 0xbf, 0x71, 0x9b, 0x91, 0x77, 0xbd, 0x25, 0xeb, 0xea, 0x3a, 0xf3, 0xf9, 0x6c, 0xfc, 0xb7, 0x9c, 0x1f, 0x76, 0xd6,
0x6c, 0x4a, 0xe2, 0x19, 0x63, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xe4, 0xf9,
0x0b, 0x91, 0xb9, 0x86, 0xd1, 0x3c, 0x04, 0xb5, 0xf9, 0x10, 0xfa, 0x8f, 0x3c, 0xac, 0xab, 0xdf, 0x3d, 0x3b, 0xd7, 0x32,
0x33, 0x4f, 0xb3, 0xf6, 0xb3, 0x55, 0x99, 0x25, 0x6a, 0x67, 0x9e, 0x8f, 0xf3, 0xdd, 0xac, 0x66, 0x6b, 0x8e, 0x65, 0x41,
0x5b, 0xcf, 0x69, 0x9e, 0xc9, 0xc3, 0x57, 0x3d, 0xb7, 0xba, 0x26, 0x3f, 0xda, 0xfc, 0x9c, 0xf7, 0x9a, 0x4c, 0x23, 0x75,
0xf1, 0xbf, 0x7e, 0x1e, 0xfa, 0x8f, 0xfd, 0xe8, 0x17, 0x64, 0x62, 0xa8, 0xdf, 0x3a, 0xf7, 0xf7, 0x3b, 0xc5, 0xff, 0xec,
0x3d, 0x38, 0x7b, 0xf5, 0xc6, 0x67, 0xdc, 0x8d, 0xb2, 0x4f, 0x5c, 0x9f, 0x5b, 0xa5, 0x15, 0xe5, 0x47, 0xad, 0x8f, 0xff,
0x76, 0x52, 0xfd, 0x1f, 0x8d, 0xff, 0x3e, 0x5c, 0xcd, 0xe6, 0xbe, 0xf1, 0xbf, 0x9e, 0x77, 0x22, 0xfb, 0xab, 0xb9, 0x95,
0x1c, 0xe2, 0xb9, 0xc6, 0xf3, 0xf1, 0x9f, 0xcb, 0x14, 0x74, 0x6e, 0xdd, 0x7a, 0x7d, 0xfc, 0x47, 0x4b, 0xe4, 0xaa, 0xf8,
0x8f, 0x5f, 0x25, 0x7d, 0x98, 0xcd, 0xfa, 0x8e, 0xf1, 0xdf, 0xbf, 0x3e, 0xfe, 0xeb, 0x73, 0xf9, 0x46, 0x23, 0x20, 0x92,
0x07, 0x7d, 0xa6, 0x5f, 0xbd, 0xda, 0xb3, 0x8b, 0xf7, 0xbb, 0xa2, 0xf5, 0xff, 0xe8, 0xf3, 0x33, 0x47, 0x72, 0x75, 0xfc,
0xb7, 0x61, 0x84, 0xf7, 0x44, 0x94, 0xc6, 0x47, 0x40, 0x32, 0x39, 0xaf, 0xae, 0x89, 0xff, 0x16, 0x5a, 0x31, 0x30, 0x5e,
0xcf, 0xdf, 0x3d, 0xfe, 0xab, 0xfb, 0x06, 0xd1, 0x11, 0x83, 0xea, 0x7d, 0xbc, 0x5f, 0xff, 0xbf, 0x17, 0xb4, 0x12, 0x77,
0xc4, 0x7f, 0xb6, 0x7c, 0xa2, 0xd1, 0x14, 0x8b, 0xff, 0xf9, 0xda, 0x3d, 0xb6, 0x9a, 0x40, 0x6c, 0xdb, 0x7b, 0xe3, 0xbf,
0x36, 0x7f, 0xea, 0xfa, 0x58, 0xf1, 0x9b, 0xe2, 0x3f, 0xda, 0xff, 0x9f, 0xef, 0x71, 0xdd, 0x2b, 0xfe, 0xdb, 0xc4, 0xfa,
0x3c, 0x67, 0xc7, 0xff, 0x28, 0xdb, 0xea, 0xdb, 0xe2, 0x3f, 0x1a, 0x5b, 0xd1, 0xf5, 0x8c, 0x5a, 0xb8, 0xa6, 0x7b, 0x7b,
0xfd, 0xdf, 0x5e, 0x1a, 0xff, 0xf1, 0xf5, 0x65, 0x9e, 0x15, 0xff, 0xd5, 0xad, 0x86, 0xeb, 0xf3, 0xea, 0x45, 0x47, 0x1b,
0xe3, 0xa3, 0x94, 0xef, 0x6e, 0xff, 0xf7, 0x0d, 0xad, 0xf0, 0xec, 0xf3, 0xff, 0xab, 0xe2, 0x7f, 0xd7, 0xf3, 0xbf, 0x36,
0xbd, 0xe6, 0xdf, 0xae, 0xbd, 0x12, 0xff, 0xd5, 0xf1, 0x5f, 0xb9, 0x76, 0xe2, 0xda, 0xbf, 0xa8, 0x7e, 0xff, 0xa7, 0x7e,
0x24, 0x6d, 0xff, 0xfb, 0x3f, 0x7b, 0xca, 0xa7, 0x4d, 0xad, 0x98, 0xb6, 0xfe, 0xab, 0x6d, 0x72, 0x55, 0xe3, 0xd8, 0x3e,
0xd7, 0xbf, 0x7d, 0x73, 0xf7, 0xf8, 0x8f, 0xbd, 0x6d, 0x10, 0xfd, 0x64, 0xfc, 0x13, 0xf7, 0x59, 0x0b, 0xec, 0x3b, 0xdf,
0xa2, 0x54, 0x0a, 0xd5, 0x25, 0xa4, 0x54, 0x71, 0x07, 0x78, 0xd7, 0x7b, 0xe6, 0xbb, 0xfe, 0x3d, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf7, 0xcd, 0x5e, 0x99, 0xcd, 0xb9, 0xfd, 0xeb, 0x5f, 0x7b, 0x68, 0xbe,
0x6b, 0x4f, 0x7e, 0xae, 0x2f, 0xe7, 0xc1, 0x58, 0x9b, 0x77, 0x5a, 0x91, 0x83, 0xa1, 0x3a, 0x8f, 0xd4, 0xb8, 0x5c, 0x66,
0xcf, 0xf4, 0x78, 0x26, 0xf1, 0xea, 0x15, 0x12, 0x99, 0xd7, 0x93, 0xc9, 0xa8, 0x93, 0x59, 0x4b, 0x20, 0x9e, 0x09, 0xb1,
0x2d, 0x7e, 0x6b, 0xec, 0xac, 0xfd, 0x3a, 0xbf, 0x3a, 0x9a, 0xef, 0xb3, 0x26, 0xfe, 0x63, 0xb9, 0x25, 0xaf, 0xc8, 0xb4,
0x16, 0xbf, 0x9a, 0x6a, 0xf7, 0xb0, 0xbe, 0x54, 0xe6, 0xf6, 0x36, 0xf7, 0xf7, 0xcc, 0x9c, 0xfe, 0x5c, 0xee, 0x81, 0xd5,
0x92, 0xe8, 0x53, 0xd9, 0x52, 0x56, 0x3f, 0xf9, 0xf9, 0x73, 0xc7, 0xdb, 0xfa, 0x54, 0xe6, 0x88, 0xd5, 0x6f, 0xfd, 0x6d,
0xf0, 0xf9, 0x7e, 0x78, 0xe7, 0xad, 0x9d, 0xd1, 0xfa, 0x94, 0xf8, 0x5f, 0xbf, 0x77, 0x9f, 0x1d, 0xff, 0xf1, 0xfb, 0x54,
0x2b, 0xcc, 0xd2, 0xb3, 0xbe, 0x36, 0x46, 0x64, 0xe6, 0x6e, 0x3e, 0x47, 0xd0, 0x19, 0x19, 0x35, 0x7e, 0x8d, 0xa6, 0x95,
0xb3, 0x36, 0x17, 0xfd, 0x9f, 0xe2, 0xf7, 0xa8, 0xb5, 0xb5, 0x2f, 0xfe, 0x6b, 0x32, 0xf2, 0x3d, 0x27, 0xfe, 0x67, 0x7a,
0x1b, 0xe7, 0xc5, 0xff, 0xf8, 0xef, 0x75, 0x59, 0xb5, 0x2b, 0x73, 0xed, 0x8c, 0x72, 0x2d, 0xb7, 0xd0, 0x19, 0xe9, 0xc1,
0xfb, 0x4a, 0x2f, 0xce, 0x67, 0xde, 0x7f, 0xfc, 0x3f, 0x5b, 0x53, 0xcf, 0xc6, 0xff, 0xfa, 0x2f, 0xfe, 0x36, 0xd1, 0x7e,
0xa8, 0x6e, 0xff, 0xaf, 0x5c, 0x2f, 0x4f, 0x8a, 0xff, 0x36, 0x95, 0x8b, 0xec, 0xde, 0xf5, 0x7f, 0x65, 0x4e, 0xad, 0xfa,
0xf8, 0x8f, 0x45, 0x78, 0xa4, 0x26, 0x9f, 0x5f, 0xf1, 0x60, 0xed, 0xbc, 0x8d, 0x5b, 0xf9, 0x3d, 0xd1, 0xfe, 0xdf, 0x11,
0xff, 0xd5, 0xe3, 0x7f, 0xf1, 0x35, 0x3c, 0xf6, 0x8c, 0x74, 0x45, 0xc6, 0xff, 0xda, 0x09, 0xfd, 0xff, 0x51, 0x3b, 0x31,
0x5a, 0x2a, 0xf5, 0x6b, 0x53, 0x55, 0x66, 0xdb, 0x5e, 0x8d, 0xff, 0x4c, 0xfd, 0x1f, 0x1d, 0x87, 0xc8, 0xb4, 0x10, 0xdb,
0x60, 0xe4, 0x60, 0xf4, 0x9b, 0xeb, 0x59, 0x43, 0x73, 0xed, 0xff, 0x1d, 0xf1, 0x7f, 0x56, 0xff, 0xbf, 0x25, 0x47, 0x35,
0xeb, 0xda, 0xff, 0x2d, 0xd1, 0xca, 0xcc, 0xdc, 0x6d, 0x22, 0xa5, 0xbd, 0x5e, 0x66, 0x57, 0xd6, 0xff, 0xb9, 0xd5, 0xe6,
0xda, 0xb6, 0x7c, 0xa7, 0x91, 0xf6, 0xff, 0x9e, 0xa7, 0x70, 0xcf, 0xae, 0xff, 0xcf, 0x7c, 0x3a, 0xb9, 0x73, 0x7f, 0xee,
0x93, 0x77, 0x6e, 0x4f, 0x1e, 0xe9, 0x3b, 0xf4, 0xff, 0x23, 0xe3, 0xff, 0xd1, 0x9c, 0xc7, 0xe3, 0xda, 0xb8, 0x0f, 0x46,
0xd3, 0xbe, 0x35, 0xfe, 0xef, 0x91, 0x9b, 0xf9, 0x7b, 0xe3, 0xbf, 0xa5, 0xf2, 0x4f, 0x5f, 0x11, 0xff, 0x73, 0x2d, 0xab,
0xd8, 0x8a, 0x88, 0xb9, 0x15, 0x93, 0xa3, 0x7d, 0xba, 0x76, 0xea, 0x95, 0x9e, 0x79, 0xfe, 0xb7, 0xe7, 0xfd, 0x9f, 0xda,
0x37, 0x0d, 0x9e, 0xfb, 0x3e, 0xd4, 0x3b, 0x8e, 0xe0, 0x8c, 0xfb, 0xf9, 0x78, 0xd5, 0x82, 0xbe, 0xe9, 0x98, 0x62, 0x4f,
0x75, 0xa3, 0xcf, 0x89, 0xf7, 0xdd, 0xef, 0xa3, 0xef, 0xff, 0x44, 0xcb, 0x54, 0xa6, 0xe5, 0x6f, 0xb9, 0x83, 0x5d, 0x19,
0xff, 0xfb, 0x5b, 0x49, 0x55, 0xef, 0x30, 0x7c, 0xdb, 0x95, 0xa2, 0x64, 0xbe, 0xe5, 0xbc, 0xae, 0x8f, 0xf4, 0xbe, 0xa5,
0x24, 0x5c, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3b, 0xe7, 0x8a, 0xf5, 0xb2,
0x4c, 0x0b, 0xb3, 0x79, 0xae, 0xfa, 0xc2, 0xcc, 0xcd, 0x36, 0xcc, 0xdd, 0x9c, 0xfd, 0x9e, 0x9f, 0xab, 0x1a, 0xf4, 0xc1,
0xbf, 0x68, 0x81, 0x3d, 0xed, 0xe1, 0x79, 0xc8, 0xeb, 0x6b, 0x34, 0xfc, 0xdc, 0xe3, 0x96, 0x28, 0x91, 0x36, 0x31, 0x4f,
0x75, 0x6d, 0xae, 0xde, 0xee, 0x63, 0xae, 0xc9, 0x96, 0x1e, 0xc9, 0xfb, 0x37, 0x9b, 0xbd, 0x64, 0x47, 0xa9, 0xe4, 0x66,
0xbb, 0xf7, 0xa5, 0xbf, 0xc7, 0x72, 0x3f, 0xf4, 0xc3, 0x18, 0xaa, 0xb9, 0x3f, 0xcd, 0x65, 0xe8, 0x5b, 0x9f, 0xb3, 0x3e,
0x97, 0xdf, 0xb3, 0x6d, 0xcc, 0x89, 0xbd, 0x7e, 0xb5, 0xc7, 0x23, 0x25, 0xb7, 0x75, 0x6e, 0xae, 0xfe, 0x8e, 0x63, 0x8e,
0xe7, 0xb3, 0x9d, 0xff, 0x9e, 0x4c, 0xed, 0x37, 0x9e, 0x85, 0x99, 0xa9, 0x27, 0xda, 0xd4, 0xdd, 0x7a, 0x2d, 0xca, 0xa3,
0x77, 0x99, 0xf5, 0xf8, 0xaf, 0x99, 0x83, 0xde, 0x87, 0xc7, 0x13, 0x5b, 0x81, 0x63, 0x26, 0xbf, 0xf7, 0xfb, 0x5a, 0x8b,
0xf9, 0xf8, 0xff, 0xd6, 0x36, 0xf6, 0xfd, 0x4a, 0xa0, 0x2f, 0xd6, 0xf1, 0x9f, 0x23, 0x6c, 0xa6, 0x15, 0x5f, 0x13, 0xff,
0xeb, 0xf7, 0xad, 0xfd, 0xf1, 0xdf, 0x43, 0xdf, 0x10, 0x6d, 0xcf, 0xde, 0x73, 0x6b, 0x2e, 0xfe, 0xc7, 0x57, 0xd0, 0x9e,
0xad, 0x55, 0xab, 0x28, 0xe5, 0x72, 0x94, 0xb7, 0x60, 0xef, 0x21, 0x9b, 0x11, 0x68, 0x35, 0x1b, 0x5b, 0x0f, 0xf5, 0x46,
0xf6, 0xd4, 0xff, 0xf9, 0xfe, 0xff, 0x7c, 0xbb, 0x2d, 0x3e, 0x7e, 0x90, 0xb9, 0x96, 0x76, 0xb4, 0xc3, 0xcf, 0xd8, 0x1a,
0xc9, 0x1b, 0x77, 0xd5, 0xd6, 0xdd, 0xf1, 0xdf, 0xff, 0xb3, 0x8e, 0xe2, 0x51, 0x44, 0xad, 0xdf, 0x1d, 0xee, 0xd7, 0xb2,
0x88, 0x8f, 0xff, 0xad, 0x1e, 0x43, 0xc5, 0x11, 0xcf, 0xf5, 0x0b, 0x67, 0xa3, 0xb4, 0xae, 0xfe, 0xcf, 0x9c, 0xf5, 0x2b,
0xb7, 0x66, 0x46, 0xf7, 0xde, 0x1a, 0xff, 0x73, 0xe5, 0x76, 0x45, 0xfc, 0x57, 0xe7, 0x13, 0x9c, 0x69, 0x4d, 0x44, 0xb3,
0x34, 0x5f, 0xd1, 0x97, 0x9c, 0xcd, 0xce, 0x9f, 0x5b, 0x7f, 0xf6, 0x4d, 0xf1, 0xdf, 0x8a, 0xda, 0xff, 0x67, 0x6e, 0xbd,
0x47, 0xfb, 0xbf, 0xbf, 0xa0, 0xfe, 0xcf, 0x3e, 0xd7, 0x99, 0x3f, 0x86, 0x73, 0x8e, 0x36, 0x9e, 0x81, 0x3f, 0xf3, 0x04,
0xe3, 0xca, 0xbe, 0x70, 0x76, 0x6b, 0x36, 0xfe, 0xbf, 0xb5, 0xfe, 0x7f, 0x43, 0xfc, 0xe7, 0x9f, 0x65, 0xaf, 0x8c, 0xff,
0x9d, 0x75, 0x44, 0xf9, 0xf6, 0x51, 0xee, 0xd9, 0xff, 0x3b, 0xeb, 0xff, 0x9a, 0x35, 0xe7, 0x9f, 0x16, 0xff, 0x33, 0xa3,
0x4c, 0x4f, 0x8d, 0xff, 0x8a, 0x18, 0xa9, 0x1a, 0xff, 0xaf, 0xbe, 0x03, 0xb4, 0xad, 0x99, 0xeb, 0x9f, 0x17, 0xe1, 0xe3,
0xf8, 0x8f, 0xbc, 0xff, 0xf3, 0xee, 0xf8, 0x9f, 0x7b, 0x37, 0xe6, 0xd9, 0xf1, 0xdf, 0x93, 0x2b, 0xd6, 0xbc, 0xf3, 0xf9,
0x70, 0x6c, 0xfd, 0xe9, 0xe7, 0xc5, 0x7f, 0xfc, 0xed, 0x8c, 0xb7, 0x3f, 0xff, 0xcb, 0xbd, 0x1d, 0xb0, 0xf7, 0xf9, 0xdf,
0x13, 0xde, 0x2b, 0xe1, 0x4d, 0xf7, 0x42, 0xe7, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xa0, 0x6a, 0x46, 0x46, 0x3c, 0x67, 0xcf, 0xdc, 0x4c, 0xb1, 0x6b, 0x72, 0xdf, 0x47, 0x32, 0x15, 0xcc, 0xec, 0x4f, 0x3c,
0xff, 0x41, 0x24, 0xdb, 0xfe, 0xd1, 0xb9, 0x89, 0xe6, 0x1c, 0xcf, 0xe4, 0x32, 0xda, 0x75, 0x8c, 0xeb, 0x59, 0xe1, 0xe7,
0x7f, 0x61, 0x2e, 0xf7, 0x63, 0x2c, 0x2e, 0xee, 0x71, 0xae, 0x33, 0xf3, 0xee, 0x76, 0x67, 0x8a, 0xef, 0xc9, 0x5c, 0xef,
0xf5, 0x7b, 0x95, 0xcd, 0xd3, 0x1f, 0xdb, 0xe7, 0x48, 0x09, 0xf7, 0xc4, 0x4a, 0x2c, 0x6d, 0xe2, 0x4a, 0xaa, 0xce, 0xef,
0x93, 0x59, 0x99, 0x63, 0xfe, 0x8e, 0x5c, 0x99, 0xb3, 0xbf, 0x25, 0xf2, 0xf5, 0xdf, 0xe5, 0x5c, 0xdf, 0xb5, 0x65, 0x71,
0x9c, 0xf1, 0xe8, 0xbe, 0xad, 0xa4, 0x1e, 0xca, 0x6e, 0xfa, 0x9c, 0x7c, 0x04, 0xb1, 0x3a, 0xf7, 0xbd, 0xed, 0xe2, 0xf7,
0x1f, 0x73, 0x26, 0xb7, 0xc0, 0x4c, 0x1d, 0xde, 0x02, 0xf1, 0x7f, 0xc7, 0xfc, 0x55, 0xb9, 0xcc, 0x57, 0x33, 0xa5, 0x78,
0xd6, 0xb6, 0x23, 0xbf, 0x07, 0x56, 0x62, 0xbb, 0xf2, 0x18, 0xf7, 0xe7, 0xec, 0x38, 0xce, 0x26, 0xf2, 0xe4, 0x73, 0xdd,
0xb6, 0xe7, 0x82, 0x89, 0xd6, 0xff, 0x4f, 0x8d, 0xff, 0xd1, 0x6a, 0x04, 0x9f, 0xd7, 0x25, 0x3b, 0x6f, 0x5b, 0xc5, 0x5a,
0x06, 0xab, 0x3d, 0xa0, 0x1d, 0xdb, 0xae, 0xcc, 0xd9, 0x75, 0xf6, 0xb1, 0xc6, 0xcb, 0xe8, 0xca, 0xf8, 0x9f, 0xe9, 0xd7,
0x7d, 0x5b, 0xfd, 0xdf, 0x2f, 0xdf, 0x36, 0x7f, 0x17, 0xbb, 0xfb, 0xb5, 0xbd, 0x7f, 0xcd, 0x8e, 0x27, 0xc4, 0xf8, 0x5d,
0xe3, 0xff, 0xaa, 0x8c, 0xc7, 0x35, 0x2b, 0x2d, 0x45, 0xfb, 0xff, 0x4f, 0xb8, 0x26, 0x7a, 0x72, 0x2d, 0xe3, 0xd8, 0x0a,
0xce, 0xd5, 0xdb, 0xc4, 0xff, 0xdd, 0xeb, 0xff, 0x99, 0xb1, 0x95, 0xfb, 0xe5, 0xaf, 0xcc, 0xae, 0xd3, 0xfb, 0xee, 0xeb,
0xa5, 0x85, 0x9e, 0x79, 0xed, 0xd8, 0x26, 0xfe, 0xc5, 0xbf, 0xf8, 0xbf, 0xe2, 0x7a, 0xe9, 0x5f, 0xd1, 0xff, 0x17, 0xff,
0xe2, 0x3f, 0xf2, 0xcc, 0xec, 0xfe, 0xfd, 0xff, 0x5d, 0x4f, 0x2a, 0xdf, 0x36, 0xfe, 0x1f, 0x7d, 0xda, 0xfb, 0xa4, 0xf1,
0xff, 0xdd, 0xcf, 0xff, 0xae, 0xf8, 0xdd, 0xdc, 0x3e, 0xbf, 0xff, 0x19, 0xf7, 0x3b, 0xf2, 0xc5, 0xf3, 0xfc, 0xeb, 0x50,
0x19, 0x80, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0xe7, 0x00, 0xaf, 0xbe,
0xa7, 0x7f, 0x66, 0xbe, 0xf7, 0xc8, 0x9c, 0xcf, 0xb9, 0xef, 0x04, 0xf1, 0x1f, 0x9b, 0xa7, 0x73, 0x66, 0xbe, 0xf7, 0xfc,
0xdc, 0x7c, 0xe7, 0x1a, 0xde, 0x37, 0x53, 0x5c, 0x6c, 0x43, 0x2e, 0xc2, 0xa3, 0x39, 0x3a, 0xef, 0xb2, 0xed, 0x1d, 0x2b,
0x73, 0xc0, 0xbd, 0x6a, 0xd5, 0xa7, 0xc4, 0x7f, 0xdb, 0x96, 0xef, 0x12, 0xbe, 0xb1, 0xff, 0x2f, 0xfe, 0x41, 0xfc, 0x8b,
0x7f, 0xd0, 0xfe, 0x17, 0xff, 0x60, 0xfc, 0xff, 0xaa, 0x58, 0x9d, 0x59, 0x27, 0xe6, 0xc9, 0x4f, 0x31, 0xe0, 0x7e, 0x77,
0x80, 0xf8, 0xdd, 0xa1, 0x7a, 0x5b, 0x1b, 0xde, 0x37, 0x3c, 0x23, 0x84, 0xb3, 0xe2, 0xff, 0x9a, 0x51, 0x8a, 0xd5, 0xf8,
0xd7, 0xfe, 0x87, 0x37, 0xf5, 0x46, 0x22, 0xef, 0xff, 0x89, 0x7e, 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, 0xd8, 0xe9, 0xaf, 0xff, 0x94, 0x03, 0x88, 0x7f, 0xe0, 0xeb, 0xe2, 0xff,
0x0f };
// Font glyphs rectangles data (on atlas)
static const Rectangle sunnyFontRecs[189] = {
{ 4, 4, 4 , 16 },
{ 16, 4, 2 , 10 },
{ 26, 4, 5 , 3 },
{ 39, 4, 7 , 10 },
{ 54, 4, 7 , 13 },
{ 69, 4, 7 , 10 },
{ 84, 4, 7 , 10 },
{ 99, 4, 2 , 3 },
{ 109, 4, 3 , 12 },
{ 120, 4, 3 , 12 },
{ 131, 4, 5 , 6 },
{ 144, 4, 6 , 5 },
{ 158, 4, 2 , 4 },
{ 168, 4, 5 , 1 },
{ 181, 4, 2 , 2 },
{ 191, 4, 4 , 10 },
{ 203, 4, 6 , 10 },
{ 217, 4, 4 , 10 },
{ 229, 4, 6 , 10 },
{ 243, 4, 6 , 10 },
{ 257, 4, 6 , 10 },
{ 271, 4, 6 , 10 },
{ 285, 4, 6 , 10 },
{ 299, 4, 6 , 10 },
{ 313, 4, 6 , 10 },
{ 327, 4, 6 , 10 },
{ 341, 4, 2 , 6 },
{ 351, 4, 2 , 8 },
{ 361, 4, 7 , 7 },
{ 376, 4, 5 , 3 },
{ 389, 4, 7 , 7 },
{ 404, 4, 6 , 10 },
{ 418, 4, 7 , 12 },
{ 433, 4, 7 , 10 },
{ 448, 4, 7 , 10 },
{ 463, 4, 7 , 10 },
{ 478, 4, 7 , 10 },
{ 493, 4, 7 , 10 },
{ 4, 28, 7 , 10 },
{ 19, 28, 7 , 10 },
{ 34, 28, 7 , 10 },
{ 49, 28, 2 , 10 },
{ 59, 28, 5 , 10 },
{ 72, 28, 7 , 10 },
{ 87, 28, 6 , 10 },
{ 101, 28, 9 , 10 },
{ 118, 28, 7 , 10 },
{ 133, 28, 7 , 10 },
{ 148, 28, 7 , 10 },
{ 163, 28, 7 , 12 },
{ 178, 28, 7 , 10 },
{ 193, 28, 7 , 10 },
{ 208, 28, 6 , 10 },
{ 222, 28, 7 , 10 },
{ 237, 28, 7 , 10 },
{ 252, 28, 8 , 10 },
{ 268, 28, 7 , 10 },
{ 283, 28, 6 , 10 },
{ 297, 28, 7 , 10 },
{ 312, 28, 4 , 12 },
{ 324, 28, 4 , 10 },
{ 336, 28, 4 , 12 },
{ 348, 28, 6 , 3 },
{ 362, 28, 7 , 1 },
{ 377, 28, 4 , 3 },
{ 389, 28, 6 , 7 },
{ 403, 28, 6 , 10 },
{ 417, 28, 6 , 7 },
{ 431, 28, 6 , 10 },
{ 445, 28, 6 , 7 },
{ 459, 28, 4 , 10 },
{ 471, 28, 6 , 9 },
{ 485, 28, 6 , 10 },
{ 499, 28, 2 , 10 },
{ 4, 52, 5 , 12 },
{ 17, 52, 6 , 10 },
{ 31, 52, 3 , 10 },
{ 42, 52, 8 , 7 },
{ 58, 52, 6 , 7 },
{ 72, 52, 6 , 7 },
{ 86, 52, 6 , 9 },
{ 100, 52, 6 , 9 },
{ 114, 52, 5 , 7 },
{ 127, 52, 6 , 7 },
{ 141, 52, 4 , 10 },
{ 153, 52, 6 , 7 },
{ 167, 52, 6 , 7 },
{ 181, 52, 8 , 7 },
{ 197, 52, 6 , 7 },
{ 211, 52, 6 , 9 },
{ 225, 52, 6 , 7 },
{ 239, 52, 5 , 12 },
{ 252, 52, 2 , 12 },
{ 262, 52, 5 , 12 },
{ 275, 52, 7 , 3 },
{ 290, 52, 2 , 9 },
{ 300, 52, 6 , 11 },
{ 314, 52, 7 , 10 },
{ 329, 52, 7 , 9 },
{ 344, 52, 6 , 10 },
{ 358, 52, 7 , 11 },
{ 373, 52, 6 , 12 },
{ 387, 52, 6 , 10 },
{ 401, 52, 7 , 10 },
{ 416, 52, 5 , 5 },
{ 429, 52, 7 , 6 },
{ 444, 52, 6 , 3 },
{ 458, 52, 7 , 10 },
{ 473, 52, 9 , 10 },
{ 490, 52, 4 , 4 },
{ 4, 76, 6 , 7 },
{ 18, 76, 4 , 5 },
{ 30, 76, 4 , 5 },
{ 42, 76, 7 , 11 },
{ 57, 76, 6 , 9 },
{ 71, 76, 7 , 12 },
{ 86, 76, 2 , 2 },
{ 96, 76, 6 , 10 },
{ 110, 76, 3 , 5 },
{ 121, 76, 4 , 5 },
{ 133, 76, 7 , 6 },
{ 148, 76, 9 , 10 },
{ 165, 76, 8 , 7 },
{ 181, 76, 6 , 11 },
{ 195, 76, 6 , 11 },
{ 209, 76, 7 , 11 },
{ 224, 76, 7 , 11 },
{ 239, 76, 7 , 11 },
{ 254, 76, 7 , 11 },
{ 269, 76, 7 , 11 },
{ 284, 76, 7 , 11 },
{ 299, 76, 9 , 10 },
{ 316, 76, 7 , 12 },
{ 331, 76, 7 , 11 },
{ 346, 76, 7 , 11 },
{ 361, 76, 7 , 11 },
{ 376, 76, 7 , 11 },
{ 391, 76, 3 , 11 },
{ 402, 76, 3 , 11 },
{ 413, 76, 5 , 11 },
{ 426, 76, 5 , 11 },
{ 439, 76, 8 , 10 },
{ 455, 76, 7 , 11 },
{ 470, 76, 7 , 11 },
{ 485, 76, 7 , 11 },
{ 4, 100, 7 , 11 },
{ 19, 100, 7 , 11 },
{ 34, 100, 7 , 11 },
{ 49, 100, 7 , 7 },
{ 64, 100, 7 , 13 },
{ 79, 100, 7 , 11 },
{ 94, 100, 7 , 11 },
{ 109, 100, 7 , 11 },
{ 124, 100, 7 , 11 },
{ 139, 100, 6 , 11 },
{ 153, 100, 7 , 10 },
{ 168, 100, 7 , 10 },
{ 183, 100, 6 , 10 },
{ 197, 100, 6 , 10 },
{ 211, 100, 6 , 10 },
{ 225, 100, 6 , 10 },
{ 239, 100, 6 , 10 },
{ 253, 100, 6 , 11 },
{ 267, 100, 8 , 7 },
{ 283, 100, 6 , 9 },
{ 297, 100, 6 , 10 },
{ 311, 100, 6 , 10 },
{ 325, 100, 6 , 10 },
{ 339, 100, 6 , 10 },
{ 353, 100, 3 , 10 },
{ 364, 100, 3 , 10 },
{ 375, 100, 5 , 10 },
{ 388, 100, 5 , 10 },
{ 401, 100, 6 , 10 },
{ 415, 100, 6 , 10 },
{ 429, 100, 6 , 10 },
{ 443, 100, 6 , 10 },
{ 457, 100, 6 , 10 },
{ 471, 100, 6 , 10 },
{ 485, 100, 6 , 10 },
{ 4, 124, 6 , 7 },
{ 18, 124, 7 , 11 },
{ 33, 124, 6 , 10 },
{ 47, 124, 6 , 10 },
{ 61, 124, 6 , 10 },
{ 75, 124, 6 , 10 },
{ 89, 124, 6 , 12 },
{ 103, 124, 6 , 12 },
{ 117, 124, 6 , 12 },
};
// Font glyphs info data
// NOTE: No glyphs.image data provided
static const GlyphInfo sunnyFontGlyphs[189] = {
{ 32, 0, 12, 4, { 0 }},
{ 33, 0, 2, 3, { 0 }},
{ 34, 0, 2, 6, { 0 }},
{ 35, 0, 2, 8, { 0 }},
{ 36, 0, 1, 8, { 0 }},
{ 37, 0, 2, 8, { 0 }},
{ 38, 0, 2, 8, { 0 }},
{ 39, 0, 2, 3, { 0 }},
{ 40, 0, 2, 4, { 0 }},
{ 41, 0, 2, 4, { 0 }},
{ 42, 0, 4, 6, { 0 }},
{ 43, 0, 6, 7, { 0 }},
{ 44, 0, 10, 3, { 0 }},
{ 45, 0, 8, 6, { 0 }},
{ 46, 0, 10, 3, { 0 }},
{ 47, 0, 2, 5, { 0 }},
{ 48, 0, 2, 7, { 0 }},
{ 49, 0, 2, 7, { 0 }},
{ 50, 0, 2, 7, { 0 }},
{ 51, 0, 2, 7, { 0 }},
{ 52, 0, 2, 7, { 0 }},
{ 53, 0, 2, 7, { 0 }},
{ 54, 0, 2, 7, { 0 }},
{ 55, 0, 2, 7, { 0 }},
{ 56, 0, 2, 7, { 0 }},
{ 57, 0, 2, 7, { 0 }},
{ 58, 0, 4, 3, { 0 }},
{ 59, 0, 4, 3, { 0 }},
{ 60, 0, 4, 8, { 0 }},
{ 61, 0, 6, 6, { 0 }},
{ 62, 0, 4, 8, { 0 }},
{ 63, 0, 2, 7, { 0 }},
{ 64, 0, 2, 8, { 0 }},
{ 65, 0, 2, 8, { 0 }},
{ 66, 0, 2, 8, { 0 }},
{ 67, 0, 2, 8, { 0 }},
{ 68, 0, 2, 8, { 0 }},
{ 69, 0, 2, 8, { 0 }},
{ 70, 0, 2, 8, { 0 }},
{ 71, 0, 2, 8, { 0 }},
{ 72, 0, 2, 8, { 0 }},
{ 73, 0, 2, 3, { 0 }},
{ 74, 0, 2, 6, { 0 }},
{ 75, 0, 2, 8, { 0 }},
{ 76, 0, 2, 7, { 0 }},
{ 77, 0, 2, 10, { 0 }},
{ 78, 0, 2, 8, { 0 }},
{ 79, 0, 2, 8, { 0 }},
{ 80, 0, 2, 8, { 0 }},
{ 81, 0, 2, 8, { 0 }},
{ 82, 0, 2, 8, { 0 }},
{ 83, 0, 2, 8, { 0 }},
{ 84, 0, 2, 7, { 0 }},
{ 85, 0, 2, 8, { 0 }},
{ 86, 0, 2, 8, { 0 }},
{ 87, 0, 2, 9, { 0 }},
{ 88, 0, 2, 8, { 0 }},
{ 89, 0, 2, 7, { 0 }},
{ 90, 0, 2, 8, { 0 }},
{ 91, 0, 2, 5, { 0 }},
{ 92, 0, 2, 5, { 0 }},
{ 93, 0, 2, 5, { 0 }},
{ 94, 0, 2, 7, { 0 }},
{ 95, 0, 14, 8, { 0 }},
{ 96, 0, 2, 5, { 0 }},
{ 97, 0, 5, 7, { 0 }},
{ 98, 0, 2, 7, { 0 }},
{ 99, 0, 5, 7, { 0 }},
{ 100, 0, 2, 7, { 0 }},
{ 101, 0, 5, 7, { 0 }},
{ 102, 0, 2, 5, { 0 }},
{ 103, 0, 5, 7, { 0 }},
{ 104, 0, 2, 7, { 0 }},
{ 105, 0, 2, 3, { 0 }},
{ 106, 0, 2, 6, { 0 }},
{ 107, 0, 2, 7, { 0 }},
{ 108, 0, 2, 4, { 0 }},
{ 109, 0, 5, 9, { 0 }},
{ 110, 0, 5, 7, { 0 }},
{ 111, 0, 5, 7, { 0 }},
{ 112, 0, 5, 7, { 0 }},
{ 113, 0, 5, 7, { 0 }},
{ 114, 0, 5, 6, { 0 }},
{ 115, 0, 5, 7, { 0 }},
{ 116, 0, 2, 5, { 0 }},
{ 117, 0, 5, 7, { 0 }},
{ 118, 0, 5, 7, { 0 }},
{ 119, 0, 5, 9, { 0 }},
{ 120, 0, 5, 7, { 0 }},
{ 121, 0, 5, 7, { 0 }},
{ 122, 0, 5, 7, { 0 }},
{ 123, 0, 2, 6, { 0 }},
{ 124, 0, 2, 3, { 0 }},
{ 125, 0, 2, 6, { 0 }},
{ 126, 0, 6, 8, { 0 }},
{ 161, 0, 5, 3, { 0 }},
{ 162, 0, 3, 7, { 0 }},
{ 163, 0, 2, 8, { 0 }},
{ 8364, 0, 3, 8, { 0 }},
{ 165, 0, 2, 7, { 0 }},
{ 352, 0, 1, 8, { 0 }},
{ 167, 0, 2, 7, { 0 }},
{ 353, 0, 2, 7, { 0 }},
{ 169, 0, 2, 8, { 0 }},
{ 170, 0, 2, 6, { 0 }},
{ 171, 0, 6, 8, { 0 }},
{ 172, 0, 7, 7, { 0 }},
{ 174, 0, 2, 8, { 0 }},
{ 175, 1, 3, 14, { 0 }},
{ 176, 0, 2, 5, { 0 }},
{ 177, 0, 4, 7, { 0 }},
{ 178, 0, 2, 5, { 0 }},
{ 179, 0, 2, 5, { 0 }},
{ 381, 0, 1, 8, { 0 }},
{ 181, 0, 5, 7, { 0 }},
{ 182, 0, 2, 8, { 0 }},
{ 183, 0, 6, 3, { 0 }},
{ 382, 0, 2, 7, { 0 }},
{ 185, 0, 2, 4, { 0 }},
{ 186, 0, 2, 5, { 0 }},
{ 187, 0, 6, 8, { 0 }},
{ 338, 0, 2, 10, { 0 }},
{ 339, 0, 5, 9, { 0 }},
{ 376, 0, 1, 7, { 0 }},
{ 191, 0, 3, 7, { 0 }},
{ 192, 0, 1, 8, { 0 }},
{ 193, 0, 1, 8, { 0 }},
{ 194, 0, 1, 8, { 0 }},
{ 195, 0, 1, 8, { 0 }},
{ 196, 0, 1, 8, { 0 }},
{ 197, 0, 1, 8, { 0 }},
{ 198, 0, 2, 10, { 0 }},
{ 199, 0, 2, 8, { 0 }},
{ 200, 0, 1, 8, { 0 }},
{ 201, 0, 1, 8, { 0 }},
{ 202, 0, 1, 8, { 0 }},
{ 203, 0, 1, 8, { 0 }},
{ 204, 0, 1, 4, { 0 }},
{ 205, 0, 1, 4, { 0 }},
{ 206, 0, 1, 6, { 0 }},
{ 207, 0, 1, 6, { 0 }},
{ 208, 0, 2, 9, { 0 }},
{ 209, 0, 1, 8, { 0 }},
{ 210, 0, 1, 8, { 0 }},
{ 211, 0, 1, 8, { 0 }},
{ 212, 0, 1, 8, { 0 }},
{ 213, 0, 1, 8, { 0 }},
{ 214, 0, 1, 8, { 0 }},
{ 215, 0, 5, 8, { 0 }},
{ 216, 0, 1, 8, { 0 }},
{ 217, 0, 1, 8, { 0 }},
{ 218, 0, 1, 8, { 0 }},
{ 219, 0, 1, 8, { 0 }},
{ 220, 0, 1, 8, { 0 }},
{ 221, 0, 1, 7, { 0 }},
{ 222, 0, 2, 8, { 0 }},
{ 223, 0, 2, 8, { 0 }},
{ 224, 0, 2, 7, { 0 }},
{ 225, 0, 2, 7, { 0 }},
{ 226, 0, 2, 7, { 0 }},
{ 227, 0, 2, 7, { 0 }},
{ 228, 0, 2, 7, { 0 }},
{ 229, 0, 1, 7, { 0 }},
{ 230, 0, 5, 9, { 0 }},
{ 231, 0, 5, 7, { 0 }},
{ 232, 0, 2, 7, { 0 }},
{ 233, 0, 2, 7, { 0 }},
{ 234, 0, 2, 7, { 0 }},
{ 235, 0, 2, 7, { 0 }},
{ 236, 0, 2, 4, { 0 }},
{ 237, 0, 2, 4, { 0 }},
{ 238, 0, 2, 6, { 0 }},
{ 239, 0, 2, 6, { 0 }},
{ 240, 0, 2, 7, { 0 }},
{ 241, 0, 2, 7, { 0 }},
{ 242, 0, 2, 7, { 0 }},
{ 243, 0, 2, 7, { 0 }},
{ 244, 0, 2, 7, { 0 }},
{ 245, 0, 2, 7, { 0 }},
{ 246, 0, 2, 7, { 0 }},
{ 247, 0, 4, 7, { 0 }},
{ 248, 0, 3, 8, { 0 }},
{ 249, 0, 2, 7, { 0 }},
{ 250, 0, 2, 7, { 0 }},
{ 251, 0, 2, 7, { 0 }},
{ 252, 0, 2, 7, { 0 }},
{ 253, 0, 2, 7, { 0 }},
{ 254, 0, 2, 7, { 0 }},
{ 255, 0, 2, 7, { 0 }},
};
// Style loading function: Sunny
static void GuiLoadStyleSunny(void)
{
// Load style properties provided
// NOTE: Default properties are propagated
for (int i = 0; i < SUNNY_STYLE_PROPS_COUNT; i++)
{
GuiSetStyle(sunnyStyleProps[i].controlId, sunnyStyleProps[i].propertyId, sunnyStyleProps[i].propertyValue);
}
// Custom font loading
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
int sunnyFontDataSize = 0;
unsigned char *data = DecompressData(sunnyFontData, SUNNY_STYLE_FONT_ATLAS_COMP_SIZE, &sunnyFontDataSize);
Image imFont = { data, 512, 256, 1, 2 };
Font font = { 0 };
font.baseSize = 16;
font.glyphCount = 189;
// Load texture from image
font.texture = LoadTextureFromImage(imFont);
UnloadImage(imFont); // Uncompressed image data can be unloaded from memory
// Copy char recs data from global fontRecs
// NOTE: Required to avoid issues if trying to free font
font.recs = (Rectangle *)RAYGUI_MALLOC(font.glyphCount*sizeof(Rectangle));
memcpy(font.recs, sunnyFontRecs, font.glyphCount*sizeof(Rectangle));
// Copy font char info data from global fontChars
// NOTE: Required to avoid issues if trying to free font
font.glyphs = (GlyphInfo *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
memcpy(font.glyphs, sunnyFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
GuiSetFont(font);
// Setup a white rectangle on the font to be used on shapes drawing,
// it makes possible to draw shapes and text (full UI) in a single draw call
Rectangle fontWhiteRec = { 510, 254, 1, 1 };
SetShapesTexture(font.texture, fontWhiteRec);
//-----------------------------------------------------------------
// TODO: Custom user style setup: Set specific properties here (if required)
// i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT
}

View File

@ -1,19 +1,19 @@
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
// // // //
// StyleAsCode exporter v1.2 - Style data exported as a values array // // StyleAsCode exporter v2.0 - Style data exported as a values array //
// // // //
// USAGE: On init call: GuiLoadStyleTerminal(); // // USAGE: On init call: GuiLoadStyleTerminal(); //
// // // //
// more info and bugs-report: github.com/raysan5/raygui // // more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com // // feedback and support: ray[at]raylibtech.com //
// // // //
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) // // Copyright (c) 2020-2024 raylib technologies (@raylibtech) //
// // // //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
#define TERMINAL_STYLE_PROPS_COUNT 16 #define TERMINAL_STYLE_PROPS_COUNT 17
// Custom style name: terminal // Custom style name: Terminal
static const GuiStyleProp terminalStyleProps[TERMINAL_STYLE_PROPS_COUNT] = { static const GuiStyleProp terminalStyleProps[TERMINAL_STYLE_PROPS_COUNT] = {
{ 0, 0, 0x1c8d00ff }, // DEFAULT_BORDER_COLOR_NORMAL { 0, 0, 0x1c8d00ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0x161313ff }, // DEFAULT_BASE_COLOR_NORMAL { 0, 1, 0x161313ff }, // DEFAULT_BASE_COLOR_NORMAL
@ -31,67 +31,111 @@ static const GuiStyleProp terminalStyleProps[TERMINAL_STYLE_PROPS_COUNT] = {
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING { 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, 0xe6fce3ff }, // DEFAULT_LINE_COLOR { 0, 18, 0xe6fce3ff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0x0c1505ff }, // DEFAULT_BACKGROUND_COLOR { 0, 19, 0x0c1505ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, 0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
}; };
// WARNING: This style uses a custom font: (size: 16, spacing: 0) // WARNING: This style uses a custom font: "Mecha.ttf" (size: 16, spacing: 0)
#define TERMINAL_COMPRESSED_DATA_SIZE 964 #define TERMINAL_STYLE_FONT_ATLAS_COMP_SIZE 1860
// Font image pixels data compressed (DEFLATE) // Font atlas image pixels data: DEFLATE compressed
// NOTE: Original pixel data simplified to GRAYSCALE static unsigned char terminalFontData[TERMINAL_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
static unsigned char terminalFontData[TERMINAL_COMPRESSED_DATA_SIZE] = { 0xed, 0xdd, 0x41, 0x92, 0xa4, 0x36, 0x10, 0x05, 0x50, 0xee, 0x7f, 0xe9, 0xf4, 0x62, 0x62, 0x16, 0x76, 0xb8, 0x1b, 0x94, 0x4a,
0xdd, 0x41, 0xb6, 0x9b, 0x30, 0x0c, 0x05, 0x50, 0xf6, 0xbf, 0x69, 0x75, 0xd0, 0xd3, 0x41, 0x7b, 0x9a, 0x0f, 0x92, 0x65, 0x89, 0x04, 0x9e, 0x5f, 0x78, 0xd3, 0xd5, 0x53, 0x4d, 0x01, 0xbf, 0x24, 0x84, 0x94, 0xc4, 0x01, 0x00, 0x00, 0x00, 0x7c,
0xc7, 0xc0, 0xed, 0x9d, 0xa5, 0x09, 0x9f, 0xf0, 0x02, 0x38, 0xb6, 0xec, 0xc4, 0x01, 0x00, 0xf0, 0x8f, 0xf8, 0xef, 0x23, 0x5e, 0xfc, 0xef, 0x4f, 0xe2, 0xc7, 0xdf, 0x8c, 0xcb, 0xef, 0xf3, 0xe7, 0xa7, 0xf1, 0xe3, 0x5f, 0xf9, 0xfb, 0xdf, 0x95,
0xf1, 0xf1, 0x99, 0x71, 0x79, 0x3b, 0xbf, 0x1f, 0x8d, 0x8f, 0x7f, 0xe5, 0xcf, 0xbf, 0x2b, 0x5b, 0xba, 0xfe, 0xac, 0x48, 0x77, 0xba, 0xfe, 0x5b, 0x31, 0xb4, 0x75, 0x73, 0x5b, 0x95, 0x7b, 0x9f, 0xd1, 0xdf, 0xfe, 0x7d, 0x7b, 0xaa, 0xde, 0xad,
0xed, 0xdd, 0xd8, 0x5e, 0xd5, 0xb6, 0x93, 0x7d, 0xf6, 0xcf, 0xfb, 0x13, 0x1b, 0xe4, 0x7f, 0xfe, 0x6e, 0x33, 0xc7, 0x33, 0xf6, 0x95, 0xb1, 0xb3, 0x23, 0xbf, 0xe7, 0xae, 0x6e, 0x61, 0x6c, 0xdf, 0x2b, 0xc7, 0xa6, 0x7d, 0x1c, 0x0d, 0xf2, 0x7f,
0xca, 0xe9, 0xe5, 0x3f, 0x9d, 0x33, 0xcf, 0xa1, 0xec, 0x3e, 0xd6, 0x8e, 0xc9, 0x1e, 0xf9, 0x67, 0xff, 0x46, 0x6e, 0xbf, 0x7e, 0xcc, 0x46, 0xf2, 0x14, 0xe9, 0xf4, 0x8e, 0x7f, 0x3b, 0xad, 0xfc, 0x0e, 0x1d, 0xdd, 0xc6, 0xdc, 0x3e, 0x89, 0x92,
0x63, 0x68, 0xcf, 0x6b, 0xe7, 0xf4, 0xd8, 0xde, 0xdd, 0x39, 0xff, 0xe3, 0xe3, 0x95, 0xbc, 0x7a, 0x1c, 0x57, 0xe5, 0x3f, 0xf7, 0x9f, 0xf9, 0x3b, 0x51, 0xb6, 0xd7, 0x72, 0xff, 0x26, 0x86, 0xdb, 0x88, 0xf9, 0x4f, 0x78, 0xbe, 0x8f, 0x63, 0xd1,
0xfe, 0x2e, 0xe5, 0x7f, 0xf6, 0xcc, 0x7c, 0x96, 0x3f, 0xa7, 0x17, 0x37, 0xcf, 0x3f, 0xdb, 0xee, 0x79, 0x66, 0xfe, 0x9f, 0x71, 0xef, 0x99, 0xff, 0xfc, 0x51, 0xcb, 0x9f, 0x29, 0x57, 0xb7, 0x3c, 0xd7, 0xa6, 0xaf, 0x3a, 0x27, 0xe5, 0xff, 0xec,
0xae, 0x0c, 0x3f, 0xdf, 0x93, 0x3f, 0xbf, 0x66, 0xe5, 0xdd, 0x7b, 0x4e, 0xfe, 0x67, 0xf7, 0xd1, 0xeb, 0xc7, 0x22, 0xdb, 0x9b, 0xfa, 0xe7, 0x16, 0xb4, 0xa2, 0xdd, 0x90, 0xff, 0x5c, 0x06, 0x62, 0x22, 0x47, 0xbb, 0xf2, 0x5f, 0xdb, 0xd6, 0xc8,
0x32, 0x5c, 0x9f, 0xff, 0x48, 0x8b, 0xec, 0xde, 0xf9, 0xc7, 0xc9, 0xb1, 0x8a, 0x81, 0xf6, 0xed, 0xe8, 0x35, 0x43, 0xfe, 0xff, 0x33, 0xda, 0xff, 0xb3, 0x6d, 0xff, 0xf7, 0x79, 0x2b, 0xff, 0xd9, 0xa3, 0x90, 0x6d, 0xff, 0x63, 0x7a, 0xfb, 0x3b,
0xdf, 0xce, 0xff, 0xb8, 0x41, 0xfe, 0x47, 0x43, 0xfb, 0xaf, 0xf2, 0xce, 0x9e, 0x90, 0x7f, 0xed, 0xdd, 0xdd, 0x33, 0xff, 0xe7, 0x7f, 0x74, 0xdc, 0x43, 0xfe, 0xcf, 0xaf, 0xe8, 0x73, 0xbf, 0x7d, 0xb6, 0x27, 0xe4, 0x7f, 0x5d, 0xfe, 0x7f, 0xeb,
0xea, 0xf7, 0xff, 0xcf, 0x7d, 0x1e, 0xf2, 0x7f, 0xd2, 0xf5, 0x3f, 0x4e, 0xae, 0x1d, 0x23, 0xed, 0x97, 0x3d, 0xf3, 0x8f, 0xb3, 0x9d, 0xf5, 0xf4, 0x76, 0xe4, 0xff, 0xd8, 0x9e, 0xff, 0xb3, 0xeb, 0xa8, 0xeb, 0xfb, 0x62, 0xc7, 0x08, 0xd4, 0x91,
0x4b, 0x57, 0xcb, 0xf1, 0xde, 0xc2, 0xec, 0x35, 0xf7, 0x0d, 0x7d, 0xd4, 0xbb, 0xe7, 0xcf, 0x8a, 0x51, 0x0a, 0x00, 0x00, 0x1c, 0xdb, 0x89, 0xc1, 0x0c, 0xdf, 0xd3, 0x0b, 0x3b, 0xcb, 0x7f, 0x66, 0x4f, 0x66, 0xf2, 0x7f, 0x76, 0x5c, 0x8e, 0x5f,
0x00, 0x00, 0x00, 0xd0, 0x83, 0x5e, 0xa9, 0x31, 0xef, 0xfd, 0x9f, 0x5c, 0xed, 0x5c, 0xbd, 0x9e, 0xfe, 0xea, 0x1e, 0xc6, 0x7a, 0x30, 0xab, 0xf6, 0x7e, 0x45, 0xfe, 0x67, 0x46, 0xe4, 0x9e, 0x9d, 0xff, 0x38, 0xd9, 0x57, 0x31, 0x31, 0xbe, 0xb9,
0xf2, 0xa3, 0x32, 0x3b, 0x97, 0x39, 0x23, 0xc8, 0x99, 0xd1, 0xfb, 0xd1, 0xba, 0xc4, 0x98, 0x5e, 0x81, 0x1b, 0xd3, 0xde, 0xb3, 0xcf, 0x30, 0xd3, 0x4f, 0xeb, 0x7b, 0x1c, 0xde, 0xd3, 0xff, 0x8f, 0xd6, 0xed, 0xbf, 0xfc, 0xcf, 0x5d, 0xff, 0xbf,
0x61, 0xa5, 0x1e, 0x20, 0x16, 0x8d, 0xf9, 0xdf, 0x23, 0xff, 0x28, 0x8c, 0xa7, 0x77, 0xcc, 0x26, 0x91, 0xff, 0xd3, 0xce, 0x2d, 0xff, 0xb1, 0xfd, 0x58, 0xc5, 0x85, 0x33, 0x56, 0xfe, 0xe7, 0xf6, 0xf0, 0x79, 0x8f, 0x23, 0x16, 0x5d, 0xbf, 0x74,
0xff, 0xb3, 0x7d, 0xff, 0xfb, 0x13, 0x25, 0xff, 0x5d, 0xf2, 0x3f, 0xd2, 0xf7, 0xb5, 0x18, 0xaa, 0x1c, 0x78, 0x4f, 0xfe, 0xcd, 0x7f, 0xee, 0xd3, 0x7d, 0xb1, 0xfd, 0x8f, 0x1b, 0x8f, 0x8f, 0xfc, 0xaf, 0xd8, 0x9b, 0x23, 0x77, 0xd8, 0x66, 0xe7,
0xf9, 0x16, 0xc8, 0x51, 0x9c, 0xf1, 0xd7, 0x51, 0x97, 0x3e, 0x7f, 0x6e, 0xce, 0x59, 0xfe, 0x95, 0xb6, 0x5c, 0x25, 0xff, 0x2f, 0xc8, 0xbf, 0xfc, 0xcb, 0x7f, 0xef, 0xfe, 0x7f, 0x0c, 0x8e, 0xdc, 0xc6, 0xe3, 0xc7, 0xff, 0xe2, 0x52, 0x6f, 0x69,
0xb3, 0x5c, 0x72, 0xd5, 0xe5, 0xbd, 0x73, 0x15, 0xeb, 0xb3, 0x77, 0xf6, 0xad, 0xce, 0x7e, 0xce, 0xf5, 0xff, 0x5e, 0xf9, 0x7e, 0xb6, 0xe0, 0x78, 0x9f, 0x2b, 0xf7, 0x6e, 0xf9, 0xd9, 0x75, 0x4f, 0xb9, 0xfe, 0xdf, 0x39, 0x93, 0xf2, 0x28, 0x99,
0xaf, 0xaf, 0xe1, 0x8a, 0x0b, 0x75, 0xac, 0xf2, 0xff, 0xde, 0xf9, 0x1f, 0x5f, 0xbc, 0x2a, 0xc8, 0x5f, 0xfe, 0x6f, 0xca, 0x87, 0xb2, 0x7e, 0xfe, 0xdf, 0x33, 0xe7, 0x28, 0x77, 0xcf, 0x3f, 0xb0, 0x7a, 0x95, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0xbf, 0xda, 0x62, 0x8b, 0xd6, 0xad, 0xed, 0x78, 0xff, 0xcf, 0xae, 0xaf, 0xb1, 0xae, 0xff, 0xef, 0x28, 0xf6, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x65, 0x0d, 0x4d, 0x94, 0xad, 0x7b, 0x8c, 0x16, 0x95, 0xe7, 0xf7, 0xd4, 0x58,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x86, 0xfa, 0xff, 0x7c, 0x15, 0x7e, 0xd7, 0xd8, 0x67, 0x6c, 0x31, 0xfb, 0x60, 0xc6, 0xbf, 0xb6, 0x87, 0xaa, 0xde, 0x71, 0xec, 0x59, 0x02, 0x63, 0xeb, 0x30, 0x73, 0x2b, 0xff, 0x56, 0xaf, 0x6e, 0x9b, 0x59,
0x5c, 0x86, 0xea, 0x11, 0xea, 0xda, 0x62, 0x7e, 0x0d, 0xb5, 0x9e, 0x95, 0xf8, 0xf3, 0x5b, 0x99, 0x31, 0xce, 0x3e, 0x7b, 0xdd, 0x58, 0xb3, 0x65, 0x15, 0xb5, 0x2d, 0xee, 0x49, 0xc7, 0xca, 0x75, 0xe2, 0x71, 0x69, 0x75, 0x70, 0x6d, 0x92, 0x56,
0xd4, 0xbe, 0x52, 0xff, 0xb0, 0x32, 0xff, 0x4a, 0xad, 0x85, 0xfc, 0xe5, 0x2f, 0x7f, 0xf9, 0xcb, 0x7f, 0xaf, 0xfc, 0xcf, 0xaf, 0xd8, 0xce, 0xac, 0x7d, 0xdf, 0x99, 0xff, 0xb1, 0x33, 0x70, 0xfc, 0x73, 0x46, 0x62, 0x35, 0x55, 0x6d, 0x0d, 0x98,
0xd7, 0x8b, 0x8f, 0xa1, 0x2a, 0xba, 0x5a, 0x9d, 0x51, 0x67, 0xed, 0xfb, 0x8a, 0x76, 0xcf, 0x48, 0x9d, 0x7d, 0x7c, 0x39, 0x63, 0xe9, 0xb9, 0x19, 0x8b, 0xd6, 0x90, 0x8d, 0xef, 0x83, 0x3d, 0xe9, 0x90, 0xff, 0x2f, 0xe7, 0x3f, 0x57, 0x23, 0x7b,
0xff, 0xb3, 0xd9, 0x6f, 0x63, 0x35, 0x94, 0xdf, 0x3e, 0xff, 0x77, 0x99, 0x67, 0x17, 0xc5, 0x33, 0xbd, 0x6b, 0xaf, 0x23, 0xc7, 0xb3, 0x50, 0xe4, 0x5f, 0xfe, 0xe5, 0xff, 0xad, 0xf9, 0x8f, 0xe2, 0xfe, 0x77, 0xbe, 0x5a, 0x47, 0xcd, 0x95, 0x55,
0x7d, 0xfe, 0x8f, 0x9f, 0xfb, 0xf2, 0xdf, 0x3f, 0xff, 0x91, 0x2a, 0x6c, 0xf9, 0xef, 0x93, 0xff, 0x59, 0xc2, 0xf2, 0x7f, 0x6d, 0x4a, 0xe4, 0x5f, 0xfe, 0x7f, 0xef, 0x6d, 0xc7, 0xc5, 0x56, 0x6c, 0xa4, 0xc5, 0xdb, 0x59, 0xb3, 0x64, 0x5f, 0x15,
0x7a, 0xfe, 0x9f, 0x7f, 0x87, 0xee, 0x2e, 0xf9, 0x77, 0x57, 0xc5, 0x57, 0xf3, 0xef, 0xac, 0x8c, 0xaf, 0xf6, 0xa2, 0x45, 0xad, 0xd1, 0x6f, 0x93, 0x28, 0x4c, 0xf0, 0x57, 0xf2, 0x9f, 0xaf, 0x7b, 0xbe, 0x67, 0xdc, 0x2b, 0xb3, 0xe5, 0x99, 0xda,
0x71, 0x3d, 0x82, 0x48, 0xf7, 0x83, 0x56, 0xf2, 0x37, 0x0f, 0x00, 0xf6, 0x9b, 0x79, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0xf5, 0xf9, 0x3f, 0x7b, 0x1e, 0x42, 0xe6, 0xfb, 0xe9, 0x5b, 0xf9, 0x1f, 0xfd, 0x6c, 0xf2, 0x7f, 0x6c, 0x7e, 0xb6,
0xab, 0x7a, 0xc5, 0x73, 0x95, 0x6f, 0x7d, 0xeb, 0x81, 0x1d, 0x93, 0x47, 0xf6, 0x6a, 0xe3, 0x98, 0xe3, 0xbf, 0x5e, 0x70, 0xcc, 0xfd, 0x35, 0x16, 0x23, 0xd9, 0xd2, 0x57, 0x6d, 0x75, 0xa4, 0x46, 0xdb, 0xaa, 0x7e, 0x9e, 0xab, 0xd2, 0xf8, 0xde,
0xa4, 0x46, 0x54, 0x2b, 0x7b, 0xdd, 0xb9, 0xbe, 0x5a, 0xa4, 0x47, 0x4a, 0xb2, 0x35, 0x4a, 0xf9, 0xf1, 0x98, 0x9e, 0xd5, 0xfc, 0x47, 0xc1, 0x7d, 0xae, 0xb9, 0x56, 0x52, 0xfe, 0xe5, 0xff, 0x98, 0xac, 0xc0, 0xdb, 0x3d, 0xff, 0x2b, 0xae, 0xbf,
0xf0, 0x3a, 0xab, 0x15, 0xaa, 0x55, 0xa2, 0xfd, 0xc7, 0x20, 0xca, 0x75, 0x0c, 0x47, 0x53, 0x05, 0xc1, 0x8c, 0xb5, 0xbd, 0x2b, 0x9f, 0xe6, 0xfa, 0xcc, 0xf6, 0xff, 0x59, 0xf7, 0xff, 0xbe, 0x92, 0xff, 0xb3, 0x63, 0x79, 0x77, 0xfe, 0x3b, 0xd5,
0xe5, 0x2f, 0xff, 0xae, 0x5f, 0x8f, 0x99, 0x51, 0x0d, 0xdc, 0x53, 0x8d, 0x12, 0x83, 0xd5, 0x37, 0xeb, 0xf2, 0xff, 0xce, 0x4c, 0xcd, 0x8c, 0x30, 0xce, 0xfc, 0x9b, 0x8e, 0xf9, 0xdf, 0x35, 0x9f, 0x47, 0xfe, 0x77, 0xe5, 0xff, 0xe7, 0xa7, 0x8d,
0x0a, 0xde, 0xeb, 0x6a, 0xbe, 0xb2, 0x9f, 0xa6, 0x68, 0x4c, 0x50, 0xfe, 0xdf, 0xcf, 0xbf, 0x7a, 0x34, 0xde, 0x93, 0x7f, 0xcb, 0x7f, 0xaf, 0xfc, 0xaf, 0xeb, 0xff, 0x3f, 0x3b, 0xff, 0xeb, 0x7a, 0x5f, 0xab, 0xfb, 0x73, 0xb5, 0x5b, 0x9e, 0x99,
0x47, 0x6d, 0xf9, 0x93, 0xf2, 0x8f, 0x86, 0x99, 0xcf, 0x63, 0xf3, 0x66, 0xde, 0x90, 0xff, 0x8c, 0xfb, 0x6f, 0x4f, 0x6b, 0x01, 0xf7, 0xdb, 0xfc, 0xbb, 0x48, 0x57, 0x6d, 0xaf, 0x98, 0x87, 0x37, 0x33, 0x3b, 0x68, 0xf7, 0x95, 0x41, 0xf5, 0xbf,
0xe2, 0x7d, 0xe7, 0x7f, 0x47, 0x75, 0xf1, 0xfc, 0x2b, 0xc3, 0x9c, 0xd7, 0xec, 0x98, 0xff, 0xfa, 0xaa, 0x48, 0xf9, 0xcf, 0xa9, 0x1f, 0xb3, 0xe8, 0x9b, 0x7f, 0x78, 0x46, 0xfe, 0xbf, 0xb0, 0xaf, 0x71, 0x3c, 0xee, 0x69, 0x59, 0x57, 0xfe, 0x3e,
0xbf, 0xfe, 0xef, 0x9c, 0x7f, 0xa5, 0x77, 0x68, 0xf5, 0x9d, 0xa1, 0xfb, 0x35, 0x33, 0xd7, 0x4f, 0x91, 0xbf, 0x0a, 0xf4, 0xce, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xd3, 0x2a, 0xac, 0xaa, 0xba, 0x8d, 0x3b,
0x3b, 0xf4, 0xff, 0x77, 0x3e, 0x1f, 0x67, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x8d, 0xac, 0x75, 0xfe, 0x9e, 0x75, 0xab, 0x65, 0xe4, 0xd6, 0xf9, 0xc5, 0xe5, 0xba, 0x2e, 0x99, 0x55, 0xe4, 0x23, 0x6b, 0xf9, 0x6a, 0xd6, 0x34, 0xe6, 0xcf,
0xb6, 0xe2, 0x62, 0xe5, 0x3a, 0x8a, 0xb5, 0x15, 0xc0, 0xe2, 0x72, 0x7d, 0xcf, 0xde, 0xe3, 0x01, 0x6b, 0xd6, 0x4c, 0xae, 0x81, 0x48, 0xad, 0x96, 0x3b, 0x3f, 0x53, 0x32, 0x35, 0xec, 0xd7, 0xcd, 0xb6, 0xff, 0xbd, 0x7e, 0x43, 0xbe, 0x92, 0xc8,
0xae, 0xae, 0xf7, 0xdd, 0xfc, 0xb3, 0xa3, 0xa0, 0xd7, 0x1f, 0xdb, 0xef, 0xb7, 0xf0, 0x9f, 0x9e, 0x7f, 0xf7, 0x3a, 0xda, 0xaa, 0xf5, 0x05, 0x75, 0xf5, 0x9f, 0x8e, 0x82, 0xd5, 0x8a, 0xd9, 0x35, 0xf4, 0xf7, 0xe6, 0x7f, 0x74, 0xf5, 0xdb, 0xf5,
0xdd, 0x9f, 0x89, 0xa7, 0xe7, 0xff, 0xf3, 0x9d, 0x61, 0x45, 0xfe, 0xf5, 0x35, 0x3b, 0x8f, 0x87, 0x64, 0xfd, 0xbd, 0xfc, 0x9f, 0x55, 0xd4, 0x5b, 0x89, 0xc4, 0xca, 0xbc, 0xca, 0xfc, 0x57, 0x9c, 0xe3, 0x51, 0xf6, 0xbe, 0xb1, 0xb8, 0x4e, 0xc1,
0xb3, 0x33, 0x7b, 0x76, 0x39, 0xff, 0xe7, 0xdc, 0x13, 0xe4, 0x7f, 0x97, 0xf6, 0xdf, 0x21, 0xff, 0xcd, 0xf2, 0xef, 0x5f, 0x95, 0x56, 0xe2, 0xd9, 0x6b, 0xa2, 0xe2, 0xd5, 0xf9, 0xaf, 0xad, 0x96, 0x5b, 0xff, 0x9d, 0x90, 0xaf, 0x4f, 0x70, 0x5f,
0x47, 0xbb, 0x3a, 0xb7, 0xec, 0x7a, 0x5b, 0xef, 0x4d, 0xdf, 0xff, 0x8e, 0x86, 0x79, 0xe0, 0xe7, 0x6b, 0x2f, 0x77, 0xaf, 0xfe, 0xff, 0x6e, 0x57, 0x75, 0xfe, 0x33, 0xef, 0x5b, 0x53, 0xd9, 0x6a, 0x2e, 0xff, 0x3d, 0x56, 0xf6, 0xc5, 0xf2, 0x9e,
0xa3, 0x5c, 0xf9, 0xfe, 0xf7, 0xf4, 0x6a, 0xc9, 0x58, 0x52, 0xcf, 0xb6, 0xcf, 0xf1, 0x89, 0x29, 0xf3, 0xe6, 0xe5, 0xbf, 0x47, 0x26, 0xff, 0x63, 0xfd, 0xb6, 0x15, 0xf9, 0xcf, 0x57, 0xe6, 0x39, 0x36, 0x65, 0xfd, 0x28, 0x4e, 0xf9, 0xfa, 0xfc,
0x7b, 0xfe, 0xb5, 0x6f, 0xe3, 0xcf, 0xcf, 0x7f, 0xe5, 0xd1, 0x7f, 0xc6, 0xd9, 0x21, 0xff, 0x77, 0xd7, 0x72, 0xcb, 0xff, 0xd7, 0x9f, 0x69, 0xf1, 0x9f, 0xff, 0xbb, 0xac, 0xb6, 0x7d, 0x4b, 0xfe, 0x73, 0xd5, 0x69, 0x66, 0xf3, 0x9f, 0xbd, 0xe2,
0x5d, 0xd7, 0xad, 0xd1, 0xfe, 0x7f, 0xcc, 0xef, 0x40, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, 0xbb, 0xfd, 0x5f, 0x73, 0x4d, 0xb0, 0x3e, 0xff, 0x91, 0xaa, 0x0c, 0xde, 0x27, 0xff, 0xb1, 0x20, 0xb9, 0xf2, 0x9f,
0x6d, 0x03, 0xdf, 0x90, 0xff, 0xea, 0xe7, 0x7c, 0x74, 0xc8, 0x7f, 0x6e, 0xc4, 0x2b, 0x4a, 0x73, 0x1a, 0xed, 0xdb, 0xff,
0x63, 0xdb, 0xf8, 0x5f, 0xff, 0xfc, 0x47, 0x49, 0xbf, 0xf0, 0xce, 0xfc, 0xd7, 0x57, 0xcb, 0xcd, 0x56, 0x0d, 0xbc, 0x3e,
0xd6, 0xd7, 0xa7, 0xfd, 0xaf, 0xbf, 0x1e, 0x5e, 0xd1, 0xfe, 0x1f, 0x0b, 0xee, 0x52, 0xac, 0xbf, 0xaa, 0xee, 0x9f, 0xff,
0xaa, 0xeb, 0xc2, 0xcc, 0x73, 0x93, 0x46, 0xef, 0xff, 0xc5, 0xe9, 0x59, 0x3c, 0x7a, 0xe7, 0x68, 0x3c, 0x4f, 0x31, 0xf8,
0xf4, 0xa2, 0xfe, 0xd7, 0xff, 0x95, 0xed, 0xff, 0x9a, 0x51, 0xef, 0xae, 0xa3, 0xe9, 0xd7, 0x9e, 0x2f, 0xde, 0x63, 0x8b,
0xf3, 0x4f, 0xdc, 0x8a, 0xed, 0x57, 0x56, 0x7d, 0x8e, 0xf1, 0xfc, 0x67, 0x5f, 0x93, 0xff, 0x8a, 0x8a, 0xd3, 0xf5, 0xed,
0xe1, 0xf7, 0xe6, 0xbc, 0xcc, 0xdc, 0x75, 0xef, 0xb1, 0xb5, 0xd5, 0xe7, 0xc5, 0x3b, 0xf2, 0x5f, 0xf7, 0xd9, 0x63, 0xc9,
0xb7, 0x4a, 0xa6, 0x96, 0x77, 0x2c, 0x9f, 0x0f, 0x23, 0xff, 0xcf, 0xcd, 0x7f, 0xdc, 0x70, 0xcf, 0xf0, 0x58, 0x3c, 0x1e,
0xdd, 0x61, 0x0f, 0xef, 0xcd, 0x3f, 0xfd, 0xce, 0x88, 0xee, 0xf9, 0x5f, 0x3f, 0x2f, 0xf4, 0xcb, 0xed, 0x81, 0x2a, 0xf9,
0x3c, 0xf1, 0x5a, 0x56, 0xfe, 0x73, 0xfd, 0x96, 0xd9, 0xf9, 0xff, 0x20, 0xff, 0xdf, 0xdd, 0xeb, 0xd0, 0x7f, 0x76, 0x03,
0xf2, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfb, 0x67, 0xbb, 0x45, 0x6a, 0x7d, 0x5b, 0x0c, 0x56,
0x32, 0x88, 0x74, 0xa5, 0xf8, 0x6c, 0x7d, 0x8c, 0x18, 0x5c, 0xf7, 0x35, 0x5f, 0x37, 0xf8, 0xfa, 0xf3, 0x15, 0x66, 0xd6,
0x0f, 0xae, 0x3f, 0x8e, 0x75, 0x15, 0xd6, 0xeb, 0x8f, 0x52, 0xe6, 0xef, 0x47, 0x79, 0xed, 0xb5, 0xfe, 0x99, 0x99, 0xdf,
0xcf, 0x99, 0x95, 0xbe, 0xb5, 0x67, 0xd4, 0xb5, 0x63, 0x5b, 0xb7, 0xba, 0x33, 0x26, 0x92, 0x3e, 0x3e, 0x4f, 0xfb, 0xf7,
0xaa, 0x9f, 0x5d, 0x8f, 0x63, 0x2e, 0x4b, 0x51, 0xba, 0x06, 0x37, 0xf7, 0xd7, 0x9f, 0xb6, 0xaf, 0xaf, 0x57, 0x01, 0xd8,
0xdd, 0x5f, 0xc8, 0x3f, 0x35, 0x28, 0x6e, 0x9f, 0x8b, 0xbf, 0xae, 0xa2, 0x4e, 0x5d, 0xad, 0xe2, 0xbb, 0x8f, 0xe3, 0x71,
0xfa, 0x0c, 0x93, 0x68, 0xb8, 0xbe, 0xe5, 0xac, 0xff, 0x18, 0x2d, 0xf7, 0x75, 0x5c, 0xee, 0x23, 0xe6, 0xf3, 0x9f, 0x7f,
0x3e, 0x53, 0x14, 0x57, 0xe6, 0xcd, 0x57, 0xc7, 0xac, 0xde, 0xfa, 0x7c, 0xfb, 0x9f, 0xb9, 0x52, 0x88, 0xe5, 0x9f, 0xaa,
0xf6, 0x3b, 0x39, 0x4e, 0x6a, 0xb9, 0xae, 0x3e, 0x2b, 0x56, 0xbc, 0x12, 0x1b, 0xce, 0xad, 0xdc, 0xf5, 0xde, 0xb5, 0x33,
0x64, 0x26, 0xff, 0x7d, 0x8f, 0xcd, 0xd1, 0xe6, 0x95, 0xdd, 0xf9, 0x7f, 0xee, 0x2b, 0xef, 0xc9, 0x7f, 0x9f, 0xb3, 0xef,
0xb7, 0xcf, 0x33, 0xfb, 0xac, 0xc2, 0x0e, 0x47, 0xe0, 0xac, 0x4e, 0xec, 0x5b, 0xf3, 0x1f, 0x3f, 0x8e, 0x0c, 0xf6, 0xff,
0x4e, 0xfe, 0xb9, 0x5f, 0xf0, 0xb4, 0xfc, 0x57, 0xb6, 0xcb, 0x15, 0x6d, 0xf9, 0xde, 0x6b, 0x66, 0xed, 0xbf, 0xf6, 0xff,
0xdb, 0xf9, 0xbf, 0xff, 0x2a, 0x6c, 0x6f, 0x66, 0xfa, 0xed, 0xb3, 0x3e, 0xf9, 0x1f, 0x19, 0xf3, 0x92, 0xff, 0xb7, 0xe7,
0xff, 0x09, 0xdf, 0x4d, 0xb3, 0xf7, 0xff, 0xde, 0x31, 0xfe, 0x57, 0xf5, 0x8a, 0xf6, 0x7f, 0x6e, 0x8c, 0xfd, 0xee, 0x6d,
0xcb, 0x1f, 0xf3, 0xb7, 0x1c, 0x85, 0xd1, 0x3e, 0x80, 0xfe, 0xbf, 0xfc, 0xbf, 0x27, 0xff, 0x47, 0x7a, 0xf6, 0xc1, 0xb3,
0xae, 0x33, 0x46, 0x8e, 0xc7, 0x73, 0xf2, 0x5f, 0x79, 0xc7, 0xee, 0x29, 0xe3, 0x7f, 0x4f, 0xfb, 0x66, 0x78, 0x63, 0xfe,
0xef, 0xbd, 0xd7, 0xda, 0x63, 0xe6, 0xef, 0x33, 0xfb, 0x32, 0x4f, 0xce, 0xff, 0xb3, 0xfb, 0x64, 0xc7, 0x6d, 0x57, 0x85,
0x51, 0xb8, 0xa7, 0x79, 0x46, 0xfe, 0x63, 0x53, 0xfe, 0x47, 0xc6, 0x06, 0xde, 0x9d, 0xff, 0xf1, 0xd6, 0x2a, 0x6e, 0x1f,
0x63, 0x96, 0xff, 0xbb, 0xf3, 0xbf, 0x7f, 0xeb, 0x77, 0xf5, 0xc4, 0x62, 0x49, 0xd2, 0xc7, 0x8f, 0xc9, 0x13, 0xfb, 0xa4,
0x3b, 0xb7, 0x4d, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xef, 0xcc, 0x00, 0x1e, 0x7b, 0xb5,
0x43, 0x05, 0xfd, 0x23, 0x5d, 0x6d, 0xbd, 0xee, 0xf3, 0x1e, 0x89, 0xaa, 0xee, 0x99, 0x6d, 0xe8, 0x5c, 0x41, 0xdf, 0xac,
0xdb, 0xb7, 0x7e, 0x03, 0xf4, 0xae, 0xa0, 0x7f, 0x5e, 0xe5, 0x63, 0xfd, 0xe7, 0xad, 0x9c, 0x3f, 0xdf, 0xbb, 0x82, 0x7e,
0xbf, 0xb5, 0xab, 0xf4, 0xfb, 0x26, 0xd9, 0x59, 0x41, 0x7f, 0xbc, 0xbf, 0x71, 0x6c, 0xdc, 0xae, 0x6c, 0x35, 0x83, 0xae,
0x15, 0xf4, 0xbb, 0xaf, 0x05, 0xe3, 0xfe, 0xb5, 0x59, 0x63, 0xcf, 0xb4, 0xa8, 0xaa, 0xa0, 0xf1, 0xb4, 0x0a, 0xfa, 0x67,
0x19, 0x7b, 0x52, 0x9d, 0x6c, 0xf9, 0xb7, 0xfe, 0xf7, 0xbe, 0xfc, 0xf7, 0xad, 0x93, 0x91, 0xad, 0x52, 0xd3, 0xbb, 0x82,
0xa6, 0xfc, 0xcb, 0xbf, 0xfc, 0xaf, 0xaa, 0x91, 0x20, 0xff, 0x3c, 0x3d, 0xff, 0x3b, 0x2b, 0xe8, 0xa8, 0xa0, 0xb9, 0xbb,
0x22, 0xd0, 0x21, 0xff, 0xae, 0xff, 0x1f, 0xf1, 0x04, 0x3d, 0xf9, 0x5f, 0xf3, 0x8a, 0xfc, 0x7f, 0xfd, 0xde, 0x9f, 0x0a,
0xda, 0x2b, 0xf3, 0x1f, 0x4d, 0xc7, 0xff, 0xf6, 0xdf, 0xf1, 0xe1, 0x89, 0xf9, 0xd7, 0xff, 0xcf, 0xe7, 0xe2, 0xfe, 0x0a,
0x9a, 0xf9, 0x34, 0xcb, 0xbf, 0xfe, 0x7f, 0xc5, 0xfc, 0x9f, 0x9a, 0xb6, 0x47, 0x05, 0xcd, 0xb9, 0x6d, 0x93, 0x7f, 0xd0,
0x2b, 0xd4, 0xff, 0x07, 0xbd, 0x41, 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,
0x0d, 0x7e, 0x01 }; 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, 0xf6, 0xf9, 0xf3, 0x9f, 0xfd, 0x00, 0xf2, 0x0f, 0x7c, 0x2e, 0xff, 0xff, 0x00 };
// Font characters rectangles data // Font glyphs rectangles data (on atlas)
static const Rectangle terminalFontRecs[95] = { static const Rectangle terminalFontRecs[189] = {
{ 4, 4, 4 , 16 }, { 4, 4, 4 , 16 },
{ 16, 4, 1 , 11 }, { 16, 4, 1 , 11 },
{ 25, 4, 3 , 3 }, { 25, 4, 3 , 3 },
@ -113,85 +157,179 @@ static const Rectangle terminalFontRecs[95] = {
{ 210, 4, 5 , 11 }, { 210, 4, 5 , 11 },
{ 223, 4, 5 , 11 }, { 223, 4, 5 , 11 },
{ 236, 4, 5 , 11 }, { 236, 4, 5 , 11 },
{ 4, 28, 5 , 11 }, { 249, 4, 5 , 11 },
{ 17, 28, 5 , 11 }, { 262, 4, 5 , 11 },
{ 30, 28, 5 , 11 }, { 275, 4, 5 , 11 },
{ 43, 28, 5 , 11 }, { 288, 4, 5 , 11 },
{ 56, 28, 5 , 11 }, { 301, 4, 5 , 11 },
{ 69, 28, 1 , 8 }, { 314, 4, 1 , 8 },
{ 78, 28, 1 , 10 }, { 323, 4, 1 , 10 },
{ 87, 28, 4 , 5 }, { 332, 4, 4 , 5 },
{ 99, 28, 5 , 3 }, { 344, 4, 5 , 3 },
{ 112, 28, 4 , 5 }, { 357, 4, 4 , 5 },
{ 124, 28, 5 , 11 }, { 369, 4, 5 , 11 },
{ 137, 28, 11 , 11 }, { 382, 4, 11 , 11 },
{ 156, 28, 5 , 11 }, { 401, 4, 5 , 11 },
{ 169, 28, 5 , 11 }, { 414, 4, 5 , 11 },
{ 182, 28, 5 , 11 }, { 427, 4, 5 , 11 },
{ 195, 28, 5 , 11 }, { 440, 4, 5 , 11 },
{ 208, 28, 5 , 11 }, { 453, 4, 5 , 11 },
{ 221, 28, 5 , 11 }, { 466, 4, 5 , 11 },
{ 234, 28, 5 , 11 }, { 479, 4, 5 , 11 },
{ 4, 52, 5 , 11 }, { 492, 4, 5 , 11 },
{ 17, 52, 1 , 11 }, { 4, 28, 1 , 11 },
{ 26, 52, 5 , 11 }, { 13, 28, 5 , 11 },
{ 39, 52, 5 , 11 }, { 26, 28, 5 , 11 },
{ 52, 52, 5 , 11 }, { 39, 28, 5 , 11 },
{ 65, 52, 7 , 11 }, { 52, 28, 7 , 11 },
{ 80, 52, 5 , 11 }, { 67, 28, 5 , 11 },
{ 93, 52, 5 , 11 }, { 80, 28, 5 , 11 },
{ 106, 52, 5 , 11 }, { 93, 28, 5 , 11 },
{ 119, 52, 5 , 13 }, { 106, 28, 5 , 13 },
{ 132, 52, 5 , 11 }, { 119, 28, 5 , 11 },
{ 145, 52, 5 , 11 }, { 132, 28, 5 , 11 },
{ 158, 52, 5 , 11 }, { 145, 28, 5 , 11 },
{ 171, 52, 5 , 11 }, { 158, 28, 5 , 11 },
{ 184, 52, 5 , 11 }, { 171, 28, 5 , 11 },
{ 197, 52, 7 , 11 }, { 184, 28, 7 , 11 },
{ 212, 52, 5 , 11 }, { 199, 28, 5 , 11 },
{ 225, 52, 5 , 11 }, { 212, 28, 5 , 11 },
{ 238, 52, 5 , 11 }, { 225, 28, 5 , 11 },
{ 4, 76, 2 , 13 }, { 238, 28, 2 , 13 },
{ 14, 76, 6 , 12 }, { 248, 28, 6 , 12 },
{ 28, 76, 2 , 13 }, { 262, 28, 2 , 13 },
{ 38, 76, 5 , 4 }, { 272, 28, 5 , 4 },
{ 51, 76, 5 , 1 }, { 285, 28, 5 , 1 },
{ 64, 76, 2 , 2 }, { 298, 28, 2 , 2 },
{ 74, 76, 5 , 8 }, { 308, 28, 5 , 8 },
{ 87, 76, 5 , 11 }, { 321, 28, 5 , 11 },
{ 100, 76, 5 , 8 }, { 334, 28, 5 , 8 },
{ 113, 76, 5 , 11 }, { 347, 28, 5 , 11 },
{ 126, 76, 5 , 8 }, { 360, 28, 5 , 8 },
{ 139, 76, 4 , 11 }, { 373, 28, 4 , 11 },
{ 151, 76, 5 , 10 }, { 385, 28, 5 , 10 },
{ 164, 76, 5 , 11 }, { 398, 28, 5 , 11 },
{ 177, 76, 1 , 11 }, { 411, 28, 1 , 11 },
{ 186, 76, 1 , 13 }, { 420, 28, 1 , 13 },
{ 195, 76, 5 , 11 }, { 429, 28, 5 , 11 },
{ 208, 76, 1 , 11 }, { 442, 28, 1 , 11 },
{ 217, 76, 7 , 8 }, { 451, 28, 7 , 8 },
{ 232, 76, 5 , 8 }, { 466, 28, 5 , 8 },
{ 4, 100, 5 , 8 }, { 479, 28, 5 , 8 },
{ 17, 100, 5 , 10 }, { 492, 28, 5 , 10 },
{ 30, 100, 5 , 10 }, { 4, 52, 5 , 10 },
{ 43, 100, 4 , 8 }, { 17, 52, 4 , 8 },
{ 55, 100, 5 , 8 }, { 29, 52, 5 , 8 },
{ 68, 100, 3 , 11 }, { 42, 52, 3 , 11 },
{ 79, 100, 5 , 8 }, { 53, 52, 5 , 8 },
{ 92, 100, 5 , 8 }, { 66, 52, 5 , 8 },
{ 105, 100, 7 , 8 }, { 79, 52, 7 , 8 },
{ 120, 100, 5 , 8 }, { 94, 52, 5 , 8 },
{ 133, 100, 5 , 10 }, { 107, 52, 5 , 10 },
{ 146, 100, 5 , 8 }, { 120, 52, 5 , 8 },
{ 159, 100, 3 , 13 }, { 133, 52, 3 , 13 },
{ 170, 100, 1 , 15 }, { 144, 52, 1 , 15 },
{ 179, 100, 3 , 13 }, { 153, 52, 3 , 13 },
{ 190, 100, 5 , 3 }, { 164, 52, 5 , 3 },
{ 177, 52, 1 , 11 },
{ 186, 52, 5 , 11 },
{ 199, 52, 5 , 10 },
{ 212, 52, 5 , 10 },
{ 225, 52, 5 , 10 },
{ 238, 52, 0 , 0 },
{ 246, 52, 0 , 0 },
{ 254, 52, 0 , 0 },
{ 262, 52, 7 , 8 },
{ 277, 52, 0 , 0 },
{ 285, 52, 0 , 0 },
{ 293, 52, 5 , 3 },
{ 306, 52, 7 , 8 },
{ 321, 52, 5 , 1 },
{ 334, 52, 3 , 3 },
{ 345, 52, 5 , 7 },
{ 358, 52, 0 , 0 },
{ 366, 52, 0 , 0 },
{ 374, 52, 0 , 0 },
{ 382, 52, 5 , 10 },
{ 395, 52, 7 , 11 },
{ 410, 52, 1 , 1 },
{ 419, 52, 0 , 0 },
{ 427, 52, 0 , 0 },
{ 435, 52, 0 , 0 },
{ 443, 52, 0 , 0 },
{ 451, 52, 0 , 0 },
{ 459, 52, 0 , 0 },
{ 467, 52, 5 , 13 },
{ 480, 52, 5 , 11 },
{ 493, 52, 5 , 14 },
{ 4, 76, 5 , 14 },
{ 17, 76, 5 , 14 },
{ 30, 76, 5 , 14 },
{ 43, 76, 5 , 13 },
{ 56, 76, 5 , 13 },
{ 69, 76, 9 , 11 },
{ 86, 76, 5 , 13 },
{ 99, 76, 5 , 14 },
{ 112, 76, 5 , 14 },
{ 125, 76, 5 , 14 },
{ 138, 76, 5 , 13 },
{ 151, 76, 2 , 14 },
{ 161, 76, 2 , 14 },
{ 171, 76, 3 , 14 },
{ 182, 76, 3 , 13 },
{ 193, 76, 5 , 11 },
{ 206, 76, 5 , 14 },
{ 219, 76, 5 , 14 },
{ 232, 76, 5 , 14 },
{ 245, 76, 5 , 14 },
{ 258, 76, 5 , 14 },
{ 271, 76, 5 , 13 },
{ 284, 76, 5 , 5 },
{ 297, 76, 5 , 13 },
{ 310, 76, 5 , 14 },
{ 323, 76, 5 , 14 },
{ 336, 76, 5 , 14 },
{ 349, 76, 5 , 13 },
{ 362, 76, 5 , 14 },
{ 375, 76, 5 , 11 },
{ 388, 76, 5 , 11 },
{ 401, 76, 5 , 11 },
{ 414, 76, 5 , 11 },
{ 427, 76, 5 , 11 },
{ 440, 76, 5 , 11 },
{ 453, 76, 5 , 10 },
{ 466, 76, 5 , 10 },
{ 479, 76, 9 , 8 },
{ 496, 76, 5 , 10 },
{ 4, 100, 5 , 11 },
{ 17, 100, 5 , 11 },
{ 30, 100, 5 , 11 },
{ 43, 100, 5 , 10 },
{ 56, 100, 2 , 11 },
{ 66, 100, 2 , 11 },
{ 76, 100, 3 , 11 },
{ 87, 100, 3 , 10 },
{ 98, 100, 5 , 11 },
{ 111, 100, 5 , 11 },
{ 124, 100, 5 , 11 },
{ 137, 100, 5 , 11 },
{ 150, 100, 5 , 11 },
{ 163, 100, 5 , 11 },
{ 176, 100, 5 , 10 },
{ 189, 100, 5 , 5 },
{ 202, 100, 5 , 10 },
{ 215, 100, 5 , 11 },
{ 228, 100, 5 , 11 },
{ 241, 100, 5 , 11 },
{ 254, 100, 5 , 10 },
{ 267, 100, 5 , 13 },
{ 280, 100, 4 , 8 },
{ 292, 100, 5 , 12 },
}; };
// Font characters info data // Font glyphs info data
// NOTE: No chars.image data provided // NOTE: No glyphs.image data provided
static const GlyphInfo terminalFontChars[95] = { static const GlyphInfo terminalFontGlyphs[189] = {
{ 32, 0, 14, 4, { 0 }}, { 32, 0, 14, 4, { 0 }},
{ 33, 1, 3, 3, { 0 }}, { 33, 1, 3, 3, { 0 }},
{ 34, 1, 3, 5, { 0 }}, { 34, 1, 3, 5, { 0 }},
@ -287,9 +425,103 @@ static const GlyphInfo terminalFontChars[95] = {
{ 124, 1, 1, 3, { 0 }}, { 124, 1, 1, 3, { 0 }},
{ 125, 1, 2, 5, { 0 }}, { 125, 1, 2, 5, { 0 }},
{ 126, 1, 8, 7, { 0 }}, { 126, 1, 8, 7, { 0 }},
{ 161, 1, 3, 3, { 0 }},
{ 162, 1, 3, 7, { 0 }},
{ 163, 1, 3, 7, { 0 }},
{ 8364, 1, 3, 7, { 0 }},
{ 165, 1, 3, 7, { 0 }},
{ 352, 0, 14, 4, { 0 }},
{ 167, 0, 14, 4, { 0 }},
{ 353, 0, 14, 4, { 0 }},
{ 169, 1, 3, 9, { 0 }},
{ 170, 0, 14, 4, { 0 }},
{ 171, 0, 14, 4, { 0 }},
{ 172, 1, 8, 7, { 0 }},
{ 174, 1, 3, 9, { 0 }},
{ 175, 1, 1, 7, { 0 }},
{ 176, 1, 0, 5, { 0 }},
{ 177, 1, 7, 7, { 0 }},
{ 178, 0, 14, 4, { 0 }},
{ 179, 0, 14, 4, { 0 }},
{ 381, 0, 14, 4, { 0 }},
{ 181, 1, 6, 7, { 0 }},
{ 182, 1, 3, 9, { 0 }},
{ 183, 1, 8, 3, { 0 }},
{ 382, 0, 14, 4, { 0 }},
{ 185, 0, 14, 4, { 0 }},
{ 186, 0, 14, 4, { 0 }},
{ 187, 0, 14, 4, { 0 }},
{ 338, 0, 14, 4, { 0 }},
{ 339, 0, 14, 4, { 0 }},
{ 376, 1, 1, 7, { 0 }},
{ 191, 1, 3, 7, { 0 }},
{ 192, 1, 0, 7, { 0 }},
{ 193, 1, 0, 7, { 0 }},
{ 194, 1, 0, 7, { 0 }},
{ 195, 1, 0, 7, { 0 }},
{ 196, 1, 1, 7, { 0 }},
{ 197, 1, 1, 7, { 0 }},
{ 198, 1, 3, 11, { 0 }},
{ 199, 1, 3, 7, { 0 }},
{ 200, 1, 0, 7, { 0 }},
{ 201, 1, 0, 7, { 0 }},
{ 202, 1, 0, 7, { 0 }},
{ 203, 1, 1, 7, { 0 }},
{ 204, 0, 0, 3, { 0 }},
{ 205, 1, 0, 3, { 0 }},
{ 206, 0, 0, 3, { 0 }},
{ 207, 0, 1, 3, { 0 }},
{ 208, 1, 3, 7, { 0 }},
{ 209, 1, 0, 7, { 0 }},
{ 210, 1, 0, 7, { 0 }},
{ 211, 1, 0, 7, { 0 }},
{ 212, 1, 0, 7, { 0 }},
{ 213, 1, 0, 7, { 0 }},
{ 214, 1, 1, 7, { 0 }},
{ 215, 1, 7, 7, { 0 }},
{ 216, 1, 2, 7, { 0 }},
{ 217, 1, 0, 7, { 0 }},
{ 218, 1, 0, 7, { 0 }},
{ 219, 1, 0, 7, { 0 }},
{ 220, 1, 1, 7, { 0 }},
{ 221, 1, 0, 7, { 0 }},
{ 222, 1, 3, 7, { 0 }},
{ 223, 1, 3, 7, { 0 }},
{ 224, 1, 3, 7, { 0 }},
{ 225, 1, 3, 7, { 0 }},
{ 226, 1, 3, 7, { 0 }},
{ 227, 1, 3, 7, { 0 }},
{ 228, 1, 4, 7, { 0 }},
{ 229, 1, 4, 7, { 0 }},
{ 230, 1, 6, 11, { 0 }},
{ 231, 1, 6, 7, { 0 }},
{ 232, 1, 3, 7, { 0 }},
{ 233, 1, 3, 7, { 0 }},
{ 234, 1, 3, 7, { 0 }},
{ 235, 1, 4, 7, { 0 }},
{ 236, 0, 3, 3, { 0 }},
{ 237, 1, 3, 3, { 0 }},
{ 238, 0, 3, 3, { 0 }},
{ 239, 0, 4, 3, { 0 }},
{ 240, 1, 3, 7, { 0 }},
{ 241, 1, 3, 7, { 0 }},
{ 242, 1, 3, 7, { 0 }},
{ 243, 1, 3, 7, { 0 }},
{ 244, 1, 3, 7, { 0 }},
{ 245, 1, 3, 7, { 0 }},
{ 246, 1, 4, 7, { 0 }},
{ 247, 1, 7, 7, { 0 }},
{ 248, 1, 5, 7, { 0 }},
{ 249, 1, 3, 7, { 0 }},
{ 250, 1, 3, 7, { 0 }},
{ 251, 1, 3, 7, { 0 }},
{ 252, 1, 4, 7, { 0 }},
{ 253, 1, 3, 7, { 0 }},
{ 254, 1, 6, 6, { 0 }},
{ 255, 1, 4, 7, { 0 }},
}; };
// Style loading function: terminal // Style loading function: Terminal
static void GuiLoadStyleTerminal(void) static void GuiLoadStyleTerminal(void)
{ {
// Load style properties provided // Load style properties provided
@ -302,32 +534,36 @@ static void GuiLoadStyleTerminal(void)
// Custom font loading // Custom font loading
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
int terminalFontDataSize = 0; int terminalFontDataSize = 0;
unsigned char *data = DecompressData(terminalFontData, TERMINAL_COMPRESSED_DATA_SIZE, &terminalFontDataSize); unsigned char *data = DecompressData(terminalFontData, TERMINAL_STYLE_FONT_ATLAS_COMP_SIZE, &terminalFontDataSize);
Image imFont = { data, 256, 256, 1, 2 }; Image imFont = { data, 512, 256, 1, 2 };
Font font = { 0 }; Font font = { 0 };
font.baseSize = 16; font.baseSize = 16;
font.glyphCount = 95; font.glyphCount = 189;
// Load texture from image // Load texture from image
font.texture = LoadTextureFromImage(imFont); font.texture = LoadTextureFromImage(imFont);
UnloadImage(imFont); // Uncompressed data can be unloaded from memory UnloadImage(imFont); // Uncompressed image data can be unloaded from memory
// Copy char recs data from global fontRecs // Copy char recs data from global fontRecs
// NOTE: Required to avoid issues if trying to free font // NOTE: Required to avoid issues if trying to free font
font.recs = (Rectangle *)malloc(font.glyphCount*sizeof(Rectangle)); font.recs = (Rectangle *)RAYGUI_MALLOC(font.glyphCount*sizeof(Rectangle));
memcpy(font.recs, terminalFontRecs, font.glyphCount*sizeof(Rectangle)); memcpy(font.recs, terminalFontRecs, font.glyphCount*sizeof(Rectangle));
// Copy font char info data from global fontChars // Copy font char info data from global fontChars
// NOTE: Required to avoid issues if trying to free font // NOTE: Required to avoid issues if trying to free font
font.glyphs = (GlyphInfo *)malloc(font.glyphCount*sizeof(GlyphInfo)); font.glyphs = (GlyphInfo *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
memcpy(font.glyphs, terminalFontChars, font.glyphCount*sizeof(GlyphInfo)); memcpy(font.glyphs, terminalFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
GuiSetFont(font); GuiSetFont(font);
// Setup a white rectangle on the font to be used on shapes drawing, // Setup a white rectangle on the font to be used on shapes drawing,
// this way we make sure all gui can be drawn on a single pass because no texture change is required // it makes possible to draw shapes and text (full UI) in a single draw call
// NOTE: Setting up this rectangle is a manual process (for the moment) Rectangle fontWhiteRec = { 510, 254, 1, 1 };
Rectangle whiteChar = { 63, 4, 2, 2 }; SetShapesTexture(font.texture, fontWhiteRec);
SetShapesTexture(font.texture, whiteChar);
//-----------------------------------------------------------------
// TODO: Custom user style setup: Set specific properties here (if required)
// i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT
} }

View File

@ -31,6 +31,7 @@ if(${BUILD_RAYGUI_EXAMPLES})
# Get the sources together # Get the sources together
set(example_dirs set(example_dirs
animation_curve
controls_test_suite controls_test_suite
custom_file_dialog custom_file_dialog
custom_sliders custom_sliders
@ -72,4 +73,4 @@ if(${BUILD_RAYGUI_EXAMPLES})
# Copy all of the resource files to the destination # Copy all of the resource files to the destination
file(COPY ${example_resources} DESTINATION "resources/") file(COPY ${example_resources} DESTINATION "resources/")
endif() endif()

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
# raygui styles # raygui styles
`raygui` comes with **12 custom styles** carefully designed for the best visual experience. Those styles have been created using [rGuiStyler](https://raylibtech.itch.io/rguistyler) tool and they complement internal [default style](default), always available by `raygui`. `raygui` comes with **several custom UI styles** carefully designed for the best visual experience. Those styles have been created using [rGuiStyler](https://raylibtech.itch.io/rguistyler) tool and they complement internal [default style](default), always available by `raygui`.
## styles usage ## styles usage
@ -46,5 +46,8 @@ Here it is a quick overview of those styles, you can navigate to each directory
#### 12. enefete: [enefete](enefete) #### 12. enefete: [enefete](enefete)
![enefete style](enefete/style_enefete.png) ![enefete style](enefete/style_enefete.png)
#### 13. amber: [amber](amber)
![amber style](amber/style_amber.png)
*NOTE: Those styles require raylib 4.5+ and raygui 4.0*
*NOTE: Those styles require raylib 5.5 and raygui 4.5*

33
styles/amber/README.md Normal file
View File

@ -0,0 +1,33 @@
## style: amber
Amber accenture and charcoal tones with a light font for nice visuals.
![amber style table](style_amber.png)
## style: provided files
Several options are provided to add the style to a `raygui` application, choose the one that better fits the project.
| file name | description |
| :-------- | :---------- |
| `style_amber.rgs` | Binary style file (raygui 4.0), font data compressed (recs, glyphs) |
| `style_amber.h` | Embeddable style as code file, self-contained, includes font data |
| `style_amber.png` | Style table image, contains `rGSf` chunk with binary `rgs` file data |
## screenshot
![amber style screen](screenshot.png)
## about font
"Hello World" font by Anthony Gross
```
CATEGORY: Monospace
LANGUAGE SUPPORT: Latin Extended
FORMAT: TTF
LICENSE: Free for personal and commercial use, SIL Open Font License
```
This font is licensed under the Open Font License. More info: https://www.dafont.com/es/hello-world.font
_The style font is optimized to look best at 16px, if you require different sizing please open the style in rGuiStyler and edit it._

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
styles/amber/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

608
styles/amber/style_amber.h Normal file
View File

@ -0,0 +1,608 @@
//////////////////////////////////////////////////////////////////////////////////
// //
// StyleAsCode exporter v2.0 - Style data exported as a values array //
// //
// USAGE: On init call: GuiLoadStyleAmber(); //
// //
// more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com //
// //
// Copyright (c) 2020-2025 raylib technologies (@raylibtech) //
// //
//////////////////////////////////////////////////////////////////////////////////
#define AMBER_STYLE_PROPS_COUNT 18
// Custom style name: Amber
static const GuiStyleProp amberStyleProps[AMBER_STYLE_PROPS_COUNT] = {
{ 0, 0, (int)0x898988ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, (int)0x292929ff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, (int)0xd4d4d4ff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, (int)0xeb891dff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, (int)0x292929ff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, (int)0xffffffff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, (int)0xf1cf9dff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, (int)0xf39333ff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, (int)0x191410ff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, (int)0x6a6a6aff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, (int)0x818181ff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, (int)0x606060ff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, (int)0x00000010 }, // DEFAULT_TEXT_SIZE
{ 0, 18, (int)0xef922aff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0x333333ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
{ 1, 8, (int)0xe7e0d4ff }, // LABEL_TEXT_COLOR_PRESSED
{ 4, 8, (int)0xf1cf9dff }, // SLIDER_TEXT_COLOR_PRESSED
};
// WARNING: This style uses a custom font: "hello-world.ttf" (size: 16, spacing: 1)
#define AMBER_STYLE_FONT_ATLAS_COMP_SIZE 2605
// Font atlas image pixels data: DEFLATE compressed
static unsigned char amberFontData[AMBER_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
0xdd, 0x8b, 0x8e, 0x9c, 0xb8, 0x12, 0x00, 0x50, 0xf8, 0xff, 0x7f, 0x76, 0x5d, 0xe9, 0x66, 0xb3, 0xd2, 0xee, 0x8e, 0x6d,
0xaa, 0x30, 0x8f, 0xee, 0x9c, 0x1c, 0x45, 0x91, 0x9a, 0x34, 0x18, 0xdb, 0x85, 0x0d, 0x33, 0x94, 0x63, 0x03, 0x00, 0x00,
0x00, 0x88, 0x2d, 0x5a, 0xe7, 0xb3, 0xcc, 0xe7, 0x5b, 0xf7, 0xf3, 0xf6, 0xd7, 0xe7, 0x6d, 0xb0, 0xed, 0xe8, 0xbe, 0xfa,
0x65, 0xda, 0x92, 0xfb, 0x89, 0xee, 0x37, 0xe2, 0x87, 0x4f, 0x7e, 0xff, 0xc9, 0xec, 0xa7, 0x77, 0xbe, 0xf9, 0xda, 0xcb,
0x6e, 0x19, 0x1f, 0xbd, 0x25, 0x4b, 0x56, 0xff, 0xce, 0xd1, 0x7a, 0xcf, 0xd4, 0xe1, 0xef, 0x3f, 0x2d, 0xb1, 0x97, 0x71,
0x79, 0x7e, 0xde, 0xdb, 0x36, 0x39, 0xeb, 0xdc, 0x79, 0xb7, 0xe9, 0x96, 0xda, 0xb7, 0xd6, 0xc4, 0x7f, 0xaf, 0x4d, 0x32,
0x9f, 0x6f, 0xdd, 0x7a, 0xfc, 0x15, 0x37, 0xbd, 0xb8, 0xdd, 0x13, 0xfd, 0xa4, 0x17, 0x23, 0xfb, 0x20, 0xca, 0x23, 0xb5,
0xff, 0x71, 0x2f, 0x5a, 0x71, 0x4d, 0xed, 0x95, 0xf6, 0xe7, 0xab, 0x4b, 0xff, 0x1b, 0x6d, 0x78, 0xe6, 0xb5, 0x6b, 0x55,
0xbf, 0x1e, 0xf7, 0x1f, 0xbe, 0x5b, 0x2b, 0xdb, 0xf1, 0x72, 0x45, 0xba, 0x2d, 0x62, 0xd8, 0x6b, 0xf6, 0xee, 0x35, 0x23,
0x77, 0x76, 0x51, 0x38, 0xef, 0x98, 0x6c, 0xd9, 0x52, 0xa3, 0x5a, 0x5b, 0x3c, 0xfe, 0xaf, 0x88, 0xff, 0xf8, 0x7f, 0x2d,
0xee, 0xa9, 0xf1, 0x36, 0x92, 0x65, 0xca, 0x47, 0xed, 0xde, 0x39, 0x6e, 0x7f, 0x3c, 0xbf, 0xba, 0x4e, 0x7b, 0xdb, 0xf6,
0x42, 0x6d, 0xf4, 0xb6, 0xb4, 0xee, 0x79, 0x6f, 0xe5, 0xab, 0x5e, 0x24, 0xce, 0x26, 0x4e, 0x5f, 0x4b, 0x63, 0xd0, 0xd2,
0xe3, 0xb6, 0x8b, 0x74, 0x49, 0xa3, 0xf0, 0x9d, 0xf1, 0x96, 0x6d, 0xe9, 0x77, 0xae, 0x1b, 0xa3, 0xf2, 0xfb, 0x1b, 0xcf,
0xbe, 0xa2, 0x18, 0x0f, 0xe7, 0xcb, 0xb9, 0xa7, 0xaf, 0x89, 0x71, 0xf1, 0x3d, 0x55, 0x36, 0xfe, 0xb7, 0x85, 0xf1, 0x1f,
0xe9, 0xfa, 0xbe, 0x2f, 0xfe, 0x9f, 0x18, 0xff, 0xb7, 0x49, 0xfc, 0x6f, 0xe2, 0x3f, 0xf5, 0x7f, 0x73, 0xf7, 0x05, 0xe3,
0x71, 0x3b, 0x12, 0xf3, 0x99, 0x58, 0x18, 0xcf, 0x71, 0x7b, 0xf4, 0x8f, 0x7a, 0x5b, 0x65, 0x26, 0xd8, 0xbf, 0xdf, 0xea,
0xc7, 0xd9, 0xe8, 0x1e, 0x2d, 0xd2, 0x33, 0xce, 0xd1, 0xdd, 0x55, 0xe6, 0x79, 0x49, 0x2c, 0xeb, 0x99, 0x5b, 0x29, 0xfe,
0x23, 0xf5, 0xcc, 0x27, 0x26, 0x35, 0x9f, 0x8d, 0xff, 0x18, 0x5c, 0xff, 0x46, 0xfd, 0x28, 0x2e, 0xbd, 0xff, 0xcf, 0xc6,
0xff, 0x36, 0x99, 0x95, 0x6d, 0xa9, 0x9e, 0x5a, 0x29, 0x65, 0x7b, 0xd1, 0x13, 0xd5, 0x95, 0xf1, 0x1f, 0xc9, 0xb3, 0x8e,
0x03, 0x4f, 0xc3, 0x7a, 0xc7, 0xa8, 0xdc, 0xbd, 0xb5, 0x93, 0xfd, 0x2a, 0x1e, 0x6c, 0x93, 0x33, 0x23, 0x76, 0x7b, 0x7c,
0xfc, 0x8f, 0xc7, 0xe6, 0xff, 0x91, 0x9e, 0x1b, 0x5c, 0x1f, 0xff, 0xf1, 0xf2, 0xe8, 0xaf, 0xcd, 0xff, 0xa3, 0x38, 0x2f,
0x8f, 0x45, 0x73, 0xf9, 0xea, 0xdd, 0xcc, 0xbb, 0x5a, 0x64, 0x9b, 0x3e, 0x4f, 0xf8, 0xc4, 0xf9, 0x7f, 0x3c, 0x54, 0x8f,
0x51, 0xb8, 0x37, 0x10, 0xff, 0x95, 0xf8, 0xaf, 0xcd, 0x69, 0x67, 0x4f, 0x37, 0x63, 0xe9, 0x95, 0xe9, 0xb3, 0xe3, 0xbf,
0x1e, 0xb1, 0xe2, 0xff, 0xe8, 0xdc, 0x36, 0x86, 0xcf, 0x65, 0x63, 0x49, 0x1b, 0x7e, 0xc6, 0x58, 0xb3, 0x2e, 0xfe, 0xe3,
0xc4, 0x5d, 0xc3, 0x9f, 0x18, 0xff, 0xdb, 0x8d, 0xf1, 0x1f, 0x5f, 0x3b, 0xff, 0xaf, 0xdc, 0xff, 0xc7, 0xf0, 0x27, 0xd2,
0xb1, 0x68, 0x06, 0xf0, 0xfe, 0xd1, 0xbf, 0xf2, 0xb4, 0x67, 0xfc, 0x9b, 0x47, 0x91, 0xfe, 0xb9, 0x40, 0xe5, 0x69, 0xd3,
0x6c, 0xee, 0xbc, 0xa5, 0xcb, 0xf6, 0xe9, 0xe3, 0x7f, 0xfe, 0xbc, 0x63, 0xba, 0x25, 0x0a, 0xfd, 0xe8, 0x6d, 0xd7, 0xd7,
0x78, 0x7c, 0x64, 0x05, 0xbe, 0x97, 0xf8, 0x07, 0x57, 0x00, 0xd1, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xc0, 0x77, 0x6a, 0xff, 0xfa, 0xf7, 0x9f, 0xdb, 0xda, 0x8f, 0xd9, 0x8c, 0x5b, 0x77, 0x4b, 0x6f, 0x5f, 0xad,
0x70, 0xfc, 0x7c, 0xc9, 0x56, 0xe7, 0x60, 0xdf, 0x06, 0x67, 0x5a, 0xaf, 0x83, 0xeb, 0xb7, 0x8c, 0x4b, 0x9d, 0x69, 0x9b,
0x7e, 0xbd, 0x6c, 0xa9, 0x77, 0x92, 0x73, 0x79, 0x02, 0xdb, 0xe4, 0x0d, 0xd7, 0xec, 0xba, 0x0e, 0xb3, 0x1c, 0x86, 0x99,
0xcc, 0x87, 0xed, 0x50, 0x34, 0xcd, 0x3f, 0xcf, 0x96, 0x67, 0x1b, 0x66, 0xc5, 0x8c, 0x72, 0xde, 0xbf, 0x5a, 0xee, 0xe9,
0x3d, 0x99, 0xf9, 0x69, 0xf4, 0x3e, 0x7a, 0x4b, 0x67, 0x67, 0xbe, 0x2b, 0x07, 0xfb, 0xa8, 0x3e, 0xf7, 0x74, 0xf6, 0x8b,
0xca, 0x96, 0xbd, 0xbb, 0xae, 0xca, 0x2c, 0xd7, 0xc3, 0x7e, 0xb8, 0x15, 0x46, 0x39, 0x92, 0xf7, 0x6e, 0x1e, 0xf1, 0x5c,
0x5f, 0x5b, 0x95, 0xfb, 0x3e, 0xa6, 0x25, 0x8e, 0xe4, 0x77, 0xda, 0xf0, 0x38, 0x71, 0xd9, 0x3b, 0x65, 0x91, 0xac, 0xad,
0xed, 0xef, 0x1c, 0x1b, 0xb9, 0xba, 0x3c, 0x13, 0xff, 0x95, 0xfc, 0xd2, 0x5b, 0x3a, 0x03, 0xea, 0xde, 0xc9, 0x4b, 0xff,
0xfb, 0x7a, 0x76, 0x57, 0xa6, 0x95, 0x6c, 0x5b, 0xdf, 0x11, 0xff, 0xf3, 0xdc, 0x69, 0x91, 0x1a, 0x07, 0xf3, 0x7d, 0xf1,
0x89, 0xdc, 0x0d, 0x77, 0xe5, 0x23, 0x3f, 0xd3, 0x8a, 0x57, 0xc6, 0x7f, 0x3e, 0x4f, 0x6c, 0x3d, 0xf3, 0xcf, 0xfa, 0xf8,
0xcf, 0xe7, 0xab, 0x8a, 0x6e, 0x3e, 0x15, 0xf1, 0x5f, 0x8d, 0xff, 0xf8, 0x80, 0xf8, 0x5f, 0x99, 0x49, 0x7b, 0xb6, 0xb7,
0x48, 0x65, 0x3e, 0x9f, 0x65, 0xf9, 0x69, 0x83, 0xb9, 0xec, 0xb1, 0xbb, 0x8f, 0x38, 0x30, 0xff, 0xb8, 0x27, 0xfe, 0x67,
0x99, 0x7b, 0x73, 0xfd, 0xab, 0xba, 0x9f, 0x55, 0x6b, 0x30, 0xcc, 0x7a, 0x4e, 0xb6, 0x45, 0x23, 0xb9, 0x52, 0xe0, 0xea,
0xf8, 0x1f, 0x47, 0x6d, 0xad, 0x6c, 0xdb, 0xd2, 0x11, 0xf7, 0xec, 0x08, 0x18, 0x4b, 0xef, 0x0c, 0xee, 0xb9, 0x8a, 0xef,
0xa7, 0x57, 0x8f, 0x8b, 0xe1, 0x1d, 0xe6, 0xba, 0xbe, 0x75, 0xef, 0xf8, 0x1f, 0x8b, 0xf3, 0xa9, 0xc7, 0x8d, 0x99, 0x56,
0xf3, 0xab, 0x5c, 0x64, 0xeb, 0xb3, 0x92, 0x23, 0x35, 0x9f, 0x55, 0xf9, 0x5b, 0xe2, 0xff, 0xfa, 0x2d, 0xeb, 0x23, 0x2d,
0x17, 0xff, 0x71, 0xc3, 0xdc, 0xf2, 0x13, 0xe6, 0xff, 0xdb, 0x30, 0x5f, 0xfd, 0x5d, 0xf1, 0x5f, 0x6d, 0x8d, 0x6b, 0xe3,
0x3f, 0x0a, 0xf3, 0xf6, 0x95, 0xf3, 0xfc, 0x67, 0xe6, 0xff, 0xe3, 0x31, 0x26, 0xd2, 0xf5, 0x5e, 0xcd, 0x61, 0x7a, 0x65,
0xfc, 0xc7, 0x2d, 0xf7, 0x96, 0xf7, 0xc7, 0xff, 0xda, 0xb8, 0x5c, 0x1b, 0xff, 0x2b, 0xd7, 0xab, 0x10, 0xff, 0xf7, 0xcf,
0x0c, 0xd6, 0x7e, 0xa7, 0x72, 0x77, 0xf0, 0xe4, 0xf8, 0x7f, 0x7f, 0x5d, 0x3f, 0x1f, 0xff, 0x2b, 0xe7, 0xff, 0xf1, 0x70,
0xfc, 0x57, 0xd6, 0xff, 0xba, 0x67, 0x96, 0x2f, 0xfe, 0x9f, 0x88, 0xff, 0x37, 0xd4, 0x7a, 0x7e, 0xde, 0x34, 0x7f, 0x5a,
0x98, 0x5b, 0x35, 0xb1, 0xf6, 0x54, 0x3c, 0x8a, 0x2b, 0x87, 0x47, 0xa1, 0xd4, 0x95, 0x99, 0xe3, 0xb6, 0xe4, 0x5e, 0xbe,
0x76, 0x35, 0xa9, 0x64, 0x8e, 0xaf, 0xae, 0x33, 0x76, 0xe7, 0x7d, 0xc1, 0x35, 0xdf, 0xca, 0xb5, 0x62, 0x4c, 0xeb, 0x7e,
0xc5, 0x75, 0x64, 0x7b, 0x61, 0x16, 0x7f, 0x3e, 0x5d, 0xdc, 0xf4, 0x1d, 0xd4, 0x22, 0xe2, 0x1f, 0xb5, 0xc8, 0x9b, 0x7a,
0x61, 0x24, 0xef, 0xa9, 0xcd, 0x42, 0xd7, 0xd4, 0xba, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x56, 0xfd, 0x7e, 0x72, 0x36, 0xa7, 0xf8, 0x28, 0x6f, 0x62, 0x7e, 0x7f, 0xb3, 0x2c, 0x68, 0xed, 0xc1, 0x2d, 0xa3,
0x5a, 0x68, 0x07, 0xcf, 0xa6, 0x25, 0xf3, 0xbc, 0xf5, 0xeb, 0xa4, 0x9f, 0x5f, 0xbe, 0x25, 0xb7, 0xb5, 0xc9, 0x1e, 0x8f,
0xee, 0xfd, 0x78, 0x1b, 0xf7, 0xb3, 0xa8, 0xe5, 0xea, 0xbd, 0x9f, 0x99, 0xbf, 0x25, 0x57, 0x2c, 0x98, 0xd5, 0xe8, 0x96,
0x68, 0xc9, 0x23, 0xbd, 0x69, 0xb4, 0xd6, 0xc4, 0xd1, 0x76, 0x38, 0x7a, 0x0e, 0x71, 0xf0, 0xad, 0xa3, 0x59, 0xae, 0xc5,
0xd1, 0x96, 0x4c, 0x56, 0xa3, 0x33, 0xb9, 0x27, 0x56, 0xe6, 0xd2, 0x5d, 0x95, 0x4b, 0x3f, 0x97, 0xbb, 0x71, 0x1f, 0xb6,
0x51, 0x9c, 0xbc, 0x52, 0xb7, 0xc1, 0x31, 0x5a, 0x21, 0xef, 0xc3, 0xf1, 0xbd, 0x1f, 0x6f, 0xe3, 0x3d, 0x9d, 0xdd, 0x64,
0x65, 0xfe, 0xfd, 0x96, 0xce, 0xd8, 0xb9, 0x27, 0x57, 0xc4, 0x38, 0x9e, 0x4f, 0x62, 0x4f, 0x67, 0xae, 0x98, 0xf5, 0xc3,
0xfd, 0xc4, 0x15, 0xe0, 0xce, 0xfc, 0x3b, 0x6f, 0x88, 0xff, 0x55, 0xb9, 0xb4, 0xaf, 0xce, 0xca, 0xd3, 0xba, 0xa5, 0x6f,
0x17, 0xd7, 0x6d, 0x3d, 0xe2, 0x62, 0x98, 0x01, 0x23, 0xca, 0x63, 0xd4, 0xd1, 0x63, 0x8c, 0x22, 0x67, 0xb4, 0x62, 0xd1,
0xf1, 0xeb, 0x66, 0x2c, 0x88, 0xff, 0x33, 0x6f, 0x03, 0x1f, 0x1f, 0x5b, 0x8e, 0xd6, 0xef, 0x7d, 0x19, 0xf3, 0xc7, 0x39,
0xd8, 0x73, 0x59, 0xd8, 0x57, 0x67, 0xcc, 0x59, 0x17, 0xe7, 0xab, 0xf2, 0xe8, 0xe4, 0xa2, 0x25, 0xd2, 0xf3, 0xf1, 0x4c,
0xfc, 0xc7, 0xe1, 0xd9, 0x7f, 0x36, 0x9f, 0x4d, 0x3e, 0x1a, 0x62, 0xf1, 0x1b, 0xb5, 0xfd, 0xf2, 0xb6, 0x8b, 0xc6, 0xff,
0xd5, 0xf1, 0xbf, 0x9d, 0x88, 0xfe, 0x7b, 0x57, 0xcc, 0xd8, 0x8a, 0xeb, 0x52, 0x5c, 0x9d, 0x4b, 0x33, 0x0a, 0x65, 0x7b,
0x2e, 0xfe, 0xb3, 0x2b, 0x18, 0x8c, 0x8e, 0xd0, 0x0e, 0x97, 0xa4, 0x5d, 0x14, 0x9b, 0x51, 0xec, 0xd5, 0xf1, 0x48, 0x66,
0x8e, 0x73, 0xe3, 0xff, 0x76, 0x3a, 0xfe, 0xd7, 0xd7, 0xab, 0xf8, 0xaf, 0xcf, 0x67, 0xee, 0x8d, 0xff, 0xad, 0xb0, 0x4e,
0x4b, 0x14, 0x66, 0x5d, 0xf5, 0x2b, 0xc0, 0x5d, 0xfd, 0xfa, 0xed, 0xcf, 0xd3, 0x67, 0xfd, 0xe0, 0x5d, 0xe7, 0x30, 0xeb,
0x21, 0x99, 0x7e, 0x15, 0x93, 0xa3, 0xe4, 0xef, 0x8d, 0x2b, 0x7d, 0x7e, 0x2b, 0x66, 0x88, 0xaf, 0xe4, 0x2d, 0x3d, 0x7f,
0xbf, 0x70, 0xfe, 0x2a, 0x52, 0x5d, 0xbf, 0x2b, 0x4e, 0xf7, 0x91, 0x4c, 0x7b, 0xad, 0xed, 0xaf, 0xef, 0xbd, 0x0e, 0xcc,
0xb3, 0xc6, 0x7e, 0x46, 0x3e, 0xa0, 0xb8, 0xed, 0x5a, 0xfc, 0x96, 0xfa, 0x88, 0x45, 0x77, 0x8e, 0x57, 0x8d, 0xff, 0x6b,
0x9f, 0xad, 0x66, 0xe3, 0xe8, 0xfb, 0xb2, 0x58, 0xc5, 0x25, 0xd7, 0x92, 0x58, 0x7a, 0xbf, 0x23, 0xfe, 0xc5, 0xff, 0x15,
0xf1, 0x7f, 0xfc, 0x18, 0xf1, 0xb5, 0xf1, 0xff, 0x44, 0x2f, 0x12, 0xff, 0x67, 0xe6, 0x97, 0x6f, 0x9a, 0x51, 0x5e, 0x1b,
0xff, 0xeb, 0xc6, 0xb1, 0xca, 0x7d, 0xd7, 0x9b, 0x5a, 0x47, 0xfc, 0xf3, 0x49, 0xed, 0xfc, 0x9e, 0x75, 0x34, 0x00, 0xf1,
0x0f, 0x5c, 0x33, 0xef, 0x3e, 0xf6, 0x93, 0x7b, 0xd1, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xc0, 0x59, 0xad, 0x9b, 0x59, 0x3c, 0xba, 0x59, 0xcc, 0xff, 0xf9, 0xef, 0xcf, 0x5b, 0x9f, 0x3d, 0x9f, 0x2d, 0x55, 0xb6,
0x36, 0xcc, 0xf8, 0xde, 0x1e, 0x2e, 0xf5, 0x95, 0x47, 0x68, 0xb7, 0x9d, 0xe1, 0xda, 0x5a, 0xe9, 0xbd, 0x47, 0xdb, 0x6e,
0xa8, 0xc9, 0x5a, 0x7b, 0xb5, 0xe1, 0xb6, 0x96, 0xee, 0xb3, 0xb5, 0x2d, 0xff, 0xfd, 0x9f, 0xfb, 0xb0, 0x86, 0xf7, 0x64,
0x5e, 0xde, 0xda, 0x9b, 0xd1, 0xb5, 0x6c, 0x5a, 0x3f, 0x6f, 0xdb, 0xff, 0xfa, 0xdb, 0xdb, 0x96, 0xa9, 0x83, 0x71, 0xee,
0xfb, 0x95, 0xe7, 0x33, 0x2a, 0xf5, 0x9a, 0x0c, 0xc4, 0x3f, 0x1f, 0x21, 0x06, 0x67, 0x18, 0xa5, 0x6c, 0x66, 0x77, 0xb5,
0x65, 0x6f, 0x4d, 0x86, 0xbd, 0xb0, 0xda, 0xca, 0x1d, 0xed, 0x15, 0xa5, 0xf5, 0x1b, 0xb6, 0x49, 0xdf, 0xcc, 0xf5, 0xe7,
0x4c, 0xdd, 0x8f, 0xf2, 0xcd, 0x8e, 0xce, 0xb3, 0x7f, 0xe4, 0xfe, 0x99, 0xec, 0xc9, 0x33, 0xf9, 0xf5, 0xf9, 0x9e, 0xbc,
0x96, 0xb6, 0xc1, 0x3c, 0xa7, 0xf2, 0xd6, 0xee, 0xca, 0xf3, 0x19, 0x8d, 0xc3, 0xfd, 0x3a, 0xc8, 0x1f, 0xe3, 0x78, 0x5b,
0x8e, 0xea, 0xf8, 0xf9, 0xb6, 0x1c, 0xf5, 0xcc, 0x48, 0x47, 0x52, 0xbe, 0xcc, 0xfd, 0xbe, 0xde, 0xdb, 0xdb, 0x6c, 0x3d,
0x9d, 0x67, 0xde, 0x11, 0x9f, 0xc5, 0x7f, 0xa4, 0xe3, 0x7f, 0xbc, 0x0a, 0xcc, 0xf1, 0x4f, 0x47, 0x57, 0xd9, 0x7d, 0x30,
0x96, 0xf7, 0x6a, 0xb9, 0x0d, 0xeb, 0xbf, 0xf6, 0xd6, 0xfe, 0xaa, 0xf3, 0xa9, 0x1c, 0x67, 0x4f, 0xd7, 0x59, 0x2e, 0x2b,
0xea, 0x3e, 0x3c, 0x93, 0x67, 0xdb, 0x72, 0xd4, 0x9b, 0xdb, 0x20, 0x4b, 0xff, 0xea, 0xf6, 0x8a, 0xc4, 0xde, 0xaa, 0x6b,
0xd6, 0x8c, 0xd6, 0xe0, 0xcb, 0x6e, 0xe9, 0x45, 0x79, 0x65, 0xf6, 0x97, 0x9d, 0x13, 0xe7, 0xc7, 0xe5, 0xea, 0x58, 0xbe,
0xa5, 0xb3, 0x96, 0xcf, 0x56, 0xc9, 0xc8, 0x8c, 0xd8, 0x95, 0x2d, 0x51, 0xb8, 0x37, 0x6c, 0xe9, 0x27, 0x16, 0xa3, 0x9c,
0xe2, 0x91, 0x1c, 0xe3, 0x9e, 0x6d, 0xcb, 0xd9, 0x68, 0x96, 0x39, 0x9b, 0xca, 0x96, 0xd1, 0xac, 0xa9, 0xff, 0x9d, 0xfc,
0xca, 0x98, 0x67, 0x56, 0xe7, 0x6b, 0x97, 0xcd, 0xff, 0xe7, 0x39, 0xb6, 0xd7, 0x8c, 0xcb, 0xd5, 0xb1, 0x7c, 0x2b, 0xac,
0x5a, 0x10, 0x97, 0xdf, 0x31, 0x56, 0x57, 0x47, 0xdb, 0xbb, 0xf7, 0xc6, 0xb9, 0xcf, 0xab, 0x6b, 0x1f, 0xc4, 0x0b, 0xdb,
0x32, 0x1f, 0xff, 0xd7, 0xac, 0x73, 0xb1, 0x76, 0x6d, 0xbc, 0x76, 0x5b, 0x9f, 0x3a, 0x3e, 0xca, 0xaf, 0x5e, 0xe5, 0xee,
0xfa, 0x5a, 0xae, 0xe5, 0xf2, 0x7f, 0x3a, 0xfe, 0x63, 0xe1, 0x8a, 0x02, 0xab, 0xe2, 0xbf, 0xbd, 0x24, 0x62, 0xfe, 0x94,
0xf8, 0xcf, 0xad, 0xc2, 0x11, 0xa5, 0x95, 0x3b, 0x32, 0x31, 0x9e, 0x7f, 0x96, 0xff, 0x9e, 0x5a, 0xfe, 0x9e, 0xf1, 0xff,
0xb9, 0xf8, 0x8f, 0x0f, 0x8c, 0xff, 0xf7, 0x96, 0xf9, 0xf9, 0xb1, 0xf1, 0xd9, 0xf8, 0xaf, 0x8c, 0xcb, 0xf5, 0x75, 0x79,
0xd6, 0xc6, 0x7f, 0x24, 0x46, 0xec, 0xf5, 0x99, 0xb8, 0x9f, 0x8a, 0xff, 0xf7, 0x8e, 0xa5, 0xb3, 0xba, 0x7a, 0xb2, 0x64,
0xb3, 0x55, 0xe6, 0xdf, 0x15, 0xff, 0xd5, 0x15, 0x55, 0x23, 0x39, 0x93, 0x7d, 0xff, 0xf8, 0x1f, 0xa9, 0x35, 0xf7, 0xbe,
0x67, 0xfc, 0x8f, 0xc9, 0xda, 0xbc, 0x9f, 0x37, 0xff, 0x8f, 0x47, 0x63, 0x2c, 0x4a, 0x2b, 0xc9, 0x66, 0x57, 0xda, 0x5b,
0x35, 0xff, 0xbf, 0xf3, 0xe7, 0x8c, 0x9f, 0x36, 0x9b, 0x3c, 0xf7, 0xa4, 0xe3, 0x33, 0xe2, 0x7f, 0x3e, 0x92, 0x7e, 0x5e,
0x8b, 0x3d, 0x3d, 0xc6, 0xca, 0xf6, 0xfc, 0x4d, 0xf1, 0xbf, 0xdd, 0x32, 0xfe, 0x57, 0x57, 0x3a, 0xcd, 0xfe, 0xfe, 0xd9,
0x27, 0xc5, 0xff, 0xca, 0x95, 0x87, 0xee, 0x2c, 0x99, 0xf8, 0x7f, 0xdb, 0x3d, 0xce, 0x8a, 0x92, 0xdf, 0xf5, 0x13, 0x99,
0xbb, 0xc7, 0xf9, 0xf7, 0x5e, 0xb1, 0xdf, 0xdb, 0xff, 0xaa, 0xbf, 0xe7, 0x2e, 0xfe, 0x3f, 0x2f, 0xfe, 0xb3, 0x23, 0x76,
0x65, 0xcb, 0xfc, 0x48, 0xe7, 0x3f, 0x5f, 0xd7, 0x62, 0xeb, 0x9f, 0x7e, 0xde, 0x71, 0xb7, 0x7a, 0x5f, 0xc9, 0xc4, 0x3f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xad, 0x36, 0xcc, 0xe4, 0x9f, 0xcd, 0x4a, 0x3e, 0xca, 0x0c,
0x18, 0xb7, 0xe4, 0x38, 0xaf, 0xe6, 0xff, 0x3f, 0xfe, 0x79, 0xbe, 0xc6, 0x2a, 0x65, 0x5a, 0x7b, 0xee, 0x6d, 0xd2, 0x66,
0x3f, 0x7f, 0xde, 0x0a, 0xab, 0x3c, 0xdc, 0xd1, 0x62, 0xad, 0xd4, 0x9f, 0xf9, 0xa9, 0xb6, 0xf6, 0x85, 0xb5, 0x35, 0x5b,
0x33, 0xe0, 0x99, 0x1c, 0xe7, 0xb3, 0xe3, 0xb4, 0x45, 0xc7, 0x18, 0x67, 0xb8, 0xce, 0x95, 0xa9, 0x72, 0xee, 0xeb, 0xdb,
0xb2, 0x5f, 0x8a, 0x7b, 0x5a, 0xac, 0xf9, 0x0d, 0xfb, 0x47, 0xdf, 0xd9, 0xa9, 0x64, 0x18, 0x8e, 0x64, 0xf6, 0xa3, 0xfb,
0x4a, 0xbd, 0xee, 0x08, 0xfd, 0xab, 0xd8, 0xfe, 0xd2, 0xb1, 0x67, 0x9c, 0x7b, 0x76, 0x94, 0x15, 0xb1, 0xdd, 0xf4, 0x66,
0x58, 0x4b, 0xbf, 0xcb, 0xd3, 0x16, 0xed, 0x4d, 0x94, 0xaf, 0xca, 0x3d, 0xbc, 0x4d, 0xf3, 0x72, 0xad, 0xba, 0xce, 0xe4,
0x4b, 0xbd, 0x0d, 0xf6, 0x95, 0xfb, 0x7c, 0x4b, 0xe6, 0x6a, 0x89, 0xc5, 0x59, 0xdc, 0xd7, 0xd6, 0xca, 0x36, 0xb9, 0x8e,
0x47, 0x22, 0xc6, 0xce, 0x6c, 0xc9, 0x1f, 0xe7, 0x6d, 0x6b, 0x69, 0x7c, 0xee, 0x7b, 0xb9, 0xfb, 0xa2, 0xdc, 0xc3, 0xf5,
0x4c, 0x9a, 0xab, 0x72, 0x9c, 0xd7, 0x32, 0xb3, 0xac, 0xcb, 0xa4, 0xb7, 0x77, 0xfb, 0xf1, 0xda, 0x33, 0xbc, 0xbe, 0x56,
0x3e, 0x21, 0x97, 0xee, 0x1b, 0xdf, 0x0c, 0xff, 0xec, 0xf7, 0xf3, 0x8f, 0x8c, 0x67, 0xdb, 0x74, 0xce, 0xf8, 0x64, 0xfb,
0x5f, 0x9f, 0x49, 0x67, 0xfb, 0xc8, 0x0c, 0x87, 0x5b, 0x39, 0x03, 0x98, 0xf8, 0xff, 0xf6, 0xf9, 0x7f, 0xdc, 0x90, 0x17,
0x69, 0x76, 0x2d, 0x59, 0x9b, 0xff, 0x77, 0x13, 0xff, 0x27, 0xa3, 0xe2, 0xf9, 0x5c, 0x9a, 0xf3, 0xab, 0xfc, 0x26, 0xfe,
0x17, 0x8d, 0xfb, 0xdf, 0x96, 0x49, 0xd3, 0xf8, 0x7f, 0x5d, 0x54, 0x7c, 0xea, 0x5a, 0x1a, 0x6c, 0x85, 0xb1, 0x7c, 0x65,
0x86, 0xe1, 0xb8, 0xe1, 0x0a, 0x54, 0xc9, 0xcc, 0x98, 0xff, 0xfc, 0xd3, 0xa2, 0x7c, 0x65, 0x8e, 0xad, 0x6b, 0xca, 0xb6,
0x26, 0xfe, 0xdf, 0x99, 0xfd, 0xfa, 0x13, 0xe7, 0xff, 0xf7, 0x3c, 0x63, 0xd8, 0x6e, 0xce, 0xcc, 0x16, 0x4b, 0x3e, 0xdf,
0x92, 0x77, 0x38, 0x2b, 0xef, 0x97, 0x9e, 0xcf, 0xa4, 0x77, 0x5f, 0x56, 0xfa, 0xda, 0x5d, 0x9e, 0xf1, 0x1f, 0xbe, 0xfb,
0xd9, 0xb4, 0xf8, 0x07, 0xf1, 0x6f, 0xf6, 0x0f, 0xee, 0x4c, 0x01, 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, 0xbe, 0xc7, 0xaf, 0x3f, 0xea, 0x01, 0xc4, 0x3f, 0xf0, 0xc7,
0xc5, 0xff, 0xff, 0x00 };
// Font glyphs rectangles data (on atlas)
static const Rectangle amberFontRecs[189] = {
{ 4, 4, 5 , 16 },
{ 17, 4, 2 , 10 },
{ 27, 4, 4 , 4 },
{ 39, 4, 5 , 10 },
{ 52, 4, 5 , 11 },
{ 65, 4, 5 , 10 },
{ 78, 4, 5 , 10 },
{ 91, 4, 2 , 4 },
{ 101, 4, 4 , 13 },
{ 113, 4, 5 , 13 },
{ 126, 4, 4 , 4 },
{ 138, 4, 5 , 6 },
{ 151, 4, 3 , 2 },
{ 162, 4, 5 , 2 },
{ 175, 4, 2 , 1 },
{ 185, 4, 5 , 10 },
{ 198, 4, 5 , 10 },
{ 211, 4, 4 , 10 },
{ 223, 4, 5 , 10 },
{ 236, 4, 5 , 10 },
{ 249, 4, 5 , 10 },
{ 262, 4, 5 , 10 },
{ 275, 4, 5 , 10 },
{ 288, 4, 5 , 10 },
{ 301, 4, 5 , 10 },
{ 314, 4, 5 , 10 },
{ 327, 4, 2 , 6 },
{ 337, 4, 2 , 6 },
{ 347, 4, 5 , 6 },
{ 360, 4, 5 , 4 },
{ 373, 4, 5 , 6 },
{ 386, 4, 5 , 10 },
{ 399, 4, 5 , 7 },
{ 412, 4, 5 , 10 },
{ 425, 4, 5 , 10 },
{ 438, 4, 5 , 10 },
{ 451, 4, 5 , 10 },
{ 464, 4, 5 , 10 },
{ 477, 4, 5 , 10 },
{ 490, 4, 5 , 10 },
{ 4, 28, 5 , 10 },
{ 17, 28, 4 , 10 },
{ 29, 28, 5 , 10 },
{ 42, 28, 5 , 10 },
{ 55, 28, 5 , 10 },
{ 68, 28, 5 , 10 },
{ 81, 28, 5 , 10 },
{ 94, 28, 5 , 10 },
{ 107, 28, 5 , 10 },
{ 120, 28, 5 , 10 },
{ 133, 28, 5 , 10 },
{ 146, 28, 5 , 10 },
{ 159, 28, 5 , 10 },
{ 172, 28, 5 , 10 },
{ 185, 28, 5 , 10 },
{ 198, 28, 5 , 10 },
{ 211, 28, 5 , 10 },
{ 224, 28, 5 , 10 },
{ 237, 28, 5 , 10 },
{ 250, 28, 3 , 13 },
{ 261, 28, 5 , 10 },
{ 274, 28, 3 , 13 },
{ 285, 28, 4 , 3 },
{ 297, 28, 5 , 1 },
{ 310, 28, 3 , 3 },
{ 321, 28, 5 , 7 },
{ 334, 28, 5 , 10 },
{ 347, 28, 5 , 7 },
{ 360, 28, 5 , 10 },
{ 373, 28, 5 , 7 },
{ 386, 28, 5 , 10 },
{ 399, 28, 5 , 10 },
{ 412, 28, 5 , 10 },
{ 425, 28, 4 , 10 },
{ 437, 28, 3 , 13 },
{ 448, 28, 5 , 10 },
{ 461, 28, 5 , 10 },
{ 474, 28, 5 , 7 },
{ 487, 28, 5 , 7 },
{ 4, 52, 5 , 7 },
{ 17, 52, 5 , 10 },
{ 30, 52, 5 , 10 },
{ 43, 52, 5 , 7 },
{ 56, 52, 5 , 7 },
{ 69, 52, 5 , 10 },
{ 82, 52, 5 , 7 },
{ 95, 52, 5 , 7 },
{ 108, 52, 5 , 7 },
{ 121, 52, 5 , 7 },
{ 134, 52, 5 , 10 },
{ 147, 52, 5 , 7 },
{ 160, 52, 4 , 13 },
{ 172, 52, 2 , 13 },
{ 182, 52, 4 , 13 },
{ 194, 52, 5 , 4 },
{ 207, 52, 2 , 9 },
{ 217, 52, 5 , 7 },
{ 230, 52, 5 , 10 },
{ 243, 52, 5 , 10 },
{ 256, 52, 5 , 10 },
{ 269, 52, 0 , 0 },
{ 277, 52, 5 , 10 },
{ 290, 52, 0 , 0 },
{ 298, 52, 5 , 7 },
{ 311, 52, 3 , 5 },
{ 322, 52, 5 , 5 },
{ 335, 52, 5 , 3 },
{ 348, 52, 5 , 7 },
{ 361, 52, 5 , 2 },
{ 374, 52, 4 , 4 },
{ 386, 52, 5 , 8 },
{ 399, 52, 3 , 5 },
{ 410, 52, 3 , 6 },
{ 421, 52, 0 , 0 },
{ 429, 52, 5 , 10 },
{ 442, 52, 5 , 10 },
{ 455, 52, 2 , 3 },
{ 465, 52, 0 , 0 },
{ 473, 52, 3 , 5 },
{ 484, 52, 4 , 4 },
{ 496, 52, 5 , 5 },
{ 4, 76, 5 , 10 },
{ 17, 76, 5 , 7 },
{ 30, 76, 5 , 10 },
{ 43, 76, 5 , 10 },
{ 56, 76, 5 , 14 },
{ 69, 76, 5 , 14 },
{ 82, 76, 5 , 14 },
{ 95, 76, 5 , 14 },
{ 108, 76, 5 , 12 },
{ 121, 76, 5 , 12 },
{ 134, 76, 5 , 10 },
{ 147, 76, 5 , 13 },
{ 160, 76, 5 , 14 },
{ 173, 76, 5 , 14 },
{ 186, 76, 5 , 14 },
{ 199, 76, 5 , 12 },
{ 212, 76, 4 , 14 },
{ 224, 76, 4 , 14 },
{ 236, 76, 4 , 14 },
{ 248, 76, 4 , 12 },
{ 260, 76, 5 , 10 },
{ 273, 76, 5 , 14 },
{ 286, 76, 5 , 14 },
{ 299, 76, 5 , 14 },
{ 312, 76, 5 , 14 },
{ 325, 76, 5 , 14 },
{ 338, 76, 5 , 12 },
{ 351, 76, 4 , 3 },
{ 363, 76, 5 , 10 },
{ 376, 76, 5 , 14 },
{ 389, 76, 5 , 14 },
{ 402, 76, 5 , 14 },
{ 415, 76, 5 , 12 },
{ 428, 76, 5 , 14 },
{ 441, 76, 5 , 10 },
{ 454, 76, 5 , 10 },
{ 467, 76, 5 , 10 },
{ 480, 76, 5 , 10 },
{ 493, 76, 5 , 10 },
{ 4, 100, 5 , 10 },
{ 17, 100, 5 , 9 },
{ 30, 100, 5 , 9 },
{ 43, 100, 5 , 7 },
{ 56, 100, 5 , 10 },
{ 69, 100, 5 , 10 },
{ 82, 100, 5 , 10 },
{ 95, 100, 5 , 10 },
{ 108, 100, 5 , 9 },
{ 121, 100, 4 , 10 },
{ 133, 100, 4 , 10 },
{ 145, 100, 4 , 10 },
{ 157, 100, 4 , 9 },
{ 169, 100, 5 , 10 },
{ 182, 100, 5 , 10 },
{ 195, 100, 5 , 10 },
{ 208, 100, 5 , 10 },
{ 221, 100, 5 , 10 },
{ 234, 100, 5 , 10 },
{ 247, 100, 5 , 9 },
{ 260, 100, 5 , 6 },
{ 273, 100, 5 , 7 },
{ 286, 100, 5 , 10 },
{ 299, 100, 5 , 10 },
{ 312, 100, 5 , 10 },
{ 325, 100, 5 , 9 },
{ 338, 100, 5 , 13 },
{ 351, 100, 5 , 10 },
{ 364, 100, 5 , 12 },
};
// Font glyphs info data
// NOTE: No glyphs.image data provided
static const GlyphInfo amberFontGlyphs[189] = {
{ 32, 0, 0, 5, { 0 }},
{ 33, 1, 3, 5, { 0 }},
{ 34, 0, 3, 5, { 0 }},
{ 35, 0, 3, 5, { 0 }},
{ 36, 0, 3, 5, { 0 }},
{ 37, 0, 3, 5, { 0 }},
{ 38, 0, 3, 5, { 0 }},
{ 39, 1, 4, 5, { 0 }},
{ 40, 0, 3, 5, { 0 }},
{ 41, 0, 3, 5, { 0 }},
{ 42, 0, 3, 5, { 0 }},
{ 43, 0, 7, 5, { 0 }},
{ 44, 0, 12, 5, { 0 }},
{ 45, 0, 9, 5, { 0 }},
{ 46, 1, 12, 5, { 0 }},
{ 47, 0, 3, 5, { 0 }},
{ 48, 0, 3, 5, { 0 }},
{ 49, 0, 3, 5, { 0 }},
{ 50, 0, 3, 5, { 0 }},
{ 51, 0, 3, 5, { 0 }},
{ 52, 0, 3, 5, { 0 }},
{ 53, 0, 3, 5, { 0 }},
{ 54, 0, 3, 5, { 0 }},
{ 55, 0, 3, 5, { 0 }},
{ 56, 0, 3, 5, { 0 }},
{ 57, 0, 3, 5, { 0 }},
{ 58, 0, 7, 5, { 0 }},
{ 59, 0, 7, 5, { 0 }},
{ 60, 0, 7, 5, { 0 }},
{ 61, 0, 8, 5, { 0 }},
{ 62, 0, 7, 5, { 0 }},
{ 63, 0, 3, 5, { 0 }},
{ 64, 0, 6, 5, { 0 }},
{ 65, 0, 3, 5, { 0 }},
{ 66, 0, 3, 5, { 0 }},
{ 67, 0, 3, 5, { 0 }},
{ 68, 0, 3, 5, { 0 }},
{ 69, 0, 3, 5, { 0 }},
{ 70, 0, 3, 5, { 0 }},
{ 71, 0, 3, 5, { 0 }},
{ 72, 0, 3, 5, { 0 }},
{ 73, 0, 3, 5, { 0 }},
{ 74, 0, 3, 5, { 0 }},
{ 75, 0, 3, 5, { 0 }},
{ 76, 0, 3, 5, { 0 }},
{ 77, 0, 3, 5, { 0 }},
{ 78, 0, 3, 5, { 0 }},
{ 79, 0, 3, 5, { 0 }},
{ 80, 0, 3, 5, { 0 }},
{ 81, 0, 3, 5, { 0 }},
{ 82, 0, 3, 5, { 0 }},
{ 83, 0, 3, 5, { 0 }},
{ 84, 0, 3, 5, { 0 }},
{ 85, 0, 3, 5, { 0 }},
{ 86, 0, 3, 5, { 0 }},
{ 87, 0, 3, 5, { 0 }},
{ 88, 0, 3, 5, { 0 }},
{ 89, 0, 3, 5, { 0 }},
{ 90, 0, 3, 5, { 0 }},
{ 91, 0, 3, 5, { 0 }},
{ 92, 0, 3, 5, { 0 }},
{ 93, 0, 3, 5, { 0 }},
{ 94, 0, 3, 5, { 0 }},
{ 95, 0, 12, 5, { 0 }},
{ 96, 1, 4, 5, { 0 }},
{ 97, 0, 6, 5, { 0 }},
{ 98, 0, 3, 5, { 0 }},
{ 99, 0, 6, 5, { 0 }},
{ 100, 0, 3, 5, { 0 }},
{ 101, 0, 6, 5, { 0 }},
{ 102, 0, 3, 5, { 0 }},
{ 103, 0, 6, 5, { 0 }},
{ 104, 0, 3, 5, { 0 }},
{ 105, 0, 3, 5, { 0 }},
{ 106, 0, 3, 5, { 0 }},
{ 107, 0, 3, 5, { 0 }},
{ 108, 0, 3, 5, { 0 }},
{ 109, 0, 6, 5, { 0 }},
{ 110, 0, 6, 5, { 0 }},
{ 111, 0, 6, 5, { 0 }},
{ 112, 0, 6, 5, { 0 }},
{ 113, 0, 6, 5, { 0 }},
{ 114, 0, 6, 5, { 0 }},
{ 115, 0, 6, 5, { 0 }},
{ 116, 0, 3, 5, { 0 }},
{ 117, 0, 6, 5, { 0 }},
{ 118, 0, 6, 5, { 0 }},
{ 119, 0, 6, 5, { 0 }},
{ 120, 0, 6, 5, { 0 }},
{ 121, 0, 6, 5, { 0 }},
{ 122, 0, 6, 5, { 0 }},
{ 123, 0, 3, 5, { 0 }},
{ 124, 1, 3, 5, { 0 }},
{ 125, 0, 3, 5, { 0 }},
{ 126, 0, 8, 5, { 0 }},
{ 161, 1, 4, 5, { 0 }},
{ 162, 0, 6, 5, { 0 }},
{ 163, 0, 3, 5, { 0 }},
{ 8364, 0, 3, 5, { 0 }},
{ 165, 0, 3, 5, { 0 }},
{ 352, 0, 0, 0, { 0 }},
{ 167, 0, 3, 5, { 0 }},
{ 353, 0, 0, 0, { 0 }},
{ 169, 0, 6, 5, { 0 }},
{ 170, 2, 3, 5, { 0 }},
{ 171, 0, 8, 5, { 0 }},
{ 172, 0, 6, 5, { 0 }},
{ 174, 0, 6, 5, { 0 }},
{ 175, 0, 3, 5, { 0 }},
{ 176, 1, 3, 5, { 0 }},
{ 177, 0, 5, 5, { 0 }},
{ 178, 2, 3, 5, { 0 }},
{ 179, 2, 3, 5, { 0 }},
{ 381, 0, 0, 0, { 0 }},
{ 181, 0, 6, 5, { 0 }},
{ 182, 0, 3, 5, { 0 }},
{ 183, 1, 6, 5, { 0 }},
{ 382, 0, 0, 0, { 0 }},
{ 185, 0, 3, 5, { 0 }},
{ 186, 0, 3, 5, { 0 }},
{ 187, 0, 8, 5, { 0 }},
{ 338, 0, 3, 5, { 0 }},
{ 339, 0, 6, 5, { 0 }},
{ 376, 0, 3, 5, { 0 }},
{ 191, 0, 3, 5, { 0 }},
{ 192, 0, -1, 5, { 0 }},
{ 193, 0, -1, 5, { 0 }},
{ 194, 0, -1, 5, { 0 }},
{ 195, 0, -1, 5, { 0 }},
{ 196, 0, 1, 5, { 0 }},
{ 197, 0, 1, 5, { 0 }},
{ 198, 0, 3, 5, { 0 }},
{ 199, 0, 3, 5, { 0 }},
{ 200, 0, -1, 5, { 0 }},
{ 201, 0, -1, 5, { 0 }},
{ 202, 0, -1, 5, { 0 }},
{ 203, 0, 1, 5, { 0 }},
{ 204, 0, -1, 5, { 0 }},
{ 205, 0, -1, 5, { 0 }},
{ 206, 0, -1, 5, { 0 }},
{ 207, 0, 1, 5, { 0 }},
{ 208, 0, 3, 5, { 0 }},
{ 209, 0, -1, 5, { 0 }},
{ 210, 0, -1, 5, { 0 }},
{ 211, 0, -1, 5, { 0 }},
{ 212, 0, -1, 5, { 0 }},
{ 213, 0, -1, 5, { 0 }},
{ 214, 0, 1, 5, { 0 }},
{ 215, 0, 10, 5, { 0 }},
{ 216, 0, 3, 5, { 0 }},
{ 217, 0, -1, 5, { 0 }},
{ 218, 0, -1, 5, { 0 }},
{ 219, 0, -1, 5, { 0 }},
{ 220, 0, 1, 5, { 0 }},
{ 221, 0, -1, 5, { 0 }},
{ 222, 0, 3, 5, { 0 }},
{ 223, 0, 3, 5, { 0 }},
{ 224, 0, 3, 5, { 0 }},
{ 225, 0, 3, 5, { 0 }},
{ 226, 0, 3, 5, { 0 }},
{ 227, 0, 3, 5, { 0 }},
{ 228, 0, 4, 5, { 0 }},
{ 229, 0, 4, 5, { 0 }},
{ 230, 0, 6, 5, { 0 }},
{ 231, 0, 6, 5, { 0 }},
{ 232, 0, 3, 5, { 0 }},
{ 233, 0, 3, 5, { 0 }},
{ 234, 0, 3, 5, { 0 }},
{ 235, 0, 4, 5, { 0 }},
{ 236, 0, 3, 5, { 0 }},
{ 237, 0, 3, 5, { 0 }},
{ 238, 0, 3, 5, { 0 }},
{ 239, 0, 4, 5, { 0 }},
{ 240, 0, 3, 5, { 0 }},
{ 241, 0, 3, 5, { 0 }},
{ 242, 0, 3, 5, { 0 }},
{ 243, 0, 3, 5, { 0 }},
{ 244, 0, 3, 5, { 0 }},
{ 245, 0, 3, 5, { 0 }},
{ 246, 0, 4, 5, { 0 }},
{ 247, 0, 7, 5, { 0 }},
{ 248, 0, 6, 5, { 0 }},
{ 249, 0, 3, 5, { 0 }},
{ 250, 0, 3, 5, { 0 }},
{ 251, 0, 3, 5, { 0 }},
{ 252, 0, 4, 5, { 0 }},
{ 253, 0, 3, 5, { 0 }},
{ 254, 0, 3, 5, { 0 }},
{ 255, 0, 4, 5, { 0 }},
};
// Style loading function: Amber
static void GuiLoadStyleAmber(void)
{
// Load style properties provided
// NOTE: Default properties are propagated
for (int i = 0; i < AMBER_STYLE_PROPS_COUNT; i++)
{
GuiSetStyle(amberStyleProps[i].controlId, amberStyleProps[i].propertyId, amberStyleProps[i].propertyValue);
}
// Custom font loading
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
int amberFontDataSize = 0;
unsigned char *data = DecompressData(amberFontData, AMBER_STYLE_FONT_ATLAS_COMP_SIZE, &amberFontDataSize);
Image imFont = { data, 512, 256, 1, 2 };
Font font = { 0 };
font.baseSize = 16;
font.glyphCount = 189;
// Load texture from image
font.texture = LoadTextureFromImage(imFont);
UnloadImage(imFont); // Uncompressed image data can be unloaded from memory
// Copy char recs data from global fontRecs
// NOTE: Required to avoid issues if trying to free font
font.recs = (Rectangle *)RAYGUI_MALLOC(font.glyphCount*sizeof(Rectangle));
memcpy(font.recs, amberFontRecs, font.glyphCount*sizeof(Rectangle));
// Copy font char info data from global fontChars
// NOTE: Required to avoid issues if trying to free font
font.glyphs = (GlyphInfo *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
memcpy(font.glyphs, amberFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
GuiSetFont(font);
// Setup a white rectangle on the font to be used on shapes drawing,
// it makes possible to draw shapes and text (full UI) in a single draw call
Rectangle fontWhiteRec = { 510, 254, 1, 1 };
SetShapesTexture(font.texture, fontWhiteRec);
//-----------------------------------------------------------------
// TODO: Custom user style setup: Set specific properties here (if required)
// i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 124 KiB

View File

@ -7,7 +7,7 @@
// more info and bugs-report: github.com/raysan5/raygui // // more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com // // feedback and support: ray[at]raylibtech.com //
// // // //
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) // // Copyright (c) 2020-2025 raylib technologies (@raylibtech) //
// // // //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
@ -15,133 +15,120 @@
// Custom style name: Ashes // Custom style name: Ashes
static const GuiStyleProp ashesStyleProps[ASHES_STYLE_PROPS_COUNT] = { static const GuiStyleProp ashesStyleProps[ASHES_STYLE_PROPS_COUNT] = {
{ 0, 0, 0xf0f0f0ff }, // DEFAULT_BORDER_COLOR_NORMAL { 0, 0, (int)0xf0f0f0ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0x868686ff }, // DEFAULT_BASE_COLOR_NORMAL { 0, 1, (int)0x868686ff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, 0xe6e6e6ff }, // DEFAULT_TEXT_COLOR_NORMAL { 0, 2, (int)0xe6e6e6ff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, 0x929999ff }, // DEFAULT_BORDER_COLOR_FOCUSED { 0, 3, (int)0x929999ff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, 0xeaeaeaff }, // DEFAULT_BASE_COLOR_FOCUSED { 0, 4, (int)0xeaeaeaff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, 0x98a1a8ff }, // DEFAULT_TEXT_COLOR_FOCUSED { 0, 5, (int)0x98a1a8ff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, 0x3f3f3fff }, // DEFAULT_BORDER_COLOR_PRESSED { 0, 6, (int)0x3f3f3fff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, 0xf6f6f6ff }, // DEFAULT_BASE_COLOR_PRESSED { 0, 7, (int)0xf6f6f6ff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, 0x414141ff }, // DEFAULT_TEXT_COLOR_PRESSED { 0, 8, (int)0x414141ff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, 0x8b8b8bff }, // DEFAULT_BORDER_COLOR_DISABLED { 0, 9, (int)0x8b8b8bff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, 0x777777ff }, // DEFAULT_BASE_COLOR_DISABLED { 0, 10, (int)0x777777ff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, 0x959595ff }, // DEFAULT_TEXT_COLOR_DISABLED { 0, 11, (int)0x959595ff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE { 0, 16, (int)0x00000010 }, // DEFAULT_TEXT_SIZE
{ 0, 18, 0x9dadb1ff }, // DEFAULT_LINE_COLOR { 0, 18, (int)0x9dadb1ff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0x6b6b6bff }, // DEFAULT_BACKGROUND_COLOR { 0, 19, (int)0x6b6b6bff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, 0x00000018 }, // DEFAULT_TEXT_LINE_SPACING { 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
}; };
// WARNING: This style uses a custom font: "v5loxical.ttf" (size: 16, spacing: 1) // WARNING: This style uses a custom font: "v5loxical.ttf" (size: 16, spacing: 1)
#define ASHES_STYLE_FONT_ATLAS_COMP_SIZE 2042 #define ASHES_STYLE_FONT_ATLAS_COMP_SIZE 1800
// Font atlas image pixels data: DEFLATE compressed // Font atlas image pixels data: DEFLATE compressed
static unsigned char ashesFontData[ASHES_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed, static unsigned char ashesFontData[ASHES_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
0xdd, 0xd1, 0xb2, 0xab, 0x36, 0x0c, 0x05, 0x50, 0xff, 0xff, 0x4f, 0xab, 0x0f, 0x9d, 0x4e, 0xdb, 0x69, 0x13, 0x90, 0x2c, 0x9d, 0x51, 0xb6, 0xa4, 0x36, 0x0c, 0x44, 0xbd, 0xff, 0x4d, 0x57, 0xbe, 0x72, 0x32, 0xc9, 0x49, 0x83, 0x25, 0x97, 0xb0,
0x83, 0x21, 0xeb, 0xae, 0xb7, 0x9c, 0xdc, 0x40, 0x0c, 0x1b, 0x63, 0x88, 0x45, 0x0c, 0x00, 0x00, 0x00, 0xe0, 0xe7, 0xc5, 0x0c, 0x77, 0xee, 0x5f, 0xbf, 0x1e, 0x1a, 0x5c, 0xc8, 0x06, 0xbb, 0x24, 0x6b, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x07, 0xfd,
0xff, 0xbe, 0x12, 0x1f, 0xdf, 0x19, 0xa7, 0x3f, 0xe7, 0xdf, 0xaf, 0xc7, 0x87, 0xbf, 0xe6, 0x3e, 0x2f, 0x4e, 0x2f, 0xb7, 0xef, 0x27, 0xfa, 0xf9, 0x4d, 0x4d, 0x1f, 0xe7, 0xdf, 0x9f, 0xeb, 0xc7, 0x5f, 0x63, 0xc7, 0xd3, 0xf4, 0xef, 0x66, 0xfe,
0xf2, 0x97, 0xf8, 0xdf, 0xf5, 0x8b, 0xe9, 0xa5, 0xc6, 0xe9, 0x6f, 0xf3, 0xed, 0xbd, 0xdf, 0x96, 0xf9, 0xe9, 0x93, 0x22, 0xa2, 0xff, 0x3d, 0x3f, 0x2d, 0xff, 0xaa, 0xa6, 0xaf, 0xe6, 0xea, 0xbb, 0x57, 0xbf, 0xa9, 0xa6, 0xfa, 0xeb, 0xe2, 0x78,
0xb1, 0x8c, 0xec, 0xfb, 0x3f, 0x7f, 0xce, 0xd5, 0x2d, 0x1e, 0x5f, 0xfe, 0xf2, 0xfd, 0xaf, 0xd9, 0xd7, 0xe3, 0xe4, 0xab, 0xd7, 0x47, 0xd4, 0xc2, 0x3d, 0x31, 0xf7, 0xbb, 0xf3, 0x9a, 0xae, 0xb7, 0xe7, 0xaf, 0x7b, 0x6b, 0xfe, 0xbb, 0xf7, 0x6d,
0xdf, 0xfe, 0x12, 0x07, 0x7f, 0x39, 0x9b, 0xbb, 0x78, 0x40, 0xfe, 0xe3, 0xcb, 0xe7, 0x7d, 0xff, 0xc4, 0x98, 0x38, 0x26, 0x5c, 0xab, 0xff, 0x9f, 0xff, 0xc6, 0x8f, 0xbf, 0xe6, 0x34, 0xae, 0x89, 0xf4, 0xeb, 0x33, 0x95, 0x49, 0xed, 0xf9, 0xbb,
0x9c, 0x5b, 0xee, 0x95, 0xed, 0xf9, 0x69, 0x4f, 0xcf, 0x6d, 0xeb, 0xef, 0x6d, 0x9c, 0xcb, 0x5c, 0x34, 0xac, 0xff, 0x6c, 0x56, 0x4b, 0xfd, 0x50, 0xe6, 0xe8, 0xf9, 0x33, 0x1e, 0x41, 0xb5, 0x74, 0x73, 0x17, 0x2a, 0x7c, 0xc4, 0xd5, 0xfe, 0x3c,
0xab, 0x45, 0xc3, 0xbb, 0xe3, 0xc4, 0xde, 0x92, 0xd9, 0x9b, 0xb3, 0x69, 0xab, 0xbd, 0x7f, 0x34, 0x6c, 0xaf, 0x6b, 0xf3, 0x13, 0xff, 0x5d, 0xf4, 0xcf, 0xdd, 0xcd, 0x6a, 0xa0, 0x7f, 0x46, 0x39, 0x19, 0xce, 0x54, 0xa6, 0xf1, 0xbf, 0x42, 0xfd,
0xff, 0xcf, 0x7f, 0x23, 0x75, 0x14, 0x1c, 0x4d, 0xf9, 0xcf, 0xf7, 0xb9, 0xdf, 0x8e, 0xbe, 0x71, 0xd1, 0xd9, 0xd4, 0xb9, 0xa8, 0xfe, 0x32, 0xb6, 0x80, 0x53, 0xff, 0x6c, 0xff, 0x9f, 0xe9, 0xff, 0x46, 0x13, 0x3d, 0x9f, 0xd7, 0x5f, 0x8f, 0xb7,
0x3d, 0xb4, 0xfe, 0x7a, 0xdf, 0xa7, 0x5f, 0x9d, 0xff, 0x68, 0xfc, 0x1f, 0x47, 0x6b, 0x17, 0xf2, 0x3f, 0xbd, 0x15, 0xa2, 0x80, 0x23, 0xfe, 0xc7, 0x6d, 0x6f, 0xab, 0x9b, 0xa7, 0x1a, 0xbd, 0x40, 0x7f, 0xc7, 0xfd, 0x9f, 0x1d, 0x29, 0xfb, 0x8e,
0xd8, 0xdb, 0x56, 0x7b, 0xa2, 0xd9, 0xad, 0x1f, 0x8b, 0x7b, 0xfa, 0x55, 0x09, 0xad, 0x1d, 0xcd, 0x22, 0xf9, 0x7f, 0x72, 0xff, 0x9a, 0xe8, 0xeb, 0xf4, 0x8a, 0xf8, 0x8f, 0x8f, 0x72, 0xf3, 0xef, 0x9b, 0x77, 0x23, 0xa5, 0xb6, 0x5f, 0x7b, 0xee,
0x7d, 0x6c, 0x4c, 0x6f, 0xbd, 0xf3, 0xfb, 0x44, 0x7e, 0xfd, 0x8e, 0xf7, 0x00, 0xf9, 0xbf, 0x22, 0xff, 0x95, 0xe4, 0xc6, 0x09, 0xe4, 0xef, 0xff, 0x77, 0x7e, 0xfc, 0x77, 0x19, 0x83, 0x76, 0x9d, 0xb7, 0xb6, 0xc6, 0x17, 0xfa, 0x7f, 0xe1, 0xfa,
0x92, 0xa3, 0x7f, 0xf5, 0xca, 0xc0, 0x8a, 0xb6, 0xcc, 0xe5, 0x3f, 0x1a, 0x5b, 0x20, 0xdb, 0x6f, 0xe7, 0xd7, 0xff, 0xec, 0x45, 0xcb, 0x73, 0x97, 0xa1, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xca, 0x59,
0x48, 0x3d, 0x6e, 0xec, 0xff, 0xbf, 0x1d, 0x1d, 0x33, 0x47, 0xcd, 0x6c, 0x3a, 0x73, 0xcb, 0xfd, 0x7b, 0x5d, 0xe7, 0xaf, 0x10, 0x77, 0x22, 0x68, 0xd9, 0xe3, 0xe6, 0xf1, 0xdf, 0x2b, 0xdc, 0x02, 0x19, 0xdf, 0xfd, 0xaf, 0xf3, 0x8a, 0x7d, 0x7f,
0x88, 0xac, 0xc8, 0x7f, 0xf5, 0xfc, 0xbf, 0x72, 0x86, 0x3a, 0x36, 0xc9, 0xf3, 0xf5, 0xf9, 0x8f, 0xf6, 0x16, 0x58, 0x99, 0x84, 0x3d, 0x75, 0x4a, 0xae, 0x83, 0x29, 0xed, 0xea, 0x5a, 0x77, 0xa8, 0x57, 0xac, 0x20, 0xe7, 0xbd, 0x76, 0x11, 0x8f,
0xff, 0xb3, 0x6d, 0x1f, 0x0b, 0xc7, 0xff, 0xb9, 0xab, 0xab, 0xfb, 0xf7, 0xff, 0xf7, 0x5f, 0xff, 0x1b, 0xe5, 0xeb, 0x46, 0xae, 0x4c, 0x3e, 0x2d, 0x99, 0x73, 0x54, 0xdc, 0xfa, 0x8f, 0xed, 0xfa, 0xab, 0xd4, 0x0f, 0xa2, 0x1b, 0xbf, 0xd9, 0x17,
0xd9, 0x6b, 0x80, 0x71, 0xea, 0xec, 0xe1, 0x29, 0xf9, 0xef, 0x38, 0xfe, 0x55, 0x47, 0x4a, 0x1d, 0x57, 0xb8, 0xb2, 0xf9, 0xf4, 0xcf, 0x3a, 0x77, 0x23, 0xfd, 0xbc, 0xec, 0xde, 0xc9, 0xf8, 0xf9, 0xdd, 0xe7, 0x03, 0x7c, 0x51, 0xff, 0x11, 0x8e,
0x8f, 0x86, 0xb6, 0x8f, 0xa5, 0x47, 0xff, 0x4a, 0xaf, 0x24, 0xff, 0xbd, 0xe3, 0xff, 0x38, 0x71, 0x06, 0x18, 0xaf, 0xe8, 0xdb, 0x78, 0x0f, 0x3b, 0x3b, 0x52, 0x6b, 0x63, 0xfc, 0x5f, 0x8d, 0xdb, 0x0a, 0x44, 0x4d, 0x54, 0x9d, 0xd8, 0xef, 0xfe,
0xff, 0xf3, 0xa3, 0x9c, 0x68, 0xb8, 0x07, 0x57, 0xb9, 0xbb, 0x9a, 0xed, 0x31, 0x2b, 0xf7, 0x24, 0x77, 0x68, 0x77, 0xfd, 0x73, 0xae, 0xeb, 0x4f, 0x44, 0x4f, 0xe9, 0x3f, 0x16, 0x7d, 0x9c, 0xb2, 0xf5, 0x18, 0xd9, 0x71, 0xae, 0x5f, 0xfc, 0xbb,
0xff, 0x75, 0xdb, 0xa0, 0xb6, 0x2f, 0xfc, 0xf5, 0xff, 0x9e, 0xdf, 0xff, 0xef, 0xb4, 0x35, 0x90, 0xff, 0xab, 0xf7, 0xdb, 0x9f, 0xff, 0xea, 0xf4, 0x97, 0xc1, 0x8d, 0xa5, 0x52, 0x2f, 0x68, 0x26, 0x47, 0xe5, 0x3d, 0xfa, 0x67, 0xde, 0x70, 0x3c,
0xb8, 0xb5, 0x7f, 0x95, 0x7f, 0xbf, 0x60, 0xeb, 0xca, 0xff, 0xda, 0xdf, 0xff, 0xc4, 0x41, 0x6f, 0x38, 0x1e, 0xd9, 0xff, 0xc7, 0x39, 0xc1, 0x87, 0xfa, 0x05, 0xfd, 0x01, 0xfd, 0xf1, 0xa1, 0x67, 0x9e, 0xdb, 0xea, 0xe6, 0x7f, 0x14, 0xee, 0xaf,
0x5f, 0xb3, 0x36, 0x21, 0x79, 0xe0, 0x58, 0x2f, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd1, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0xeb, 0xdb, 0xd9, 0x2a,
0x00, 0xfc, 0xd0, 0xec, 0x99, 0xcc, 0xec, 0xe5, 0x6a, 0x15, 0xe0, 0x8e, 0xf7, 0x57, 0x97, 0x10, 0x6d, 0xf5, 0x1f, 0xfb, 0xe0, 0x8e, 0xef, 0x67, 0x7f, 0x41, 0x36, 0xc7, 0xa7, 0xcf, 0x3f, 0xfa, 0x7b, 0xfd, 0xd8, 0x91, 0xeb, 0x50, 0xa7, 0xff,
0xaa, 0x49, 0x7e, 0x9e, 0x4d, 0x9a, 0x99, 0xf7, 0x9c, 0xab, 0x6f, 0x9e, 0xab, 0x24, 0x17, 0xc9, 0x9a, 0x6d, 0x91, 0xac, 0xb0, 0xbb, 0x68, 0xe3, 0x9e, 0xb4, 0x78, 0x7d, 0xfc, 0xd1, 0x4c, 0xff, 0x11, 0x68, 0x77, 0x15, 0xe6, 0x4c, 0xa0, 0x7f,
0x5b, 0x9c, 0xdd, 0x8e, 0xf3, 0xb3, 0xec, 0xe7, 0xfe, 0xff, 0xdf, 0xb5, 0x2a, 0xfa, 0xf6, 0xe5, 0xd1, 0xd4, 0x32, 0xd7, 0x7f, 0xfd, 0x7d, 0x95, 0x2f, 0xdf, 0xae, 0xff, 0x38, 0x4a, 0xff, 0xb5, 0x1d, 0x01, 0x5c, 0xfa, 0xe7, 0xfd, 0xed, 0xae,
0xe5, 0x7f, 0xb4, 0xd7, 0x54, 0xcd, 0x57, 0xa8, 0xca, 0xd7, 0xc7, 0x1f, 0x9b, 0xe5, 0x3f, 0xb3, 0x3f, 0x66, 0xeb, 0xfe, 0x51, 0x70, 0x3d, 0xc7, 0x60, 0xa4, 0x77, 0x12, 0x72, 0xe9, 0x3f, 0x12, 0x79, 0x7f, 0x0e, 0x6f, 0xfc, 0x1b, 0xe2, 0x7f,
0x44, 0x61, 0x56, 0x64, 0x4c, 0xcf, 0xb7, 0x8c, 0x85, 0xfb, 0x5d, 0x57, 0x05, 0xc9, 0x31, 0x99, 0xff, 0x3b, 0xf7, 0xfd, 0x18, 0xe2, 0x7f, 0x34, 0xed, 0xff, 0x87, 0xc9, 0x0f, 0x8a, 0xfe, 0xdf, 0xd6, 0xdf, 0x53, 0xfb, 0xf8, 0xbd, 0xfa, 0x77,
0x4a, 0x6d, 0x46, 0xf9, 0x7f, 0x43, 0xfe, 0x2b, 0xd5, 0x3d, 0x3b, 0xe6, 0x45, 0x77, 0xd5, 0xc7, 0x8d, 0xf4, 0x79, 0x51, 0x7d, 0xfe, 0x43, 0xff, 0x13, 0xf5, 0x97, 0xed, 0xca, 0x7d, 0xfa, 0xaf, 0x66, 0x4d, 0x7a, 0x9e, 0xb4, 0x94, 0x7e, 0x6e,
0x66, 0x7f, 0x88, 0xa9, 0xca, 0xea, 0x91, 0x3e, 0x0e, 0xef, 0x98, 0x7f, 0xfd, 0x7f, 0xa5, 0x36, 0xde, 0xdd, 0xf9, 0x9f, 0x57, 0x38, 0x57, 0x2b, 0x9e, 0x7d, 0xea, 0xc8, 0x14, 0xbc, 0xab, 0x10, 0x11, 0x9b, 0x4d, 0x8a, 0x56, 0xd7, 0xa8, 0xd3,
0x7b, 0x22, 0xc0, 0xea, 0xea, 0x07, 0x6b, 0xfb, 0xa7, 0xde, 0xfe, 0x3f, 0x26, 0xf2, 0x9f, 0x7d, 0x86, 0xd9, 0x5e, 0xf9, 0xff, 0xcc, 0x8a, 0x25, 0xcc, 0xd0, 0x56, 0x64, 0xbb, 0xc0, 0x3b, 0xee, 0xf9, 0x2f, 0x46, 0x08, 0x00, 0x00, 0x00, 0x00,
0x9f, 0x3f, 0xff, 0xaf, 0x57, 0x3b, 0xef, 0x1a, 0x05, 0x8f, 0x86, 0xe3, 0x7d, 0xf5, 0x49, 0x82, 0x5d, 0xf9, 0x1f, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0xad, 0x84, 0xc7, 0x56, 0x23, 0x5d, 0x6b, 0xb9, 0xc3, 0xb2, 0xbb, 0x80,
0xa7, 0xc0, 0xcd, 0x9e, 0x8f, 0x3e, 0x3b, 0xff, 0xb9, 0x2b, 0x11, 0xeb, 0xf2, 0xff, 0xec, 0xfe, 0x7f, 0xbc, 0xe0, 0xfc, 0x0c, 0xeb, 0xeb, 0x6b, 0xff, 0x5f, 0x7f, 0xac, 0x0c, 0xbb, 0x72, 0x1c, 0x1c, 0x9f, 0xcf, 0x3a, 0x1b, 0x32, 0xeb, 0x8b,
0xbf, 0x63, 0x7b, 0x8f, 0x4d, 0xcf, 0xff, 0xbb, 0x46, 0xd1, 0xef, 0xcb, 0x7f, 0xf6, 0x7b, 0x76, 0x7c, 0xfe, 0x5b, 0xcf, 0x55, 0x8e, 0x06, 0x25, 0x7c, 0xd1, 0x15, 0xeb, 0xe2, 0x0a, 0xaf, 0xc1, 0xef, 0xf2, 0x44, 0x2b, 0x78, 0x45, 0xb2, 0xac,
0xff, 0xe5, 0xff, 0xed, 0xf9, 0xbf, 0xeb, 0x49, 0x66, 0x7b, 0xe4, 0x3f, 0x9a, 0xaa, 0xef, 0xca, 0xff, 0x5b, 0xf3, 0xbf, 0x51, 0x3a, 0x9c, 0xc4, 0x5a, 0x76, 0x0a, 0xc7, 0x7d, 0xc2, 0x2a, 0xb8, 0x0f, 0xcf, 0xd0, 0xdf, 0x3b, 0x86, 0x54, 0x45,
0xeb, 0xf5, 0xbf, 0xe7, 0xe6, 0x7f, 0x94, 0xc6, 0x66, 0x73, 0xef, 0x7e, 0x42, 0xff, 0x3f, 0x0a, 0xd7, 0xac, 0xf2, 0x23, 0xae, 0x37, 0xfe, 0xb5, 0xa0, 0x7f, 0x74, 0x37, 0x1b, 0xf4, 0xf7, 0xe8, 0x1f, 0x7b, 0x12, 0xa9, 0xd3, 0x9f, 0xf8, 0xdf,
0xd9, 0xeb, 0xc6, 0xff, 0xf2, 0x7f, 0xee, 0xee, 0xd9, 0xdd, 0xf9, 0x5f, 0x73, 0xff, 0xab, 0xef, 0xbc, 0xa0, 0xe3, 0xdd, 0x17, 0xff, 0xab, 0x1e, 0x3e, 0xf4, 0xff, 0x86, 0xfe, 0x32, 0xd5, 0xe1, 0x46, 0xff, 0x75, 0x8f, 0x5a, 0xcc, 0x01, 0xeb,
0x7b, 0x8f, 0xff, 0x57, 0xff, 0x16, 0x67, 0xed, 0xf2, 0x7b, 0xae, 0xb4, 0x45, 0xf9, 0xba, 0x7d, 0xcf, 0x6f, 0x49, 0xf2, 0x72, 0x0a, 0xf7, 0x89, 0xff, 0x61, 0xf3, 0x44, 0xfb, 0x2a, 0x88, 0x77, 0xe8, 0x17, 0x1c, 0xdf, 0xee, 0x3d, 0xfe, 0x3f,
0xd7, 0xdf, 0xb2, 0x47, 0xce, 0x38, 0x78, 0x7f, 0x34, 0xf5, 0x73, 0x95, 0xea, 0xf0, 0x3b, 0xe4, 0x3f, 0xfb, 0xd4, 0x9f, 0xe9, 0x00, 0xee, 0xec, 0xf7, 0xac, 0xf4, 0xae, 0x76, 0xd1, 0xbf, 0x5e, 0x81, 0x73, 0xf5, 0x3f, 0x37, 0x47, 0xa0, 0x53,
0xec, 0xbb, 0xf7, 0xc8, 0xff, 0xfa, 0x96, 0xbd, 0x3a, 0xff, 0x4f, 0xfc, 0xb5, 0xe2, 0xef, 0xb5, 0x42, 0x2c, 0x7e, 0xff, 0xab, 0xa2, 0x7f, 0xff, 0xac, 0x0b, 0xa0, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8,
0x6f, 0xef, 0x0b, 0x7b, 0x3d, 0x31, 0xcb, 0x76, 0xe5, 0xca, 0xbe, 0x15, 0xad, 0x05, 0x8e, 0xac, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xd3, 0x9d, 0xf3, 0x4f, 0xc8, 0xe4, 0x82, 0x88, 0xfa, 0x00, 0xc7, 0x74, 0x8d, 0x7c, 0xa5, 0x9c, 0xc7, 0xab, 0xbe,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x9b, 0xfb, 0x70, 0x34, 0x7f, 0x32, 0x9a, 0xaa, 0x20, 0x64, 0xeb, 0xc0, 0x93, 0xbb, 0x56, 0x96, 0x71, 0x45, 0x42, 0x97, 0xad, 0x54, 0xeb, 0xcf, 0xda, 0x55, 0x1f, 0x3d, 0x53, 0xe3, 0x71, 0x25,
0x8d, 0xd3, 0xb5, 0xf0, 0xa3, 0x54, 0x79, 0x76, 0xbe, 0xba, 0xc2, 0xf7, 0x19, 0xcd, 0x9f, 0xbf, 0x69, 0x14, 0x66, 0x09, 0x0b, 0xc2, 0xed, 0x3b, 0x90, 0xcd, 0x19, 0xa3, 0xe0, 0xfa, 0xa5, 0xcb, 0x87, 0x9f, 0xd3, 0x3f, 0xee, 0x1a, 0xab, 0xfb,
0x67, 0x9f, 0x6d, 0x50, 0xa9, 0xad, 0x50, 0x5f, 0x56, 0x14, 0xab, 0x48, 0xce, 0xb7, 0x41, 0x14, 0x9e, 0xef, 0x70, 0xf4, 0xd4, 0x91, 0x8b, 0x94, 0xcd, 0x1b, 0x91, 0x6d, 0x2d, 0x5a, 0x97, 0xf9, 0x4f, 0xbb, 0xfa, 0xff, 0xea, 0xfa, 0xf8, 0x4f,
0x5d, 0xf2, 0x5b, 0x21, 0xf3, 0x5a, 0x65, 0x6e, 0xf9, 0x38, 0xf1, 0xdc, 0x81, 0x38, 0x9c, 0xdf, 0xd0, 0x9b, 0xff, 0xd5, 0xea, 0x1f, 0xf7, 0x00, 0x5d, 0x8f, 0x5a, 0x6b, 0x3a, 0x5d, 0x1d, 0x4f, 0xcb, 0x57, 0xd9, 0x4f, 0x7f, 0x5f, 0x8d, 0x6f,
0x75, 0xb0, 0x2b, 0xb5, 0x3c, 0xfe, 0xfb, 0xda, 0x7d, 0x75, 0x27, 0xbe, 0x1d, 0x77, 0x2a, 0x55, 0x28, 0xb2, 0xc7, 0xe1, 0x6f, 0xcb, 0xdc, 0xab, 0xbc, 0x16, 0xd9, 0x91, 0xfe, 0x5f, 0xe1, 0xfe, 0xdf, 0x93, 0x59, 0x51, 0xef, 0x82, 0x7e, 0x7e,
0xfc, 0x5e, 0x38, 0xb7, 0xac, 0x91, 0xda, 0x02, 0x95, 0x7a, 0xe6, 0x9d, 0x6d, 0x1a, 0x85, 0x9a, 0x17, 0xe7, 0x7b, 0x9f, 0x7f, 0x04, 0x19, 0x7a, 0xf9, 0xbb, 0x2c, 0x58, 0xa1, 0x7f, 0x59, 0x1e, 0x48, 0x07, 0xfd, 0xaf, 0x9f, 0xc7, 0x65, 0x75,
0x28, 0xb6, 0xfd, 0x4c, 0xcd, 0x9d, 0x33, 0x33, 0x8a, 0xa3, 0xb0, 0xe7, 0x75, 0xd5, 0xc1, 0x8d, 0x96, 0x4c, 0x77, 0x54, 0x24, 0xd5, 0x8e, 0xff, 0xf9, 0x7a, 0xda, 0xae, 0x3a, 0xe3, 0x8e, 0x7d, 0x53, 0x6a, 0xfa, 0xff, 0xda, 0xf8, 0x1f, 0x45,
0xc1, 0xca, 0xd5, 0xee, 0xcd, 0xce, 0x24, 0x8d, 0xc9, 0xfd, 0x38, 0xbf, 0x7f, 0x47, 0x4b, 0x35, 0xae, 0xe3, 0x65, 0xc5, 0xcf, 0xff, 0x9d, 0xbd, 0x8f, 0x2e, 0x27, 0xf8, 0xb3, 0xcf, 0x7f, 0x9e, 0xf7, 0x99, 0x7c, 0x66, 0x44, 0xec, 0xfd, 0xbf,
0x97, 0x65, 0x65, 0xf2, 0x5f, 0xef, 0x4b, 0xd7, 0xe7, 0x3f, 0xbf, 0x06, 0x99, 0x0a, 0x52, 0x73, 0xbd, 0xe3, 0x7c, 0xfe, 0xb3, 0x03, 0xb2, 0xa7, 0xfe, 0xf1, 0x3d, 0x25, 0x73, 0xfd, 0xe6, 0xb7, 0x1d, 0xa9, 0xeb, 0x7b, 0x58, 0x56, 0xf6, 0x6d,
0x77, 0xed, 0xff, 0xef, 0xce, 0x7f, 0xbe, 0x06, 0xcc, 0xd1, 0x79, 0x77, 0x65, 0x2f, 0x8a, 0x52, 0x26, 0xb3, 0xfb, 0x60, 0x78, 0x83, 0x4f, 0xbd, 0x63, 0xde, 0x97, 0x19, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xbd, 0xff, 0x8f, 0xd2, 0x39, 0x55, 0xe7, 0xb6, 0xbd, 0x22, 0xff, 0x63, 0x61, 0xfe, 0xef, 0xee, 0xff, 0xf7, 0xcc, 0x7f, 0x10, 0xf3, 0xc8, 0xac, 0xae, 0x38, 0x2b, 0x51, 0x01, 0xdc, 0xb7, 0x6e, 0x73, 0xe7, 0x2f, 0xd1, 0x42, 0x2d, 0xb7, 0x4c,
0x5f, 0x2d, 0xdf, 0xb9, 0xfc, 0xe7, 0x53, 0x3e, 0x8a, 0x6b, 0xde, 0x77, 0xfe, 0x1f, 0xe9, 0xf1, 0xd3, 0xcc, 0xb2, 0xa2, 0x1d, 0xe8, 0x2b, 0x77, 0x8c, 0x82, 0xde, 0x19, 0xdf, 0xba, 0x94, 0x16, 0xd5, 0xcf, 0xfa, 0xaa, 0x64, 0x73, 0xd1, 0x64,
0xe5, 0x5c, 0x6b, 0x1c, 0x3c, 0x9f, 0xf0, 0xf9, 0xf9, 0x1f, 0xc5, 0x33, 0xe0, 0xa3, 0xa7, 0x61, 0xe4, 0xdb, 0x67, 0x76, 0xdc, 0x6d, 0x0a, 0xd6, 0x88, 0x9f, 0xcb, 0x36, 0xf1, 0xf9, 0x42, 0xee, 0xbd, 0xf3, 0x75, 0xeb, 0xa6, 0x0a, 0xc6, 0x81,
0x84, 0xbb, 0xbe, 0x0a, 0xf2, 0xf5, 0xcf, 0xc1, 0x88, 0x86, 0xb3, 0xfc, 0xa3, 0xca, 0x85, 0xb1, 0x41, 0xfe, 0xeb, 0xd7, 0x42, 0x8e, 0xb3, 0xdf, 0x6d, 0xb5, 0x1e, 0x95, 0xeb, 0xfa, 0xe7, 0xe3, 0x5f, 0xb6, 0xba, 0xf6, 0x59, 0xfd, 0x73, 0x11,
0x87, 0xbb, 0xfa, 0xff, 0xee, 0xeb, 0xd6, 0x3d, 0xf9, 0x1f, 0xa5, 0x71, 0x4c, 0x5f, 0x3b, 0x8f, 0xa9, 0xfe, 0x7f, 0xbc, 0xb2, 0x1e, 0xff, 0x4a, 0x65, 0xd0, 0x54, 0x79, 0x76, 0x56, 0xf5, 0x1f, 0x66, 0xfd, 0x9f, 0x8b, 0x7f, 0x6d, 0x18, 0xff,
0x2c, 0xff, 0xd7, 0x3f, 0x07, 0x23, 0x5a, 0x46, 0xf9, 0x51, 0x7c, 0xde, 0x50, 0xef, 0xf9, 0xff, 0xb7, 0xe7, 0xe2, 0x46, 0xff, 0x1c, 0xa1, 0x64, 0xfb, 0xdd, 0x35, 0x9f, 0xe4, 0x1e, 0xfd, 0xb3, 0xde, 0x3f, 0xdd, 0xb8, 0x63, 0xf5, 0xa8, 0xb7,
0xf9, 0xd9, 0x70, 0x6b, 0xf3, 0x7f, 0xee, 0x6a, 0xf5, 0xca, 0xfc, 0x0f, 0xf9, 0x3f, 0x79, 0x87, 0xeb, 0xe8, 0x5e, 0xc5, 0x25, 0xdb, 0x83, 0xa8, 0xa1, 0x2f, 0xe6, 0x2e, 0xef, 0xac, 0x87, 0xc3, 0x71, 0xfd, 0x09, 0x7c, 0xa5, 0x87, 0x5c, 0xbd,
0x48, 0xdf, 0x75, 0x99, 0xbd, 0x77, 0x74, 0xe5, 0xf9, 0xff, 0x75, 0xfd, 0xff, 0x58, 0x72, 0xfd, 0x7f, 0x45, 0x3f, 0xfb, 0x6b, 0x9c, 0xfa, 0xbb, 0xbc, 0xab, 0xb3, 0xb1, 0x87, 0xfe, 0xde, 0xf7, 0xc7, 0x7e, 0xf1, 0x7f, 0xed, 0xbb, 0xed, 0xad,
0xa4, 0xfe, 0xff, 0xfb, 0x9e, 0xfd, 0x9c, 0xfc, 0x9f, 0x49, 0xdc, 0x78, 0x44, 0x45, 0xd1, 0xae, 0x4a, 0xd0, 0xd7, 0x5e, 0x7f, 0xec, 0xfd, 0x4f, 0x9b, 0x5b, 0xb9, 0xa3, 0x3f, 0x59, 0xa9, 0x27, 0xd0, 0x3e, 0xfa, 0xef, 0x3a, 0xd6, 0xdb, 0xe7,
0xff, 0xeb, 0xbe, 0x9f, 0xd1, 0x73, 0xfe, 0x9f, 0xef, 0x49, 0xe7, 0x46, 0xb9, 0x9d, 0xcb, 0xba, 0xee, 0xfc, 0xff, 0x1d, 0xb6, 0xba, 0xe8, 0x7f, 0x37, 0xff, 0x73, 0x5a, 0xc6, 0xc6, 0x49, 0xfa, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf9, 0xef, 0x59, 0xbb, 0xfb, 0x2b, 0x20, 0xee, 0x99, 0xff, 0x51, 0xfc, 0x7d, 0xcd, 0xbd, 0xe7, 0xff, 0x57, 0xe6, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x71, 0x8d, 0x74, 0x76, 0x95, 0x51, 0x41, 0x27, 0xf1, 0x75, 0xa5, 0xb4, 0xeb, 0x7c,
0x8f, 0x7d, 0xe6, 0xbd, 0xf9, 0x3f, 0xfa, 0xfd, 0xcf, 0x13, 0xb7, 0xdb, 0xec, 0xd1, 0x27, 0x16, 0xbd, 0xf7, 0xae, 0xb3, 0x82, 0xaa, 0xab, 0x58, 0xdd, 0x1f, 0x3e, 0x5a, 0x1b, 0x55, 0x41, 0xb7, 0xa3, 0x4b, 0xab, 0xbc, 0x13, 0x53, 0x26, 0xef,
0xa3, 0x98, 0xba, 0x56, 0x21, 0xff, 0x9d, 0xf9, 0x7f, 0x53, 0xc2, 0x9e, 0x92, 0xff, 0x55, 0x47, 0x8c, 0xa7, 0x3c, 0x19, 0xab, 0xaf, 0xf2, 0xbf, 0xfb, 0x2a, 0x66, 0x75, 0x55, 0xc0, 0xd5, 0xee, 0x69, 0x4b, 0xd7, 0x55, 0xf6, 0xf1, 0x66, 0x0d,
0x42, 0xfe, 0xaf, 0xcd, 0xff, 0xaf, 0x24, 0xec, 0xbd, 0xf9, 0x7f, 0xdf, 0xd1, 0x2c, 0x3b, 0x86, 0x8e, 0x0b, 0xc7, 0xdd, 0xa3, 0xfe, 0xa7, 0xf6, 0xbc, 0xfb, 0x3d, 0x48, 0x6a, 0xf4, 0x79, 0x56, 0xff, 0xf8, 0x78, 0xb1, 0x3a, 0xbe, 0xac, 0xef,
0x71, 0xe3, 0x18, 0xbf, 0xba, 0x5e, 0xd7, 0xac, 0xf3, 0xae, 0x2d, 0xf3, 0x84, 0xb5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xa2, 0xcb, 0x2c, 0x98, 0xca, 0xb6, 0xf7, 0xf7, 0xcf, 0xbe, 0xcf, 0x65, 0xcb, 0x19, 0x74, 0xd6, 0x05, 0xf7, 0xeb,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0x67, 0xb9, 0x44, 0xcb, 0x6c, 0xd9, 0x51, 0xaa, 0xc3, 0x9e, 0x9f, 0x0b, 0x99, 0xad, 0xbf, 0xaf, 0x8d, 0x7b, 0xeb, 0xbf, 0x53, 0x67, 0xf4, 0x47, 0xff, 0xaf, 0xe9, 0x1f, 0xab, 0xb4, 0x5f, 0xff, 0x79, 0x4e,
0x35, 0x3f, 0x5a, 0xea, 0x14, 0x57, 0xaa, 0xc5, 0x1e, 0xcf, 0x37, 0x8d, 0x64, 0x5b, 0xde, 0xb5, 0xad, 0xa2, 0xbc, 0xf4, 0xb7, 0xda, 0xd1, 0x9f, 0xf8, 0x27, 0xfe, 0xd1, 0xff, 0xc9, 0xcf, 0x63, 0x11, 0x7a, 0xaa, 0xfe, 0x2a, 0x9d, 0x33, 0x39,
0x95, 0xdb, 0xe4, 0xf3, 0xac, 0xa0, 0xfc, 0x93, 0x16, 0x2a, 0xd5, 0x33, 0xae, 0xcb, 0xc1, 0xea, 0xd9, 0xfc, 0xf9, 0xba, 0x51, 0x7f, 0x5f, 0xde, 0x6d, 0x7f, 0xfd, 0x77, 0x69, 0x72, 0xb6, 0xfe, 0xe3, 0x35, 0xf1, 0x8f, 0xfe, 0xbe, 0x7a, 0x05,
0xfc, 0xf3, 0x55, 0x4f, 0xfb, 0x9e, 0x14, 0xd0, 0xfd, 0x2d, 0x32, 0x75, 0x5e, 0xcf, 0xb5, 0x42, 0x34, 0xb5, 0xe5, 0x5d, 0xe7, 0xcd, 0xff, 0xe4, 0xb3, 0xd6, 0x9d, 0xf3, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
0xdb, 0xea, 0x68, 0x8d, 0x62, 0xf9, 0xda, 0x76, 0xd5, 0xeb, 0x8e, 0x52, 0x3f, 0x78, 0x47, 0x0e, 0x2a, 0xfd, 0xd1, 0xfd, 0x5e, 0xff, 0xbf, 0xc2, 0xf3, 0xf6, 0x19, 0x27, 0x7a, 0xa5, 0x3f, 0x7f, 0x7e, 0x96, 0x5d, 0xa9, 0x19, 0xfa, 0xbd, 0x79,
0xb3, 0x5c, 0xe7, 0xe7, 0xf7, 0xd6, 0xf3, 0xff, 0xd4, 0xf3, 0xb1, 0x67, 0x7c, 0xa7, 0xef, 0xb5, 0xb4, 0x76, 0xfa, 0x0e, 0x10, 0xb3, 0xd7, 0x91, 0x5d, 0x4d, 0x89, 0xd7, 0xac, 0x8e, 0xfa, 0x70, 0xea, 0xfd, 0xf9, 0x91, 0xbd, 0x0a, 0x1c, 0xfb,
0xd5, 0xfc, 0x77, 0x54, 0x97, 0xe9, 0x9c, 0xe7, 0x1e, 0x5f, 0x6a, 0x2e, 0x47, 0xeb, 0xf9, 0xff, 0x4e, 0xaf, 0x57, 0xf3, 0x0e, 0x54, 0xe7, 0x41, 0x64, 0xf2, 0x51, 0x9e, 0xf2, 0x92, 0x5f, 0x57, 0x54, 0xed, 0xbc, 0xe2, 0x94, 0xe9, 0x3f, 0xb4,
0x9f, 0x1f, 0x2f, 0xcc, 0x8e, 0x2f, 0xe6, 0x9f, 0x50, 0x94, 0xaf, 0xde, 0x79, 0xdf, 0xeb, 0xdd, 0xcf, 0x48, 0x5a, 0xfd, 0xd1, 0x7f, 0x1f, 0xd5, 0x3f, 0xb7, 0x03, 0x80, 0xc2, 0x3d, 0xa5, 0xc2, 0xeb, 0x96, 0x3d, 0x56, 0x93, 0xcf, 0xa9, 0x91,
0x7a, 0x25, 0xff, 0xbb, 0xf6, 0x0d, 0x3d, 0xf9, 0x8f, 0x0d, 0xb7, 0x52, 0x7e, 0xf4, 0x36, 0x7f, 0x9e, 0x59, 0x3d, 0xbe, 0xaa, 0x54, 0xfc, 0xfb, 0x22, 0x22, 0x33, 0xfe, 0x9f, 0xa1, 0xbf, 0x8e, 0xca, 0x83, 0x89, 0xfa, 0xdd, 0x54, 0xac, 0x7f,
0x74, 0xe7, 0x7f, 0xc7, 0xb6, 0xcf, 0x8f, 0xff, 0x9f, 0x97, 0xff, 0x28, 0xf4, 0xc3, 0xf7, 0xf5, 0x83, 0x99, 0xa7, 0x58, 0xd6, 0xb7, 0x70, 0x46, 0xfc, 0xf7, 0xf1, 0x9d, 0xe6, 0x47, 0x2a, 0xa1, 0xff, 0xad, 0xbe, 0xda, 0xe2, 0x20, 0x8a, 0x3b,
0xd6, 0xc7, 0xf8, 0xfb, 0xef, 0x83, 0xf2, 0x7f, 0x77, 0xdb, 0x8f, 0x1f, 0xe8, 0xff, 0xf7, 0xd9, 0xef, 0xba, 0xc7, 0xc1, 0x5a, 0xd1, 0x3f, 0xf2, 0x16, 0xb5, 0xa2, 0x7f, 0x3f, 0x1f, 0x5c, 0xf6, 0xfd, 0xef, 0x9b, 0xfa, 0xaf, 0xc6, 0xff, 0x69,
0xf2, 0x2f, 0xff, 0xf2, 0x1f, 0x27, 0xc6, 0x63, 0x7b, 0xbc, 0x7e, 0x5d, 0xfe, 0x73, 0x95, 0xf9, 0xd7, 0xbf, 0x5e, 0xcb, 0x3e, 0xc8, 0xd8, 0x5e, 0x8b, 0x4f, 0xe9, 0xaf, 0x03, 0xf4, 0x57, 0xab, 0x11, 0xca, 0xe9, 0x83, 0xd5, 0x03, 0xcf, 0xff,
0xed, 0xda, 0x6d, 0x24, 0xff, 0xfb, 0xe5, 0x7f, 0xe6, 0x89, 0x61, 0x4f, 0x68, 0xf3, 0xde, 0xfb, 0x7f, 0xcf, 0x1a, 0x6b, 0xf1, 0x99, 0xc4, 0x8e, 0xf1, 0x7f, 0xbe, 0xfe, 0x4f, 0xec, 0x90, 0xe8, 0xd9, 0xcf, 0xed, 0x0c, 0xfd, 0xbb, 0xbd, 0xff,
0xea, 0xff, 0xe5, 0xbf, 0x7e, 0xff, 0xff, 0x1d, 0xf9, 0xef, 0xbe, 0x97, 0xf7, 0x94, 0xeb, 0x7f, 0xe3, 0xe0, 0xb9, 0x40, 0x79, 0xe7, 0x92, 0x9c, 0xf3, 0x3f, 0x67, 0x55, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x71, 0xcb, 0x73, 0xc4, 0xd6, 0xe4, 0xff, 0x19, 0xdb, 0xe4, 0x78, 0xaf, 0x7a, 0x52, 0xfe, 0x9f, 0xdf, 0xe6, 0x9d, 0xf7, 0xf8, 0x72, 0x0e, 0xc0, 0xaa, 0x03, 0x5f, 0xcb, 0x2b, 0x55, 0x0a, 0x38, 0xf8, 0xd5, 0xc8, 0xbf, 0x3f, 0x26, 0x6b, 0x2c,
0x25, 0xdf, 0xf1, 0xbd, 0x9f, 0x99, 0xff, 0x37, 0x6c, 0x93, 0xa3, 0x11, 0xd3, 0x9e, 0xfd, 0xff, 0xf3, 0x73, 0x10, 0x8b, 0x57, 0x9c, 0xad, 0xa7, 0x5a, 0x7a, 0x55, 0x85, 0xfc, 0x61, 0xa9, 0x92, 0x1f, 0x73, 0x1f, 0x3f, 0xed, 0xdf, 0x5f, 0x5b,
0x7f, 0x83, 0xb2, 0x6f, 0xfe, 0xc7, 0x6b, 0xfa, 0xff, 0xe7, 0x6f, 0x93, 0xb8, 0xf1, 0x5b, 0xf4, 0xe6, 0x7f, 0xb7, 0xfb, 0x11, 0xdf, 0x9d, 0x0f, 0x51, 0xe1, 0x25, 0x7e, 0x3e, 0x1f, 0x61, 0xa7, 0x7f, 0xff, 0xae, 0x5a, 0xb9, 0x36, 0x65, 0x1b,
0x7f, 0x77, 0xff, 0x06, 0xed, 0x69, 0xe7, 0x3d, 0xcf, 0xfb, 0xfd, 0x4f, 0x6d, 0x4c, 0xfd, 0xa4, 0x7d, 0xf1, 0xae, 0x3b, 0xb0, 0x1a, 0xda, 0x3d, 0xdb, 0xa4, 0x53, 0xfe, 0x9f, 0x67, 0xa5, 0x7d, 0x35, 0x4f, 0x49, 0x8b, 0x3d, 0xea, 0x2e, 0x87,
0xe7, 0x2a, 0xe2, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xd6, 0x55, 0xdf, 0x3c, 0x8a, 0x81, 0x8e, 0xf5, 0x43, 0x7b, 0x8f, 0xfc, 0x8c, 0xfe, 0xe7, 0xf8, 0xb4, 0xd0, 0x1f, 0xfd, 0xd1, 0xff, 0xcb, 0xfa, 0xeb,
0x33, 0xab, 0xce, 0xbd, 0x56, 0xa9, 0xe6, 0x1e, 0xcb, 0xbe, 0x6b, 0xa5, 0x36, 0x4b, 0xb4, 0xcd, 0x5d, 0xea, 0xda, 0x32, 0x00, 0xfd, 0x3d, 0xfb, 0x36, 0xa0, 0x7f, 0x27, 0x3f, 0x74, 0x34, 0xfe, 0x87, 0x25, 0xc3, 0x1c, 0xfd, 0xbb, 0xf8, 0xa1,
0x9f, 0x97, 0x1b, 0xc5, 0x2a, 0x2c, 0xbc, 0xeb, 0x08, 0xb0, 0xaa, 0x42, 0xfe, 0x68, 0xa8, 0x92, 0x5f, 0xab, 0xe6, 0x78, 0xd1, 0xbf, 0x4f, 0x9e, 0x46, 0x6f, 0xfd, 0xcf, 0x7b, 0xff, 0x1b, 0xc5, 0xb5, 0xd1, 0xdf, 0xe3, 0x87, 0x67, 0x0e, 0x88,
0x4f, 0x2d, 0xf7, 0xb9, 0x99, 0xb2, 0xeb, 0xb6, 0x4c, 0x6f, 0x9d, 0x7c, 0xde, 0x75, 0x04, 0x58, 0xf9, 0x1c, 0x91, 0x68, 0xf9, 0x27, 0x40, 0x7f, 0xf8, 0xa2, 0xf6, 0xa8, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa7, 0x7a, 0x16,
0xfc, 0xcc, 0xd8, 0xea, 0xbb, 0x8e, 0xaf, 0x33, 0xcf, 0x46, 0xa2, 0xf2, 0xc4, 0xfa, 0xb5, 0x8d, 0xd6, 0x96, 0x85, 0x3b, 0x01, 0xfd, 0x01, 0x00, 0x80, 0xfe, 0x1f, 0xd0, 0x1f, 0xd0, 0x1f, 0xd0, 0x1f, 0xd0, 0x1f, 0xd0, 0x1f, 0xd0, 0x1f, 0xb2,
0x8e, 0x59, 0xcf, 0xde, 0x4b, 0xf7, 0xeb, 0x51, 0xe5, 0xff, 0xd7, 0x92, 0xb4, 0x7a, 0x8e, 0xf8, 0x6c, 0x5d, 0x8e, 0xfc, 0x15, 0x0d, 0x68, 0x07, 0x7a, 0x01, 0x40, 0x7f, 0xc0, 0x39, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x59, 0xea, 0x7e, 0x35, 0x1b, 0xa2, 0x30, 0xa7, 0x7f, 0x78, 0x4e, 0x06, 0x37, 0xf5, 0x3f, 0x9d, 0x75, 0x3b, 0xae, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xbb, 0x01, 0xfd, 0x61, 0xab, 0xfe, 0x7f, 0x01 };
0xff, 0x5e, 0xaf, 0xd7, 0xfa, 0x7f, 0xf9, 0x47, 0xfe, 0xe5, 0x5f, 0xfe, 0x91, 0xff, 0xf7, 0xe6, 0x3f, 0xe4, 0x9f, 0x5b,
0x47, 0xff, 0x2b, 0x9f, 0xdb, 0x21, 0xff, 0x73, 0x77, 0xff, 0xe4, 0x9f, 0x3b, 0xee, 0xfe, 0xf7, 0x55, 0xc8, 0x95, 0xff,
0xda, 0xaf, 0xaf, 0xe4, 0x1f, 0xf9, 0x7f, 0x7b, 0xff, 0x2f, 0xff, 0xb8, 0xff, 0x77, 0x4d, 0xfe, 0xd5, 0xc9, 0xce, 0xfd,
0x4a, 0x3a, 0xf7, 0x24, 0x44, 0xb8, 0xfe, 0xba, 0x85, 0xbd, 0xb1, 0xff, 0xb7, 0x99, 0x47, 0x2d, 0xab, 0xc5, 0xe1, 0x17,
0xe6, 0x7f, 0xc9, 0x3f, 0xfc, 0xda, 0xc8, 0xaf, 0xfb, 0xff, 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, 0x30, 0xe3, 0xcf, 0x7f, 0xda, 0x01, 0xe4, 0x1f, 0xf8, 0xb9, 0xfc, 0xff,
0x01 };
// Font glyphs rectangles data (on atlas) // Font glyphs rectangles data (on atlas)
static const Rectangle ashesFontRecs[189] = { static const Rectangle ashesFontRecs[189] = {
@ -166,180 +153,180 @@ static const Rectangle ashesFontRecs[189] = {
{ 215, 4, 4 , 8 }, { 215, 4, 4 , 8 },
{ 227, 4, 4 , 8 }, { 227, 4, 4 , 8 },
{ 239, 4, 6 , 8 }, { 239, 4, 6 , 8 },
{ 253, 4, 4 , 8 }, { 4, 28, 4 , 8 },
{ 265, 4, 4 , 8 }, { 16, 28, 4 , 8 },
{ 277, 4, 4 , 8 }, { 28, 28, 4 , 8 },
{ 289, 4, 4 , 8 }, { 40, 28, 4 , 8 },
{ 301, 4, 4 , 8 }, { 52, 28, 4 , 8 },
{ 313, 4, 1 , 5 }, { 64, 28, 1 , 5 },
{ 322, 4, 2 , 6 }, { 73, 28, 2 , 6 },
{ 332, 4, 4 , 7 }, { 83, 28, 4 , 7 },
{ 344, 4, 4 , 4 }, { 95, 28, 4 , 4 },
{ 356, 4, 4 , 7 }, { 107, 28, 4 , 7 },
{ 368, 4, 4 , 10 }, { 119, 28, 4 , 10 },
{ 380, 4, 8 , 7 }, { 131, 28, 8 , 7 },
{ 396, 4, 4 , 10 }, { 147, 28, 4 , 10 },
{ 408, 4, 4 , 10 }, { 159, 28, 4 , 10 },
{ 420, 4, 4 , 10 }, { 171, 28, 4 , 10 },
{ 432, 4, 4 , 10 }, { 183, 28, 4 , 10 },
{ 444, 4, 4 , 10 }, { 195, 28, 4 , 10 },
{ 456, 4, 5 , 10 }, { 207, 28, 5 , 10 },
{ 469, 4, 4 , 10 }, { 220, 28, 4 , 10 },
{ 481, 4, 4 , 10 }, { 232, 28, 4 , 10 },
{ 493, 4, 1 , 10 }, { 244, 28, 1 , 10 },
{ 4, 28, 3 , 10 },
{ 15, 28, 4 , 10 },
{ 27, 28, 4 , 10 },
{ 39, 28, 7 , 10 },
{ 54, 28, 4 , 10 },
{ 66, 28, 4 , 10 },
{ 78, 28, 4 , 10 },
{ 90, 28, 5 , 11 },
{ 103, 28, 4 , 10 },
{ 115, 28, 4 , 10 },
{ 127, 28, 5 , 10 },
{ 140, 28, 4 , 10 },
{ 152, 28, 4 , 10 },
{ 164, 28, 7 , 10 },
{ 179, 28, 4 , 10 },
{ 191, 28, 4 , 10 },
{ 203, 28, 4 , 10 },
{ 215, 28, 2 , 12 },
{ 225, 28, 5 , 10 },
{ 238, 28, 2 , 12 },
{ 248, 28, 5 , 3 },
{ 261, 28, 5 , 1 },
{ 274, 28, 2 , 2 },
{ 284, 28, 4 , 8 },
{ 296, 28, 4 , 10 },
{ 308, 28, 3 , 8 },
{ 319, 28, 4 , 10 },
{ 331, 28, 4 , 8 },
{ 343, 28, 3 , 10 },
{ 354, 28, 5 , 11 },
{ 367, 28, 4 , 10 },
{ 379, 28, 1 , 10 },
{ 388, 28, 3 , 13 },
{ 399, 28, 4 , 10 },
{ 411, 28, 2 , 10 },
{ 421, 28, 7 , 8 },
{ 436, 28, 4 , 8 },
{ 448, 28, 4 , 8 },
{ 460, 28, 4 , 11 },
{ 472, 28, 4 , 11 },
{ 484, 28, 3 , 8 },
{ 495, 28, 4 , 8 },
{ 4, 52, 3 , 10 }, { 4, 52, 3 , 10 },
{ 15, 52, 4 , 8 }, { 15, 52, 4 , 10 },
{ 27, 52, 5 , 8 }, { 27, 52, 4 , 10 },
{ 40, 52, 7 , 8 }, { 39, 52, 7 , 10 },
{ 55, 52, 4 , 8 }, { 54, 52, 4 , 10 },
{ 67, 52, 4 , 11 }, { 66, 52, 4 , 10 },
{ 79, 52, 4 , 8 }, { 78, 52, 4 , 10 },
{ 91, 52, 4 , 12 }, { 90, 52, 5 , 11 },
{ 103, 52, 1 , 10 }, { 103, 52, 4 , 10 },
{ 112, 52, 4 , 12 }, { 115, 52, 4 , 10 },
{ 124, 52, 4 , 2 }, { 127, 52, 5 , 10 },
{ 136, 52, 1 , 10 }, { 140, 52, 4 , 10 },
{ 145, 52, 4 , 12 }, { 152, 52, 4 , 10 },
{ 157, 52, 5 , 10 }, { 164, 52, 7 , 10 },
{ 170, 52, 5 , 10 }, { 179, 52, 4 , 10 },
{ 183, 52, 5 , 10 }, { 191, 52, 4 , 10 },
{ 196, 52, 6 , 13 }, { 203, 52, 4 , 10 },
{ 210, 52, 4 , 10 }, { 215, 52, 2 , 12 },
{ 222, 52, 6 , 13 }, { 225, 52, 5 , 10 },
{ 236, 52, 7 , 9 }, { 238, 52, 2 , 12 },
{ 251, 52, 3 , 7 }, { 4, 76, 5 , 3 },
{ 262, 52, 6 , 5 }, { 17, 76, 5 , 1 },
{ 276, 52, 6 , 13 }, { 30, 76, 2 , 2 },
{ 290, 52, 7 , 9 }, { 40, 76, 4 , 8 },
{ 305, 52, 4 , 1 }, { 52, 76, 4 , 10 },
{ 317, 52, 3 , 5 }, { 64, 76, 3 , 8 },
{ 328, 52, 5 , 7 }, { 75, 76, 4 , 10 },
{ 341, 52, 3 , 5 }, { 87, 76, 4 , 8 },
{ 352, 52, 6 , 13 }, { 99, 76, 3 , 10 },
{ 366, 52, 6 , 13 }, { 110, 76, 5 , 11 },
{ 380, 52, 4 , 11 }, { 123, 76, 4 , 10 },
{ 392, 52, 6 , 10 }, { 135, 76, 1 , 10 },
{ 406, 52, 3 , 3 }, { 144, 76, 3 , 13 },
{ 417, 52, 6 , 13 }, { 155, 76, 4 , 10 },
{ 431, 52, 2 , 5 }, { 167, 76, 2 , 10 },
{ 441, 52, 3 , 5 }, { 177, 76, 7 , 8 },
{ 452, 52, 6 , 5 }, { 192, 76, 4 , 8 },
{ 466, 52, 7 , 10 }, { 204, 76, 4 , 8 },
{ 481, 52, 7 , 8 }, { 216, 76, 4 , 11 },
{ 496, 52, 6 , 13 }, { 228, 76, 4 , 11 },
{ 4, 76, 4 , 10 }, { 240, 76, 3 , 8 },
{ 16, 76, 4 , 13 }, { 4, 100, 4 , 8 },
{ 28, 76, 4 , 13 }, { 16, 100, 3 , 10 },
{ 40, 76, 4 , 13 }, { 27, 100, 4 , 8 },
{ 52, 76, 4 , 13 }, { 39, 100, 5 , 8 },
{ 64, 76, 4 , 13 }, { 52, 100, 7 , 8 },
{ 76, 76, 4 , 13 }, { 67, 100, 4 , 8 },
{ 88, 76, 7 , 10 }, { 79, 100, 4 , 11 },
{ 103, 76, 4 , 13 }, { 91, 100, 4 , 8 },
{ 115, 76, 4 , 13 }, { 103, 100, 4 , 12 },
{ 127, 76, 4 , 13 }, { 115, 100, 1 , 10 },
{ 139, 76, 4 , 13 }, { 124, 100, 4 , 12 },
{ 151, 76, 4 , 13 }, { 136, 100, 4 , 2 },
{ 163, 76, 2 , 13 }, { 148, 100, 1 , 10 },
{ 173, 76, 2 , 13 }, { 157, 100, 4 , 12 },
{ 183, 76, 3 , 13 }, { 169, 100, 5 , 10 },
{ 194, 76, 3 , 13 }, { 182, 100, 5 , 10 },
{ 205, 76, 5 , 10 }, { 195, 100, 5 , 10 },
{ 218, 76, 4 , 13 }, { 208, 100, 0 , 0 },
{ 230, 76, 4 , 13 }, { 216, 100, 4 , 10 },
{ 242, 76, 4 , 13 }, { 228, 100, 0 , 0 },
{ 254, 76, 4 , 13 }, { 236, 100, 7 , 9 },
{ 266, 76, 4 , 13 }, { 4, 124, 3 , 7 },
{ 278, 76, 4 , 13 }, { 15, 124, 6 , 5 },
{ 290, 76, 5 , 5 }, { 29, 124, 0 , 0 },
{ 303, 76, 6 , 12 }, { 37, 124, 7 , 9 },
{ 317, 76, 4 , 13 }, { 52, 124, 4 , 1 },
{ 329, 76, 4 , 13 }, { 64, 124, 3 , 5 },
{ 341, 76, 4 , 13 }, { 75, 124, 5 , 7 },
{ 353, 76, 4 , 13 }, { 88, 124, 3 , 5 },
{ 365, 76, 4 , 13 }, { 99, 124, 0 , 0 },
{ 377, 76, 6 , 13 }, { 107, 124, 0 , 0 },
{ 391, 76, 5 , 12 }, { 115, 124, 4 , 11 },
{ 404, 76, 4 , 12 }, { 127, 124, 6 , 10 },
{ 416, 76, 4 , 12 }, { 141, 124, 3 , 3 },
{ 428, 76, 4 , 12 }, { 152, 124, 0 , 0 },
{ 440, 76, 4 , 12 }, { 160, 124, 2 , 5 },
{ 452, 76, 4 , 12 }, { 170, 124, 3 , 5 },
{ 464, 76, 4 , 12 }, { 181, 124, 6 , 5 },
{ 476, 76, 7 , 8 }, { 195, 124, 7 , 10 },
{ 491, 76, 3 , 11 }, { 210, 124, 7 , 8 },
{ 4, 100, 4 , 12 }, { 225, 124, 0 , 0 },
{ 16, 100, 4 , 12 }, { 233, 124, 4 , 10 },
{ 28, 100, 4 , 12 }, { 4, 148, 4 , 13 },
{ 40, 100, 4 , 12 }, { 16, 148, 4 , 13 },
{ 52, 100, 3 , 12 }, { 28, 148, 4 , 13 },
{ 63, 100, 3 , 12 }, { 40, 148, 4 , 13 },
{ 74, 100, 3 , 12 }, { 52, 148, 4 , 13 },
{ 85, 100, 3 , 12 }, { 64, 148, 4 , 13 },
{ 96, 100, 6 , 13 }, { 76, 148, 7 , 10 },
{ 110, 100, 4 , 12 }, { 91, 148, 4 , 13 },
{ 122, 100, 4 , 12 }, { 103, 148, 4 , 13 },
{ 134, 100, 4 , 12 }, { 115, 148, 4 , 13 },
{ 146, 100, 4 , 12 }, { 127, 148, 4 , 13 },
{ 158, 100, 4 , 12 }, { 139, 148, 4 , 13 },
{ 170, 100, 4 , 12 }, { 151, 148, 2 , 13 },
{ 182, 100, 5 , 5 }, { 161, 148, 2 , 13 },
{ 195, 100, 6 , 10 }, { 171, 148, 3 , 13 },
{ 209, 100, 4 , 12 }, { 182, 148, 3 , 13 },
{ 221, 100, 4 , 12 }, { 193, 148, 5 , 10 },
{ 233, 100, 4 , 12 }, { 206, 148, 4 , 13 },
{ 245, 100, 4 , 12 }, { 218, 148, 4 , 13 },
{ 257, 100, 4 , 15 }, { 230, 148, 4 , 13 },
{ 269, 100, 6 , 13 }, { 242, 148, 4 , 13 },
{ 283, 100, 4 , 15 }, { 4, 172, 4 , 13 },
{ 16, 172, 4 , 13 },
{ 28, 172, 5 , 5 },
{ 41, 172, 6 , 12 },
{ 55, 172, 4 , 13 },
{ 67, 172, 4 , 13 },
{ 79, 172, 4 , 13 },
{ 91, 172, 4 , 13 },
{ 103, 172, 4 , 13 },
{ 115, 172, 0 , 0 },
{ 123, 172, 5 , 12 },
{ 136, 172, 4 , 12 },
{ 148, 172, 4 , 12 },
{ 160, 172, 4 , 12 },
{ 172, 172, 4 , 12 },
{ 184, 172, 4 , 12 },
{ 196, 172, 4 , 12 },
{ 208, 172, 7 , 8 },
{ 223, 172, 3 , 11 },
{ 234, 172, 4 , 12 },
{ 4, 196, 4 , 12 },
{ 16, 196, 4 , 12 },
{ 28, 196, 4 , 12 },
{ 40, 196, 3 , 12 },
{ 51, 196, 3 , 12 },
{ 62, 196, 3 , 12 },
{ 73, 196, 3 , 12 },
{ 84, 196, 0 , 0 },
{ 92, 196, 4 , 12 },
{ 104, 196, 4 , 12 },
{ 116, 196, 4 , 12 },
{ 128, 196, 4 , 12 },
{ 140, 196, 4 , 12 },
{ 152, 196, 4 , 12 },
{ 164, 196, 5 , 5 },
{ 177, 196, 6 , 10 },
{ 191, 196, 4 , 12 },
{ 203, 196, 4 , 12 },
{ 215, 196, 4 , 12 },
{ 227, 196, 4 , 12 },
{ 239, 196, 4 , 15 },
{ 4, 220, 0 , 0 },
{ 12, 220, 4 , 15 },
}; };
// Font glyphs info data // Font glyphs info data
// NOTE: No glyphs.image data provided // NOTE: No glyphs.image data provided
static const GlyphInfo ashesFontGlyphs[189] = { static const GlyphInfo ashesFontGlyphs[189] = {
{ 32, 0, 13, 4, { 0 }}, { 32, 0, 0, 4, { 0 }},
{ 33, 0, 3, 4, { 0 }}, { 33, 0, 3, 4, { 0 }},
{ 34, 0, 1, 5, { 0 }}, { 34, 0, 1, 5, { 0 }},
{ 35, 0, 4, 8, { 0 }}, { 35, 0, 4, 8, { 0 }},
@ -439,30 +426,30 @@ static const GlyphInfo ashesFontGlyphs[189] = {
{ 163, 0, 3, 7, { 0 }}, { 163, 0, 3, 7, { 0 }},
{ 8364, 0, 3, 7, { 0 }}, { 8364, 0, 3, 7, { 0 }},
{ 165, 0, 3, 7, { 0 }}, { 165, 0, 3, 7, { 0 }},
{ 352, 1, 0, 8, { 0 }}, { 352, 0, 0, 0, { 0 }},
{ 167, 0, 3, 6, { 0 }}, { 167, 0, 3, 6, { 0 }},
{ 353, 1, 0, 8, { 0 }}, { 353, 0, 0, 0, { 0 }},
{ 169, 0, 1, 9, { 0 }}, { 169, 0, 1, 9, { 0 }},
{ 170, 0, 1, 5, { 0 }}, { 170, 0, 1, 5, { 0 }},
{ 171, 0, 6, 8, { 0 }}, { 171, 0, 6, 8, { 0 }},
{ 172, 1, 0, 8, { 0 }}, { 172, 0, 0, 0, { 0 }},
{ 174, 0, 1, 9, { 0 }}, { 174, 0, 1, 9, { 0 }},
{ 175, 0, 0, 6, { 0 }}, { 175, 0, 0, 6, { 0 }},
{ 176, 0, 1, 5, { 0 }}, { 176, 0, 1, 5, { 0 }},
{ 177, 0, 5, 7, { 0 }}, { 177, 0, 5, 7, { 0 }},
{ 178, 0, 1, 5, { 0 }}, { 178, 0, 1, 5, { 0 }},
{ 179, 1, 0, 8, { 0 }}, { 179, 0, 0, 0, { 0 }},
{ 381, 1, 0, 8, { 0 }}, { 381, 0, 0, 0, { 0 }},
{ 181, 0, 5, 6, { 0 }}, { 181, 0, 5, 6, { 0 }},
{ 182, 0, 3, 8, { 0 }}, { 182, 0, 3, 8, { 0 }},
{ 183, 0, 7, 5, { 0 }}, { 183, 0, 7, 5, { 0 }},
{ 382, 1, 0, 8, { 0 }}, { 382, 0, 0, 0, { 0 }},
{ 185, 0, 1, 4, { 0 }}, { 185, 0, 1, 4, { 0 }},
{ 186, 0, 1, 5, { 0 }}, { 186, 0, 1, 5, { 0 }},
{ 187, 0, 6, 8, { 0 }}, { 187, 0, 6, 8, { 0 }},
{ 338, 0, 3, 9, { 0 }}, { 338, 0, 3, 9, { 0 }},
{ 339, 0, 5, 9, { 0 }}, { 339, 0, 5, 9, { 0 }},
{ 376, 1, 0, 8, { 0 }}, { 376, 0, 0, 0, { 0 }},
{ 191, 0, 4, 6, { 0 }}, { 191, 0, 4, 6, { 0 }},
{ 192, 0, 0, 6, { 0 }}, { 192, 0, 0, 6, { 0 }},
{ 193, 0, 0, 6, { 0 }}, { 193, 0, 0, 6, { 0 }},
@ -494,7 +481,7 @@ static const GlyphInfo ashesFontGlyphs[189] = {
{ 219, 0, 0, 6, { 0 }}, { 219, 0, 0, 6, { 0 }},
{ 220, 0, 0, 6, { 0 }}, { 220, 0, 0, 6, { 0 }},
{ 221, 0, 0, 6, { 0 }}, { 221, 0, 0, 6, { 0 }},
{ 222, 1, 0, 8, { 0 }}, { 222, 0, 0, 0, { 0 }},
{ 223, 0, 3, 7, { 0 }}, { 223, 0, 3, 7, { 0 }},
{ 224, 0, 1, 6, { 0 }}, { 224, 0, 1, 6, { 0 }},
{ 225, 0, 1, 6, { 0 }}, { 225, 0, 1, 6, { 0 }},
@ -512,7 +499,7 @@ static const GlyphInfo ashesFontGlyphs[189] = {
{ 237, 0, 1, 5, { 0 }}, { 237, 0, 1, 5, { 0 }},
{ 238, 0, 1, 5, { 0 }}, { 238, 0, 1, 5, { 0 }},
{ 239, 0, 1, 5, { 0 }}, { 239, 0, 1, 5, { 0 }},
{ 240, 1, 0, 8, { 0 }}, { 240, 0, 0, 0, { 0 }},
{ 241, 0, 1, 6, { 0 }}, { 241, 0, 1, 6, { 0 }},
{ 242, 0, 1, 6, { 0 }}, { 242, 0, 1, 6, { 0 }},
{ 243, 0, 1, 6, { 0 }}, { 243, 0, 1, 6, { 0 }},
@ -526,7 +513,7 @@ static const GlyphInfo ashesFontGlyphs[189] = {
{ 251, 0, 1, 6, { 0 }}, { 251, 0, 1, 6, { 0 }},
{ 252, 0, 1, 6, { 0 }}, { 252, 0, 1, 6, { 0 }},
{ 253, 0, 1, 6, { 0 }}, { 253, 0, 1, 6, { 0 }},
{ 254, 1, 0, 8, { 0 }}, { 254, 0, 0, 0, { 0 }},
{ 255, 0, 1, 6, { 0 }}, { 255, 0, 1, 6, { 0 }},
}; };
@ -544,7 +531,7 @@ static void GuiLoadStyleAshes(void)
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function // NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
int ashesFontDataSize = 0; int ashesFontDataSize = 0;
unsigned char *data = DecompressData(ashesFontData, ASHES_STYLE_FONT_ATLAS_COMP_SIZE, &ashesFontDataSize); unsigned char *data = DecompressData(ashesFontData, ASHES_STYLE_FONT_ATLAS_COMP_SIZE, &ashesFontDataSize);
Image imFont = { data, 512, 256, 1, 2 }; Image imFont = { data, 256, 256, 1, 2 };
Font font = { 0 }; Font font = { 0 };
font.baseSize = 16; font.baseSize = 16;
@ -568,7 +555,7 @@ static void GuiLoadStyleAshes(void)
// Setup a white rectangle on the font to be used on shapes drawing, // Setup a white rectangle on the font to be used on shapes drawing,
// it makes possible to draw shapes and text (full UI) in a single draw call // it makes possible to draw shapes and text (full UI) in a single draw call
Rectangle fontWhiteRec = { 510, 254, 1, 1 }; Rectangle fontWhiteRec = { 254, 254, 1, 1 };
SetShapesTexture(font.texture, fontWhiteRec); SetShapesTexture(font.texture, fontWhiteRec);
//----------------------------------------------------------------- //-----------------------------------------------------------------

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 130 KiB

View File

@ -7,7 +7,7 @@
// more info and bugs-report: github.com/raysan5/raygui // // more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com // // feedback and support: ray[at]raylibtech.com //
// // // //
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) // // Copyright (c) 2020-2025 raylib technologies (@raylibtech) //
// // // //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
@ -15,174 +15,165 @@
// Custom style name: Bluish // Custom style name: Bluish
static const GuiStyleProp bluishStyleProps[BLUISH_STYLE_PROPS_COUNT] = { static const GuiStyleProp bluishStyleProps[BLUISH_STYLE_PROPS_COUNT] = {
{ 0, 0, 0x5ca6a6ff }, // DEFAULT_BORDER_COLOR_NORMAL { 0, 0, (int)0x5ca6a6ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0xb4e8f3ff }, // DEFAULT_BASE_COLOR_NORMAL { 0, 1, (int)0xb4e8f3ff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, 0x447e77ff }, // DEFAULT_TEXT_COLOR_NORMAL { 0, 2, (int)0x447e77ff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, 0x5f8792ff }, // DEFAULT_BORDER_COLOR_FOCUSED { 0, 3, (int)0x5f8792ff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, 0xcdeff7ff }, // DEFAULT_BASE_COLOR_FOCUSED { 0, 4, (int)0xcdeff7ff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, 0x4c6c74ff }, // DEFAULT_TEXT_COLOR_FOCUSED { 0, 5, (int)0x4c6c74ff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, 0x3b5b5fff }, // DEFAULT_BORDER_COLOR_PRESSED { 0, 6, (int)0x3b5b5fff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, 0xeaffffff }, // DEFAULT_BASE_COLOR_PRESSED { 0, 7, (int)0xeaffffff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, 0x275057ff }, // DEFAULT_TEXT_COLOR_PRESSED { 0, 8, (int)0x275057ff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, 0x96aaacff }, // DEFAULT_BORDER_COLOR_DISABLED { 0, 9, (int)0x96aaacff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, 0xc8d7d9ff }, // DEFAULT_BASE_COLOR_DISABLED { 0, 10, (int)0xc8d7d9ff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, 0x8c9c9eff }, // DEFAULT_TEXT_COLOR_DISABLED { 0, 11, (int)0x8c9c9eff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 18, 0x84adb7ff }, // DEFAULT_LINE_COLOR { 0, 18, (int)0x84adb7ff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0xe8eef1ff }, // DEFAULT_BACKGROUND_COLOR { 0, 19, (int)0xe8eef1ff }, // DEFAULT_BACKGROUND_COLOR
}; };
// WARNING: This style uses a custom font: "homespun.ttf" (size: 10, spacing: 1) // WARNING: This style uses a custom font: "homespun.ttf" (size: 10, spacing: 1)
#define BLUISH_STYLE_FONT_ATLAS_COMP_SIZE 2914 #define BLUISH_STYLE_FONT_ATLAS_COMP_SIZE 2730
// Font atlas image pixels data: DEFLATE compressed // Font atlas image pixels data: DEFLATE compressed
static unsigned char bluishFontData[BLUISH_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed, static unsigned char bluishFontData[BLUISH_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
0x9d, 0xb1, 0x8e, 0x24, 0x49, 0x11, 0x86, 0x2b, 0xf3, 0x00, 0x09, 0x13, 0x01, 0x12, 0xe0, 0x20, 0x81, 0x90, 0xf0, 0x10, 0x9d, 0xdb, 0x92, 0xdb, 0x38, 0x0c, 0x44, 0x45, 0xee, 0xff, 0xff, 0xf1, 0x90, 0xdc, 0xca, 0xc8, 0x33, 0xa9, 0x4d, 0xd4,
0x12, 0x2e, 0x16, 0x3c, 0x02, 0x2f, 0x02, 0x0e, 0xef, 0x81, 0x07, 0x12, 0x06, 0x12, 0xce, 0x99, 0x38, 0x48, 0x20, 0xe1, 0x10, 0x01, 0x41, 0x17, 0xef, 0x9c, 0x9c, 0x4a, 0x1e, 0x44, 0x8b, 0x26, 0x09, 0x4a, 0x76, 0x84, 0x76, 0x63, 0x2c, 0x00,
0x81, 0x83, 0xc0, 0xc3, 0xc5, 0xe5, 0x2c, 0x8c, 0xc3, 0x81, 0x93, 0x26, 0x33, 0xd0, 0x4e, 0xcf, 0x2e, 0xe2, 0xae, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0x51, 0xc5, 0xb1, 0x2a, 0x5f, 0x5d, 0x1d, 0x3d, 0xad, 0xc7, 0xab, 0xd1, 0xee, 0xeb, 0xad, 0x3a,
0xc8, 0x8a, 0xac, 0xa8, 0xea, 0xea, 0x9b, 0x6f, 0x3f, 0xed, 0x1a, 0x95, 0x5d, 0xd5, 0x99, 0x19, 0x59, 0x35, 0xb3, 0x9d, 0x7a, 0xb0, 0x5a, 0xec, 0xb6, 0x3f, 0x29, 0x2f, 0x32, 0x56, 0xb6, 0x7e, 0xaf, 0xc7, 0xf6, 0x2a, 0x79, 0x5e, 0x5f, 0x5d,
0x5f, 0x47, 0xd8, 0x02, 0x00, 0x00, 0x00, 0xf0, 0x09, 0xaa, 0x38, 0x56, 0xe5, 0xab, 0x6b, 0xe0, 0x4a, 0xb7, 0xe3, 0xd5, 0xb3, 0xd8, 0x66, 0x88, 0x63, 0x7d, 0x73, 0xbe, 0x63, 0x14, 0xd1, 0x52, 0xc7, 0x10, 0xe3, 0x19, 0x9f, 0x67, 0x6d, 0xf7,
0x69, 0x8f, 0x5d, 0xad, 0x06, 0xae, 0xe0, 0xb5, 0xf8, 0x6d, 0x1f, 0xa7, 0xbc, 0x90, 0x31, 0xb3, 0xf5, 0xdd, 0x7c, 0xac, 0x68, 0x9d, 0xb5, 0xf5, 0x1e, 0x6d, 0xa3, 0x8f, 0x26, 0x77, 0xc5, 0xaf, 0x77, 0x54, 0x2b, 0xd4, 0x45, 0x3c, 0xc7, 0xe6,
0xcf, 0x52, 0xe4, 0xf5, 0x35, 0x34, 0x8a, 0x75, 0x4c, 0x1c, 0xeb, 0xab, 0xe3, 0x35, 0x2b, 0xa2, 0xa5, 0x9a, 0x89, 0xfe, 0x6b, 0x57, 0xca, 0xd4, 0xab, 0xad, 0x77, 0x18, 0xa3, 0x8d, 0xf6, 0x5a, 0x8f, 0x3f, 0x67, 0x31, 0x5c, 0xaf, 0xd7, 0x2d,
0xd8, 0xf3, 0x59, 0xeb, 0x57, 0xf4, 0xce, 0x5a, 0x7b, 0x8f, 0xb6, 0x72, 0x8d, 0x26, 0x57, 0xc5, 0x9b, 0x77, 0x54, 0x33, 0xc7, 0xe3, 0xdf, 0x3f, 0xc7, 0x53, 0x36, 0xae, 0x83, 0x5f, 0xd1, 0xea, 0x22, 0x5e, 0x6a, 0x3c, 0xeb, 0xca, 0x95, 0xcd,
0xd4, 0x45, 0x3c, 0x6d, 0xf5, 0xb5, 0x37, 0xca, 0xa6, 0x57, 0x7b, 0xef, 0x60, 0xd6, 0xac, 0xbd, 0xcc, 0xc7, 0xc7, 0x47, 0x1e, 0xad, 0xb3, 0x96, 0xe9, 0xd5, 0xde, 0x3e, 0x7f, 0x1d, 0xe9, 0xf6, 0x3c, 0xca, 0x67, 0xdb, 0xd6, 0xda, 0xb5, 0xa4,
0x61, 0xa1, 0xd7, 0xeb, 0x96, 0xfd, 0xf1, 0xef, 0xcf, 0xfd, 0x29, 0x2b, 0xf7, 0xc1, 0x9b, 0x68, 0x75, 0x11, 0x2f, 0xd5, 0xfb, 0xaa, 0x9a, 0xef, 0x62, 0x5e, 0x5b, 0xdb, 0xab, 0xd0, 0x5d, 0x2d, 0xc7, 0xe3, 0xaf, 0x77, 0xf4, 0x78, 0xfd, 0x55,
0x9f, 0xdb, 0xcc, 0x95, 0xd5, 0x2b, 0x7a, 0x67, 0x2d, 0x9b, 0x67, 0x7b, 0xfd, 0xfc, 0x5b, 0x4f, 0xd7, 0xc7, 0x51, 0x9e, 0x33, 0x6b, 0x62, 0x3c, 0x45, 0xb4, 0xd8, 0x67, 0x1d, 0x89, 0x7f, 0x79, 0x8d, 0xb4, 0x8a, 0xeb, 0x79, 0x88, 0x2b, 0xfa,
0xdb, 0xd6, 0xe6, 0xae, 0x25, 0x3d, 0x57, 0xd5, 0x78, 0x17, 0xf7, 0xde, 0x5a, 0x9f, 0x85, 0x1e, 0x6a, 0xd9, 0x1f, 0x7f, 0xcc, 0xe8, 0xfb, 0xe3, 0x5f, 0x5e, 0x7b, 0xb5, 0x88, 0x4f, 0xa5, 0x6b, 0xe3, 0x5f, 0x5e, 0xf7, 0xff, 0x2a, 0x46, 0x5f,
0xbd, 0xa2, 0xed, 0xe5, 0xaf, 0x1a, 0x59, 0x13, 0xfd, 0x29, 0xa2, 0xc5, 0x3f, 0x6b, 0x4f, 0xfc, 0xcb, 0x4b, 0x4f, 0xab, 0x64, 0xf4, 0xf5, 0xdd, 0xd6, 0xf3, 0xb9, 0xea, 0xbb, 0xfe, 0xd7, 0x75, 0x56, 0x7b, 0xeb, 0xbc, 0xd8, 0xdb, 0xf3, 0xf5,
0xb8, 0x9f, 0x4d, 0xdc, 0xd1, 0x47, 0x46, 0x3f, 0x1e, 0xff, 0xf2, 0xb2, 0x56, 0x8b, 0xf8, 0xa9, 0x74, 0x6e, 0xfc, 0xcb, 0xc5, 0x7f, 0xc8, 0x4f, 0x9e, 0xaf, 0x5d, 0x7c, 0x74, 0x16, 0x3d, 0xe9, 0xfa, 0xef, 0x72, 0x3c, 0xe5, 0x75, 0xff, 0xdf,
0xcb, 0xf3, 0xbf, 0x8a, 0xde, 0x17, 0x19, 0x7d, 0xfd, 0xb4, 0x8d, 0xfc, 0x5c, 0x8d, 0xdd, 0xff, 0xb7, 0x79, 0x56, 0x6b, 0x9e, 0xb3, 0xe7, 0x2a, 0xf4, 0xc4, 0x7f, 0x2f, 0xc6, 0x67, 0x5e, 0xfb, 0xba, 0x6f, 0x7f, 0xfc, 0xd7, 0x1e, 0xb7, 0xde,
0xeb, 0xb8, 0xd8, 0xfb, 0xe3, 0x8d, 0xc5, 0xdf, 0xe4, 0x4f, 0x9e, 0xb7, 0xab, 0x78, 0xef, 0x28, 0x7a, 0xd2, 0xfd, 0xdf, 0xe5, 0xec, 0x5d, 0xbc, 0xb8, 0xbe, 0xff, 0x15, 0xe3, 0x3b, 0xcf, 0xd7, 0xde, 0xf1, 0xcc, 0x2f, 0x2b, 0xce, 0xd7, 0x33,
0x65, 0x7f, 0xca, 0xcb, 0xf3, 0x7f, 0x7d, 0xcc, 0x91, 0xbb, 0x30, 0x12, 0xff, 0x51, 0x8c, 0x8f, 0xbc, 0xf7, 0xf5, 0xb5, 0x76, 0x67, 0xe0, 0x89, 0x7f, 0x91, 0xab, 0x5a, 0x2e, 0xff, 0xfc, 0xb7, 0xe2, 0x6f, 0x8d, 0xd4, 0x8a, 0xbf, 0x6f, 0x16,
0xe3, 0xf1, 0xbf, 0x5d, 0x71, 0xed, 0x5d, 0x8e, 0x5e, 0xc5, 0x4b, 0xe8, 0xf7, 0xbf, 0xe2, 0xfc, 0xce, 0xf3, 0x76, 0xed, 0xc3, 0xf9, 0x1d, 0xfc, 0x79, 0xf1, 0x1f, 0xdf, 0xff, 0x1f, 0x9a, 0x9b, 0x9b, 0x7a, 0xbd, 0xd5, 0xd3, 0x3d, 0xb3, 0x8e,
0x44, 0xc6, 0x97, 0x15, 0xe7, 0xf3, 0xb1, 0xe1, 0x08, 0x22, 0xf1, 0x2f, 0x72, 0x56, 0xcb, 0xe9, 0x3f, 0xff, 0xbd, 0xf8, 0x8c, 0xe7, 0x69, 0xb3, 0x80, 0x23, 0x7c, 0x04, 0xe2, 0xf8, 0x41, 0xec, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x7b, 0x3d, 0xf5, 0xe2, 0x1f, 0x1b, 0x85, 0x05, 0x7f, 0x07, 0xbf, 0x5e, 0xfc, 0xed, 0xdd, 0xff, 0x87, 0xb6, 0x8d, 0x4d, 0xd2, 0x54, 0x3e, 0x59, 0x0a, 0x93, 0xec, 0x96, 0x63, 0xaa, 0x20, 0xad, 0xce, 0xb1, 0x14, 0x49, 0xf6, 0x28, 0xaf, 0x5a,
0xbd, 0xde, 0xbb, 0xd2, 0x7d, 0x46, 0x3d, 0xd3, 0x9f, 0xab, 0x8d, 0x02, 0xf6, 0xf0, 0x34, 0x11, 0xc7, 0x27, 0x62, 0x0f, 0x8f, 0xe5, 0x22, 0xcd, 0xcf, 0x08, 0x28, 0x52, 0xae, 0x6a, 0x69, 0xd3, 0x2a, 0x8c, 0xed, 0x6c, 0xae, 0x56, 0xe7, 0x74,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x66, 0xf9, 0x64, 0x19, 0x26, 0xd9, 0x2d, 0xfb, 0xac, 0x20, 0x6d, 0xe7, 0xb1, 0x56, 0x7b, 0xa3, 0xbc, 0x6e, 0x3d, 0x6a, 0x60, 0x74, 0x91, 0xa7, 0xe5, 0x63, 0x27, 0x3b, 0xd7, 0x5c, 0x2d, 0x7d,
0x78, 0x46, 0x92, 0xdf, 0xcb, 0xb3, 0xe6, 0x63, 0x39, 0xc9, 0xf9, 0xb1, 0x09, 0x23, 0xe5, 0xac, 0x96, 0xb6, 0xd9, 0xc2, 0x37, 0xd7, 0xe7, 0x53, 0xbe, 0x1c, 0xcb, 0xab, 0x5a, 0xea, 0x3c, 0xa5, 0xff, 0xb0, 0x46, 0xa9, 0x74, 0x15, 0x23, 0x3c,
0x58, 0xdf, 0xcd, 0xd5, 0x76, 0x4e, 0x17, 0x73, 0x35, 0xea, 0xe5, 0x79, 0xf3, 0x51, 0x27, 0x7a, 0x37, 0xf3, 0x69, 0xb9, 0xeb, 0x96, 0x7a, 0x4e, 0x0b, 0xc5, 0x5f, 0xcf, 0x4a, 0xe7, 0xe6, 0x6d, 0xd5, 0xa3, 0xee, 0xcd, 0xd7, 0x32, 0xaf, 0x3e,
0x0d, 0x76, 0xe7, 0x5a, 0xa8, 0xa5, 0x0f, 0xf7, 0xfa, 0x62, 0xe6, 0xcb, 0xbe, 0x7d, 0x55, 0xcf, 0xce, 0x53, 0xfe, 0x87, 0x50, 0x31, 0xd6, 0x1a, 0x09, 0xaf, 0x76, 0x66, 0x18, 0xba, 0x8a, 0xbd, 0xb9, 0x35, 0x57, 0x6e, 0x72, 0xec, 0xac, 0xe1,
0xd7, 0x4b, 0xe5, 0x55, 0xd8, 0xf4, 0xa8, 0x5b, 0xea, 0x39, 0x6d, 0x2a, 0xfe, 0x7a, 0x54, 0x7a, 0x6f, 0xde, 0xb7, 0x1e, 0x71, 0xb5, 0xcc, 0x9c, 0x3a, 0xa3, 0x1b, 0xf3, 0xb5, 0x15, 0x26, 0xdd, 0x75, 0x4e, 0x4f, 0xd0, 0xab, 0x78, 0x77, 0x8f,
0xf5, 0xd5, 0x62, 0x2d, 0xdb, 0xed, 0x03, 0x15, 0x63, 0xed, 0x48, 0x44, 0xdd, 0x19, 0x73, 0xbc, 0x8a, 0xd1, 0xd8, 0x5a, 0xa5, 0xc3, 0xe9, 0x46, 0xfc, 0xab, 0x73, 0x6e, 0x6b, 0x4b, 0x75, 0xe5, 0x82, 0xc7, 0xce, 0x1a, 0x1e, 0x57, 0xcb, 0xcc,
0x68, 0x6f, 0xd2, 0x06, 0x73, 0xb8, 0xdf, 0x96, 0xd9, 0x66, 0x67, 0x74, 0x67, 0xbc, 0xbe, 0x61, 0xd2, 0x43, 0xe7, 0xf4, 0xad, 0x5f, 0x09, 0xdf, 0xb1, 0xb3, 0xce, 0x39, 0x6f, 0x07, 0x0c, 0x77, 0x3f, 0xe3, 0x7b, 0xa7, 0x66, 0xde, 0xff, 0x4b,
0x04, 0x5f, 0x25, 0xba, 0x7a, 0x3c, 0x0f, 0xa7, 0x3b, 0xf1, 0xaf, 0xc1, 0xb1, 0xdd, 0x5a, 0x6a, 0x68, 0x2f, 0xd8, 0x06, 0xe0, 0x13, 0xb9, 0x1c, 0xd6, 0x6a, 0xcc, 0xdf, 0xb1, 0x63, 0x0a, 0x93, 0xac, 0x73, 0x9e, 0xa5, 0xdd, 0x28, 0xc1, 0x3b,
0x73, 0xb8, 0xdf, 0x96, 0xd9, 0x36, 0x7f, 0x65, 0xfa, 0x89, 0x9d, 0x75, 0xce, 0x71, 0x2b, 0xc0, 0xc2, 0xd7, 0xb1, 0x77, 0xf6, 0x35, 0x2d, 0x67, 0xc4, 0x3f, 0xaa, 0x30, 0xe9, 0x69, 0xe7, 0x2c, 0x97, 0x6b, 0x7a, 0x86, 0xbc, 0xfe, 0xad, 0xf5,
0x2b, 0x35, 0xf3, 0xf9, 0x5f, 0x26, 0x7e, 0x22, 0x97, 0xdd, 0xae, 0xc6, 0xf6, 0x27, 0xf6, 0x9c, 0x61, 0x92, 0x75, 0xce, 0xc8, 0x5c, 0x43, 0x4b, 0x07, 0x64, 0x8f, 0xe0, 0x27, 0xd0, 0x78, 0x66, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xb5, 0xdc, 0x8d, 0x32, 0xf9, 0xc4, 0x3e, 0xa7, 0xe5, 0x88, 0xf8, 0xcf, 0x1a, 0x26, 0x3d, 0xed, 0x9c, 0xe5, 0x74, 0xa7, 0x00, 0xe0, 0xd0, 0xff, 0xd8, 0xea, 0x1b, 0x9f, 0x42, 0xc5, 0x56, 0xed, 0x78, 0x3d, 0x7a, 0xea, 0xe5, 0xaa, 0x9b, 0xec,
0xc7, 0xe4, 0xfd, 0xef, 0xcd, 0x47, 0xe6, 0x1c, 0x7a, 0x1e, 0x90, 0xdf, 0x83, 0xd7, 0x40, 0xe3, 0x33, 0x1b, 0x00, 0x00, 0x96, 0xc8, 0x5a, 0xec, 0xb5, 0xf8, 0xce, 0xdc, 0x7f, 0xde, 0xad, 0x35, 0x25, 0xea, 0xa9, 0x76, 0xfb, 0x3c, 0x2b, 0x27,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xff, 0xe3, 0xdb, 0x37, 0x31, 0x43, 0xc5, 0xb7, 0x76, 0xa2, 0x39, 0x7a, 0xfb, 0x37, 0x76, 0x47, 0xb6, 0xfe, 0x5b, 0x1f, 0xa8, 0x4f, 0xb2, 0x94, 0x4b, 0x5f, 0x23, 0xcf, 0xcc, 0x16, 0xae, 0x2d,
0xea, 0xe9, 0xd6, 0x4d, 0x76, 0xcb, 0xcc, 0x5c, 0x8c, 0x5a, 0x62, 0x67, 0x8e, 0x3f, 0xef, 0xd6, 0x4e, 0x89, 0xfa, 0x54, 0x6d, 0x73, 0x2d, 0xa2, 0x39, 0xb4, 0x88, 0x0e, 0xc5, 0xce, 0x86, 0xe5, 0xc5, 0x3f, 0x3a, 0xe7, 0x6b, 0x5b, 0xbc, 0x3e,
0xbb, 0x3d, 0x9f, 0x95, 0xb3, 0xfb, 0x67, 0xc3, 0x9e, 0xdd, 0xfe, 0xad, 0x17, 0xf4, 0x93, 0x3c, 0x73, 0xe9, 0x6d, 0xcf, 0x22, 0xcf, 0x8b, 0xbf, 0xa5, 0xf2, 0xc9, 0x8a, 0xff, 0x31, 0x1d, 0x4c, 0x5e, 0xfc, 0x23, 0x1a, 0x2e, 0x3d, 0x76, 0x4b,
0x33, 0x77, 0x0b, 0x6f, 0x2d, 0x6d, 0x75, 0x2e, 0x66, 0xf7, 0xd0, 0x66, 0x3c, 0x14, 0x7f, 0x37, 0x2c, 0x2f, 0xfe, 0xb3, 0x07, 0x75, 0x65, 0xfc, 0xb5, 0x8f, 0xd6, 0x4c, 0xfc, 0xfd, 0x2a, 0x1f, 0x7f, 0xfc, 0x8f, 0xe9, 0x60, 0xf2, 0xe2, 0x1f,
0x63, 0x3e, 0xb7, 0x25, 0x9a, 0x47, 0xe4, 0x7a, 0xf1, 0xf7, 0x2c, 0x9f, 0xac, 0xf8, 0xef, 0xf3, 0x60, 0xf2, 0xe2, 0x3f, 0xd1, 0x70, 0x74, 0xc3, 0x2d, 0xaa, 0xbb, 0xbd, 0x47, 0xc6, 0x8e, 0xc6, 0xb0, 0x05, 0xe2, 0x5f, 0xe4, 0x18, 0x8f, 0xea,
0xe3, 0x70, 0xe9, 0xbe, 0x7b, 0x1e, 0xd4, 0x99, 0xf1, 0xd7, 0x79, 0xb4, 0xb6, 0xc4, 0x3f, 0x6e, 0xf9, 0xc4, 0xe3, 0xbf, 0x3f, 0x3d, 0xd7, 0x7f, 0x39, 0x4d, 0x07, 0x93, 0x7b, 0xff, 0xcf, 0x5a, 0x87, 0xb2, 0xa3, 0x3e, 0x2c, 0x01, 0xb5, 0x48,
0xcf, 0x83, 0xc9, 0x8b, 0xff, 0x8c, 0xc3, 0xd1, 0x9d, 0x6c, 0x51, 0x3d, 0x9c, 0x7b, 0xc4, 0x06, 0x8e, 0x61, 0x9b, 0x88, 0x4f, 0x5e, 0x8b, 0x39, 0xbd, 0x43, 0x4e, 0xfc, 0x23, 0x7d, 0xcd, 0x9d, 0xe3, 0x8d, 0x7f, 0x09, 0xc4, 0x3f, 0x73, 0xec,
0x7f, 0x91, 0x7d, 0xdc, 0xeb, 0x7f, 0x46, 0xee, 0xff, 0x72, 0x98, 0x07, 0x93, 0xfb, 0xfc, 0xcf, 0x9a, 0x87, 0x32, 0xb0, 0x76, 0xfc, 0x8b, 0xa1, 0x16, 0xd9, 0x3f, 0x27, 0x3b, 0xfe, 0x51, 0x55, 0x4b, 0x49, 0xec, 0x6b, 0x24, 0xc7, 0xdf, 0xaf,
0x0f, 0xcb, 0x84, 0x2d, 0xd2, 0x93, 0xe7, 0x62, 0x9b, 0xef, 0x90, 0x13, 0xff, 0x99, 0x6b, 0x6d, 0x3b, 0x27, 0x1a, 0xff, 0x93, 0xc9, 0x1d, 0xbb, 0x1d, 0xff, 0xf8, 0xe8, 0xd6, 0x3f, 0xf5, 0x04, 0x0d, 0x3d, 0xe0, 0x38, 0x03, 0x00, 0x00, 0x00,
0x32, 0x11, 0xff, 0xcc, 0xbe, 0xfb, 0xf1, 0x2f, 0x8e, 0x2d, 0x32, 0x3e, 0x27, 0x3b, 0xfe, 0xb3, 0x56, 0x4b, 0x49, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x2c, 0x46, 0x45, 0x2a, 0x5b, 0x65, 0x34, 0xaf, 0x16, 0xfa, 0x52, 0x50, 0x6c,
0x96, 0x25, 0xc7, 0x3f, 0xee, 0xc9, 0xe4, 0xf6, 0xdd, 0x8f, 0xff, 0x7c, 0xef, 0x6e, 0x7f, 0xea, 0x01, 0x0e, 0x3d, 0x90, 0xeb, 0x27, 0x72, 0x9c, 0x7e, 0xf6, 0x6b, 0x77, 0x79, 0xdf, 0x47, 0xad, 0x56, 0x64, 0x6c, 0x67, 0xd7, 0x38, 0x9b, 0x53,
0x71, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0xff, 0xb3, 0x38, 0x15, 0xa9, 0x7c, 0xcb, 0x68, 0xbb, 0xf9, 0x58, 0xba, 0x17, 0xdf, 0x6f, 0x50, 0x95, 0x37, 0x4d, 0x15, 0x4e, 0x37, 0xde, 0xdf, 0xee, 0x5b, 0x5e, 0x15, 0xba,
0x2d, 0xf4, 0xd6, 0xa0, 0x58, 0xf7, 0x27, 0x72, 0x32, 0xfd, 0x8c, 0x6b, 0x77, 0x45, 0xdf, 0x47, 0xcd, 0xd6, 0x4c, 0xdf, 0x9f, 0x4c, 0x17, 0x8b, 0x21, 0xf7, 0xeb, 0x08, 0x8c, 0xad, 0x89, 0xa3, 0xaa, 0x8f, 0x1a, 0xfe, 0xa5, 0x74, 0xdc, 0xcb,
0x8e, 0xae, 0x71, 0xb6, 0xcd, 0xf2, 0xf1, 0xbc, 0x97, 0xd8, 0x77, 0x50, 0x55, 0x6e, 0x9a, 0x2a, 0x32, 0xdd, 0x44, 0xbf, 0x61, 0xd6, 0x53, 0x49, 0x67, 0x0c, 0xd7, 0x5c, 0xb7, 0x77, 0x07, 0x74, 0x79, 0x8d, 0x6d, 0x8f, 0xb5, 0x4a, 0x7d, 0xcb,
0xbb, 0xef, 0xe5, 0xaa, 0xd0, 0xd7, 0xc9, 0xcc, 0x62, 0x61, 0x72, 0xbd, 0xda, 0x44, 0xdf, 0x9a, 0x38, 0xaa, 0xae, 0x51, 0x22, 0xab, 0x99, 0xf9, 0xbd, 0x6a, 0x86, 0xa8, 0x1a, 0x66, 0xe7, 0x8f, 0xd4, 0xd8, 0x54, 0xb5, 0xa4, 0x45, 0xf4, 0xd1,
0xa7, 0xbf, 0x29, 0x3d, 0x9f, 0xcb, 0x61, 0x6b, 0x4e, 0x25, 0xbd, 0x63, 0x78, 0xdb, 0xeb, 0x8e, 0xae, 0x80, 0x2e, 0xef, 0xc2, 0xbf, 0x09, 0x1f, 0x3b, 0x75, 0xa4, 0x3c, 0x3d, 0x5b, 0x3b, 0xc0, 0xaa, 0xe4, 0xd6, 0x12, 0x6a, 0x95, 0xf8, 0xbd,
0xb1, 0xf5, 0xbe, 0x56, 0xe9, 0xb7, 0x2c, 0xb2, 0x9a, 0x59, 0x3c, 0x57, 0x8d, 0x89, 0xaa, 0x61, 0xfe, 0xfe, 0x91, 0xea, 0x6a, 0x2c, 0xe5, 0x81, 0xdd, 0x9b, 0xd7, 0x9b, 0x45, 0xef, 0x19, 0xdf, 0x9d, 0x21, 0xcb, 0x61, 0x66, 0xee, 0xce, 0x59,
0x9b, 0xaa, 0x96, 0xb4, 0x88, 0x6b, 0xb4, 0xe9, 0xef, 0x84, 0xdb, 0xa0, 0x8e, 0x54, 0xe4, 0xca, 0xde, 0x0a, 0xf0, 0x2a, 0x8c, 0x19, 0x2d, 0xee, 0x1d, 0x70, 0x6e, 0x25, 0x8f, 0xf3, 0x94, 0x07, 0xb3, 0xb3, 0xc8, 0xce, 0x2c, 0xcf, 0xc7, 0x7f,
0xb9, 0xb5, 0x84, 0x5a, 0x25, 0xf1, 0x5c, 0x35, 0x9e, 0x79, 0xe0, 0x5f, 0x2d, 0x9a, 0x9b, 0x45, 0xaf, 0x99, 0xd8, 0x93, 0x39, 0xe4, 0x09, 0x52, 0xc2, 0x5a, 0x19, 0xdf, 0x0e, 0x38, 0x3b, 0xfe, 0x67, 0x29, 0x0f, 0xb2, 0x1c, 0x38, 0xfa, 0x43,
0x21, 0x2b, 0xc3, 0xcc, 0xb6, 0x27, 0x67, 0x71, 0x46, 0xb4, 0x84, 0x57, 0xc0, 0xb1, 0x95, 0x3c, 0x8e, 0x33, 0x0f, 0xb6, 0xe3, 0xbf, 0xe7, 0x36, 0xe3, 0x8f, 0xa5, 0x5f, 0x31, 0xba, 0xdc, 0x72, 0x67, 0xc8, 0x3e, 0x67, 0x71, 0xff, 0x4f, 0xe6,
0x8e, 0x22, 0x7b, 0x67, 0x79, 0x7b, 0xfc, 0x97, 0x5d, 0x39, 0x41, 0xca, 0xb4, 0x2b, 0x13, 0x5b, 0x01, 0x47, 0xc7, 0xff, 0x19, 0xf1, 0x8f, 0x39, 0xd4, 0x14, 0xb7, 0x97, 0xd0, 0x5d, 0xf1, 0xf7, 0xd7, 0x91, 0x8a, 0x9d, 0x93, 0xaf, 0xbd, 0xbc,
0x28, 0xf3, 0x20, 0x2b, 0x03, 0x47, 0xbf, 0x68, 0xfc, 0x47, 0xd9, 0x66, 0xe2, 0xb1, 0x8c, 0x1b, 0xa3, 0xcb, 0x5d, 0x9e, 0x22, 0xfe, 0xf0, 0x3e, 0xce, 0x47, 0x0d, 0x7d, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x29, 0xff,
0x0c, 0xd9, 0xe7, 0x2c, 0xe1, 0xff, 0xc9, 0x5c, 0x23, 0xfe, 0x73, 0x19, 0x6a, 0x4a, 0x38, 0x97, 0xd0, 0xbd, 0xe2, 0x1f, 0xc1, 0xa3, 0x5e, 0xb9, 0xbf, 0xa5, 0xee, 0x64, 0xb5, 0x4a, 0xb8, 0xa5, 0xa4, 0xf5, 0x69, 0x69, 0x8c, 0x8e, 0xd6, 0x3c,
0xaf, 0x23, 0x35, 0x77, 0x4e, 0xbe, 0x7b, 0x79, 0x46, 0xfc, 0xe1, 0x71, 0x32, 0x1f, 0x35, 0xfc, 0x24, 0x00, 0x00, 0x00, 0xfb, 0xea, 0xbb, 0x84, 0xd5, 0x3f, 0xbf, 0x73, 0xd0, 0xeb, 0xbf, 0x35, 0x29, 0xb3, 0x9e, 0xdf, 0x72, 0xfe, 0xaf, 0xf9,
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x52, 0xfe, 0x8f, 0x88, 0xbd, 0x72, 0xff, 0x96, 0x3a, 0xd8, 0xd5, 0x2a, 0xd3, 0x2d, 0xcf, 0xf0, 0x1b, 0xb0, 0x1c, 0x22, 0xea, 0xb4, 0xb6, 0xa2, 0xc9, 0x9c, 0x6a, 0x97, 0x9e, 0x01, 0x2d, 0x90, 0x83, 0xb8,
0x25, 0xed, 0x9a, 0x9e, 0x63, 0xb4, 0xb7, 0xe6, 0xd9, 0xdb, 0x6b, 0x97, 0x69, 0xfb, 0xe7, 0x7f, 0x7b, 0xd0, 0xb7, 0x7f, 0xdf, 0x65, 0xa7, 0x39, 0xeb, 0x50, 0xd5, 0x0b, 0x3d, 0x36, 0xfa, 0x8e, 0x1e, 0xc6, 0xa7, 0xa1, 0xd1, 0x1e, 0x0a, 0x8b,
0x6b, 0xd2, 0xce, 0x7a, 0x7e, 0xcb, 0xf1, 0xdf, 0xe6, 0x3f, 0x22, 0xdf, 0x80, 0x97, 0x21, 0xa2, 0x6e, 0x76, 0x2b, 0x9a, 0xeb, 0xb5, 0xaa, 0x26, 0x51, 0x79, 0xcb, 0xf8, 0x2f, 0x4e, 0x6d, 0x5f, 0x9f, 0xf0, 0xcb, 0xc8, 0xf2, 0xd8, 0x28, 0x01,
0xdc, 0x53, 0xed, 0x32, 0x67, 0x40, 0x9b, 0xd8, 0x83, 0xb8, 0x7f, 0x96, 0x9d, 0x16, 0xac, 0x43, 0x55, 0x4f, 0xcc, 0xb1, 0x85, 0x4f, 0x31, 0xea, 0x8f, 0xf9, 0xe2, 0xaf, 0xaa, 0xd5, 0xf9, 0xef, 0x8d, 0x57, 0xb8, 0x6c, 0xe4, 0x57, 0xb0, 0xc9,
0xd1, 0x07, 0x3e, 0x4c, 0xcc, 0xa1, 0xd1, 0x39, 0x14, 0x96, 0xd0, 0x6b, 0x55, 0x4d, 0xa2, 0xf2, 0x90, 0xf1, 0x5f, 0x82, 0x73, 0xf3, 0xc8, 0xf7, 0xd8, 0xb0, 0x32, 0xe5, 0x5a, 0x57, 0xe9, 0x8b, 0xbf, 0xd7, 0xdb, 0xe1, 0x8a, 0xf8, 0x47, 0x6b,
0x6e, 0x5f, 0xdf, 0x90, 0x2f, 0x23, 0x2b, 0xc7, 0x46, 0x99, 0x30, 0x7c, 0x8a, 0x53, 0x7f, 0x2c, 0x16, 0x7f, 0x55, 0xad, 0xdb, 0xe4, 0x3a, 0x73, 0x94, 0x87, 0x78, 0x6c, 0x78, 0x1d, 0x42, 0x8e, 0xdf, 0xff, 0xb3, 0xf5, 0x08, 0x79, 0x99, 0xea,
0x2e, 0xfe, 0x6c, 0x3c, 0x23, 0xcb, 0x46, 0x7e, 0x05, 0x9b, 0xbc, 0x6c, 0x1e, 0xf9, 0x39, 0x36, 0xbc, 0x9d, 0x72, 0xed, 0x6b, 0x7c, 0x36, 0x22, 0x3a, 0x9d, 0xb3, 0x32, 0xf3, 0xfe, 0xec, 0xbc, 0x47, 0x5b, 0xd9, 0xdf, 0x2a, 0xfe, 0x4f, 0xd6,
0x55, 0xc6, 0xe2, 0x1f, 0xcd, 0xed, 0x70, 0x46, 0xfc, 0x67, 0x6b, 0xdb, 0xe4, 0x66, 0xe6, 0x28, 0x17, 0xc9, 0xb1, 0x11, 0xf6, 0x3c, 0x89, 0x33, 0x6b, 0x9e, 0xa1, 0xfe, 0x79, 0xd7, 0x3d, 0xcd, 0x1a, 0xfc, 0x6c, 0x95, 0x17, 0x6b, 0x00, 0x00,
0xcd, 0x10, 0xb2, 0xff, 0xf9, 0x9f, 0xed, 0x23, 0xe4, 0xed, 0x54, 0x9f, 0x93, 0x67, 0x63, 0xc6, 0xd3, 0x39, 0x6a, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x38, 0x00, 0x2d, 0xd2, 0xd3, 0x66, 0xbe, 0x87, 0x9a, 0xe6, 0x2f, 0xb4, 0x77,
0x3e, 0xbe, 0x3b, 0x1f, 0x71, 0x2b, 0xfb, 0x43, 0xc5, 0xff, 0xca, 0x6e, 0xcf, 0x95, 0x38, 0xb2, 0xe6, 0x19, 0xf6, 0xcf, 0x4e, 0x75, 0xd6, 0x25, 0x2b, 0x6e, 0x7d, 0xce, 0xb1, 0xda, 0x63, 0xbe, 0x95, 0x8e, 0xf4, 0x35, 0xb7, 0x5e, 0x33, 0xfa,
0xa3, 0xae, 0x69, 0xe6, 0xe0, 0x75, 0x5b, 0x5e, 0xcc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x93, 0x01, 0x2f, 0x4b, 0x45, 0xd1, 0xa6, 0x9e, 0xae, 0x0f, 0xe3, 0x79, 0x76, 0xfb, 0x9c, 0xc3, 0x87, 0xb3, 0x7a, 0x96, 0x7d, 0x8e,
0x68, 0x91, 0x39, 0x6d, 0x3e, 0x79, 0xfc, 0x8b, 0x56, 0xed, 0x5b, 0xf6, 0x35, 0xfb, 0x8e, 0x7d, 0xd7, 0xbe, 0xe2, 0x5c, 0xaa, 0x08, 0xa6, 0xfa, 0x2b, 0x9f, 0x2a, 0x89, 0xe6, 0xd2, 0xe7, 0xec, 0xbf, 0x93, 0xfa, 0x4d, 0x77, 0x73, 0x57, 0x04,
0xb1, 0xa6, 0xe5, 0x1b, 0x1a, 0x9d, 0x53, 0x83, 0x75, 0xca, 0x4a, 0xd8, 0xd7, 0xd9, 0x57, 0x8b, 0x2c, 0x36, 0xf3, 0xd1, 0xb0, 0xab, 0x88, 0x95, 0xc3, 0x1e, 0x3e, 0x31, 0xe7, 0x94, 0x35, 0xbf, 0xd6, 0xa6, 0xde, 0xbf, 0x1a, 0x2e, 0x32, 0x4d,
0x6b, 0x8d, 0xe2, 0xe1, 0xfb, 0x5f, 0x9e, 0x45, 0xb1, 0x9e, 0xb7, 0xe7, 0xe7, 0xf6, 0x64, 0x1f, 0xda, 0x3f, 0xed, 0x1f, 0xea, 0x5f, 0xb4, 0xf7, 0x8b, 0x75, 0x4e, 0x79, 0x65, 0xfd, 0xea, 0xe6, 0xf5, 0xb2, 0xad, 0xc2, 0x2a, 0xa6, 0x37, 0x8d,
0xf6, 0x37, 0xfb, 0xd0, 0x3e, 0x2b, 0x3f, 0xc3, 0x5c, 0xf7, 0x52, 0xde, 0x8c, 0xe1, 0x29, 0x58, 0x4d, 0xcb, 0x3f, 0x47, 0xd6, 0x09, 0x95, 0x5d, 0x5f, 0xa3, 0xad, 0xb5, 0xe8, 0xc2, 0x53, 0xa8, 0x8b, 0x2b, 0x4d, 0x8d, 0x5b, 0x1d, 0xcf, 0x8d,
0x55, 0x08, 0x53, 0xd7, 0x2b, 0xcf, 0xd6, 0x44, 0x0b, 0xf9, 0x3a, 0xe3, 0x77, 0x52, 0xdf, 0xf1, 0x6e, 0xe1, 0x0a, 0x01, 0xbf, 0x76, 0x41, 0x1a, 0x93, 0x33, 0xff, 0xad, 0x20, 0x2c, 0x8e, 0x3b, 0xa5, 0xe5, 0x7e, 0x54, 0x0c, 0xcf, 0xa6, 0x2e,
0x7e, 0x55, 0xb1, 0x78, 0x3c, 0xe6, 0x32, 0xa7, 0xdc, 0xf6, 0xd7, 0xd6, 0xc6, 0xf4, 0x7b, 0xfb, 0x8f, 0xfd, 0xc0, 0xaa, 0xe3, 0xa9, 0xaf, 0xbd, 0x2e, 0x77, 0xa7, 0xb5, 0x2e, 0x7d, 0x77, 0xe7, 0xa8, 0x5c, 0x70, 0x71, 0xad, 0x91, 0xaa, 0x14,
0xfd, 0xd0, 0xbe, 0x6a, 0x7f, 0xb5, 0xcf, 0xc9, 0xbc, 0x36, 0xeb, 0xe3, 0x6b, 0xd2, 0x87, 0xd1, 0xb9, 0x60, 0xbc, 0x73, 0x78, 0xcd, 0xf5, 0xaf, 0x34, 0x14, 0x7d, 0x5a, 0x75, 0x62, 0xed, 0xed, 0x3d, 0xc7, 0x24, 0xbf, 0xe2, 0x73, 0x8d, 0xc7,
0xca, 0xcb, 0x2e, 0x60, 0x5d, 0xbd, 0x5f, 0xd6, 0xad, 0xac, 0xe2, 0xe6, 0xaa, 0xd1, 0xde, 0x50, 0x19, 0xe6, 0x39, 0x5a, 0x76, 0xfc, 0x6b, 0x9a, 0x1a, 0x60, 0x7c, 0xaf, 0x68, 0x0f, 0x7e, 0xb2, 0xce, 0xdf, 0xff, 0xd5, 0x27, 0x70, 0x99, 0xdc,
0x9b, 0x8b, 0x2e, 0x72, 0x0c, 0x75, 0x71, 0xe7, 0xa9, 0x7e, 0xab, 0xe3, 0xa3, 0x78, 0x8c, 0xf7, 0x1b, 0xd6, 0xb3, 0x20, 0xb5, 0xc7, 0xe2, 0x5f, 0x4c, 0xcf, 0x96, 0x72, 0xf0, 0xfa, 0xb7, 0xd4, 0x9b, 0xb6, 0xcb, 0x9a, 0xff, 0xfa, 0xef, 0x52,
0x99, 0x18, 0xe9, 0xaf, 0xed, 0xcf, 0xf6, 0x0d, 0xfb, 0xb6, 0xfd, 0xcb, 0xfe, 0x6d, 0x1f, 0xd9, 0x67, 0x56, 0xef, 0x22, 0x6d, 0xf7, 0xec, 0xf8, 0xab, 0x71, 0xcf, 0xce, 0xe7, 0x58, 0xfc, 0x6d, 0x85, 0xd2, 0x6c, 0xaf, 0xf6, 0xdc, 0x86, 0xeb,
0xe5, 0xe6, 0xe8, 0x27, 0xa5, 0x97, 0x0d, 0xa9, 0x38, 0x39, 0x9c, 0xba, 0x8c, 0xa7, 0xbe, 0xf7, 0xba, 0x5c, 0x9d, 0xde, 0xbb, 0x97, 0xf5, 0xad, 0xac, 0x7c, 0xbf, 0xa6, 0x5e, 0xe0, 0x1b, 0x74, 0xc5, 0x3b, 0xdd, 0xad, 0x83, 0xfa, 0x70, 0xd7,
0x3c, 0xf5, 0xe1, 0xca, 0x51, 0x7b, 0xc3, 0x25, 0x34, 0x47, 0xaa, 0x72, 0xa0, 0xba, 0xff, 0x47, 0xf1, 0x18, 0xc7, 0xbf, 0xa9, 0xd2, 0xca, 0x39, 0x6f, 0x8d, 0xbc, 0xa8, 0x9e, 0x6e, 0x4c, 0x7f, 0x37, 0x39, 0xaa, 0x2d, 0xca, 0x7a, 0xa7, 0x71,
0x08, 0x43, 0x65, 0x7d, 0x8e, 0x7e, 0x61, 0x7f, 0xb7, 0xaf, 0xdb, 0x97, 0xec, 0x0b, 0xf6, 0x79, 0x7b, 0x5f, 0xc4, 0x4b, 0xa2, 0x5a, 0xe9, 0xc9, 0x3a, 0xa8, 0x98, 0xcb, 0xde, 0x7b, 0xeb, 0xba, 0xd0, 0x8c, 0xcc, 0xc4, 0x32, 0xa6, 0x9a, 0x04,
0xad, 0xed, 0x51, 0x06, 0xa5, 0xb8, 0x01, 0x7a, 0x8b, 0xc7, 0x7a, 0xfc, 0x6b, 0x9a, 0x1d, 0x60, 0xef, 0x9e, 0x0b, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xfa, 0xc7, 0xaa, 0x5c, 0x35, 0x77, 0xfe, 0xbc, 0x72, 0xa5, 0xc8,
0x75, 0xb6, 0x22, 0xcf, 0x7f, 0xf5, 0x13, 0x59, 0x3d, 0x53, 0x47, 0xf1, 0x98, 0x75, 0x28, 0x4c, 0xdc, 0x75, 0x7f, 0xb0, 0x5e, 0xeb, 0x44, 0x05, 0xad, 0xe2, 0xd6, 0xbe, 0x54, 0xb7, 0xe6, 0xc9, 0x56, 0xe9, 0xe8, 0xe3, 0x79, 0xda, 0xa7, 0x88,
0x9f, 0xd9, 0x4f, 0xed, 0x7b, 0xf6, 0x2b, 0xfb, 0xc8, 0x9a, 0x7d, 0x33, 0xb8, 0xb6, 0x4b, 0xb8, 0xde, 0xa0, 0x4d, 0xde, 0xea, 0x68, 0x09, 0x3f, 0xa3, 0x5e, 0xff, 0x34, 0xb3, 0x3e, 0x8f, 0xfd, 0xec, 0x71, 0x38, 0x54, 0x30, 0x5d, 0xd6, 0x7b,
0xff, 0x5d, 0xda, 0x77, 0xd7, 0x8e, 0xbf, 0xea, 0xb7, 0x3a, 0x3e, 0x8a, 0xc7, 0xac, 0x43, 0xa1, 0x5c, 0xc9, 0xf7, 0xed, 0x5a, 0xcf, 0x68, 0x32, 0x1f, 0x3c, 0x44, 0x46, 0xa8, 0x99, 0x39, 0x8c, 0x26, 0x8f, 0xff, 0x23, 0xa3, 0xfc, 0x21, 0xdd,
0xc7, 0xf6, 0x81, 0xfd, 0xd2, 0x7e, 0x64, 0xdf, 0xb7, 0xdf, 0xd8, 0x97, 0x27, 0xc6, 0x66, 0xa1, 0xdf, 0xbd, 0xbc, 0xdf, 0x7a, 0xb6, 0xcf, 0x1a, 0x9f, 0xc7, 0xbb, 0x6b, 0x6c, 0xc3, 0xac, 0xad, 0x36, 0x8c, 0x36, 0xa5, 0x08, 0xd0, 0x33, 0x9a,
0xca, 0xca, 0x20, 0xef, 0x54, 0x6e, 0x1e, 0xa1, 0x33, 0xde, 0x29, 0xce, 0x96, 0x78, 0xc4, 0x6d, 0x2c, 0xbd, 0x32, 0x7e, 0x89, 0x7f, 0x39, 0x90, 0x37, 0x1d, 0x32, 0x4f, 0xbf, 0xad, 0xc4, 0xd2, 0x1e, 0x3a, 0x76, 0x9b, 0xd2, 0xc8, 0x2c, 0xa6,
0x62, 0xbf, 0xb5, 0x3f, 0xd9, 0x07, 0xf6, 0x3b, 0xfb, 0xa3, 0xfd, 0xc5, 0xde, 0x73, 0x4c, 0xba, 0x68, 0xcd, 0xbc, 0x59, 0x43, 0x96, 0xde, 0xb7, 0xde, 0x1d, 0xa3, 0x62, 0xd9, 0xa4, 0x5e, 0xc9, 0xd6, 0xbe, 0x54, 0x43, 0xe1, 0x60, 0xf9, 0x0c,
0xbf, 0xce, 0xe4, 0xef, 0x2a, 0xd9, 0xae, 0x51, 0xd6, 0x3b, 0x59, 0xa2, 0xbd, 0x34, 0x8a, 0xc7, 0xb5, 0xfc, 0x96, 0x99, 0x79, 0x47, 0xfe, 0xa4, 0xf8, 0x77, 0xd3, 0xf7, 0x40, 0x6b, 0x48, 0xf6, 0x7c, 0x6e, 0xb4, 0xe2, 0xaa, 0x84, 0xee, 0xbe,
0xac, 0x7b, 0x8f, 0xed, 0x79, 0xc1, 0x96, 0x58, 0xce, 0x59, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x39, 0x2d, 0xf6, 0x55, 0xde, 0x64, 0x86, 0xdb, 0x5a, 0x07, 0xfb, 0x53, 0x3c, 0xa2, 0x49, 0xe8, 0xa7, 0xc4, 0xbf, 0x06,
0xc5, 0xfe, 0xf1, 0xdd, 0x9a, 0x65, 0x53, 0x76, 0x89, 0xb1, 0x15, 0x14, 0x71, 0x5a, 0x8a, 0xcc, 0x61, 0x51, 0x37, 0xd4, 0xf5, 0x56, 0x3e, 0xcf, 0x26, 0x3b, 0x8b, 0xa8, 0xfd, 0x9a, 0xae, 0x72, 0xae, 0x5b, 0x02, 0xb9, 0x4f, 0x4b, 0x4b, 0xb3,
0xda, 0x2a, 0xa1, 0x91, 0xce, 0x1c, 0x1f, 0xf9, 0x3b, 0xfa, 0x78, 0x9e, 0x15, 0x35, 0xe3, 0x23, 0x45, 0x3f, 0x75, 0x6d, 0x98, 0x15, 0xeb, 0xa2, 0x31, 0xec, 0x87, 0xe2, 0x7f, 0x44, 0xb9, 0xf2, 0xf7, 0x1d, 0xa3, 0x38, 0x73, 0xe7, 0x96, 0x8a,
0x6e, 0xe5, 0x9e, 0x88, 0x85, 0xa2, 0x6b, 0x89, 0x99, 0x70, 0x34, 0x9a, 0xf0, 0x04, 0x9a, 0x3c, 0xcb, 0x5e, 0x76, 0x1e, 0x48, 0xaf, 0x56, 0xa4, 0xbe, 0xe3, 0x55, 0x2d, 0xd6, 0x3a, 0xd8, 0xfd, 0x1d, 0xd1, 0x25, 0xdd, 0xed, 0xa2, 0xf3, 0x75,
0x4d, 0x66, 0xc4, 0x79, 0x92, 0xce, 0x8d, 0x3a, 0xfe, 0x9e, 0x8c, 0xf2, 0x93, 0xcc, 0xeb, 0xb3, 0x7e, 0x96, 0x3d, 0x1f, 0x8d, 0x77, 0xb7, 0x8b, 0x8e, 0xad, 0x15, 0xea, 0xb7, 0x3b, 0x57, 0xfa, 0xef, 0x19, 0x5d, 0x46, 0x59, 0x5f, 0x05, 0xfd,
0xef, 0xa1, 0xbe, 0x99, 0x5b, 0x85, 0xcd, 0x9c, 0xb6, 0xb6, 0xe9, 0x13, 0xf3, 0x51, 0xfc, 0xb7, 0x7b, 0x12, 0x63, 0x0b, 0xe0, 0x15, 0x7c, 0x7f, 0xfc, 0x63, 0xaa, 0x8f, 0x12, 0x50, 0x91, 0x5c, 0xeb, 0x69, 0xe8, 0x6f, 0xe9, 0xc6, 0x3a, 0x58,
0xc5, 0xe4, 0x0e, 0xfe, 0xba, 0xa3, 0xa5, 0xb3, 0xed, 0xf8, 0x6d, 0xca, 0x9e, 0xf1, 0x73, 0x69, 0x69, 0x83, 0x23, 0xba, 0xae, 0x51, 0x3f, 0x51, 0x49, 0x11, 0xaf, 0xd5, 0xf7, 0xcc, 0xf8, 0xef, 0x69, 0xf5, 0x2c, 0x2f, 0xd1, 0xfb, 0x9d, 0xd0,
0x62, 0x54, 0x2c, 0x9b, 0x34, 0x99, 0x7c, 0x2b, 0xa6, 0x3a, 0xee, 0x83, 0x97, 0x91, 0xa8, 0x9d, 0x1a, 0xff, 0xb1, 0x85, 0x9e, 0xa4, 0x2f, 0xfa, 0x3f, 0xc6, 0xff, 0x1d, 0x15, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x64, 0x07,
0x12, 0x89, 0x7f, 0x77, 0x33, 0x24, 0x68, 0xbb, 0x64, 0x94, 0x11, 0x47, 0xbb, 0x58, 0x65, 0xea, 0xe9, 0x9b, 0xd3, 0xe2, 0x20, 0x5b, 0x6b, 0x52, 0x53, 0x74, 0x35, 0xfa, 0x68, 0x75, 0x7a, 0x12, 0x55, 0xf3, 0xac, 0x7b, 0xf5, 0x3e, 0xc5, 0x7c,
0xdf, 0xe5, 0x4d, 0xee, 0x7d, 0x7b, 0xf3, 0x10, 0xcf, 0xff, 0xb2, 0x66, 0x71, 0x6c, 0x8f, 0xff, 0xd8, 0x42, 0x31, 0x51, 0x3a, 0x7b, 0xfe, 0x98, 0xed, 0xe8, 0x7b, 0x15, 0x2f, 0x96, 0x16, 0xa2, 0xba, 0xde, 0xa5, 0x1a, 0xef, 0xf0, 0x21, 0x9e,
0x03, 0x6f, 0xce, 0xc4, 0x8a, 0x65, 0x77, 0xf2, 0x57, 0xba, 0xce, 0xec, 0x74, 0x56, 0x8e, 0xbb, 0x99, 0x8c, 0x59, 0x9e, 0x74, 0xfa, 0x75, 0x38, 0xf7, 0xeb, 0x7d, 0x94, 0xa2, 0xa3, 0x1a, 0x1e, 0x2f, 0x99, 0x63, 0xb6, 0x15, 0x5c, 0x5e, 0xc5,
0x65, 0xb3, 0x6c, 0xcc, 0x01, 0x66, 0x03, 0x5b, 0x63, 0x7b, 0xfc, 0xc7, 0x16, 0x4a, 0xc4, 0x69, 0x19, 0x9b, 0x38, 0x25, 0x8b, 0xa5, 0x36, 0xf0, 0xa9, 0x53, 0x9a, 0x68, 0xd1, 0xfd, 0xeb, 0x27, 0xdd, 0xcd, 0xf0, 0x0d, 0xba, 0x5b, 0xef, 0xa3,
0xb8, 0xab, 0xee, 0xf9, 0x45, 0x3a, 0x8f, 0xd0, 0x4c, 0x25, 0xc8, 0xb3, 0x5a, 0xbc, 0x79, 0x28, 0x1b, 0x23, 0xe7, 0xe7, 0x6b, 0x4e, 0x29, 0x1d, 0x48, 0x95, 0x3b, 0x60, 0x75, 0xb2, 0xaa, 0xae, 0x31, 0x2f, 0x01, 0xe5, 0x48, 0x44, 0xd7, 0xe2,
0xd0, 0x89, 0xc4, 0x7f, 0x9f, 0x85, 0x12, 0x33, 0x08, 0xe2, 0xfe, 0xe6, 0xd8, 0x22, 0xea, 0x77, 0xcf, 0x71, 0x19, 0x7f, 0x75, 0x32, 0x53, 0xc7, 0x57, 0x0d, 0x9c, 0xf6, 0x24, 0xf2, 0x39, 0x0d, 0xdd, 0xaf, 0xf7, 0xe9, 0xa6, 0xcb, 0x54, 0x56,
0x66, 0x74, 0xb9, 0x36, 0xb6, 0x1a, 0x13, 0xfe, 0x2b, 0x23, 0xf3, 0x7c, 0x96, 0x85, 0x32, 0x6b, 0xce, 0x94, 0x09, 0xbf, 0xee, 0x20, 0xe2, 0x03, 0xb7, 0xe7, 0xcf, 0xe3, 0xab, 0xd5, 0xa7, 0x3c, 0x83, 0xbc, 0xc7, 0x17, 0xe9, 0xe3, 0x34, 0x8c,
0xe4, 0xdc, 0xec, 0x87, 0xf1, 0x96, 0x3e, 0x88, 0x1d, 0xf9, 0x46, 0xb6, 0x3e, 0xe9, 0xe2, 0xbf, 0x1d, 0xdf, 0xbb, 0x65, 0xec, 0xf8, 0x13, 0x72, 0xf7, 0xbe, 0xac, 0xce, 0xaa, 0x7a, 0x18, 0x37, 0x66, 0x95, 0xb4, 0x72, 0x24, 0xd2, 0xb2, 0xec,
0x64, 0xf5, 0x61, 0xd2, 0xec, 0xb7, 0xc8, 0x1e, 0x37, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x19, 0x54, 0x57, 0xcb, 0x3a, 0xfe, 0xdc, 0xdc, 0xbd, 0x37, 0xfe, 0xe3, 0xf6, 0xf8, 0xdb, 0x2a, 0x39, 0x5f, 0x0b, 0xf1, 0xf7,
0x2e, 0x4b, 0xb0, 0x86, 0x95, 0x6e, 0xd3, 0x47, 0x6b, 0x28, 0x6b, 0x8e, 0xe7, 0xdd, 0xdc, 0xdf, 0xef, 0x29, 0xee, 0x3e, 0xc6, 0xbf, 0x27, 0xde, 0xff, 0x63, 0xf1, 0xd7, 0x2a, 0x39, 0x7f, 0xcb, 0x15, 0xf1, 0x1f, 0x66, 0xe5, 0xbc, 0x77, 0x8b,
0x5d, 0x5e, 0x9f, 0xbd, 0x4f, 0x80, 0xf3, 0x0c, 0x17, 0xcf, 0x7d, 0xa8, 0xa1, 0x77, 0xa9, 0xce, 0x3b, 0x3c, 0x89, 0x3d, 0x7f, 0xb9, 0x59, 0x55, 0x90, 0x5b, 0xc5, 0xf3, 0xfc, 0xf8, 0xc7, 0x54, 0x1d, 0xe5, 0xe6, 0x16, 0xbf, 0x6e, 0xe3, 0x9a,
0xaf, 0xb8, 0x77, 0x73, 0x7f, 0xbf, 0x47, 0x19, 0x1c, 0x55, 0x7a, 0x1f, 0x33, 0x7d, 0x1e, 0xad, 0x80, 0x2c, 0xc3, 0xc5, 0xf7, 0xcf, 0xaf, 0xe2, 0x79, 0xee, 0xf1, 0x68, 0xfc, 0xf3, 0xe7, 0x38, 0x52, 0x7c, 0xab, 0xda, 0x45, 0x71, 0x01, 0x00,
0xf3, 0xce, 0x62, 0xef, 0xd2, 0x44, 0x8b, 0xbe, 0xbe, 0xfe, 0x7c, 0xbf, 0x39, 0x19, 0x84, 0xee, 0xed, 0xf7, 0xe8, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x3f, 0x35, 0x49, 0x99, 0x12, 0x75, 0xa8, 0xb9, 0xd7, 0x73, 0xc7, 0xf2, 0x17,
0x54, 0xca, 0xfb, 0xa8, 0x72, 0x05, 0xdc, 0x72, 0x5a, 0xd5, 0xe0, 0xd3, 0xff, 0x1c, 0x8f, 0x25, 0x9a, 0xd3, 0x4c, 0x1d, 0xd2, 0x2d, 0xd9, 0x33, 0xf2, 0x6a, 0xaa, 0x72, 0x7c, 0x80, 0x2c, 0xcd, 0x40, 0x95, 0x1a, 0x1c, 0x7f, 0x06, 0xdc, 0xd6,
0xbf, 0x39, 0x6f, 0x3a, 0x5b, 0x51, 0x2c, 0xe7, 0xd0, 0xfd, 0xfd, 0x9e, 0xee, 0xe6, 0x9b, 0x3a, 0x7e, 0xaf, 0x60, 0x94, 0x06, 0xb5, 0x80, 0x06, 0xa7, 0x1a, 0x1a, 0x9c, 0xe6, 0xf2, 0xdc, 0xe8, 0x86, 0xbf, 0x90, 0xe5, 0xac, 0x90, 0x39, 0x23,
0x8f, 0xa7, 0x4f, 0x54, 0x64, 0x5c, 0xcf, 0x77, 0x64, 0xc2, 0xff, 0x88, 0x1d, 0x5f, 0x64, 0x46, 0x27, 0x73, 0x76, 0xc3, 0x3d, 0xee, 0x26, 0x76, 0x45, 0x13, 0x7a, 0xaa, 0x9a, 0x74, 0xfd, 0x6b, 0x9d, 0x49, 0x34, 0x03, 0x1e, 0xd3, 0xe0, 0x34,
0xaf, 0xb0, 0x57, 0x1f, 0x8b, 0xcc, 0xcd, 0x72, 0xb0, 0x13, 0xe2, 0x5f, 0x9c, 0x7a, 0x68, 0x79, 0x2d, 0xcb, 0xa0, 0xee, 0x97, 0x06, 0xc7, 0xaa, 0x1d, 0x55, 0x77, 0x6a, 0x73, 0xe9, 0x9c, 0x4a, 0xae, 0x8b, 0x90, 0x6f, 0xdc, 0x7a, 0x05, 0xe6,
0x5a, 0xd6, 0xf1, 0xeb, 0xee, 0xd5, 0x47, 0xe3, 0x6f, 0x27, 0xc5, 0xdf, 0x77, 0xdf, 0xb2, 0x5a, 0x88, 0x7f, 0x34, 0xfe, 0xf5, 0x54, 0xd7, 0xfd, 0x16, 0xb6, 0x08, 0xa5, 0x5b, 0xe4, 0x0e, 0x1b, 0x69, 0xd1, 0x7e, 0x10, 0x56, 0xcd, 0xbe, 0x48,
0xfd, 0xa4, 0xe7, 0xbf, 0x76, 0xdf, 0x32, 0x5b, 0xce, 0x88, 0xbf, 0xb9, 0x35, 0xf5, 0x1e, 0x2d, 0xfe, 0xe5, 0x14, 0x57, 0xfd, 0xa2, 0xdc, 0x71, 0x5b, 0x75, 0xf8, 0x8a, 0xc3, 0xd9, 0x2a, 0x33, 0x6b, 0x16, 0x73, 0xaf, 0xd9, 0xae, 0x97, 0x93,
0x20, 0xbb, 0x8a, 0xa7, 0x9f, 0x4d, 0xee, 0xc8, 0xf8, 0xcf, 0x59, 0x1c, 0xe5, 0xce, 0x2d, 0x71, 0x5b, 0x25, 0xf3, 0x5d, 0x5b, 0x07, 0x48, 0xb7, 0x14, 0xe9, 0x91, 0x52, 0xcc, 0x4a, 0x54, 0xdd, 0x5d, 0x05, 0x27, 0x5b, 0x3b, 0x54, 0x0c, 0x95,
0xf2, 0xab, 0x78, 0xfa, 0x2d, 0xc7, 0x1d, 0xdf, 0xf3, 0x1d, 0x07, 0xbb, 0x63, 0x4b, 0xdc, 0xcb, 0xcb, 0x7c, 0x17, 0x00, 0xe0, 0xfc, 0x7d, 0x29, 0x33, 0x6b, 0x16, 0x73, 0xaf, 0x59, 0x8c, 0xd5, 0x3f, 0xbf, 0x65, 0x84, 0xaa, 0x4a, 0xd9, 0x99,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x2d, 0xfe, 0x4f, 0xd4, 0xe5, 0x99, 0x31, 0x53, 0xaa, 0xeb, 0xe7, 0x5c, 0x35, 0xb3, 0x7e, 0x89, 0x8b, 0x50, 0x37, 0xf4, 0x36, 0x77, 0xc4, 0x7f, 0x7f, 0xbd, 0xfc, 0x77, 0x86, 0x6b, 0xae, 0x23, 0xef,
0xc7, 0x8e, 0x97, 0x4f, 0x48, 0xb7, 0xdc, 0xdb, 0xa9, 0xaa, 0xa1, 0xe8, 0xc7, 0x5d, 0x1e, 0xed, 0x99, 0xd8, 0xc4, 0x0e, 0x0e, 0x8c, 0x7a, 0x6e, 0x44, 0x94, 0x93, 0x96, 0xc7, 0x99, 0xcf, 0x61, 0xed, 0xec, 0xf8, 0x97, 0x9d, 0xfb, 0xbf, 0x76,
0xb8, 0xef, 0x06, 0xb5, 0x09, 0x07, 0xa7, 0x3a, 0x0e, 0x4e, 0x0b, 0xe5, 0xd8, 0xe8, 0x4e, 0x3e, 0x21, 0x73, 0x72, 0x17, 0xf1, 0x1a, 0xb7, 0x6a, 0x30, 0xfc, 0xf7, 0xeb, 0x3c, 0xdf, 0xbb, 0x23, 0x2d, 0x76, 0x1d, 0xbe, 0xf3, 0xe2, 0x9f, 0xa9,
0x64, 0x8e, 0x48, 0xf7, 0xbb, 0x89, 0x55, 0xd1, 0xc2, 0x9f, 0x33, 0x3e, 0x85, 0xf2, 0xe5, 0x68, 0xcf, 0x64, 0x76, 0x07, 0x26, 0xb9, 0x56, 0x67, 0x32, 0x92, 0x94, 0x4e, 0x4f, 0x98, 0x91, 0x77, 0xa7, 0xe5, 0xc5, 0xff, 0xa7, 0xa8, 0x49, 0x50,
0x7c, 0xce, 0xc1, 0x69, 0x21, 0x07, 0xc7, 0xab, 0x22, 0x55, 0x07, 0x55, 0xba, 0xf4, 0x6e, 0x4b, 0xae, 0x53, 0x15, 0xeb, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xcf, 0xd5, 0xff, 0xf8, 0x3c, 0x78, 0x9e, 0xec, 0xb3, 0x93, 0xe7,
0xb7, 0x9e, 0x81, 0x8c, 0xfc, 0x6f, 0xd9, 0x3b, 0x60, 0x45, 0x98, 0x6e, 0x33, 0x4f, 0xd8, 0x99, 0x16, 0x9d, 0xff, 0xc1, 0x40, 0x94, 0xad, 0xe2, 0x89, 0xa9, 0xa9, 0x96, 0x03, 0x95, 0xbd, 0xe6, 0xf5, 0x3f, 0x4d, 0xaa, 0x5b, 0x54, 0xed, 0xaa,
0xab, 0xde, 0x37, 0x53, 0xc9, 0x28, 0xb7, 0xdf, 0x5e, 0x85, 0xbe, 0x12, 0xca, 0x64, 0x75, 0xdf, 0x6f, 0x38, 0x77, 0x51, 0x7a, 0x81, 0x22, 0x26, 0xa2, 0xf1, 0x51, 0x47, 0xad, 0xdc, 0xcf, 0x35, 0x2a, 0x1e, 0xdd, 0xdb, 0xd8, 0xd1, 0x66, 0xb5,
0x39, 0x27, 0xb7, 0x22, 0x90, 0x6e, 0x29, 0x32, 0x27, 0x4a, 0x71, 0x6b, 0x52, 0xf5, 0x70, 0x7d, 0x9c, 0x6c, 0x77, 0xa8, 0x93, 0x9f, 0x58, 0x16, 0x63, 0xf6, 0x55, 0xee, 0x98, 0xf6, 0x48, 0x8d, 0x4f, 0x44, 0x5d, 0x91, 0xab, 0xe2, 0xd1, 0x2b,
0x38, 0x96, 0x60, 0xd9, 0x91, 0xfb, 0x69, 0xdf, 0xbd, 0xdc, 0x27, 0x72, 0xec, 0xf4, 0x89, 0xb8, 0x64, 0xb5, 0xd8, 0x54, 0xda, 0xa4, 0xc2, 0xc0, 0xae, 0xbf, 0x58, 0x4e, 0x7f, 0x2e, 0xae, 0xc7, 0xdb, 0x6f, 0x54, 0xf2, 0x44, 0xb4, 0x32, 0xdd,
0x7d, 0xa9, 0x71, 0x7e, 0x94, 0xe3, 0xb3, 0x06, 0x75, 0xc7, 0xb7, 0xb9, 0x47, 0xfc, 0xc7, 0xf3, 0x15, 0x7f, 0x32, 0x9c, 0x54, 0xf1, 0x74, 0x57, 0xc4, 0x22, 0x2d, 0x7b, 0xd9, 0xd4, 0x92, 0xa8, 0xa6, 0x3b, 0x37, 0xfe, 0x11, 0x85, 0xc5, 0x13,
0x73, 0x1f, 0x45, 0x57, 0xe0, 0x5c, 0x8e, 0x8d, 0x6c, 0xa7, 0xb2, 0x0c, 0xec, 0x8d, 0xb3, 0xe3, 0x5f, 0x06, 0xe7, 0xe8, 0x7c, 0x76, 0x8a, 0xe1, 0x72, 0xf2, 0x8e, 0xb5, 0x60, 0xee, 0x8a, 0xff, 0x7b, 0xae, 0x98, 0xed, 0x4a, 0xf1, 0x6e, 0x51,
0xac, 0x5d, 0x76, 0x57, 0x07, 0x23, 0xfe, 0xbc, 0xde, 0x93, 0x69, 0x26, 0xaf, 0xc5, 0xaf, 0xd0, 0xb7, 0x37, 0xfe, 0x67, 0x1e, 0x41, 0xc5, 0x4a, 0x4e, 0xfc, 0x9f, 0xbd, 0x2e, 0x79, 0x3e, 0x1b, 0xd7, 0x8c, 0x2c, 0xa6, 0x09, 0xbb, 0x22, 0x63,
0xd8, 0x2c, 0x57, 0x30, 0x50, 0x72, 0x33, 0x03, 0x9d, 0x37, 0xa2, 0xe8, 0x4a, 0xb3, 0x8b, 0xf6, 0xf5, 0xd3, 0x95, 0x19, 0x3d, 0x12, 0xaf, 0x98, 0xbb, 0x35, 0x3e, 0x11, 0x9f, 0x8d, 0xab, 0xd4, 0x47, 0x51, 0x9d, 0xc5, 0x3d, 0x55, 0x9d, 0x62,
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xd1, 0xf3, 0xff, 0xd4, 0x70, 0xcb, 0x95, 0xb3, 0xec, 0xe4, 0xe5, 0x57, 0xcc, 0xdd, 0x1a, 0x9f, 0x27, 0xab, 0x78, 0xfc, 0x6a, 0x3a, 0xad, 0x58, 0x87, 0x77, 0x43, 0xc7, 0xb2, 0xb1, 0x3a,
0x1f, 0xca, 0x76, 0x78, 0xe6, 0x5c, 0xaa, 0xb9, 0x4c, 0x3f, 0xca, 0x47, 0xa9, 0x81, 0xfc, 0x2b, 0x37, 0xeb, 0x44, 0x55,
0xaa, 0xaa, 0x27, 0xf8, 0x30, 0x33, 0x86, 0x8f, 0x3a, 0xea, 0xed, 0xfc, 0x9c, 0xe3, 0xf0, 0xe8, 0xab, 0xd9, 0xc0, 0xd9,
0xc9, 0xc9, 0xef, 0xde, 0x9c, 0xb9, 0x99, 0x59, 0x31, 0xed, 0x92, 0x86, 0xcf, 0x8c, 0x5b, 0x91, 0xeb, 0xf0, 0xe8, 0x19,
0x6d, 0xd2, 0x2f, 0xf0, 0xab, 0x2f, 0x66, 0x7d, 0x5a, 0x1d, 0xdd, 0x91, 0x6a, 0x61, 0x8b, 0xa2, 0xdc, 0xdd, 0x94, 0xe9,
0xae, 0xc3, 0xd3, 0x43, 0x11, 0x9b, 0x69, 0x19, 0xed, 0xa5, 0x96, 0x44, 0x97, 0x2e, 0x6b, 0xb7, 0xd2, 0x82, 0x4f, 0xcc,
0x6b, 0x67, 0xd9, 0x29, 0x4e, 0xf6, 0x93, 0x47, 0xac, 0xfc, 0x72, 0xaf, 0xf8, 0x3f, 0xe6, 0x8c, 0xf9, 0x39, 0x29, 0x1e,
0x2d, 0xca, 0x36, 0xe9, 0xab, 0xe4, 0xc4, 0xff, 0xda, 0xf3, 0x92, 0x97, 0x65, 0xe3, 0x9c, 0x9e, 0xcd, 0x19, 0x61, 0x99,
0xfb, 0xd5, 0xd1, 0xf8, 0x97, 0xe4, 0xd1, 0x9f, 0x61, 0xf8, 0xcc, 0x64, 0xd9, 0x38, 0xcb, 0x3d, 0x9a, 0xb5, 0x2c, 0x8e,
0xbe, 0xff, 0x33, 0xef, 0x98, 0x7b, 0x1b, 0x3e, 0x57, 0x76, 0x78, 0xe2, 0x2e, 0x9d, 0xf6, 0xd5, 0xe1, 0xd1, 0xd0, 0xb1,
0x7c, 0x3d, 0x95, 0xf9, 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, 0xe6, 0xb9, 0xfd, 0x61, 0x1e, 0x88, 0x3f, 0xbc, 0xda, 0xf8, 0xff, 0x17 }; 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0xd6, 0x3f,
0xac, 0x03, 0xf1, 0x87, 0x1f, 0x1b, 0xff, 0x7f, 0x01 };
// Font glyphs rectangles data (on atlas) // Font glyphs rectangles data (on atlas)
static const Rectangle bluishFontRecs[189] = { static const Rectangle bluishFontRecs[189] = {
@ -284,103 +275,103 @@ static const Rectangle bluishFontRecs[189] = {
{ 240, 76, 2 , 8 }, { 240, 76, 2 , 8 },
{ 4, 94, 5 , 8 }, { 4, 94, 5 , 8 },
{ 17, 94, 5 , 8 }, { 17, 94, 5 , 8 },
{ 30, 94, 8 , 8 }, { 30, 94, 0 , 0 },
{ 46, 94, 6 , 8 }, { 38, 94, 6 , 8 },
{ 60, 94, 5 , 10 }, { 52, 94, 5 , 10 },
{ 73, 94, 5 , 10 }, { 65, 94, 5 , 10 },
{ 86, 94, 5 , 9 }, { 78, 94, 5 , 9 },
{ 99, 94, 7 , 8 }, { 91, 94, 7 , 8 },
{ 114, 94, 4 , 6 }, { 106, 94, 4 , 6 },
{ 126, 94, 5 , 4 }, { 118, 94, 5 , 4 },
{ 139, 94, 5 , 3 }, { 131, 94, 5 , 3 },
{ 152, 94, 7 , 8 }, { 144, 94, 7 , 8 },
{ 167, 94, 5 , 2 }, { 159, 94, 5 , 2 },
{ 180, 94, 4 , 4 }, { 172, 94, 4 , 4 },
{ 192, 94, 6 , 8 }, { 184, 94, 6 , 8 },
{ 206, 94, 4 , 6 }, { 198, 94, 4 , 6 },
{ 218, 94, 4 , 6 }, { 210, 94, 4 , 6 },
{ 230, 94, 8 , 8 }, { 222, 94, 0 , 0 },
{ 4, 112, 5 , 9 }, { 230, 94, 5 , 9 },
{ 17, 112, 6 , 8 }, { 4, 112, 6 , 8 },
{ 31, 112, 2 , 2 }, { 18, 112, 2 , 2 },
{ 41, 112, 8 , 8 }, { 28, 112, 0 , 0 },
{ 57, 112, 3 , 6 }, { 36, 112, 3 , 6 },
{ 68, 112, 4 , 6 }, { 47, 112, 4 , 6 },
{ 80, 112, 5 , 4 }, { 59, 112, 5 , 4 },
{ 93, 112, 6 , 8 }, { 72, 112, 6 , 8 },
{ 107, 112, 6 , 6 }, { 86, 112, 6 , 6 },
{ 121, 112, 5 , 10 }, { 100, 112, 5 , 10 },
{ 134, 112, 5 , 8 }, { 113, 112, 5 , 8 },
{ 147, 112, 5 , 10 }, { 126, 112, 5 , 10 },
{ 160, 112, 5 , 10 }, { 139, 112, 5 , 10 },
{ 173, 112, 5 , 10 }, { 152, 112, 5 , 10 },
{ 186, 112, 5 , 10 }, { 165, 112, 5 , 10 },
{ 199, 112, 5 , 10 }, { 178, 112, 5 , 10 },
{ 212, 112, 5 , 10 }, { 191, 112, 5 , 10 },
{ 225, 112, 6 , 8 }, { 204, 112, 6 , 8 },
{ 239, 112, 5 , 9 }, { 218, 112, 5 , 9 },
{ 231, 112, 5 , 10 },
{ 4, 130, 5 , 10 }, { 4, 130, 5 , 10 },
{ 17, 130, 5 , 10 }, { 17, 130, 5 , 10 },
{ 30, 130, 5 , 10 }, { 30, 130, 5 , 10 },
{ 43, 130, 5 , 10 }, { 43, 130, 4 , 10 },
{ 56, 130, 4 , 10 }, { 55, 130, 4 , 10 },
{ 68, 130, 4 , 10 }, { 67, 130, 4 , 10 },
{ 80, 130, 4 , 10 }, { 79, 130, 4 , 10 },
{ 92, 130, 4 , 10 }, { 91, 130, 6 , 8 },
{ 104, 130, 6 , 8 }, { 105, 130, 5 , 10 },
{ 118, 130, 5 , 10 }, { 118, 130, 5 , 10 },
{ 131, 130, 5 , 10 }, { 131, 130, 5 , 10 },
{ 144, 130, 5 , 10 }, { 144, 130, 5 , 10 },
{ 157, 130, 5 , 10 }, { 157, 130, 5 , 10 },
{ 170, 130, 5 , 10 }, { 170, 130, 5 , 10 },
{ 183, 130, 5 , 10 }, { 183, 130, 4 , 4 },
{ 196, 130, 4 , 4 }, { 195, 130, 5 , 10 },
{ 208, 130, 5 , 10 }, { 208, 130, 5 , 10 },
{ 221, 130, 5 , 10 }, { 221, 130, 5 , 10 },
{ 234, 130, 5 , 10 }, { 234, 130, 5 , 10 },
{ 4, 148, 5 , 10 }, { 4, 148, 5 , 10 },
{ 17, 148, 5 , 10 }, { 17, 148, 5 , 10 },
{ 30, 148, 5 , 10 }, { 30, 148, 5 , 8 },
{ 43, 148, 5 , 8 }, { 43, 148, 5 , 8 },
{ 56, 148, 5 , 8 }, { 56, 148, 5 , 9 },
{ 69, 148, 5 , 9 }, { 69, 148, 5 , 9 },
{ 82, 148, 5 , 9 }, { 82, 148, 5 , 9 },
{ 95, 148, 5 , 9 }, { 95, 148, 5 , 9 },
{ 108, 148, 5 , 9 }, { 108, 148, 5 , 8 },
{ 121, 148, 5 , 8 }, { 121, 148, 5 , 10 },
{ 134, 148, 5 , 10 }, { 134, 148, 6 , 6 },
{ 147, 148, 6 , 6 }, { 148, 148, 5 , 7 },
{ 161, 148, 5 , 7 }, { 161, 148, 5 , 9 },
{ 174, 148, 5 , 9 }, { 174, 148, 5 , 9 },
{ 187, 148, 5 , 9 }, { 187, 148, 5 , 9 },
{ 200, 148, 5 , 9 }, { 200, 148, 5 , 8 },
{ 213, 148, 5 , 8 }, { 213, 148, 3 , 9 },
{ 226, 148, 3 , 9 }, { 224, 148, 3 , 9 },
{ 237, 148, 3 , 9 }, { 235, 148, 4 , 9 },
{ 4, 166, 4 , 9 }, { 4, 166, 4 , 8 },
{ 16, 166, 4 , 8 }, { 16, 166, 5 , 9 },
{ 28, 166, 5 , 9 }, { 29, 166, 5 , 9 },
{ 41, 166, 5 , 9 }, { 42, 166, 5 , 9 },
{ 54, 166, 5 , 9 }, { 55, 166, 5 , 9 },
{ 67, 166, 5 , 9 }, { 68, 166, 5 , 9 },
{ 80, 166, 5 , 9 }, { 81, 166, 5 , 9 },
{ 93, 166, 5 , 9 }, { 94, 166, 5 , 8 },
{ 106, 166, 5 , 8 }, { 107, 166, 4 , 6 },
{ 119, 166, 4 , 6 }, { 119, 166, 5 , 8 },
{ 131, 166, 5 , 8 }, { 132, 166, 5 , 9 },
{ 144, 166, 5 , 9 }, { 145, 166, 5 , 9 },
{ 157, 166, 5 , 9 }, { 158, 166, 5 , 9 },
{ 170, 166, 5 , 9 }, { 171, 166, 5 , 8 },
{ 183, 166, 5 , 8 }, { 184, 166, 5 , 10 },
{ 196, 166, 5 , 10 }, { 197, 166, 5 , 10 },
{ 209, 166, 5 , 10 }, { 210, 166, 5 , 9 },
{ 222, 166, 5 , 9 },
}; };
// Font glyphs info data // Font glyphs info data
// NOTE: No glyphs.image data provided // NOTE: No glyphs.image data provided
static const GlyphInfo bluishFontGlyphs[189] = { static const GlyphInfo bluishFontGlyphs[189] = {
{ 32, 0, 9, 5, { 0 }}, { 32, 0, 0, 5, { 0 }},
{ 33, 0, 1, 2, { 0 }}, { 33, 0, 1, 2, { 0 }},
{ 34, 0, 1, 4, { 0 }}, { 34, 0, 1, 4, { 0 }},
{ 35, 0, 1, 6, { 0 }}, { 35, 0, 1, 6, { 0 }},
@ -478,7 +469,7 @@ static const GlyphInfo bluishFontGlyphs[189] = {
{ 161, 0, 1, 2, { 0 }}, { 161, 0, 1, 2, { 0 }},
{ 162, 0, 2, 5, { 0 }}, { 162, 0, 2, 5, { 0 }},
{ 163, 0, 1, 5, { 0 }}, { 163, 0, 1, 5, { 0 }},
{ 8364, 0, 1, 7, { 0 }}, { 8364, 0, 0, 0, { 0 }},
{ 165, 0, 1, 6, { 0 }}, { 165, 0, 1, 6, { 0 }},
{ 352, 0, -1, 5, { 0 }}, { 352, 0, -1, 5, { 0 }},
{ 167, 0, 0, 5, { 0 }}, { 167, 0, 0, 5, { 0 }},
@ -493,11 +484,11 @@ static const GlyphInfo bluishFontGlyphs[189] = {
{ 177, 0, 1, 6, { 0 }}, { 177, 0, 1, 6, { 0 }},
{ 178, 0, -1, 4, { 0 }}, { 178, 0, -1, 4, { 0 }},
{ 179, 0, -1, 4, { 0 }}, { 179, 0, -1, 4, { 0 }},
{ 381, 0, 1, 7, { 0 }}, { 381, 0, 0, 0, { 0 }},
{ 181, 0, 1, 5, { 0 }}, { 181, 0, 1, 5, { 0 }},
{ 182, 0, 1, 6, { 0 }}, { 182, 0, 1, 6, { 0 }},
{ 183, 0, 4, 2, { 0 }}, { 183, 0, 4, 2, { 0 }},
{ 382, 0, 1, 7, { 0 }}, { 382, 0, 0, 0, { 0 }},
{ 185, 0, -1, 3, { 0 }}, { 185, 0, -1, 3, { 0 }},
{ 186, 0, -1, 4, { 0 }}, { 186, 0, -1, 4, { 0 }},
{ 187, 0, 3, 5, { 0 }}, { 187, 0, 3, 5, { 0 }},

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 132 KiB

View File

@ -7,7 +7,7 @@
// more info and bugs-report: github.com/raysan5/raygui // // more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com // // feedback and support: ray[at]raylibtech.com //
// // // //
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) // // Copyright (c) 2020-2025 raylib technologies (@raylibtech) //
// // // //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
@ -15,144 +15,137 @@
// Custom style name: Candy // Custom style name: Candy
static const GuiStyleProp candyStyleProps[CANDY_STYLE_PROPS_COUNT] = { static const GuiStyleProp candyStyleProps[CANDY_STYLE_PROPS_COUNT] = {
{ 0, 0, 0xe58b68ff }, // DEFAULT_BORDER_COLOR_NORMAL { 0, 0, (int)0xe58b68ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0xfeda96ff }, // DEFAULT_BASE_COLOR_NORMAL { 0, 1, (int)0xfeda96ff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, 0xe59b5fff }, // DEFAULT_TEXT_COLOR_NORMAL { 0, 2, (int)0xe59b5fff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, 0xee813fff }, // DEFAULT_BORDER_COLOR_FOCUSED { 0, 3, (int)0xee813fff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, 0xfcd85bff }, // DEFAULT_BASE_COLOR_FOCUSED { 0, 4, (int)0xfcd85bff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, 0xfc6955ff }, // DEFAULT_TEXT_COLOR_FOCUSED { 0, 5, (int)0xfc6955ff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, 0xb34848ff }, // DEFAULT_BORDER_COLOR_PRESSED { 0, 6, (int)0xb34848ff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, 0xeb7272ff }, // DEFAULT_BASE_COLOR_PRESSED { 0, 7, (int)0xeb7272ff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, 0xbd4a4aff }, // DEFAULT_TEXT_COLOR_PRESSED { 0, 8, (int)0xbd4a4aff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, 0x94795dff }, // DEFAULT_BORDER_COLOR_DISABLED { 0, 9, (int)0x94795dff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, 0xc2a37aff }, // DEFAULT_BASE_COLOR_DISABLED { 0, 10, (int)0xc2a37aff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, 0x9c8369ff }, // DEFAULT_TEXT_COLOR_DISABLED { 0, 11, (int)0x9c8369ff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, 0x0000000f }, // DEFAULT_TEXT_SIZE { 0, 16, (int)0x0000000f }, // DEFAULT_TEXT_SIZE
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING { 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, 0xd77575ff }, // DEFAULT_LINE_COLOR { 0, 18, (int)0xd77575ff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0xfff5e1ff }, // DEFAULT_BACKGROUND_COLOR { 0, 19, (int)0xfff5e1ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, 0x00000016 }, // DEFAULT_TEXT_LINE_SPACING { 0, 20, (int)0x00000016 }, // DEFAULT_TEXT_LINE_SPACING
}; };
// WARNING: This style uses a custom font: "v5easter.ttf" (size: 15, spacing: 0) // WARNING: This style uses a custom font: "v5easter.ttf" (size: 15, spacing: 0)
#define CANDY_STYLE_FONT_ATLAS_COMP_SIZE 2260 #define CANDY_STYLE_FONT_ATLAS_COMP_SIZE 2110
// Font atlas image pixels data: DEFLATE compressed // Font atlas image pixels data: DEFLATE compressed
static unsigned char candyFontData[CANDY_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed, static unsigned char candyFontData[CANDY_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
0xdd, 0x4d, 0x92, 0xd4, 0x38, 0x10, 0x06, 0x50, 0xdd, 0x80, 0xfb, 0xcc, 0x61, 0xe6, 0x4a, 0x73, 0x45, 0x8e, 0xc0, 0x86, 0xdd, 0x5b, 0x76, 0xa4, 0x36, 0x10, 0x00, 0x50, 0xad, 0x2b, 0xfb, 0xdf, 0x97, 0x72, 0x92, 0x7c, 0xe4, 0xcc, 0x8c, 0x1b,
0x25, 0xa1, 0x89, 0x61, 0x88, 0x20, 0x80, 0x2e, 0x4b, 0x4a, 0xa5, 0x6c, 0xd9, 0xf5, 0x78, 0x1b, 0xa2, 0xdd, 0x5d, 0x55, 0x54, 0xa5, 0x12, 0x08, 0xfa, 0xfa, 0xfe, 0x19, 0xbb, 0x1b, 0x10, 0xa5, 0x07, 0xa0, 0x52, 0x6f, 0x00, 0x00, 0x00, 0xc0,
0xfe, 0xf9, 0x2c, 0xc9, 0x2e, 0xa5, 0x6b, 0x01, 0x00, 0x00, 0x00, 0xde, 0xdc, 0x7f, 0xff, 0xfe, 0xfc, 0x59, 0xf9, 0xe0, 0x97, 0xfb, 0xe7, 0xe7, 0xcf, 0xdf, 0xb5, 0x1f, 0x7e, 0xfb, 0xff, 0xdf, 0xf6, 0x1f, 0xb7, 0x1e, 0x6d, 0xc9, 0xff, 0xe7,
0xa7, 0x3f, 0x7f, 0xb7, 0x7e, 0xb8, 0xf4, 0x68, 0x49, 0xfc, 0x2f, 0x8f, 0x3f, 0x49, 0xdf, 0x2b, 0x94, 0x83, 0x25, 0xed, 0xf1, 0x9e, 0x8c, 0x7d, 0x42, 0x3b, 0xd8, 0x72, 0xbe, 0xcf, 0xbf, 0xff, 0xae, 0x97, 0x7c, 0xfb, 0xa7, 0xcf, 0x39, 0xdb,
0xcf, 0xfc, 0xfb, 0xcf, 0x6a, 0xca, 0xbb, 0xbf, 0x7a, 0x9d, 0xd6, 0x27, 0x8a, 0x2c, 0x3b, 0x7a, 0xd5, 0x7a, 0xb0, 0x4e, 0xa3, 0xcc, 0xb6, 0xa3, 0x4f, 0xed, 0x07, 0xc7, 0xd4, 0x06, 0xb6, 0xf4, 0xd4, 0xd1, 0xf5, 0xe9, 0x52, 0x8d, 0x95, 0xce,
0xa5, 0x63, 0x49, 0x0d, 0xad, 0x5d, 0x9d, 0xde, 0xab, 0x63, 0x7b, 0xa7, 0xbd, 0xfe, 0x65, 0x78, 0x1d, 0xcb, 0x82, 0x65, 0xf9, 0xf1, 0xb7, 0xf0, 0x31, 0xb6, 0x05, 0xdb, 0xfa, 0x64, 0x19, 0xaf, 0x8c, 0xff, 0xdf, 0x7f, 0x2a, 0xe3, 0xff, 0xf8,
0x75, 0x72, 0x1f, 0xaf, 0xcc, 0xff, 0xef, 0xff, 0x32, 0xf3, 0x7f, 0xfc, 0x9a, 0x33, 0xc7, 0xc4, 0xcf, 0xb5, 0xa9, 0x09, 0x33, 0x67, 0xae, 0x89, 0xff, 0x8f, 0xa6, 0x17, 0xc4, 0x7f, 0xbc, 0x16, 0x39, 0x3e, 0x82, 0xcf, 0x57, 0x71, 0x0b, 0xff,
0xf9, 0x1f, 0x3f, 0x8b, 0x1c, 0xaf, 0xc1, 0xeb, 0xa3, 0xb8, 0x0c, 0xff, 0x4d, 0xfb, 0xfc, 0x9a, 0xf9, 0xaa, 0x2b, 0x97, 0xcf, 0x79, 0xfd, 0x5a, 0xf9, 0xa9, 0x2b, 0xb7, 0x8d, 0x45, 0xed, 0xfc, 0x75, 0x7e, 0xb6, 0x37, 0x73, 0x65, 0x78, 0xe5,
0xf5, 0xa5, 0x76, 0xfe, 0x38, 0x6f, 0x7d, 0x9a, 0xb9, 0x7d, 0x78, 0xe6, 0xb2, 0xdc, 0xfc, 0xb7, 0x7e, 0x37, 0x7a, 0x66, 0xb6, 0xda, 0xf8, 0x3f, 0xfb, 0xdb, 0x6c, 0xcd, 0x9e, 0xef, 0x1d, 0x8c, 0xb6, 0xe6, 0x3d, 0x74, 0xed, 0x9f, 0xb7, 0x62,
0x8f, 0xf7, 0x0e, 0x7a, 0x5b, 0xf3, 0x3a, 0x74, 0xec, 0xb7, 0x5b, 0xb1, 0x9c, 0x2d, 0x3c, 0xba, 0xc6, 0xc7, 0xe7, 0x92, 0x35, 0x67, 0x38, 0x7a, 0xc4, 0xc7, 0x75, 0xc9, 0xd9, 0xd6, 0xf9, 0x36, 0x37, 0x72, 0x6d, 0xdc, 0x71, 0x15, 0x9f, 0x97,
0xd6, 0xd2, 0xf9, 0x36, 0x77, 0xe4, 0xd8, 0xb8, 0xe2, 0x28, 0x6e, 0xef, 0xcd, 0x8c, 0x76, 0xa9, 0xfe, 0xb2, 0xb5, 0xe5, 0x66, 0x45, 0xbb, 0xd4, 0x7f, 0x39, 0xdb, 0xe2, 0x7f, 0xf4, 0xaa, 0xed, 0x8b, 0x5b, 0xda, 0x16, 0x6e, 0x69, 0x73, 0x7d,
0xbf, 0xf7, 0xa8, 0xad, 0x8b, 0x5b, 0xda, 0x32, 0xdc, 0xd2, 0xc6, 0xfa, 0x2c, 0x79, 0x5b, 0x38, 0x2b, 0xff, 0x75, 0x22, 0x96, 0xba, 0x33, 0x5c, 0x15, 0xff, 0x7d, 0x22, 0xfa, 0x5b, 0xa2, 0xc7, 0x79, 0x5c, 0x6b, 0x9f, 0xed, 0x7f, 0xf6, 0x2a,
0xfd, 0x25, 0xd0, 0xe3, 0x3c, 0x3e, 0x6b, 0xb7, 0x3e, 0x7f, 0xf4, 0x28, 0xc9, 0x3d, 0x66, 0x67, 0xf3, 0x7f, 0xdc, 0x1f, 0xa9, 0xbd, 0x66, 0x67, 0xe3, 0xff, 0xb8, 0x3f, 0xdc, 0x0e, 0xeb, 0x9b, 0xeb, 0x7a, 0x5c, 0x3b, 0xc5, 0x7f, 0xb6, 0x87,
0x2e, 0x87, 0xe7, 0x9b, 0xf3, 0x7a, 0x5c, 0x3b, 0xe5, 0x3f, 0xda, 0x43, 0xee, 0x1f, 0xdd, 0xe4, 0xb5, 0xff, 0xeb, 0xf3, 0x3c, 0x3e, 0xba, 0xa9, 0x6b, 0xff, 0xd7, 0xc7, 0xff, 0x59, 0x44, 0xf6, 0xe0, 0x48, 0xb5, 0xb6, 0x35, 0x1e, 0x19, 0x4f,
0xdf, 0x4a, 0x64, 0x1d, 0x1c, 0xa9, 0xe6, 0xb6, 0xc6, 0x3d, 0xe3, 0xe9, 0xe8, 0x19, 0x7d, 0x7c, 0x8c, 0x7b, 0x7e, 0xff, 0x67, 0x6b, 0xf4, 0xf8, 0x18, 0xf7, 0xfa, 0xfe, 0xff, 0xf9, 0xb8, 0xb1, 0x2f, 0x1b, 0x39, 0xd5, 0x47, 0xd8, 0xbe, 0xfd,
0xbf, 0x3d, 0x6e, 0xac, 0xcb, 0x46, 0x4e, 0xf9, 0x09, 0xdb, 0xb7, 0xff, 0xdf, 0xd7, 0x2f, 0x58, 0xd3, 0xff, 0x6f, 0x8d, 0xff, 0xb1, 0x7e, 0xc1, 0x9a, 0xfe, 0xff, 0xd9, 0xf8, 0xbf, 0x5d, 0xde, 0xfa, 0x9f, 0x45, 0x56, 0xbe, 0xf4, 0x7b, 0xaa,
0xff, 0xcb, 0xe9, 0xad, 0x7f, 0x2b, 0x59, 0xf1, 0xbd, 0x5f, 0x43, 0x3d, 0xa0, 0xb9, 0xab, 0x0a, 0xb1, 0xfd, 0x39, 0x97, 0x07, 0x34, 0x77, 0x57, 0x21, 0x57, 0x9e, 0x73, 0xf1, 0xbf, 0xa2, 0x0f, 0x10, 0x1d, 0xfd, 0xbd, 0xa3, 0xff, 0x9f, 0x39,
0xff, 0x15, 0x7d, 0x80, 0xd1, 0xd1, 0xdf, 0x33, 0xfa, 0xff, 0x91, 0x2d, 0x18, 0xbd, 0xce, 0x9c, 0xb5, 0x66, 0xe3, 0xd7, 0x83, 0xd9, 0xfb, 0xcc, 0x55, 0x47, 0x16, 0xbf, 0xcf, 0x7f, 0xdf, 0x19, 0xab, 0xab, 0xe7, 0x67, 0xcf, 0x60, 0xfd, 0xa7,
0xf9, 0xaf, 0xdb, 0x62, 0x79, 0xe7, 0xf9, 0xd9, 0x2d, 0x98, 0xff, 0xaa, 0xb1, 0x5e, 0xf5, 0xe8, 0x51, 0x5c, 0x2f, 0xbd, 0xe6, 0x7a, 0xd5, 0xd1, 0xab, 0xb8, 0xdf, 0xfa, 0x6c, 0xac, 0x3f, 0xe2, 0xce, 0xe9, 0x15, 0xed, 0xff, 0xd9, 0xfd, 0xff,
0x37, 0x56, 0x6f, 0x71, 0xe5, 0xf4, 0x8c, 0xf6, 0xbf, 0x75, 0xfd, 0x7f, 0xe6, 0xea, 0xc0, 0xd8, 0x9d, 0x8d, 0xba, 0xe1, 0x99, 0xbb, 0x03, 0xb1, 0x27, 0x1b, 0x7d, 0xc3, 0x6b, 0x45, 0xfc, 0x3f, 0xa5, 0x15, 0xab, 0xea, 0x55, 0xbb, 0xff, 0x97,
0xb1, 0x22, 0xff, 0x77, 0x69, 0xc5, 0xb2, 0x7a, 0xd5, 0xae, 0xff, 0x45, 0xee, 0x69, 0x67, 0xf4, 0xe7, 0xee, 0x92, 0xff, 0x79, 0xa6, 0x5d, 0xd1, 0x9f, 0x7b, 0x4a, 0xfc, 0xf7, 0x81, 0xda, 0x74, 0x7c, 0x4b, 0xfe, 0x89, 0xfb, 0xaa, 0xb7, 0x0a,
0xda, 0x71, 0x36, 0xed, 0x5f, 0x12, 0xbf, 0xe3, 0xbe, 0xea, 0x5b, 0x05, 0xad, 0xbb, 0x8d, 0xe7, 0xdd, 0xc5, 0xde, 0x31, 0xce, 0x9e, 0x36, 0x5e, 0xf7, 0x14, 0x7b, 0xc7, 0xf8, 0x7f, 0xc6, 0xf3, 0xff, 0x3d, 0xce, 0xe5, 0xda, 0x91, 0xdc, 0x8e,
0xff, 0xf7, 0xb8, 0xff, 0xbf, 0xc7, 0xb6, 0x5c, 0x3b, 0x92, 0xdb, 0x31, 0xff, 0xf0, 0x1e, 0xdf, 0x26, 0x3c, 0xef, 0x5b, 0xf1, 0x0f, 0xdf, 0xf1, 0x36, 0xe1, 0x75, 0x6f, 0x2d, 0x8a, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x8b, 0xf2, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xdd, 0x67, 0xe7, 0xc4, 0x2b, 0x00, 0x00, 0x00, 0x9e, 0x3e, 0x3b, 0x27, 0x9f, 0x21, 0x32, 0x36, 0xe7, 0xa6, 0x2f, 0xc9, 0x8b, 0x94, 0x9b, 0x1b, 0x7d,
0x44, 0x8e, 0xcd, 0xb9, 0xa9, 0x4b, 0xea, 0x22, 0xc5, 0xe6, 0x46, 0x9f, 0x5b, 0xc3, 0x39, 0x5a, 0x35, 0x7b, 0x6e, 0x5e, 0x6d, 0x0e, 0xe7, 0x6c, 0xd6, 0xec, 0xb9, 0x79, 0xe1, 0x9f, 0xf3, 0x09, 0xcd, 0x7c, 0xee, 0xf1, 0x5c, 0xe4, 0xc8, 0xbc,
0xf8, 0xeb, 0x7a, 0x42, 0x33, 0xaf, 0x7b, 0x3c, 0x17, 0x79, 0x64, 0x5e, 0x76, 0xb4, 0xd6, 0xf9, 0x68, 0x4d, 0xa0, 0x48, 0xec, 0x6c, 0xae, 0xf3, 0x68, 0x4e, 0xa0, 0x4c, 0xee, 0xa4, 0xd9, 0xdc, 0xe9, 0xf1, 0x23, 0xce, 0xcc, 0x60, 0x9d, 0x9d,
0xed, 0xa4, 0xd9, 0xda, 0xe9, 0xe3, 0x6b, 0x1c, 0x99, 0xc1, 0x3a, 0x3b, 0xe7, 0xed, 0xac, 0x8a, 0xcd, 0xd1, 0x9c, 0xf6, 0xf3, 0x76, 0x55, 0xc6, 0xe6, 0x6c, 0x9c, 0x8e, 0x65, 0xbd, 0xed, 0xe1, 0x4c, 0x75, 0xbb, 0xe5, 0x69, 0xa8, 0xce, 0x9a,
0x55, 0xbd, 0xad, 0xc3, 0x95, 0xea, 0x76, 0xab, 0xd3, 0x90, 0x5d, 0x35, 0x63, 0x65, 0xfe, 0x4b, 0x57, 0x6d, 0xec, 0xbe, 0xb1, 0x32, 0xfe, 0xdb, 0x50, 0x6e, 0xec, 0xb1, 0xf9, 0xce, 0xbd, 0x70, 0x46, 0xfb, 0x75, 0x39, 0xf7, 0xda, 0x74, 0x99,
0xf9, 0xce, 0x35, 0x71, 0x46, 0xfb, 0x79, 0x35, 0xf7, 0xca, 0xf4, 0x3e, 0x19, 0x6d, 0xa9, 0x9e, 0x9f, 0xff, 0xe8, 0xba, 0x44, 0x5b, 0xaa, 0xf7, 0xc7, 0x7f, 0xf6, 0xd8, 0xcf, 0xce, 0x6a, 0xdf, 0x36, 0x8b, 0xfd, 0x9d, 0xf1, 0x9f, 0xed, 0xdb,
0xb7, 0xb6, 0x6a, 0xdd, 0xb6, 0x8a, 0xfd, 0x95, 0xf9, 0x8f, 0xf6, 0xed, 0x8e, 0x5b, 0xbe, 0xf1, 0x8a, 0x07, 0xe7, 0x54, 0x1d, 0xb7, 0x7c, 0xf1, 0x8c, 0x07, 0xd7, 0x64, 0xb4, 0xe9, 0x1b, 0xc5, 0x7f, 0xfc, 0xdb, 0x56, 0xce, 0x61, 0x9f, 0x6b,
0xb4, 0xa9, 0x1b, 0xe5, 0x7f, 0xfc, 0xdd, 0x56, 0xce, 0x61, 0x9f, 0x6b, 0x7b, 0x6b, 0x5a, 0xfe, 0xe3, 0x7d, 0x9f, 0xdd, 0x7b, 0x7b, 0x59, 0xfc, 0xe7, 0xfb, 0x3e, 0xbb, 0xb5, 0xf1, 0xb5, 0x59, 0x73, 0xd6, 0xc5, 0x7f, 0x2b, 0xcf, 0xca, 0xb4,
0xda, 0xf8, 0xdc, 0xaa, 0x39, 0xeb, 0xf2, 0x5f, 0xd2, 0xab, 0x32, 0xed, 0x99, 0xff, 0x9e, 0xf6, 0x21, 0x32, 0x36, 0x18, 0x67, 0xfc, 0x8f, 0xb4, 0x0f, 0x99, 0xb1, 0x41, 0xfc, 0x3f, 0xb3, 0x35, 0x6e, 0xf4, 0xdb, 0x32, 0xed, 0xff, 0xf1, 0x51,
0xff, 0xcb, 0xe8, 0x19, 0x77, 0xf4, 0xdd, 0x22, 0xed, 0xff, 0xf1, 0x5a, 0xde, 0xb9, 0xfd, 0xdf, 0x25, 0xff, 0x65, 0xab, 0x3e, 0xb9, 0xfd, 0xdf, 0x25, 0xfe, 0xdb, 0x56, 0xfd, 0xff, 0xd9, 0xab, 0x31, 0x16, 0xe7, 0xf7, 0xe5, 0x66, 0xdb, 0x7d,
0xfe, 0xff, 0xec, 0xd1, 0x38, 0x96, 0xf3, 0xeb, 0x6a, 0xb3, 0xed, 0xfe, 0x24, 0xa3, 0x91, 0x2d, 0x3e, 0x5b, 0x1d, 0x39, 0x25, 0xa3, 0xc8, 0x19, 0x9f, 0xcd, 0x8e, 0x9c, 0xbd, 0xef, 0x50, 0xb9, 0x62, 0xd3, 0xb3, 0xee, 0x71, 0xb5, 0xaf, 0x1c,
0x7a, 0xdd, 0x21, 0xf3, 0x89, 0x4d, 0xf7, 0xba, 0xc6, 0x55, 0xde, 0x72, 0xfc, 0x1f, 0xbf, 0xee, 0x2b, 0xff, 0xb3, 0xfd, 0xff, 0xe7, 0xef, 0xfb, 0x8a, 0xff, 0xd9, 0xfe, 0x74, 0xbb, 0x21, 0xfe, 0x57, 0x9d, 0xbb, 0x27, 0xc7, 0xff, 0x4c, 0xcf,
0xe9, 0x72, 0x41, 0xfe, 0x57, 0x6d, 0xbb, 0x3b, 0xe7, 0x7f, 0xa6, 0xe7, 0x77, 0x56, 0xfe, 0xcb, 0xcb, 0xa7, 0x50, 0xcd, 0xef, 0xaa, 0xf8, 0x6f, 0x1f, 0x57, 0xa1, 0x9a, 0x8d, 0xff, 0xfc, 0xda, 0x38, 0xd1, 0x38, 0xef, 0x37, 0x3e, 0xdf, 0x5a,
0xe6, 0x3f, 0xfe, 0x6c, 0x9c, 0xd1, 0x9c, 0xd7, 0x0b, 0xef, 0x6f, 0xad, 0x38, 0x07, 0xc6, 0xef, 0x37, 0x14, 0xf9, 0xbf, 0x51, 0x07, 0xe6, 0x9f, 0x37, 0x34, 0xf1, 0xff, 0xa8, 0xf8, 0xbf, 0xbf, 0xfd, 0x1f, 0x5d, 0x5b, 0xf1, 0xbb, 0xe3, 0xbf,
0x55, 0xfe, 0xaf, 0x6f, 0xff, 0x7b, 0x9f, 0xad, 0xf8, 0xde, 0xf9, 0x2f, 0x53, 0xd7, 0xf8, 0x56, 0xfc, 0xdd, 0x6e, 0xfd, 0x4d, 0xdd, 0xe3, 0x5b, 0xf1, 0x7f, 0xbb, 0xf5, 0xff, 0xab, 0xeb, 0xce, 0x6b, 0xeb, 0xd3, 0x75, 0x7d, 0xdc, 0xdc, 0xfd,
0xff, 0xec, 0x73, 0xe7, 0xb9, 0xe7, 0xd3, 0x75, 0x7d, 0xdc, 0xd8, 0xf5, 0xa4, 0xd8, 0xd3, 0x0c, 0x62, 0x55, 0xb3, 0xd7, 0xa4, 0xdc, 0x6a, 0x06, 0xb9, 0xac, 0xd9, 0x6b, 0xae, 0xa9, 0x96, 0x5e, 0xc3, 0xab, 0x85, 0x6b, 0x00, 0xf1, 0xff, 0xeb,
0x1c, 0x53, 0x25, 0xfc, 0x0c, 0xaf, 0x32, 0x7c, 0x06, 0x90, 0xff, 0x5f, 0x97, 0xac, 0x7b, 0x3a, 0x32, 0xac, 0xce, 0xd3, 0x96, 0x75, 0xab, 0x23, 0xc3, 0xea, 0x78, 0x7a, 0x56, 0xfc, 0xcf, 0xbd, 0x69, 0x50, 0xbf, 0xda, 0x60, 0xbf, 0xa1, 0xfd,
0xbd, 0xf2, 0x3f, 0xf7, 0x4d, 0x83, 0xfc, 0xa7, 0x0d, 0xd6, 0x0b, 0xda, 0x7f, 0x58, 0x7b, 0x97, 0x3d, 0xef, 0xf7, 0xc9, 0x87, 0xb5, 0x4f, 0xd9, 0xeb, 0xfe, 0x9e, 0x8a, 0x3e, 0x3d, 0xf0, 0xbd, 0xfd, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe8, 0xd3, 0x03, 0xef, 0xdb, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x38, 0x57, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x8d, 0x73, 0x05, 0x3e, 0xcf, 0xf2, 0x3c, 0xce, 0x82, 0xd1, 0x92, 0x59, 0xb0, 0xdb, 0x40,
0xe0, 0xf5, 0x2c, 0xcf, 0xe3, 0x2a, 0x18, 0x25, 0x58, 0x05, 0xbb, 0x74, 0x54, 0x4e, 0xae, 0xc1, 0xf7, 0x1b, 0x99, 0xa5, 0xe6, 0xe4, 0x9e, 0xfc, 0xbe, 0xc8, 0x2c, 0xe5, 0xdd, 0x72, 0x11, 0x44, 0xf3, 0x23, 0x46, 0x72, 0x63, 0xb7, 0x70, 0x9e,
0xbc, 0x5b, 0x2d, 0x82, 0xd1, 0xfa, 0x88, 0x23, 0xb5, 0xb1, 0xcb, 0x70, 0x9d, 0xaf, 0x68, 0x15, 0x9b, 0x32, 0x59, 0x73, 0xaf, 0x6c, 0x16, 0x9b, 0x36, 0x99, 0x73, 0x34, 0x3f, 0xff, 0x2e, 0x3b, 0x83, 0x7a, 0x2c, 0xa3, 0xdb, 0xd8, 0xf7, 0xf4,
0x34, 0x3e, 0xff, 0x2e, 0x3a, 0x83, 0xfa, 0x68, 0x7f, 0x7e, 0xaa, 0xdf, 0xea, 0x97, 0xef, 0xbe, 0xd6, 0x7f, 0x86, 0xdf, 0xa1, 0x19, 0x7e, 0xb3, 0xa5, 0x50, 0x3f, 0x27, 0xb1, 0x5d, 0x9e, 0x75, 0xe3, 0xde, 0x6c, 0x4c, 0x4f, 0xca, 0xb7, 0x1d,
0xb5, 0x76, 0xcd, 0xf7, 0x9b, 0xdd, 0x27, 0x3d, 0x5b, 0x28, 0x92, 0xff, 0x1d, 0xab, 0xee, 0x65, 0x55, 0xf9, 0xb8, 0x53, 0xc9, 0xc3, 0x7b, 0x9e, 0xcf, 0x63, 0x3e, 0xfe, 0x47, 0x73, 0x0a, 0xf4, 0xc9, 0xac, 0x9f, 0xd1, 0xba, 0xe2, 0xf8, 0xbc,
0xbd, 0xed, 0x91, 0x3a, 0xbc, 0xed, 0x7a, 0x1e, 0xf3, 0xf9, 0xef, 0xad, 0x29, 0x50, 0x27, 0xab, 0x7e, 0x8e, 0x9e, 0x2b, 0x1c, 0xcd, 0x4d, 0x8e, 0x45, 0x7f, 0x76, 0xfe, 0xcd, 0xf9, 0x3e, 0xac, 0x9b, 0x51, 0xfd, 0x1d, 0xf1, 0x1f, 0xaf, 0x41,
0x8e, 0xb7, 0xcb, 0xd1, 0xdc, 0xe4, 0xd7, 0xad, 0xdc, 0xa7, 0xfa, 0xf9, 0xc7, 0xff, 0xfe, 0xfe, 0x30, 0xff, 0x35, 0x3c, 0x9f, 0x90, 0x6f, 0xbb, 0x15, 0xfc, 0xb6, 0x72, 0xe6, 0x7b, 0x36, 0xa7, 0x48, 0x36, 0xfe, 0x23, 0xb1, 0xf5, 0xb9, 0x96,
0x1b, 0xa7, 0xfd, 0x89, 0x32, 0xe7, 0x57, 0xbf, 0x47, 0xfe, 0xc7, 0xcf, 0x99, 0x77, 0xa8, 0xb7, 0x5d, 0x12, 0x7e, 0x9a, 0x6b, 0x03, 0x19, 0xd4, 0xe6, 0xbf, 0x27, 0x13, 0xff, 0x3d, 0x9c, 0x6d, 0x25, 0xdb, 0xfe, 0xc7, 0x5a, 0x97, 0x3d, 0xe3,
0x39, 0xf3, 0x3d, 0x5a, 0x53, 0x24, 0x9a, 0xff, 0x91, 0x34, 0xbd, 0x3e, 0xcb, 0x95, 0x8e, 0x0a, 0x6a, 0xa3, 0xf9, 0x6f, 0x3f, 0xd3, 0xe3, 0xec, 0x17, 0xc6, 0xff, 0x5c, 0x8e, 0xaf, 0x76, 0x79, 0xfc, 0xd7, 0xae, 0x53, 0x31, 0x36, 0x92, 0xa9,
0xbd, 0x6b, 0x24, 0xff, 0x75, 0xb8, 0xf6, 0x4a, 0xff, 0xb6, 0x1c, 0x6b, 0x5d, 0xf6, 0xcc, 0x7f, 0xa4, 0xc7, 0x59, 0x4f, 0xe8, 0x69, 0xff, 0x34, 0x3a, 0x3c, 0x1a, 0x19, 0xd5, 0xc5, 0x7f, 0xff, 0xe1, 0x1b, 0x57, 0xb5, 0xff, 0x55, 0x19, 0x55,
0xcc, 0xff, 0x5c, 0x8d, 0xaf, 0x72, 0x7a, 0xfe, 0x73, 0x9f, 0x53, 0xd1, 0x37, 0x92, 0xe9, 0x4d, 0x76, 0xff, 0xef, 0xd6, 0xfb, 0xc1, 0xfe, 0xbe, 0x21, 0xfe, 0xdb, 0x26, 0xfd, 0xff, 0xfa, 0xb5, 0xd4, 0xf6, 0x8c, 0xff, 0x78, 0x8f, 0x2b, 0xde,
0x46, 0x5b, 0xbc, 0x2e, 0xff, 0xf5, 0x83, 0xf7, 0x5f, 0xd5, 0xfe, 0xc7, 0xeb, 0xab, 0xd6, 0x83, 0x4f, 0xf8, 0x84, 0xfc, 0x7a, 0xc5, 0xfa, 0x0a, 0xe7, 0x23, 0x80, 0x5e, 0x50, 0x03, 0xf4, 0xdf, 0xd6, 0xa3, 0xaa, 0x1a, 0x85, 0xc7, 0x56, 0x12,
0x97, 0x4d, 0xfa, 0xff, 0xf9, 0xcf, 0x52, 0xdb, 0x33, 0xff, 0xe3, 0x3d, 0xae, 0xf1, 0x76, 0x7d, 0xac, 0xaf, 0xd0, 0x1e, 0xcb, 0xb5, 0xff, 0xfd, 0xb5, 0xed, 0x7f, 0xed, 0xf8, 0x7f, 0x55, 0x2e, 0xc2, 0xda, 0xf5, 0xb6, 0xaa, 0x72, 0x6d, 0xe6,
0x01, 0xd4, 0xc0, 0x19, 0xa0, 0x27, 0xff, 0xb1, 0xf6, 0x3f, 0x3a, 0xfe, 0x8f, 0x27, 0xa3, 0x3e, 0xb6, 0xfd, 0xcf, 0x1d, 0xfa, 0x5a, 0xd9, 0xf6, 0xff, 0xac, 0x77, 0x30, 0x13, 0xff, 0x6d, 0x32, 0x2e, 0x63, 0xf5, 0x4c, 0x7f, 0x54, 0x06, 0x8e,
0xff, 0xaf, 0xaa, 0x45, 0x98, 0xfb, 0xbc, 0xad, 0xac, 0x5a, 0x9b, 0xb1, 0xbe, 0x56, 0xb4, 0xfd, 0x6f, 0xf5, 0x0e, 0x66, 0x91, 0x35, 0xf2, 0xea, 0xae, 0xf4, 0xd1, 0x08, 0x8a, 0x6c, 0x9d, 0xcd, 0xaa, 0x36, 0xfe, 0xa4, 0x61, 0xa4, 0xa6, 0xfe,
0xf2, 0x5f, 0x26, 0x93, 0xf8, 0xf1, 0xf5, 0xbf, 0x55, 0xed, 0xff, 0xf9, 0xd7, 0xff, 0x6b, 0x20, 0x21, 0xab, 0xaa, 0x6e, 0xfc, 0x94, 0x62, 0xe4, 0xac, 0x54, 0x8c, 0x01, 0x77, 0xed, 0xff, 0xdf, 0xd3, 0xfe, 0x8f, 0xb4, 0xfe, 0x35, 0x79, 0xc8,
0xd6, 0xe1, 0x6b, 0x31, 0xb3, 0x55, 0xd5, 0xfa, 0xef, 0x34, 0xf4, 0x9c, 0x9b, 0x5f, 0xdf, 0xa5, 0xe8, 0xd9, 0x2a, 0x19, 0x7a, 0x79, 0xfe, 0x9d, 0x5e, 0xb8, 0x77, 0x75, 0x2d, 0xe4, 0x1d, 0x4f, 0x22, 0x57, 0xec, 0xd1, 0x7e, 0x59, 0xd2, 0x7a,
0xa3, 0xbe, 0x5d, 0xfb, 0xff, 0xd7, 0xb4, 0xff, 0x3d, 0xad, 0x7f, 0xa4, 0x0e, 0xd9, 0xba, 0xeb, 0x7f, 0xd1, 0xf1, 0xd3, 0xf2, 0xce, 0xf1, 0x5e, 0xfd, 0xff, 0xfc, 0xd8, 0x2a, 0x32, 0xaa, 0xaf, 0x7b, 0xfe, 0x57, 0xdd, 0x96, 0x3e, 0x2b, 0xfb,
0xdc, 0xfd, 0xbf, 0xeb, 0xeb, 0x08, 0x66, 0x5f, 0xf9, 0x39, 0xf3, 0xb5, 0xae, 0xfa, 0x44, 0x3b, 0xf6, 0xff, 0xe3, 0x63, 0x96, 0xf8, 0xdf, 0xbb, 0x0c, 0xf6, 0x8a, 0xff, 0xd1, 0x55, 0xcc, 0x7b, 0xf9, 0x93, 0xf8, 0x67, 0xd4, 0xe0, 0xcf, 0x7d,
0xab, 0x91, 0x51, 0x7d, 0xde, 0xfd, 0xbf, 0x98, 0x56, 0xfe, 0xd7, 0xbc, 0xeb, 0xba, 0x63, 0x4e, 0xfe, 0xf7, 0xdc, 0x07, 0xff, 0xe7, 0xfa, 0x95, 0x47, 0xef, 0x8e, 0xff, 0xdd, 0x6a, 0x80, 0xaa, 0x15, 0xaf, 0xdb, 0xe2, 0x37, 0x43, 0xee, 0x3f,
0x7b, 0xe5, 0xbf, 0xf7, 0x29, 0xe6, 0x35, 0xfd, 0x4e, 0xfc, 0x6e, 0x7b, 0xb0, 0x9d, 0xff, 0x7b, 0x7d, 0xff, 0xe7, 0xfc, 0x6b, 0x2b, 0x56, 0x08, 0x86, 0xb7, 0xbc, 0xbf, 0xd9, 0x5f, 0xdf, 0x6f, 0x7a, 0x62, 0x4f, 0x1b, 0x00, 0x00, 0x00, 0x00,
0x27, 0x8f, 0x5e, 0x9d, 0xff, 0xdd, 0xce, 0x00, 0x59, 0x4f, 0xbc, 0x2e, 0x49, 0x7b, 0x32, 0x72, 0x17, 0x6f, 0xf7, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xd5, 0xfc, 0xbf, 0x3e, 0x39, 0x37, 0x30, 0x97, 0x59, 0xa8, 0x9d, 0xce,
0xa5, 0xfc, 0xf3, 0xfc, 0xef, 0x6f, 0xd6, 0xc7, 0xf7, 0x9b, 0xae, 0xef, 0x5b, 0xcb, 0x3f, 0xbc, 0xaf, 0xf6, 0xf7, 0x7f, 0x30, 0xed, 0xe9, 0xbf, 0x89, 0x1c, 0x4b, 0x3e, 0x67, 0x45, 0x26, 0xe7, 0x76, 0x3b, 0xc9, 0x53, 0x53, 0x73, 0x6e, 0xae,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xae, 0x9e, 0x0f, 0x58, 0x27, 0xe7, 0x0a, 0xc6, 0x2a, 0x39, 0xce, 0xf3, 0xdc, 0x7a, 0xb1, 0xeb, 0x22, 0x72, 0xa6, 0xce, 0x73, 0xa6, 0x5c, 0x77, 0x1e, 0xb2, 0xe5, 0xdd, 0x4f,
0x0d, 0x95, 0xe6, 0x8c, 0xd3, 0x1a, 0xfe, 0x9d, 0x91, 0x75, 0x89, 0xd7, 0xb0, 0x88, 0xd4, 0xe0, 0x2e, 0x8d, 0xba, 0x35, 0x66, 0x73, 0xf7, 0xc3, 0x4c, 0x35, 0x15, 0xb9, 0x54, 0xce, 0x3e, 0x3f, 0x9f, 0x79, 0xaf, 0x25, 0x32, 0xae, 0xf5, 0x3f,
0x39, 0xdb, 0xe6, 0x9c, 0xf5, 0x6c, 0xd7, 0xda, 0x1b, 0x3b, 0x2e, 0x46, 0xb6, 0x54, 0xbb, 0x86, 0xca, 0x79, 0xdb, 0x21, 0x72, 0x39, 0xf5, 0xd4, 0xdf, 0x44, 0x4b, 0x3d, 0xb7, 0x6d, 0x24, 0xa7, 0x63, 0x5d, 0x9e, 0xe8, 0xcc, 0xb9, 0x59, 0x7f,
0xba, 0xbf, 0x6b, 0x63, 0x76, 0x77, 0x6d, 0x54, 0xae, 0xc9, 0xa9, 0x07, 0x50, 0x1b, 0x75, 0x54, 0xe2, 0xf3, 0xd5, 0x46, 0x9c, 0xf1, 0xeb, 0xa2, 0x17, 0x7d, 0xc3, 0x68, 0x1e, 0x92, 0xfd, 0xcb, 0xfb, 0x3c, 0x63, 0xec, 0x5c, 0x36, 0x85, 0xd5,
0xcf, 0x00, 0xf5, 0x8f, 0xda, 0x4e, 0x35, 0xf4, 0x3b, 0xa3, 0x7b, 0x3d, 0xb6, 0xac, 0xa7, 0xaa, 0x63, 0x5e, 0xa5, 0xe8, 0xf1, 0x1f, 0xcb, 0xb9, 0x1a, 0xc9, 0x2b, 0x56, 0x19, 0xff, 0x7b, 0xf5, 0xc7, 0xf2, 0xab, 0x41, 0x54, 0x65, 0xd8, 0x7f,
0xc8, 0xb6, 0x59, 0xbf, 0x9e, 0xe3, 0xc7, 0x45, 0x4d, 0x7a, 0x87, 0xde, 0xba, 0x24, 0xfb, 0xef, 0xef, 0x76, 0x05, 0xd9, 0xc6, 0x2c, 0xdd, 0xfc, 0x4a, 0x04, 0xcf, 0x29, 0xef, 0xd5, 0xc7, 0x37, 0x52, 0x53, 0xce, 0xe5, 0x81, 0xb8, 0x2b, 0xfe,
0xba, 0xac, 0xfd, 0xcf, 0xc8, 0xff, 0x58, 0x0d, 0xd6, 0x91, 0x3a, 0x63, 0x99, 0xf9, 0xdf, 0xab, 0x3f, 0x16, 0x7f, 0x1e, 0xeb, 0xfa, 0xff, 0xd9, 0xfe, 0x74, 0x66, 0x0d, 0xa4, 0xd9, 0xdc, 0x89, 0x33, 0x2b, 0x89, 0x5c, 0x7d, 0x2c, 0x73, 0xa3,
0x44, 0x56, 0xc5, 0xfd, 0x7b, 0xcc, 0xda, 0x8d, 0x3f, 0x99, 0xe0, 0x3e, 0xfb, 0x7b, 0xf5, 0xfa, 0xf5, 0x9c, 0x29, 0xe7, 0x82, 0x91, 0x31, 0xeb, 0x0e, 0xe7, 0x61, 0xe6, 0x1c, 0xb5, 0xc9, 0x95, 0x16, 0xce, 0x23, 0xa0, 0x0f, 0x8c, 0x4f, 0xfa,
0xea, 0x42, 0x5c, 0x95, 0xff, 0xbc, 0xfe, 0x7f, 0xb4, 0x3f, 0x1d, 0x79, 0x26, 0xd2, 0x6c, 0x2d, 0xc5, 0x99, 0x27, 0x8b, 0x64, 0x0d, 0x13, 0x2d, 0xd1, 0xf3, 0x73, 0x55, 0x5b, 0x2f, 0xe6, 0x3e, 0x6f, 0xd7, 0x6d, 0x7d, 0x62, 0x1c, 0x73, 0xef,
0x9c, 0xbd, 0x2e, 0x73, 0xa3, 0x82, 0x9e, 0x31, 0xeb, 0x0e, 0xdb, 0x61, 0x66, 0x1b, 0x95, 0xe0, 0x93, 0x17, 0xb2, 0xf2, 0xca, 0x45, 0x35, 0xf1, 0x3f, 0xde, 0xab, 0xdd, 0xbd, 0x4c, 0xdb, 0xc0, 0x38, 0x79, 0xff, 0xf8, 0x8f, 0xc6, 0x61, 0x65,
0x9f, 0x51, 0xcf, 0x74, 0x7c, 0xfc, 0xd7, 0xde, 0x56, 0xb9, 0xe7, 0xc5, 0xd8, 0xeb, 0xed, 0xba, 0xac, 0x4e, 0x8c, 0x63, 0x1f, 0x77, 0x36, 0x9b, 0xf4, 0x3d, 0xdb, 0xe6, 0x57, 0x26, 0xd9, 0xfd, 0xda, 0xbe, 0x3b, 0xfe, 0xd7, 0xac, 0xfe, 0x52,
0xae, 0x7d, 0x92, 0x51, 0x4e, 0xfe, 0xfb, 0x7b, 0xb5, 0xbb, 0xef, 0xd3, 0xd2, 0x31, 0x4e, 0xde, 0x3f, 0xff, 0xa3, 0x9f, 0x7d, 0x8e, 0xce, 0x46, 0x0d, 0x55, 0xed, 0xff, 0xd9, 0x08, 0xa4, 0x6f, 0x31, 0x2e, 0x1c, 0x8b, 0xed, 0xf8, 0xfd, 0xff,
0x25, 0xb3, 0x8f, 0x3b, 0x5b, 0x5d, 0xfa, 0x9a, 0x65, 0xf3, 0x4f, 0x2a, 0xd9, 0xfd, 0xd8, 0xbe, 0x3a, 0xff, 0x6b, 0x9e, 0xb9, 0x6b, 0x65, 0xc5, 0xb6, 0xf9, 0xeb, 0x76, 0xdf, 0x18, 0xdf, 0x25, 0xfe, 0x9f, 0x50, 0x47, 0xce, 0xb4, 0xda, 0xd1,
0x06, 0x93, 0xbd, 0x8d, 0x5a, 0xa3, 0x86, 0xac, 0xf6, 0xbf, 0x35, 0x02, 0xa9, 0x5b, 0x8c, 0x0b, 0xfb, 0xb2, 0x3d, 0x7e, 0xf6, 0xbf, 0x5d, 0x18, 0xff, 0x35, 0x77, 0x2a, 0x7a, 0xe1, 0x8a, 0x76, 0x4f, 0xbf, 0x56, 0xe6, 0xef, 0xff, 0xad, 0x78,
0xfd, 0x7f, 0xee, 0x58, 0x59, 0xb1, 0x6c, 0xfe, 0xb8, 0xdd, 0x37, 0xe3, 0xbb, 0xe4, 0xff, 0x0e, 0xe7, 0xc8, 0x78, 0xab, 0x02, 0xb2, 0x73, 0xfb, 0x2f, 0xfe, 0x9f, 0x16, 0xff, 0xd9, 0x67, 0xfb, 0x33, 0xfd, 0x91, 0x67, 0x8e, 0xff, 0x6b, 0xef,
0x9d, 0xd1, 0xf7, 0x3d, 0xbf, 0xfd, 0xcf, 0xc8, 0x7f, 0xfe, 0x15, 0xd0, 0x3b, 0x2e, 0x5b, 0x9f, 0xd5, 0xd9, 0x6b, 0x70, 0x43, 0x3d, 0xb5, 0xff, 0xff, 0xf4, 0x32, 0x9d, 0xeb, 0xb5, 0xcb, 0x90, 0xfc, 0x4d, 0x7d, 0x83, 0xd9, 0x3b, 0x9d, 0x6f,
0xf2, 0x2f, 0xff, 0xf1, 0xbe, 0x4a, 0x4d, 0xaf, 0x70, 0xb9, 0xe2, 0xe9, 0x60, 0x57, 0x8d, 0xff, 0x73, 0xaf, 0x43, 0xdd, 0x8b, 0xff, 0x77, 0x97, 0x69, 0xf5, 0x0a, 0xe9, 0x7c, 0x4b, 0xfc, 0xb7, 0x0b, 0xdb, 0xc4, 0xf8, 0xfb, 0x86, 0xdf, 0x17,
0xb5, 0xff, 0x7f, 0xf7, 0x7d, 0x3a, 0xd3, 0x6b, 0xa7, 0xbc, 0x55, 0xdf, 0x60, 0xf6, 0x6c, 0xff, 0xb4, 0xfc, 0x3f, 0x7b, 0xff, 0xab, 0xde, 0x91, 0x10, 0xff, 0xcf, 0x8c, 0xff, 0xd5, 0x65, 0x7a, 0xed, 0x7b, 0x0e, 0x35, 0xef, 0xff, 0xad, 0x5a,
0x9f, 0x4a, 0xbd, 0xfc, 0xe7, 0x9e, 0x01, 0xd6, 0x65, 0x7c, 0x24, 0xbb, 0xef, 0x97, 0xff, 0xbb, 0x3c, 0x35, 0x48, 0xfe, 0xf5, 0x65, 0x87, 0xe7, 0xff, 0xcf, 0x7d, 0xf7, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8,
0x9f, 0x31, 0xe6, 0x3b, 0xf7, 0x7b, 0x0e, 0x39, 0xdf, 0xff, 0x2b, 0x27, 0x3e, 0x01, 0xef, 0xec, 0xfb, 0xff, 0x00, 0x00, 0xfb, 0x3d, 0xf7, 0xd8, 0x96, 0xe3, 0xb9, 0x48, 0xb1, 0xec, 0x7b, 0xbb, 0x67, 0x63, 0x6e, 0xb2, 0x6f, 0x87, 0x4a, 0x7f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x33, 0x7e, 0x33, 0x2b, 0x3d, 0x1f, 0xfd, 0xe5, 0xa7, 0xfa, 0xf4, 0x7c, 0xef, 0x54, 0xbe, 0x9f, 0x4b, 0xac, 0xdf, 0x5e, 0x66, 0xb1, 0x98, 0x8a, 0x1f, 0x67, 0xc5, 0xe7, 0xe4, 0xa3,
0xad, 0x7e, 0xf9, 0xee, 0x6b, 0xfd, 0xe7, 0xb0, 0xce, 0xc9, 0x19, 0x6b, 0xa1, 0x2e, 0xf7, 0xda, 0xba, 0xdc, 0xc7, 0x7b, 0xff, 0xca, 0xac, 0xd4, 0xb2, 0x6f, 0xaf, 0xce, 0xbe, 0x1d, 0x39, 0xdf, 0xfb, 0x94, 0x6f, 0x7c, 0xbe, 0xd5, 0xb5, 0x65,
0xfb, 0x2e, 0x55, 0xb9, 0x7b, 0x8f, 0xd9, 0x3a, 0xb8, 0x85, 0x57, 0xa6, 0x2f, 0xab, 0x9e, 0x43, 0x74, 0xee, 0xe1, 0xab, 0xb6, 0xd7, 0x6c, 0xbe, 0xaa, 0x19, 0x86, 0x7b, 0xcd, 0x54, 0xec, 0x13, 0x19, 0xd5, 0xbb, 0xec, 0xdb, 0x8f, 0xe8, 0xe7,
0xd7, 0xfc, 0x54, 0x3f, 0xff, 0xf8, 0xdf, 0xdf, 0x1f, 0x6e, 0xcb, 0xbe, 0x7a, 0x60, 0x79, 0x6b, 0xa1, 0x2e, 0xf7, 0xca, 0x56, 0xac, 0x8c, 0xf1, 0x9e, 0x98, 0xba, 0x7b, 0x86, 0xeb, 0x73, 0xb2, 0x31, 0x8f, 0xf5, 0x61, 0x72, 0xab, 0x25, 0xbd,
0xba, 0xdc, 0x7d, 0x7b, 0x7b, 0xf7, 0xaa, 0xdc, 0xfd, 0x6b, 0x51, 0x37, 0x49, 0xdf, 0xb5, 0xb3, 0xe4, 0xe2, 0xdb, 0x72, 0x27, 0xfb, 0xf6, 0x4f, 0xad, 0xdd, 0xb5, 0x33, 0x6a, 0xab, 0xca, 0xf7, 0x38, 0xc7, 0xee, 0xce, 0xd9, 0x1f, 0x9e, 0x17,
0xaf, 0x1a, 0xce, 0x35, 0x5c, 0x5b, 0x73, 0xae, 0x2e, 0xef, 0xf9, 0xeb, 0xb2, 0xaa, 0x87, 0xd9, 0x4a, 0xce, 0x6e, 0x47, 0xff, 0xbb, 0x64, 0xa5, 0x6a, 0x27, 0x25, 0x9e, 0xbf, 0xae, 0xbe, 0x29, 0xfb, 0xee, 0x3b, 0x32, 0xa8, 0xf4, 0xad, 0xae,
0x74, 0x6c, 0x2d, 0xae, 0xd9, 0x9b, 0xfd, 0xef, 0xb8, 0xd3, 0xec, 0xe7, 0x99, 0xfc, 0xef, 0x54, 0xa7, 0xb9, 0xbd, 0xbd, 0xcd, 0x77, 0xc7, 0x7f, 0x26, 0x1e, 0x57, 0x6c, 0xab, 0xc9, 0x0c, 0xff, 0xed, 0xd9, 0x77, 0xdf, 0x13, 0xff, 0x4d, 0xfc,
0xe3, 0xcf, 0x51, 0x7a, 0x4e, 0x5d, 0xee, 0xd6, 0xde, 0x2e, 0x27, 0xcf, 0xbc, 0x8d, 0x6d, 0xa1, 0xfe, 0x3e, 0xeb, 0x1e, 0xdf, 0xde, 0xff, 0xbf, 0x6e, 0xdb, 0x7c, 0xdf, 0x60, 0xc5, 0xfd, 0xff, 0xe7, 0x65, 0xdf, 0x7d, 0x53, 0xfb, 0xbf, 0x4b,
0x75, 0x96, 0xee, 0x9e, 0xff, 0x9d, 0xb6, 0x63, 0x0d, 0xd6, 0xe5, 0xdf, 0xab, 0xf6, 0xf6, 0xae, 0xf9, 0xbf, 0x47, 0xa5, 0xc6, 0xc4, 0x68, 0x4c, 0xf5, 0x17, 0xc4, 0xff, 0x8e, 0xed, 0xa9, 0xec, 0x9b, 0xdf, 0x11, 0xff, 0x7d, 0xc3, 0xe3, 0xea,
0x95, 0x9e, 0xfc, 0xef, 0x76, 0xdc, 0x3e, 0xb1, 0xfd, 0x2f, 0x1d, 0xd5, 0xee, 0x33, 0x97, 0xe5, 0xd4, 0x8c, 0x7f, 0xe7, 0x45, 0x75, 0xd7, 0x35, 0xd7, 0x57, 0xf4, 0x2e, 0xcb, 0x2e, 0x71, 0x51, 0x7d, 0x6f, 0x70, 0xfc, 0x09, 0xfb, 0x1b, 0xb3,
0xba, 0xbc, 0xef, 0x93, 0xff, 0x22, 0xff, 0xa7, 0xf4, 0xff, 0xcf, 0x5b, 0x36, 0xdf, 0x37, 0x58, 0x71, 0xfd, 0xff, 0x5e, 0x6f, 0xbe, 0x35, 0xdb, 0xe6, 0xca, 0xfd, 0x6b, 0xe1, 0xb5, 0xf8, 0xf3, 0x4f, 0x68, 0x56, 0xd5, 0xa5, 0x15, 0x2b, 0x6f,
0x75, 0x79, 0xdf, 0xa9, 0xfd, 0xdf, 0xa7, 0xce, 0xe2, 0x33, 0xf3, 0xbf, 0x63, 0x7b, 0xaa, 0x2e, 0xa7, 0xfc, 0xd7, 0xcd, 0xef, 0x94, 0x8d, 0x51, 0xf6, 0xcd, 0x15, 0xcf, 0xa2, 0x9e, 0x9c, 0x6d, 0xf3, 0x3c, 0x56, 0xe3, 0xdb, 0xd6, 0xc7, 0xf4,
0xd2, 0xb7, 0xcb, 0x11, 0x15, 0x3f, 0x22, 0x76, 0xaa, 0x57, 0x9d, 0x7d, 0x6d, 0xb0, 0xff, 0x0e, 0xfb, 0x13, 0xea, 0x72, 0x55, 0x75, 0xe9, 0xfb, 0x72, 0x8f, 0xca, 0xa8, 0xca, 0x33, 0xde, 0xb7, 0xc9, 0xdd, 0xe7, 0xa8, 0xbd, 0xe6, 0x45, 0x0a,
0xde, 0x27, 0xff, 0x33, 0xd7, 0xff, 0xcf, 0x4f, 0x5f, 0x19, 0x7a, 0x0e, 0xf8, 0x15, 0x67, 0xa0, 0xd8, 0xfd, 0xff, 0xb3, 0xdc, 0xf5, 0x6e, 0x90, 0xb6, 0x8a, 0xdd, 0xfc, 0xe5, 0x1c, 0xe8, 0x7f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xaf, 0x8b, 0x67, 0x3d, 0x97, 0x28, 0xf7, 0x3b, 0x59, 0xcf, 0xa9, 0xcb, 0x79, 0x9f, 0xbb, 0x3d, 0x33, 0xf7, 0xff, 0xfb,
0xee, 0x2c, 0x96, 0xe1, 0x1c, 0x67, 0x3c, 0xeb, 0xbf, 0x5c, 0x54, 0xc5, 0x38, 0xfa, 0xfd, 0x9f, 0x3b, 0x7d, 0xa3, 0x52,
0x7d, 0xd7, 0xd5, 0xc9, 0xb1, 0x16, 0xeb, 0x8f, 0xd6, 0x35, 0x55, 0x8c, 0x5f, 0xe7, 0xbf, 0xf5, 0x5d, 0x4a, 0x9e, 0x94,
0xff, 0x27, 0xec, 0x6d, 0xc7, 0x2c, 0xac, 0xf4, 0x97, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xd0, 0x3d, 0x43, 0xf3, 0xf8, 0xbb, 0xcd, 0x3b, 0xd7, 0x20, 0x05, 0x66, 0xe7, 0xe3, 0x3c, 0x63, 0x3e, 0x1e, 0x90, 0x3d,
0xb7, 0x71, 0xaf, 0x7a, 0xdc, 0x40, 0xee, 0xfc, 0x7f, 0xf9, 0x07, 0xf9, 0x97, 0x7f, 0x90, 0x7f, 0xf9, 0x07, 0xf9, 0xff,
0xf9, 0x97, 0x55, 0xfe, 0xe1, 0xe6, 0xf9, 0xaf, 0x4b, 0x6a, 0x9b, 0x03, 0x77, 0x39, 0x03, 0x44, 0xf2, 0x5f, 0xf4, 0xff,
0xe1, 0xb1, 0xdf, 0x01, 0x30, 0xfe, 0x07, 0xe3, 0x7f, 0xf9, 0x87, 0x77, 0xcc, 0x7f, 0xeb, 0xfb, 0xbf, 0x46, 0xff, 0xf0,
0x8c, 0xf1, 0xbf, 0x2d, 0x01, 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, 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, 0xbc, 0xf2, 0xff, 0x3f, 0xdb, 0x01, 0xe4, 0x1f, 0x78, 0xbb, 0xfc, 0xff, 0x0b }; 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, 0xff, 0xfa, 0xef, 0xc7,
0x79, 0x00, 0xf1, 0x0f, 0x7c, 0x5d, 0xfc, 0xff, 0x0d };
// Font glyphs rectangles data (on atlas) // Font glyphs rectangles data (on atlas)
static const Rectangle candyFontRecs[189] = { static const Rectangle candyFontRecs[189] = {
@ -262,95 +255,95 @@ static const Rectangle candyFontRecs[189] = {
{ 372, 50, 8 , 8 }, { 372, 50, 8 , 8 },
{ 388, 50, 5 , 7 }, { 388, 50, 5 , 7 },
{ 401, 50, 7 , 6 }, { 401, 50, 7 , 6 },
{ 416, 50, 7 , 12 }, { 416, 50, 0 , 0 },
{ 431, 50, 8 , 8 }, { 424, 50, 8 , 8 },
{ 447, 50, 6 , 1 }, { 440, 50, 6 , 1 },
{ 461, 50, 4 , 5 }, { 454, 50, 4 , 5 },
{ 473, 50, 6 , 7 }, { 466, 50, 6 , 7 },
{ 487, 50, 3 , 5 }, { 480, 50, 3 , 5 },
{ 498, 50, 3 , 5 }, { 491, 50, 3 , 5 },
{ 4, 73, 0 , 0 }, { 502, 50, 0 , 0 },
{ 12, 73, 6 , 9 }, { 4, 73, 6 , 9 },
{ 26, 73, 6 , 9 }, { 18, 73, 6 , 9 },
{ 40, 73, 4 , 4 }, { 32, 73, 4 , 4 },
{ 52, 73, 0 , 0 }, { 44, 73, 0 , 0 },
{ 60, 73, 2 , 5 }, { 52, 73, 2 , 5 },
{ 70, 73, 4 , 7 }, { 62, 73, 4 , 7 },
{ 82, 73, 7 , 6 }, { 74, 73, 7 , 6 },
{ 97, 73, 10 , 9 }, { 89, 73, 10 , 9 },
{ 115, 73, 10 , 7 }, { 107, 73, 10 , 7 },
{ 133, 73, 0 , 0 }, { 125, 73, 0 , 0 },
{ 141, 73, 6 , 9 }, { 133, 73, 6 , 9 },
{ 155, 73, 6 , 12 }, { 147, 73, 6 , 12 },
{ 169, 73, 6 , 12 }, { 161, 73, 6 , 12 },
{ 183, 73, 6 , 12 }, { 175, 73, 6 , 12 },
{ 197, 73, 6 , 12 }, { 189, 73, 6 , 12 },
{ 211, 73, 6 , 11 }, { 203, 73, 6 , 11 },
{ 225, 73, 6 , 12 }, { 217, 73, 6 , 12 },
{ 239, 73, 10 , 9 }, { 231, 73, 10 , 9 },
{ 257, 73, 6 , 12 }, { 249, 73, 6 , 12 },
{ 271, 73, 6 , 12 }, { 263, 73, 6 , 12 },
{ 285, 73, 6 , 12 }, { 277, 73, 6 , 12 },
{ 299, 73, 6 , 12 }, { 291, 73, 6 , 12 },
{ 313, 73, 6 , 11 }, { 305, 73, 6 , 11 },
{ 327, 73, 3 , 12 }, { 319, 73, 3 , 12 },
{ 338, 73, 3 , 12 }, { 330, 73, 3 , 12 },
{ 349, 73, 4 , 12 }, { 341, 73, 4 , 12 },
{ 361, 73, 4 , 11 }, { 353, 73, 4 , 11 },
{ 373, 73, 8 , 9 }, { 365, 73, 8 , 9 },
{ 389, 73, 6 , 12 }, { 381, 73, 6 , 12 },
{ 403, 73, 6 , 12 }, { 395, 73, 6 , 12 },
{ 417, 73, 6 , 12 }, { 409, 73, 6 , 12 },
{ 431, 73, 6 , 12 }, { 423, 73, 6 , 12 },
{ 445, 73, 6 , 12 }, { 437, 73, 6 , 12 },
{ 459, 73, 6 , 11 }, { 451, 73, 6 , 11 },
{ 473, 73, 5 , 5 }, { 465, 73, 5 , 5 },
{ 486, 73, 9 , 10 }, { 478, 73, 9 , 10 },
{ 495, 73, 6 , 12 },
{ 4, 96, 6 , 12 }, { 4, 96, 6 , 12 },
{ 18, 96, 6 , 12 }, { 18, 96, 6 , 12 },
{ 32, 96, 6 , 12 }, { 32, 96, 6 , 11 },
{ 46, 96, 6 , 11 }, { 46, 96, 6 , 12 },
{ 60, 96, 6 , 12 }, { 60, 96, 0 , 0 },
{ 74, 96, 7 , 12 }, { 68, 96, 6 , 10 },
{ 89, 96, 6 , 10 }, { 82, 96, 6 , 10 },
{ 103, 96, 6 , 10 }, { 96, 96, 6 , 10 },
{ 117, 96, 6 , 10 }, { 110, 96, 6 , 10 },
{ 131, 96, 6 , 10 }, { 124, 96, 6 , 10 },
{ 145, 96, 6 , 10 }, { 138, 96, 6 , 9 },
{ 159, 96, 6 , 9 }, { 152, 96, 6 , 11 },
{ 173, 96, 6 , 11 }, { 166, 96, 10 , 7 },
{ 187, 96, 10 , 7 }, { 184, 96, 6 , 10 },
{ 205, 96, 6 , 10 }, { 198, 96, 6 , 10 },
{ 219, 96, 6 , 10 }, { 212, 96, 6 , 10 },
{ 233, 96, 6 , 10 }, { 226, 96, 6 , 10 },
{ 247, 96, 6 , 10 }, { 240, 96, 6 , 9 },
{ 261, 96, 6 , 9 }, { 254, 96, 3 , 10 },
{ 275, 96, 3 , 10 }, { 265, 96, 3 , 10 },
{ 286, 96, 3 , 10 }, { 276, 96, 4 , 10 },
{ 297, 96, 4 , 10 }, { 288, 96, 4 , 9 },
{ 309, 96, 4 , 9 }, { 300, 96, 0 , 0 },
{ 321, 96, 7 , 12 }, { 308, 96, 6 , 13 },
{ 336, 96, 6 , 13 }, { 322, 96, 6 , 10 },
{ 336, 96, 6 , 10 },
{ 350, 96, 6 , 10 }, { 350, 96, 6 , 10 },
{ 364, 96, 6 , 10 }, { 364, 96, 6 , 10 },
{ 378, 96, 6 , 10 }, { 378, 96, 6 , 9 },
{ 392, 96, 6 , 10 }, { 392, 96, 0 , 0 },
{ 406, 96, 6 , 9 }, { 400, 96, 8 , 8 },
{ 420, 96, 7 , 12 }, { 416, 96, 6 , 10 },
{ 435, 96, 8 , 8 }, { 430, 96, 6 , 10 },
{ 451, 96, 6 , 10 }, { 444, 96, 6 , 10 },
{ 465, 96, 6 , 10 }, { 458, 96, 6 , 9 },
{ 479, 96, 6 , 10 }, { 472, 96, 6 , 13 },
{ 493, 96, 6 , 9 }, { 486, 96, 0 , 0 },
{ 4, 119, 6 , 13 }, { 494, 96, 6 , 12 },
{ 18, 119, 7 , 12 },
{ 33, 119, 6 , 12 },
}; };
// Font glyphs info data // Font glyphs info data
// NOTE: No glyphs.image data provided // NOTE: No glyphs.image data provided
static const GlyphInfo candyFontGlyphs[189] = { static const GlyphInfo candyFontGlyphs[189] = {
{ 32, 0, 12, 3, { 0 }}, { 32, 0, 0, 3, { 0 }},
{ 33, 0, 3, 3, { 0 }}, { 33, 0, 3, 3, { 0 }},
{ 34, 0, 2, 4, { 0 }}, { 34, 0, 2, 4, { 0 }},
{ 35, 0, 3, 9, { 0 }}, { 35, 0, 3, 9, { 0 }},
@ -450,30 +443,30 @@ static const GlyphInfo candyFontGlyphs[189] = {
{ 163, 0, 3, 9, { 0 }}, { 163, 0, 3, 9, { 0 }},
{ 8364, 0, 3, 8, { 0 }}, { 8364, 0, 3, 8, { 0 }},
{ 165, 0, 3, 7, { 0 }}, { 165, 0, 3, 7, { 0 }},
{ 352, 0, 12, 1, { 0 }}, { 352, 0, 0, 0, { 0 }},
{ 167, 0, 2, 7, { 0 }}, { 167, 0, 2, 7, { 0 }},
{ 353, 0, 12, 1, { 0 }}, { 353, 0, 0, 0, { 0 }},
{ 169, 0, 0, 9, { 0 }}, { 169, 0, 0, 9, { 0 }},
{ 170, 0, 0, 6, { 0 }}, { 170, 0, 0, 6, { 0 }},
{ 171, 1, 5, 9, { 0 }}, { 171, 1, 5, 9, { 0 }},
{ 172, 0, 0, 7, { 0 }}, { 172, 0, 0, 0, { 0 }},
{ 174, 0, 0, 9, { 0 }}, { 174, 0, 0, 9, { 0 }},
{ 175, 0, 0, 7, { 0 }}, { 175, 0, 0, 7, { 0 }},
{ 176, 0, 0, 5, { 0 }}, { 176, 0, 0, 5, { 0 }},
{ 177, 0, 4, 7, { 0 }}, { 177, 0, 4, 7, { 0 }},
{ 178, 0, 0, 4, { 0 }}, { 178, 0, 0, 4, { 0 }},
{ 179, 0, 0, 4, { 0 }}, { 179, 0, 0, 4, { 0 }},
{ 381, 0, 12, 1, { 0 }}, { 381, 0, 0, 0, { 0 }},
{ 181, 0, 5, 7, { 0 }}, { 181, 0, 5, 7, { 0 }},
{ 182, 0, 3, 7, { 0 }}, { 182, 0, 3, 7, { 0 }},
{ 183, 0, 6, 5, { 0 }}, { 183, 0, 6, 5, { 0 }},
{ 382, 0, 12, 1, { 0 }}, { 382, 0, 0, 0, { 0 }},
{ 185, 0, 0, 3, { 0 }}, { 185, 0, 0, 3, { 0 }},
{ 186, 0, 0, 5, { 0 }}, { 186, 0, 0, 5, { 0 }},
{ 187, 1, 5, 9, { 0 }}, { 187, 1, 5, 9, { 0 }},
{ 338, 0, 3, 11, { 0 }}, { 338, 0, 3, 11, { 0 }},
{ 339, 0, 5, 11, { 0 }}, { 339, 0, 5, 11, { 0 }},
{ 376, 0, 12, 1, { 0 }}, { 376, 0, 0, 0, { 0 }},
{ 191, 0, 4, 7, { 0 }}, { 191, 0, 4, 7, { 0 }},
{ 192, 0, 0, 7, { 0 }}, { 192, 0, 0, 7, { 0 }},
{ 193, 0, 0, 7, { 0 }}, { 193, 0, 0, 7, { 0 }},
@ -505,7 +498,7 @@ static const GlyphInfo candyFontGlyphs[189] = {
{ 219, 0, 0, 7, { 0 }}, { 219, 0, 0, 7, { 0 }},
{ 220, 0, 1, 7, { 0 }}, { 220, 0, 1, 7, { 0 }},
{ 221, 0, 0, 7, { 0 }}, { 221, 0, 0, 7, { 0 }},
{ 222, 0, 0, 7, { 0 }}, { 222, 0, 0, 0, { 0 }},
{ 223, 0, 3, 7, { 0 }}, { 223, 0, 3, 7, { 0 }},
{ 224, 0, 2, 7, { 0 }}, { 224, 0, 2, 7, { 0 }},
{ 225, 0, 2, 7, { 0 }}, { 225, 0, 2, 7, { 0 }},
@ -523,21 +516,21 @@ static const GlyphInfo candyFontGlyphs[189] = {
{ 237, 0, 2, 4, { 0 }}, { 237, 0, 2, 4, { 0 }},
{ 238, 0, 2, 4, { 0 }}, { 238, 0, 2, 4, { 0 }},
{ 239, 0, 3, 4, { 0 }}, { 239, 0, 3, 4, { 0 }},
{ 240, 0, 0, 7, { 0 }}, { 240, 0, 0, 0, { 0 }},
{ 241, 0, 2, 7, { 0 }}, { 241, 0, 2, 7, { 0 }},
{ 242, 0, 2, 7, { 0 }}, { 242, 0, 2, 7, { 0 }},
{ 243, 0, 2, 7, { 0 }}, { 243, 0, 2, 7, { 0 }},
{ 244, 0, 2, 7, { 0 }}, { 244, 0, 2, 7, { 0 }},
{ 245, 0, 2, 7, { 0 }}, { 245, 0, 2, 7, { 0 }},
{ 246, 0, 3, 7, { 0 }}, { 246, 0, 3, 7, { 0 }},
{ 247, 0, 0, 7, { 0 }}, { 247, 0, 0, 0, { 0 }},
{ 248, 0, 5, 9, { 0 }}, { 248, 0, 5, 9, { 0 }},
{ 249, 0, 2, 7, { 0 }}, { 249, 0, 2, 7, { 0 }},
{ 250, 0, 2, 7, { 0 }}, { 250, 0, 2, 7, { 0 }},
{ 251, 0, 2, 7, { 0 }}, { 251, 0, 2, 7, { 0 }},
{ 252, 0, 3, 7, { 0 }}, { 252, 0, 3, 7, { 0 }},
{ 253, 0, 2, 7, { 0 }}, { 253, 0, 2, 7, { 0 }},
{ 254, 0, 0, 7, { 0 }}, { 254, 0, 0, 0, { 0 }},
{ 255, 0, 3, 7, { 0 }}, { 255, 0, 3, 7, { 0 }},
}; };

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 142 KiB

View File

@ -7,7 +7,7 @@
// more info and bugs-report: github.com/raysan5/raygui // // more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com // // feedback and support: ray[at]raylibtech.com //
// // // //
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) // // Copyright (c) 2020-2025 raylib technologies (@raylibtech) //
// // // //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
@ -15,23 +15,23 @@
// Custom style name: Cherry // Custom style name: Cherry
static const GuiStyleProp cherryStyleProps[CHERRY_STYLE_PROPS_COUNT] = { static const GuiStyleProp cherryStyleProps[CHERRY_STYLE_PROPS_COUNT] = {
{ 0, 0, 0xda5757ff }, // DEFAULT_BORDER_COLOR_NORMAL { 0, 0, (int)0xda5757ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0x753233ff }, // DEFAULT_BASE_COLOR_NORMAL { 0, 1, (int)0x753233ff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, 0xe17373ff }, // DEFAULT_TEXT_COLOR_NORMAL { 0, 2, (int)0xe17373ff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, 0xfaaa97ff }, // DEFAULT_BORDER_COLOR_FOCUSED { 0, 3, (int)0xfaaa97ff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, 0xe06262ff }, // DEFAULT_BASE_COLOR_FOCUSED { 0, 4, (int)0xe06262ff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, 0xfdb4aaff }, // DEFAULT_TEXT_COLOR_FOCUSED { 0, 5, (int)0xfdb4aaff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, 0xe03c46ff }, // DEFAULT_BORDER_COLOR_PRESSED { 0, 6, (int)0xe03c46ff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, 0x5b1e20ff }, // DEFAULT_BASE_COLOR_PRESSED { 0, 7, (int)0x5b1e20ff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, 0xc2474fff }, // DEFAULT_TEXT_COLOR_PRESSED { 0, 8, (int)0xc2474fff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, 0xa19292ff }, // DEFAULT_BORDER_COLOR_DISABLED { 0, 9, (int)0xa19292ff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, 0x706060ff }, // DEFAULT_BASE_COLOR_DISABLED { 0, 10, (int)0x706060ff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, 0x9e8585ff }, // DEFAULT_TEXT_COLOR_DISABLED { 0, 11, (int)0x9e8585ff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, 0x0000000f }, // DEFAULT_TEXT_SIZE { 0, 16, (int)0x0000000f }, // DEFAULT_TEXT_SIZE
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING { 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, 0xfb8170ff }, // DEFAULT_LINE_COLOR { 0, 18, (int)0xfb8170ff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0x3a1720ff }, // DEFAULT_BACKGROUND_COLOR { 0, 19, (int)0x3a1720ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, 0x00000016 }, // DEFAULT_TEXT_LINE_SPACING { 0, 20, (int)0x00000016 }, // DEFAULT_TEXT_LINE_SPACING
}; };
// WARNING: This style uses a custom font: "Westington.ttf" (size: 15, spacing: 0) // WARNING: This style uses a custom font: "Westington.ttf" (size: 15, spacing: 0)
@ -378,7 +378,7 @@ static const Rectangle cherryFontRecs[189] = {
// Font glyphs info data // Font glyphs info data
// NOTE: No glyphs.image data provided // NOTE: No glyphs.image data provided
static const GlyphInfo cherryFontGlyphs[189] = { static const GlyphInfo cherryFontGlyphs[189] = {
{ 32, 0, 12, 5, { 0 }}, { 32, 0, 0, 5, { 0 }},
{ 33, 0, 2, 4, { 0 }}, { 33, 0, 2, 4, { 0 }},
{ 34, 0, 2, 6, { 0 }}, { 34, 0, 2, 6, { 0 }},
{ 35, 0, 2, 11, { 0 }}, { 35, 0, 2, 11, { 0 }},

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 124 KiB

View File

@ -7,7 +7,7 @@
// more info and bugs-report: github.com/raysan5/raygui // // more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com // // feedback and support: ray[at]raylibtech.com //
// // // //
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) // // Copyright (c) 2020-2025 raylib technologies (@raylibtech) //
// // // //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
@ -15,146 +15,147 @@
// Custom style name: Cyber // Custom style name: Cyber
static const GuiStyleProp cyberStyleProps[CYBER_STYLE_PROPS_COUNT] = { static const GuiStyleProp cyberStyleProps[CYBER_STYLE_PROPS_COUNT] = {
{ 0, 0, 0x2f7486ff }, // DEFAULT_BORDER_COLOR_NORMAL { 0, 0, (int)0x2f7486ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0x024658ff }, // DEFAULT_BASE_COLOR_NORMAL { 0, 1, (int)0x024658ff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, 0x51bfd3ff }, // DEFAULT_TEXT_COLOR_NORMAL { 0, 2, (int)0x51bfd3ff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, 0x82cde0ff }, // DEFAULT_BORDER_COLOR_FOCUSED { 0, 3, (int)0x82cde0ff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, 0x3299b4ff }, // DEFAULT_BASE_COLOR_FOCUSED { 0, 4, (int)0x3299b4ff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, 0xb6e1eaff }, // DEFAULT_TEXT_COLOR_FOCUSED { 0, 5, (int)0xb6e1eaff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, 0xeb7630ff }, // DEFAULT_BORDER_COLOR_PRESSED { 0, 6, (int)0xeb7630ff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, 0xffbc51ff }, // DEFAULT_BASE_COLOR_PRESSED { 0, 7, (int)0xffbc51ff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, 0xd86f36ff }, // DEFAULT_TEXT_COLOR_PRESSED { 0, 8, (int)0xd86f36ff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, 0x134b5aff }, // DEFAULT_BORDER_COLOR_DISABLED { 0, 9, (int)0x134b5aff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, 0x02313dff }, // DEFAULT_BASE_COLOR_DISABLED { 0, 10, (int)0x02313dff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, 0x17505fff }, // DEFAULT_TEXT_COLOR_DISABLED { 0, 11, (int)0x17505fff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, 0x0000000e }, // DEFAULT_TEXT_SIZE { 0, 16, (int)0x0000000e }, // DEFAULT_TEXT_SIZE
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING { 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, 0x81c0d0ff }, // DEFAULT_LINE_COLOR { 0, 18, (int)0x81c0d0ff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0x00222bff }, // DEFAULT_BACKGROUND_COLOR { 0, 19, (int)0x00222bff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, 0x00000015 }, // DEFAULT_TEXT_LINE_SPACING { 0, 20, (int)0x00000015 }, // DEFAULT_TEXT_LINE_SPACING
}; };
// WARNING: This style uses a custom font: "Kyrou 7 Wide.ttf" (size: 14, spacing: 0) // WARNING: This style uses a custom font: "Kyrou7Wide.ttf" (size: 14, spacing: 0)
#define CYBER_STYLE_FONT_ATLAS_COMP_SIZE 2286 #define CYBER_STYLE_FONT_ATLAS_COMP_SIZE 2306
// Font atlas image pixels data: DEFLATE compressed // Font atlas image pixels data: DEFLATE compressed
static unsigned char cyberFontData[CYBER_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed, static unsigned char cyberFontData[CYBER_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
0xdd, 0x81, 0x6e, 0xdb, 0x36, 0x10, 0x06, 0x60, 0x21, 0xef, 0xff, 0xc6, 0x99, 0xf6, 0x0f, 0xe8, 0xd0, 0x2d, 0x45, 0x6b, 0xdd, 0xdd, 0x72, 0xe3, 0x36, 0x12, 0x06, 0x50, 0x96, 0x6b, 0xdf, 0xff, 0x85, 0x1d, 0xec, 0xb7, 0xb5, 0x93, 0x4c, 0xe2,
0x89, 0x3c, 0x92, 0xb2, 0xec, 0x7c, 0xfd, 0x80, 0x61, 0x88, 0x62, 0x5b, 0xa2, 0x78, 0xe4, 0x49, 0x0a, 0xcf, 0xd9, 0x00, 0xa9, 0x8c, 0x88, 0x7f, 0x8a, 0x92, 0xcf, 0x9c, 0xaa, 0xb9, 0x30, 0x2d, 0x89, 0x04, 0xd1, 0x40, 0x93, 0x34, 0x5a, 0x39,
0x00, 0x00, 0x00, 0x26, 0xcb, 0xc5, 0x9f, 0x96, 0xe6, 0x9f, 0xce, 0x3b, 0xa2, 0x9f, 0xff, 0x9e, 0x7b, 0xec, 0xfa, 0x57, 0x00, 0x00, 0x00, 0x00, 0x16, 0xcb, 0xc5, 0x9f, 0x96, 0xe6, 0x9f, 0xae, 0x3b, 0xa2, 0x9f, 0xff, 0x9e, 0x7b, 0xec, 0xfa,
0x7f, 0xbb, 0xe7, 0xe1, 0xb9, 0xd3, 0x9e, 0x5f, 0x7f, 0x92, 0xc3, 0xdf, 0x4d, 0xa9, 0x75, 0x73, 0x7a, 0xc6, 0x8e, 0xcf, 0x57, 0x7f, 0xbb, 0xe7, 0xe1, 0xb9, 0xd3, 0x9e, 0x5f, 0x7f, 0x92, 0xd3, 0xdf, 0xcd, 0x50, 0xeb, 0xa6, 0x7a, 0xc6, 0xce,
0x4c, 0x5f, 0xbc, 0x3d, 0xde, 0x87, 0x74, 0xbf, 0x62, 0xe5, 0xc8, 0xf8, 0xf3, 0xdf, 0xde, 0xd5, 0xdf, 0x8f, 0x7b, 0x71, 0xcf, 0x4c, 0x5f, 0xbc, 0x3d, 0xde, 0x87, 0x74, 0xbf, 0x62, 0xe7, 0xc8, 0xf8, 0xf3, 0x5f, 0xe9, 0xea, 0xef, 0xe7, 0xbd,
0x5b, 0x2f, 0xcf, 0xc9, 0x1e, 0xa5, 0xe1, 0x37, 0xce, 0x5e, 0xbf, 0x0d, 0xec, 0xfd, 0x7e, 0xe9, 0x5c, 0x94, 0xd3, 0x31, 0xb8, 0xad, 0x97, 0xa7, 0xb2, 0x47, 0x69, 0xf8, 0x8d, 0xda, 0xeb, 0x8f, 0x89, 0xbd, 0x2f, 0x97, 0xce, 0x45, 0xa9, 0x8e,
0x63, 0x5b, 0x70, 0x34, 0x19, 0x3c, 0x97, 0x19, 0x1e, 0xd1, 0xda, 0xe3, 0xff, 0xac, 0x5f, 0xe4, 0xb7, 0xff, 0x6e, 0xa5, 0x19, 0xc7, 0x86, 0xa3, 0xc9, 0xe4, 0xb9, 0xcc, 0xf4, 0x88, 0xd6, 0x1e, 0xff, 0xb5, 0x7e, 0x91, 0x7f, 0xfd, 0x7f, 0x0c,
0x48, 0xcb, 0xc2, 0xf8, 0xdf, 0xba, 0xc6, 0x97, 0xf5, 0x79, 0x51, 0x1a, 0x22, 0xbd, 0xff, 0x35, 0xad, 0x47, 0x5b, 0x1b, 0x45, 0x5a, 0x36, 0xc6, 0xff, 0xd1, 0x35, 0xbe, 0xec, 0xcf, 0x8b, 0xd2, 0x10, 0xe9, 0xfd, 0xaf, 0x69, 0x3d, 0xda, 0xb1,
0xf1, 0xd2, 0xfc, 0xbb, 0x29, 0x1d, 0xf1, 0xac, 0x33, 0xd2, 0x3b, 0x72, 0x9e, 0xb5, 0xc6, 0x8a, 0xa3, 0xf9, 0xfa, 0xb3, 0x11, 0x2f, 0xcd, 0xbf, 0x9b, 0xa1, 0x23, 0x5e, 0x75, 0x46, 0x7a, 0x47, 0xce, 0x5a, 0x6b, 0xec, 0x38, 0x9a, 0xaf, 0x3f,
0xcf, 0xc1, 0xd7, 0xef, 0xcb, 0xc7, 0xc8, 0xbd, 0xa1, 0xa5, 0xf6, 0xf2, 0x27, 0xa6, 0x90, 0xcd, 0xcd, 0x3a, 0xfb, 0xab, 0xfb, 0x9c, 0x7c, 0x7d, 0xd9, 0x3e, 0x46, 0x96, 0x86, 0x96, 0x2a, 0xc3, 0x9f, 0x98, 0x81, 0x6c, 0x6e, 0xd5, 0xd9, 0xdf,
0xf3, 0xc2, 0x94, 0x63, 0x29, 0x43, 0x67, 0xef, 0xf8, 0x73, 0xab, 0xf3, 0xf7, 0xda, 0x11, 0xaf, 0x3f, 0xd7, 0xcf, 0xa4, 0x9d, 0x17, 0x66, 0x38, 0x96, 0x32, 0x75, 0xf6, 0xce, 0x3f, 0x77, 0x74, 0xfe, 0xde, 0x3b, 0xe2, 0xf5, 0xe7, 0xfa, 0x59,
0xd1, 0xbc, 0x36, 0x9a, 0xfd, 0x6c, 0xa9, 0x2c, 0x88, 0xdf, 0x79, 0x63, 0xf1, 0xcc, 0x1c, 0x69, 0x24, 0xef, 0x3c, 0xda, 0x34, 0x9a, 0x8f, 0x8d, 0x66, 0x3f, 0x5b, 0x2a, 0x1b, 0xe2, 0x77, 0xdd, 0x58, 0xbc, 0x32, 0x47, 0x9a, 0xc9, 0x3b, 0xcf,
0xf6, 0xf9, 0x43, 0xfb, 0x5e, 0xbd, 0xca, 0xfc, 0x9f, 0x81, 0xf3, 0x97, 0x52, 0x3b, 0x9f, 0xe5, 0x94, 0xad, 0x47, 0x7c, 0xb6, 0x7d, 0xfe, 0xd0, 0xbe, 0x57, 0xaf, 0x32, 0xff, 0x67, 0xe2, 0xfc, 0x65, 0xa8, 0x9d, 0x6b, 0x39, 0x65, 0xeb, 0x11,
0xfc, 0xe9, 0x7b, 0xe1, 0x98, 0x3f, 0xb2, 0xff, 0x67, 0x9b, 0x92, 0xd3, 0x66, 0xe2, 0xb9, 0x4c, 0xf7, 0xb5, 0xd2, 0xbf, 0x9f, 0x7f, 0x7a, 0x19, 0x38, 0xe6, 0x8f, 0x94, 0xbf, 0x1d, 0x4b, 0x72, 0xda, 0x2c, 0x3c, 0x97, 0xe9, 0xbe, 0x56, 0xfa,
0x71, 0x5b, 0xcf, 0x99, 0x93, 0xbf, 0x7f, 0xd8, 0x17, 0xe7, 0x62, 0x57, 0xc4, 0xff, 0xff, 0xa3, 0x58, 0x06, 0x22, 0x36, 0x33, 0x6e, 0xc7, 0x73, 0xe6, 0xe4, 0xbf, 0x3f, 0x94, 0xcd, 0xb9, 0xd8, 0x15, 0xf1, 0xff, 0xcf, 0x28, 0x96, 0x89, 0x88,
0x83, 0x33, 0xcc, 0xdc, 0xeb, 0xff, 0x71, 0xfb, 0xd0, 0xf9, 0xcb, 0xf4, 0xab, 0xda, 0xff, 0xa3, 0x37, 0xa5, 0xfc, 0x21, 0xcd, 0xe4, 0x0c, 0xb3, 0xf6, 0xfa, 0x7f, 0x5e, 0x99, 0x3a, 0x7f, 0x59, 0x7e, 0x55, 0xfb, 0x4f, 0xf4, 0x66, 0x28, 0x7f,
0xd3, 0x46, 0xd9, 0x7d, 0xe1, 0xbd, 0xe4, 0x2c, 0xca, 0xd2, 0x1e, 0xcd, 0xff, 0xd7, 0x65, 0x3b, 0x6b, 0xae, 0x96, 0x7a, 0xc8, 0xb2, 0x51, 0xb6, 0x6c, 0xbc, 0x97, 0x9c, 0x4d, 0x59, 0xda, 0xa3, 0xf9, 0xff, 0xba, 0x6c, 0x67, 0xcf, 0xd5, 0x52,
0xee, 0x9d, 0x56, 0xaf, 0xff, 0xd3, 0x38, 0xba, 0xac, 0x8b, 0xff, 0xeb, 0xfd, 0x35, 0x78, 0xfe, 0x72, 0xf1, 0xf5, 0xf9, 0xcf, 0xbd, 0xd3, 0xd1, 0xeb, 0xff, 0x34, 0x8e, 0x2e, 0xfb, 0xe2, 0xff, 0x7a, 0x7f, 0x4c, 0x9e, 0xbf, 0x5c, 0x7c, 0x7d,
0x9c, 0x2b, 0xf4, 0x7a, 0xc6, 0xb3, 0xf6, 0xfa, 0xff, 0xaa, 0x11, 0x63, 0x45, 0xfe, 0x9f, 0x17, 0xcf, 0xff, 0x7b, 0xee, 0xbe, 0xe6, 0x0a, 0x7d, 0x3c, 0xe3, 0xd9, 0x7b, 0xfd, 0x7f, 0xd5, 0x88, 0xb1, 0x23, 0xff, 0xcf, 0x8b, 0xe7, 0xff, 0x3d,
0xff, 0xe7, 0x4d, 0xe2, 0x3f, 0xc3, 0x4f, 0xa4, 0x32, 0xfd, 0xfe, 0x7c, 0x5b, 0xb6, 0x3b, 0xf6, 0x7c, 0x21, 0x43, 0x47, 0xf7, 0xff, 0xf3, 0x26, 0xf1, 0x9f, 0xe9, 0x27, 0x52, 0x59, 0x7e, 0x7f, 0xbe, 0x2d, 0xdb, 0x9d, 0x7b, 0xbe, 0x90, 0xa9,
0x3c, 0xeb, 0x5e, 0x4c, 0x26, 0xfd, 0x6e, 0x1a, 0x67, 0xc5, 0xda, 0xfd, 0xdd, 0xe7, 0xde, 0xff, 0xf7, 0xfc, 0x1f, 0x00, 0x23, 0x5e, 0x75, 0x2f, 0x26, 0x8b, 0x7e, 0x37, 0x8d, 0xb3, 0xe2, 0xd8, 0xfd, 0xdd, 0xe7, 0xde, 0xff, 0xf7, 0xfc, 0x1f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9e, 0xd5, 0x9d, 0xb9, 0xe0, 0x75, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9e, 0xd5, 0x9d, 0xb9, 0xe0, 0x75,
0x55, 0xb4, 0x23, 0xab, 0x6e, 0x47, 0xd6, 0xec, 0x56, 0x5f, 0x79, 0x5e, 0x87, 0xa8, 0xbe, 0xce, 0xb8, 0x7d, 0x95, 0x73, 0x23, 0xab, 0x68, 0x67, 0x56, 0xdd, 0xce, 0xac, 0xd9, 0x1d, 0x7d, 0x65, 0xbd, 0x0e, 0xd1, 0xf8, 0x3a, 0xe3, 0xf6, 0x55,
0xdf, 0xba, 0xe1, 0xb1, 0xea, 0x28, 0x39, 0x5d, 0x47, 0xdf, 0x56, 0x8f, 0xe0, 0xbc, 0x76, 0xeb, 0x59, 0x25, 0xab, 0xf5, 0xce, 0x7d, 0xeb, 0x86, 0xe7, 0xaa, 0xa3, 0xa4, 0xba, 0x8e, 0xbe, 0xad, 0x1e, 0x41, 0xbd, 0x76, 0x6b, 0xad, 0x92, 0xd5,
0xb5, 0x5f, 0x57, 0xd6, 0xa6, 0x4c, 0xb9, 0x05, 0x7b, 0x56, 0xbf, 0xa7, 0xab, 0x3e, 0x41, 0x75, 0x1d, 0xfa, 0x75, 0x55, 0xfe, 0xda, 0xaf, 0x3b, 0x6b, 0x53, 0x66, 0xb8, 0x05, 0x7b, 0x56, 0xbf, 0xa7, 0xab, 0x3e, 0xc1, 0xe8, 0x3a, 0xf4, 0xeb,
0x01, 0xc7, 0x57, 0xc8, 0x1f, 0xbf, 0xf3, 0xbe, 0xfc, 0x28, 0xda, 0xf7, 0x38, 0x13, 0xce, 0xd9, 0x8a, 0xf8, 0xcf, 0x61, 0xaa, 0x02, 0xce, 0xaf, 0x90, 0x3f, 0x7f, 0xe7, 0xb2, 0xfd, 0x28, 0xda, 0xf7, 0x38, 0x0b, 0xce, 0xd9, 0x8e, 0xf8, 0xcf,
0x45, 0x80, 0x5c, 0x58, 0xdb, 0x75, 0x5d, 0x25, 0xdc, 0x75, 0x95, 0x76, 0xce, 0xe3, 0xbf, 0xbd, 0x66, 0x73, 0x26, 0x47, 0x69, 0x45, 0x80, 0x5c, 0x58, 0xdb, 0x75, 0x5f, 0x25, 0xdc, 0x7d, 0x95, 0x76, 0xea, 0xf1, 0xdf, 0x5e, 0xb3, 0x39, 0x8b,
0x6b, 0xca, 0xd1, 0x33, 0x6b, 0x04, 0xa8, 0x8c, 0x5b, 0x33, 0xe2, 0xbf, 0x9a, 0x3b, 0xbc, 0x76, 0xfc, 0x57, 0xeb, 0x89, 0xa3, 0x35, 0xc3, 0xd1, 0xb3, 0x6a, 0x04, 0x18, 0x19, 0xb7, 0x56, 0xc4, 0xff, 0x68, 0xee, 0xf0, 0xda, 0xf1, 0x3f, 0x5a,
0xe5, 0xe0, 0xbc, 0xa7, 0xb1, 0x6f, 0xdf, 0x61, 0xfb, 0x76, 0xd3, 0xf8, 0x3f, 0x8f, 0xa9, 0x0c, 0x57, 0x29, 0x9e, 0xd7, 0x4f, 0x2c, 0x27, 0xe7, 0x3d, 0x8d, 0x7d, 0xfb, 0x0e, 0xdb, 0x8f, 0x9b, 0xc6, 0x7f, 0x3d, 0xa6, 0x32, 0x5d, 0xa5, 0x78,
0x9f, 0xe6, 0xd9, 0x9b, 0xa2, 0xb4, 0x56, 0xd3, 0x73, 0x2f, 0x8f, 0x2c, 0xab, 0xf2, 0xff, 0x9c, 0x5c, 0x79, 0xa4, 0x29, 0x5d, 0x7f, 0x5a, 0xa7, 0x34, 0x45, 0xe9, 0x58, 0x4d, 0xcf, 0x32, 0x3c, 0xb2, 0xec, 0xca, 0xff, 0x53, 0xb9, 0xf2, 0x48,
0x97, 0x9d, 0x3b, 0xc6, 0xb6, 0x8e, 0x5a, 0x8f, 0x2b, 0x8a, 0x9d, 0xd5, 0x2b, 0x7c, 0xfe, 0xfc, 0x3e, 0x56, 0x4f, 0xf9, 0x53, 0x2e, 0xbb, 0x76, 0x8c, 0x6d, 0x1d, 0xb5, 0x1e, 0x57, 0x14, 0xab, 0xd5, 0x2b, 0x7c, 0xfe, 0xfc, 0x3e, 0x57, 0x4f,
0x9a, 0xf8, 0x1f, 0x8f, 0xc4, 0x3c, 0x65, 0xce, 0x9a, 0x73, 0x6f, 0x22, 0xc5, 0x79, 0x6b, 0xcd, 0x6b, 0xaf, 0x98, 0xff, 0xf9, 0x9a, 0xf8, 0x9f, 0x8f, 0xc4, 0x3c, 0x65, 0xce, 0x5a, 0x73, 0x6f, 0x22, 0x83, 0xf3, 0xd6, 0x9e, 0xd7, 0x5e, 0x31,
0xf3, 0x52, 0xf3, 0x7f, 0xcb, 0xf5, 0x7f, 0x26, 0x5c, 0xbd, 0xd6, 0x5a, 0x6d, 0x6f, 0x3e, 0x97, 0x2b, 0xf2, 0xff, 0x96, 0xff, 0xe7, 0xa5, 0xe6, 0xff, 0x96, 0xeb, 0xff, 0x2c, 0xb8, 0x7a, 0x1d, 0x6b, 0xb5, 0xd2, 0x7c, 0x2e, 0x77, 0xe4, 0xff,
0x99, 0x7d, 0x7c, 0xfe, 0x1f, 0xd9, 0x9a, 0xe6, 0x59, 0xf8, 0xfa, 0xf8, 0x6f, 0x3b, 0xa6, 0x5c, 0xfa, 0xda, 0xd7, 0x8b, 0x2d, 0x33, 0xfb, 0xfc, 0xfc, 0x3f, 0xb3, 0x35, 0xcd, 0xb3, 0xf0, 0xf5, 0xf1, 0xdf, 0x76, 0x4c, 0xb9, 0xf4, 0xb5, 0xaf,
0xff, 0xdc, 0xe2, 0xfe, 0x5f, 0x16, 0xd6, 0x66, 0xce, 0x94, 0xd1, 0x6d, 0x4d, 0xfc, 0xb7, 0xd5, 0x43, 0x1f, 0xb9, 0xfe, 0x17, 0xff, 0xb9, 0xc5, 0xfd, 0xbf, 0x6c, 0xac, 0xcd, 0x9c, 0x25, 0xa3, 0xdb, 0x9e, 0xf8, 0x6f, 0xab, 0x87, 0x3e, 0x73,
0x1f, 0x8b, 0xf0, 0xf3, 0x08, 0xf8, 0x4b, 0xfc, 0x4f, 0xca, 0xff, 0x67, 0xbd, 0xba, 0xff, 0x5e, 0xc9, 0xc8, 0x0c, 0xda, 0xfd, 0x3f, 0x17, 0xe1, 0xf5, 0x08, 0xf8, 0x43, 0xfc, 0x2f, 0xca, 0xff, 0x57, 0xbd, 0xba, 0xff, 0x5e, 0xc9, 0xcc, 0x0c,
0x7e, 0x4c, 0x99, 0x9e, 0x7f, 0x8f, 0xd6, 0xf6, 0x5d, 0x9d, 0xff, 0xcf, 0x7a, 0xfd, 0x56, 0x3e, 0xef, 0xe7, 0x5b, 0xc6, 0xda, 0x7e, 0x4c, 0x59, 0x9e, 0x7f, 0xcf, 0xd6, 0xf6, 0xdd, 0x9d, 0xff, 0xaf, 0x7a, 0xfd, 0x31, 0x7c, 0xde, 0xeb, 0x5b,
0x7a, 0xe5, 0xf6, 0x84, 0x6f, 0x73, 0x58, 0xfd, 0x7c, 0xcf, 0x77, 0x94, 0xbe, 0xdf, 0x53, 0x6c, 0x6d, 0x70, 0xef, 0xe7, 0xe6, 0x7a, 0xe5, 0xf1, 0x84, 0x6f, 0x73, 0xd8, 0xfd, 0x7c, 0xcf, 0x77, 0x94, 0xbe, 0xdf, 0x53, 0x6c, 0x6d, 0x70, 0xef,
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x5e, 0x65, 0x75, 0xbf, 0x15, 0xe7, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x5e, 0x65, 0x75, 0xbf,
0x53, 0x69, 0x58, 0x1f, 0xda, 0x52, 0x3f, 0xf3, 0xb8, 0xfa, 0xe6, 0xa3, 0x1a, 0x12, 0x7b, 0x53, 0xed, 0xcd, 0x59, 0xad, 0x15, 0x53, 0x69, 0x58, 0x1f, 0xda, 0x52, 0x3f, 0xf3, 0xbc, 0xfa, 0xe6, 0xa3, 0x1a, 0x12, 0xa5, 0xa9, 0xf6, 0xe6, 0xaa,
0xd9, 0x5a, 0x07, 0x61, 0xb4, 0x4e, 0x67, 0xe5, 0xdd, 0x5b, 0x5a, 0xf9, 0x7c, 0xcd, 0x63, 0x4e, 0xd6, 0x01, 0x6f, 0x13, 0xd6, 0x6c, 0xad, 0x83, 0x30, 0x5b, 0xa7, 0x73, 0xe4, 0xdd, 0x5b, 0x5a, 0xb9, 0xbe, 0xe6, 0x31, 0x95, 0x75, 0xc0, 0xc7,
0x7b, 0xe0, 0xf9, 0x9a, 0xe7, 0x0c, 0xd4, 0x5c, 0x18, 0xa9, 0x22, 0x98, 0x85, 0x2b, 0x4c, 0x53, 0x6a, 0x95, 0xf6, 0x0a, 0xc2, 0x1e, 0x58, 0x5f, 0xf3, 0x9c, 0x89, 0x9a, 0x0b, 0x33, 0x55, 0x04, 0xb3, 0x71, 0x85, 0x69, 0x86, 0x5a, 0xa5, 0xbd,
0x1c, 0xad, 0x5b, 0x33, 0xa9, 0xca, 0xc3, 0xea, 0x7e, 0x3d, 0x63, 0x6b, 0x7f, 0x1d, 0x85, 0x67, 0xc4, 0xff, 0x71, 0x0f, 0x02, 0x47, 0xeb, 0xd6, 0x2c, 0xaa, 0xf2, 0xb0, 0xbb, 0x5f, 0xaf, 0xd8, 0xda, 0x5f, 0x47, 0xe1, 0x19, 0xf1, 0x7f, 0xde,
0xc9, 0xe4, 0xb3, 0xdd, 0xf7, 0xd3, 0xb3, 0xd8, 0x7f, 0x5c, 0x5b, 0xf9, 0xa3, 0xb1, 0xdf, 0xf4, 0x6c, 0xcf, 0xf0, 0x59, 0x43, 0xb2, 0xf8, 0x6c, 0xf7, 0xfd, 0xb4, 0x16, 0xfb, 0x8f, 0x6b, 0x2b, 0x7f, 0x34, 0xf6, 0x9b, 0x9e, 0xed, 0x99, 0x3e,
0xce, 0x60, 0x25, 0x84, 0xbd, 0x73, 0xbe, 0x69, 0x8f, 0xfe, 0xb1, 0x9e, 0xb7, 0x6e, 0x05, 0xfc, 0x3b, 0xc5, 0xff, 0x56, 0xcb, 0x99, 0xac, 0x84, 0x50, 0x3a, 0xe7, 0x9b, 0xf6, 0xe8, 0x9f, 0xeb, 0x79, 0xfb, 0x56, 0xc0, 0xbf, 0x53, 0xfc, 0x1f,
0xac, 0x58, 0xb8, 0x3a, 0xfe, 0xb7, 0xa6, 0x7d, 0xca, 0xb4, 0x23, 0x9a, 0x57, 0x7d, 0xfb, 0xa3, 0x3b, 0xc7, 0x9a, 0x53, 0x83, 0x15, 0x0b, 0x77, 0xc7, 0xff, 0xd1, 0xb4, 0x4f, 0x59, 0x76, 0x44, 0xeb, 0xaa, 0x6f, 0x7f, 0x74, 0xe7, 0x58, 0x6b,
0xcb, 0x2a, 0x17, 0xd6, 0x7a, 0x48, 0x47, 0xef, 0xaa, 0x8e, 0x00, 0x29, 0xce, 0xff, 0xfd, 0x2d, 0x3d, 0x2b, 0xc7, 0x78, 0x6a, 0x59, 0xe5, 0xc2, 0x5a, 0x0f, 0xe9, 0xe8, 0x5d, 0xa3, 0x23, 0x40, 0x06, 0xe7, 0xff, 0xfe, 0x96, 0x5e, 0x95, 0x63,
0xcd, 0xf8, 0xaf, 0xb5, 0x66, 0x06, 0xce, 0xf0, 0xda, 0xf9, 0x7f, 0x66, 0xe5, 0xee, 0x4a, 0x74, 0xec, 0x0f, 0xde, 0x65, 0xbc, 0x66, 0xfc, 0x8f, 0xb5, 0x66, 0x26, 0xce, 0xf0, 0xde, 0xf9, 0x7f, 0x65, 0xe5, 0xee, 0x91, 0xe8, 0x28, 0x0f, 0xde,
0x2f, 0xcf, 0xce, 0xf5, 0xab, 0x83, 0xad, 0xe9, 0x3b, 0x19, 0xf6, 0xee, 0xd7, 0xe5, 0x97, 0xf8, 0xcc, 0x92, 0x6b, 0xf4, 0xa5, 0x0c, 0xcf, 0xce, 0xe3, 0x57, 0x07, 0x47, 0xd3, 0x77, 0x32, 0x94, 0xee, 0xd7, 0xe5, 0x97, 0xf8, 0xcc, 0x96, 0x6b,
0x1c, 0xb4, 0x70, 0xb5, 0x1a, 0x69, 0x6f, 0xfc, 0xe7, 0xd2, 0xf9, 0x7f, 0x6b, 0xfc, 0xf6, 0x8c, 0xad, 0x74, 0xbe, 0xb6, 0xf4, 0x9c, 0xb4, 0xf0, 0x68, 0x35, 0xd2, 0xde, 0xf8, 0xcf, 0xa5, 0xf3, 0xff, 0xd1, 0xf8, 0xed, 0x19, 0xc7, 0xd0, 0xf9,
0xe2, 0xbb, 0xd6, 0x5f, 0x99, 0xd3, 0x1e, 0xbb, 0xa6, 0x1e, 0xed, 0xcc, 0x6f, 0xe8, 0xc8, 0x84, 0x7e, 0x9b, 0x93, 0x4f, 0x3a, 0x06, 0xdf, 0x75, 0xfc, 0x95, 0xa9, 0xf6, 0xd8, 0x3d, 0xf5, 0x68, 0x57, 0x7e, 0x43, 0x47, 0x16, 0xf4, 0xdb, 0x54,
0x48, 0x31, 0x07, 0xef, 0xcd, 0xfc, 0x7b, 0xc6, 0xd9, 0x74, 0xdc, 0x19, 0xc8, 0xc1, 0x18, 0x98, 0x45, 0x39, 0xf8, 0xcc, 0x3e, 0x21, 0x83, 0x39, 0x78, 0x6f, 0xe6, 0xdf, 0x33, 0xce, 0xa6, 0xe3, 0xce, 0x40, 0x4e, 0xc6, 0xc0, 0x6c, 0xca, 0xc1,
0x79, 0x30, 0x53, 0xf3, 0xb5, 0x75, 0x77, 0x17, 0x57, 0x66, 0x74, 0xd7, 0xbc, 0xdb, 0xb3, 0xda, 0xe4, 0xca, 0xf9, 0x3f, 0x57, 0xce, 0x83, 0x59, 0x9a, 0xaf, 0xed, 0xbb, 0xbb, 0xb8, 0x33, 0xa3, 0xbb, 0xe6, 0xdd, 0x9e, 0xd5, 0x26, 0x57, 0xce,
0xdd, 0xd9, 0xee, 0xc8, 0xfc, 0x9f, 0xe1, 0x3a, 0x99, 0x67, 0xb9, 0xdf, 0x76, 0xbb, 0xf9, 0xbf, 0x2d, 0x36, 0x73, 0x79, 0xff, 0xe9, 0xce, 0x76, 0x67, 0xe6, 0xff, 0x4c, 0xd7, 0xc9, 0xac, 0xe5, 0x7e, 0xc7, 0xed, 0xe6, 0xff, 0xb6, 0xd8, 0xcc,
0xfe, 0x2f, 0xfe, 0xaf, 0x7e, 0xd2, 0xb2, 0xbd, 0x44, 0xfc, 0xaf, 0xbd, 0xfe, 0x9f, 0x33, 0x82, 0x54, 0x67, 0xd9, 0x6d, 0xe5, 0xf9, 0xbf, 0xf8, 0xbf, 0xfa, 0x49, 0xcb, 0xf1, 0x12, 0xf1, 0xbf, 0xf7, 0xfa, 0x7f, 0xcd, 0x08, 0x32, 0x3a, 0xcb,
0xf1, 0x33, 0x82, 0xfa, 0xab, 0xd6, 0xc5, 0xff, 0xf6, 0xad, 0xaa, 0x35, 0xbe, 0x5b, 0x6d, 0xca, 0x67, 0xc4, 0x7f, 0x4b, 0x1e, 0x9b, 0x9f, 0x11, 0x8c, 0xbf, 0x6a, 0x5f, 0xfc, 0x1f, 0xdf, 0xaa, 0x5a, 0xe3, 0xbb, 0xd5, 0xa6, 0x7c, 0x46, 0xfc,
0xfe, 0x9f, 0xe2, 0xfd, 0xff, 0xf6, 0x6f, 0xd8, 0x4a, 0x57, 0xce, 0xd2, 0x9e, 0x77, 0xbc, 0x67, 0x8f, 0xe0, 0x9d, 0x47, 0xb7, 0xe4, 0xff, 0x19, 0xbc, 0xff, 0xdf, 0xfe, 0x0d, 0x5b, 0xe9, 0xca, 0x59, 0xda, 0xf3, 0x8e, 0xf7, 0xec, 0x11, 0xbc,
0xb4, 0xb1, 0xe7, 0xff, 0x77, 0x1b, 0x83, 0xc7, 0xbe, 0x53, 0xe5, 0x3b, 0xf7, 0x7f, 0x75, 0x97, 0xf1, 0xd7, 0x72, 0x00, 0xf3, 0x88, 0x36, 0xf7, 0xfc, 0xff, 0x6e, 0x63, 0xf0, 0xdc, 0x77, 0xaa, 0x7c, 0xe7, 0xfe, 0xaf, 0xee, 0x32, 0xfe, 0x5a,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x5e, 0xb7, 0x90, 0x4b, 0xd7, 0xcb, 0x57, 0xeb, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xd9, 0xeb, 0x16, 0x72, 0xe9, 0x7a, 0xf9,
0xd6, 0xf5, 0xaf, 0x58, 0xcd, 0xa4, 0x96, 0xc9, 0xa4, 0xb3, 0xb5, 0x37, 0xac, 0xce, 0xcf, 0x60, 0xbb, 0x67, 0xf8, 0x77, 0xd1, 0xba, 0x75, 0xfd, 0x2b, 0x56, 0xb3, 0xa8, 0x65, 0xb2, 0xe8, 0x6c, 0x95, 0x86, 0xd5, 0xf9, 0x99, 0x6c, 0xf7, 0x4c,
0xd2, 0xb0, 0x22, 0x2c, 0xa5, 0x33, 0x7c, 0xbf, 0x75, 0xab, 0x23, 0xab, 0x06, 0x33, 0xb5, 0x75, 0x67, 0x9e, 0xef, 0x9c, 0xff, 0x4e, 0x1a, 0x56, 0x84, 0x65, 0xe8, 0x0c, 0xdf, 0x6f, 0xdd, 0xea, 0xcc, 0xaa, 0xc1, 0x2c, 0x6d, 0xdd, 0x95, 0xe7,
0x56, 0xc3, 0xfe, 0x6a, 0x2f, 0x56, 0x5f, 0x49, 0x69, 0xc5, 0x64, 0xca, 0xb5, 0x09, 0x7a, 0xc7, 0xbb, 0x74, 0xb6, 0x59, 0x3b, 0xd5, 0x6a, 0xd8, 0x5f, 0x95, 0xc1, 0xea, 0x2b, 0x19, 0x5a, 0x31, 0x99, 0xe1, 0xda, 0x04, 0xbd, 0xe3, 0x5d, 0x3a,
0xef, 0xb9, 0xfe, 0xda, 0xc6, 0xad, 0x55, 0x66, 0xbe, 0x6e, 0xdf, 0xcb, 0x3d, 0xfb, 0x73, 0xa8, 0xdf, 0xa7, 0x3c, 0x42, 0xdb, 0xac, 0xf7, 0x5c, 0x7f, 0x6d, 0xe3, 0xd6, 0x2a, 0x33, 0x5f, 0xb7, 0x97, 0xc1, 0x33, 0xfe, 0x91, 0xcf, 0xa9, 0x7e,
0x6f, 0x53, 0xea, 0x7a, 0xb7, 0x54, 0xe3, 0xd8, 0x1b, 0xd6, 0xd0, 0x67, 0xb8, 0x36, 0x58, 0xca, 0xed, 0x30, 0xb3, 0xe7, 0x9f, 0xe1, 0x11, 0xfa, 0x58, 0x52, 0xd7, 0xbb, 0xa5, 0x1a, 0x47, 0x69, 0x58, 0x43, 0x9f, 0xe9, 0xda, 0x60, 0x19, 0x6e,
0x8d, 0x7d, 0xda, 0xd9, 0x5a, 0xed, 0x0c, 0xcc, 0xa0, 0x29, 0xd6, 0xbf, 0xcb, 0x60, 0x65, 0x88, 0x1c, 0xac, 0xf1, 0xce, 0x87, 0x95, 0x3d, 0x6f, 0xee, 0xd3, 0x6a, 0x6b, 0xb5, 0x33, 0x31, 0x83, 0x66, 0xb0, 0xfe, 0x5d, 0x26, 0x2b, 0x43, 0xe4,
0xb2, 0xf5, 0xed, 0xe9, 0x8c, 0xfe, 0xf6, 0xe3, 0x4d, 0x73, 0x9b, 0xb6, 0xd5, 0xab, 0xfe, 0xb8, 0x7d, 0x56, 0xba, 0x97, 0x64, 0x8d, 0x77, 0xb6, 0xad, 0x6f, 0x4f, 0x67, 0xf4, 0xb7, 0x1f, 0x6f, 0x9a, 0xdb, 0xb4, 0xad, 0x5e, 0xf5, 0xc7, 0xed,
0x66, 0x9b, 0x5a, 0x9b, 0x5e, 0x9d, 0x6f, 0xdc, 0xbd, 0xb6, 0xc7, 0x79, 0xf5, 0xb1, 0xf5, 0xd7, 0x06, 0x95, 0x5a, 0x2c, 0xb3, 0xd2, 0x32, 0x34, 0xdb, 0x8c, 0xb5, 0xe9, 0xd5, 0xf9, 0xc6, 0xdd, 0x6b, 0x7b, 0xd4, 0xab, 0x8f, 0xed, 0xbf, 0x36,
0xf3, 0xe2, 0x3f, 0xdd, 0x15, 0xa5, 0xf6, 0xa1, 0xab, 0x8e, 0xbe, 0xf8, 0x6f, 0x7b, 0xdf, 0x94, 0xe6, 0xff, 0xb3, 0xf8, 0x18, 0xa9, 0xc5, 0xb2, 0x2e, 0xfe, 0xd3, 0x5d, 0x51, 0xaa, 0x4c, 0x5d, 0x75, 0xf4, 0xc5, 0x7f, 0xdb, 0xfb, 0x66, 0x68,
0x5b, 0xbb, 0x7d, 0xb4, 0xda, 0x7e, 0x35, 0xfe, 0xfb, 0xfb, 0x40, 0x16, 0xd4, 0x48, 0x3d, 0xcb, 0x4a, 0x2a, 0x5b, 0xc6, 0xfe, 0xaf, 0xc5, 0xdf, 0xde, 0xed, 0xb3, 0xd5, 0xf6, 0x47, 0xe3, 0xbf, 0xbf, 0x0f, 0x64, 0x43, 0x8d, 0xd4, 0x5a, 0x56,
0xaf, 0xb1, 0xd7, 0xc5, 0xff, 0x51, 0xeb, 0x8d, 0xe6, 0x1b, 0xb3, 0xe6, 0xff, 0x0c, 0xe7, 0xff, 0xad, 0x7d, 0x35, 0xcd, 0x32, 0xb2, 0x65, 0xfe, 0x1a, 0x7b, 0x5f, 0xfc, 0x9f, 0xb5, 0xde, 0x6c, 0xbe, 0xb1, 0x6a, 0xfe, 0xcf, 0x74, 0xfe, 0xdf,
0xdf, 0x2f, 0xd4, 0x92, 0x53, 0x1d, 0x55, 0x77, 0xde, 0x4f, 0xbf, 0x29, 0x63, 0x2b, 0x7e, 0x1b, 0xc6, 0xea, 0xed, 0x3d, 0xda, 0x57, 0xd3, 0xfc, 0xfd, 0x42, 0x2d, 0x39, 0x55, 0x1e, 0xc6, 0x7e, 0xc9, 0x67, 0xf5, 0x9b, 0x32, 0x8e, 0xc1, 0x6f,
0xe3, 0xf6, 0x9c, 0xca, 0x9d, 0xd7, 0x6f, 0x9d, 0x31, 0xf6, 0xdd, 0x23, 0xfe, 0xb3, 0x28, 0xd3, 0xc9, 0x50, 0xbb, 0xa6, 0xc3, 0xd8, 0xbd, 0xbd, 0x67, 0xdc, 0x5e, 0x53, 0xb9, 0xf3, 0xfa, 0xad, 0x2b, 0xc6, 0xbe, 0x7b, 0xc4, 0x7f, 0x36, 0x65,
0x6b, 0xdf, 0xaf, 0xb9, 0xbb, 0x94, 0xcb, 0xaa, 0x8a, 0xce, 0xf9, 0x2e, 0x8c, 0x75, 0xdb, 0x5b, 0xc7, 0xc1, 0xfd, 0x82, 0x3a, 0x99, 0x6a, 0xd7, 0x74, 0xed, 0xfb, 0x35, 0x77, 0x97, 0x72, 0x59, 0x55, 0xd1, 0xff, 0xc7, 0xfe, 0xc7, 0x70, 0x4e,
0xf9, 0x7f, 0xe5, 0x1d, 0xd0, 0x7a, 0x55, 0xf8, 0x6b, 0xe2, 0xff, 0x59, 0xd7, 0x46, 0xeb, 0xfa, 0x76, 0x4f, 0xfc, 0xe7, 0xbc, 0x7f, 0x7b, 0xeb, 0x38, 0x58, 0x2e, 0x98, 0xff, 0x77, 0xde, 0x01, 0x1d, 0xaf, 0x0a, 0x7f, 0x4d, 0xfc, 0x3f, 0xeb,
0xe2, 0xe3, 0xb8, 0x3e, 0xfe, 0x3f, 0xfe, 0x18, 0x41, 0xe9, 0xc8, 0x6b, 0xd7, 0x6c, 0x9f, 0x39, 0xbe, 0x8c, 0x8e, 0x75, 0xda, 0xe8, 0xd8, 0x32, 0x36, 0xf6, 0xc6, 0x7f, 0x2e, 0x3e, 0x8e, 0xeb, 0xe2, 0xbf, 0x9c, 0x5e, 0x03, 0xa4, 0x23, 0xaf,
0xcf, 0xc9, 0xff, 0x9f, 0x1f, 0xff, 0x77, 0xbe, 0x43, 0x91, 0x37, 0xba, 0x43, 0x93, 0x5f, 0xee, 0xb2, 0x5c, 0xf7, 0x3c, 0xdd, 0xb3, 0x7d, 0xe5, 0xf8, 0x32, 0xfb, 0xbd, 0x3f, 0xcf, 0xc9, 0xff, 0x9f, 0x1f, 0xff, 0x77, 0xbe, 0x43, 0x91, 0x37,
0xb6, 0x7e, 0xfd, 0xfd, 0x5a, 0xdb, 0xc7, 0xee, 0xff, 0x7f, 0xdf, 0xfc, 0xff, 0xce, 0x7f, 0xb3, 0xe0, 0xef, 0x36, 0x56, 0xba, 0x43, 0x93, 0x5f, 0xee, 0xb2, 0x5c, 0xf3, 0x3c, 0xf6, 0x3f, 0x29, 0x3f, 0x7c, 0x3e, 0xf8, 0x1e, 0xad, 0x7b, 0xe7,
0xb6, 0xd3, 0xfd, 0xe3, 0x7b, 0xfe, 0xc8, 0xfc, 0xe8, 0x6e, 0xc8, 0xf7, 0xcd, 0xff, 0xef, 0xff, 0x17, 0x4b, 0xaa, 0xad, 0xff, 0xbd, 0xf1, 0x3f, 0x73, 0xff, 0xff, 0xfb, 0xe6, 0xff, 0x77, 0xfe, 0x9b, 0x05, 0x7f, 0xb7, 0xb1, 0xb3, 0x9d, 0xee,
0x5e, 0x71, 0x4d, 0x72, 0xc7, 0xfb, 0x7b, 0xb3, 0xfb, 0xfb, 0xd1, 0xbd, 0xd0, 0x55, 0xf9, 0xff, 0x76, 0xf3, 0xfb, 0xff, 0x1f, 0xdf, 0xeb, 0x47, 0xe6, 0xf2, 0xe0, 0x7a, 0xe8, 0xfb, 0xe6, 0xff, 0xf7, 0xff, 0x8b, 0x25, 0xd5, 0x56, 0xaf, 0xb8,
0xf0, 0x9a, 0xe3, 0x13, 0x20, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0xf7, 0xaf, 0x29, 0x26, 0xb9, 0xe3, 0xfd, 0xbd, 0xd5, 0xfd, 0xbd, 0x9c, 0xdc, 0x0b, 0xdd, 0x95, 0xff, 0x1f, 0x37, 0xbf, 0xff, 0x0f, 0xaf,
0x53, 0x5e, 0x37, 0x91, 0x1f, 0x6b, 0xc8, 0x3f, 0x06, 0x56, 0x23, 0xad, 0xab, 0x22, 0x7b, 0x5c, 0x03, 0xeb, 0x73, 0xe0, 0x39, 0x3e, 0x01, 0xe2, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x7d, 0xff, 0x9a, 0x32, 0xc3,
0xef, 0x47, 0xd7, 0x1e, 0x57, 0x26, 0xad, 0x1f, 0x7d, 0xc6, 0x91, 0xa5, 0x78, 0xae, 0xc6, 0xd7, 0x32, 0xe7, 0xb7, 0xff, 0xeb, 0x26, 0xf2, 0xa3, 0x96, 0xcc, 0xc7, 0xc4, 0x6a, 0xa4, 0x7d, 0x55, 0x64, 0xcf, 0x6b, 0x60, 0x7d, 0x4e, 0xfc, 0xfd,
0x9f, 0xbb, 0xd6, 0xf7, 0x71, 0xbd, 0x84, 0xb1, 0x33, 0xd2, 0xb3, 0xf2, 0xf0, 0x5e, 0x15, 0x0a, 0xf7, 0x1f, 0xed, 0x91, 0xe8, 0xde, 0xe3, 0xca, 0xa2, 0xf5, 0xa3, 0xcf, 0x38, 0xb2, 0x0c, 0x9e, 0xab, 0xb9, 0xcf, 0xfc, 0x77, 0x55, 0xa4, 0x63,
0xc3, 0x3a, 0x92, 0x77, 0xae, 0x22, 0xbb, 0x97, 0xaa, 0xcb, 0xac, 0x3f, 0xae, 0xb1, 0x78, 0xc8, 0x49, 0x5d, 0xcf, 0xe7, 0xf9, 0x5a, 0xdf, 0xe3, 0xaf, 0xba, 0x49, 0xab, 0xcf, 0x48, 0xcf, 0xca, 0xc3, 0x7b, 0x55, 0x28, 0x2c, 0x3f, 0xda, 0x23,
0x54, 0xbb, 0x3d, 0x3b, 0x57, 0xc7, 0xb5, 0xb0, 0xf7, 0xc6, 0xf5, 0xf2, 0xc7, 0x55, 0x91, 0x33, 0x38, 0xfa, 0x9d, 0x47, 0xa7, 0x75, 0x24, 0xef, 0x5c, 0x45, 0xb6, 0x0c, 0x55, 0x97, 0xd9, 0x7f, 0x5c, 0x73, 0xf1, 0x90, 0x4a, 0x5d, 0xcf, 0xe7,
0x7f, 0x4a, 0x47, 0xf7, 0xa7, 0x33, 0x96, 0xe6, 0x4f, 0xc8, 0xa4, 0xea, 0x5c, 0xc7, 0xad, 0xb1, 0xbf, 0xf0, 0x4a, 0xe1, 0x54, 0xbb, 0xad, 0x9d, 0xab, 0xf3, 0x5a, 0xd8, 0xa5, 0x71, 0xbd, 0xfc, 0x79, 0x55, 0xe4, 0x4c, 0x8e, 0x7e, 0xf5, 0xe8,
0xbd, 0x2b, 0xfe, 0xf3, 0x25, 0x43, 0xc8, 0x0b, 0xae, 0x6e, 0x69, 0x1d, 0x8f, 0x5f, 0x6b, 0xe5, 0x4c, 0x9a, 0x57, 0x84, 0xcf, 0xd0, 0xd1, 0xfd, 0xee, 0x8c, 0xa5, 0xf9, 0x13, 0xb2, 0xa8, 0x3a, 0xd7, 0x79, 0x6b, 0x94, 0x17, 0x5e, 0x29, 0x5c,
0x8f, 0x54, 0xdc, 0xb1, 0x9e, 0xaa, 0xbd, 0x27, 0x9e, 0xf7, 0xd3, 0x7b, 0x57, 0x91, 0xfd, 0x3c, 0x39, 0xae, 0xbc, 0x6c, 0xba, 0xe2, 0x3f, 0x5f, 0x32, 0x84, 0xbc, 0xe0, 0xea, 0x96, 0xd6, 0xf1, 0xf8, 0xb5, 0x56, 0xce, 0xa4, 0x79, 0x45, 0xf8,
0xf5, 0x9b, 0xb6, 0x56, 0x49, 0x21, 0x3b, 0x78, 0xd6, 0xd6, 0xe3, 0x2c, 0xee, 0x4f, 0xf3, 0x7f, 0x2d, 0xb3, 0x79, 0xd6, 0x4c, 0xc5, 0x1d, 0xeb, 0xa9, 0xda, 0x7b, 0x62, 0xbd, 0x9f, 0xde, 0xbb, 0x8a, 0xec, 0x67, 0xe5, 0xb8, 0xf2, 0xb2, 0xd5,
0xb1, 0xb7, 0xee, 0x6b, 0x96, 0x5c, 0x09, 0xb6, 0xf4, 0x84, 0x1c, 0x66, 0x5b, 0xaf, 0x18, 0x27, 0x2d, 0x99, 0xe8, 0x3d, 0x6f, 0xda, 0x5a, 0x25, 0x03, 0xd9, 0xc1, 0xb3, 0xb6, 0x9e, 0x67, 0x71, 0xbf, 0x9b, 0xff, 0xc7, 0x32, 0x9b, 0x67, 0x1d,
0xf7, 0x3b, 0x8d, 0xbd, 0x21, 0x07, 0x79, 0xf8, 0x5d, 0xeb, 0xde, 0x8e, 0x8c, 0x4a, 0x69, 0xb8, 0xc2, 0x6f, 0xc9, 0x0e, 0x7b, 0xeb, 0xbe, 0x66, 0xcb, 0x95, 0x60, 0x4b, 0x4f, 0xc8, 0x69, 0xb6, 0xf5, 0x8a, 0x71, 0xd2, 0x92, 0x89, 0xde, 0x73,
0xf6, 0x4b, 0xb7, 0xde, 0x35, 0xfe, 0x5b, 0xe6, 0xff, 0xbc, 0x69, 0xfc, 0xef, 0x37, 0xdf, 0xef, 0xfa, 0xf7, 0x9f, 0xb5, 0xbf, 0xd3, 0xd8, 0x1b, 0x72, 0x92, 0x87, 0xdf, 0xb5, 0xee, 0xed, 0xcc, 0xa8, 0x94, 0x86, 0x2b, 0xfc, 0x96, 0xec, 0xa0,
0xce, 0xff, 0xf7, 0xda, 0x3a, 0x33, 0x83, 0x7f, 0x7c, 0xbf, 0x6d, 0x5d, 0xa5, 0xcf, 0xfe, 0xfb, 0x8e, 0xaf, 0x11, 0xff, 0x5c, 0xba, 0xf5, 0xae, 0xf1, 0xdf, 0x32, 0xff, 0xe7, 0x4d, 0xe3, 0xbf, 0xdc, 0x7c, 0xbf, 0xc7, 0xbf, 0xff, 0xac, 0x75,
0x77, 0x9e, 0x27, 0xeb, 0xf1, 0xff, 0xf9, 0x02, 0xfb, 0x9d, 0xd2, 0x1d, 0x9d, 0xb3, 0xf8, 0xdf, 0x6f, 0xb9, 0x75, 0x66, 0xfe, 0xbf, 0xd7, 0xd6, 0x95, 0x19, 0xfc, 0xe3, 0xfb, 0x6d, 0xfb, 0x2a, 0x7d, 0xf6, 0xdf, 0x77, 0x7c, 0x8d, 0xf8, 0xbf,
0x65, 0xab, 0xea, 0xb3, 0xaa, 0x95, 0x95, 0x3e, 0xef, 0x1b, 0xff, 0x2d, 0xf9, 0xd2, 0xab, 0x5e, 0x27, 0x6f, 0xc3, 0x11, 0xf3, 0x3c, 0x39, 0x1e, 0xff, 0x9f, 0x2f, 0xb0, 0xdf, 0x19, 0xba, 0xa3, 0x53, 0x8b, 0xff, 0x72, 0xcb, 0xad, 0x2b, 0x2b,
0x74, 0xd7, 0xf8, 0x3f, 0x7f, 0xf2, 0x50, 0x7f, 0x42, 0xf6, 0x8c, 0xad, 0xfb, 0x45, 0x77, 0xf0, 0x9e, 0x77, 0xec, 0xcf, 0x5b, 0x8d, 0x3e, 0xab, 0xda, 0x59, 0xe9, 0xf3, 0xbe, 0xf1, 0xdf, 0x92, 0x2f, 0xbd, 0xea, 0x75, 0xf2, 0x31, 0x1d, 0x41,
0x8b, 0xff, 0x91, 0x0a, 0x85, 0xc7, 0xf7, 0x5d, 0xee, 0x70, 0x9d, 0xbc, 0xa2, 0x1e, 0xe2, 0x3d, 0xf6, 0x3b, 0x8b, 0xe6, 0x77, 0x8d, 0xff, 0xfa, 0x93, 0x87, 0xf1, 0x27, 0x64, 0xcf, 0xd8, 0x5a, 0x2e, 0xba, 0x83, 0xf7, 0xbc, 0x63, 0x7f, 0x5e,
0xa2, 0x7b, 0x3f, 0xc9, 0x71, 0x07, 0xff, 0x9e, 0x4f, 0x0d, 0x6a, 0xfd, 0x78, 0xf5, 0xf6, 0x67, 0xf5, 0xc6, 0x2b, 0xf6, 0xfc, 0xcf, 0x54, 0x28, 0x3c, 0xbf, 0xef, 0x72, 0x87, 0xeb, 0xe4, 0x1d, 0xf5, 0x10, 0xef, 0xb1, 0xdf, 0xd9, 0x34, 0x17,
0x5b, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xa7, 0x95, 0x3c, 0x39, 0x59, 0xdd, 0xfb, 0x49, 0x8e, 0x3b, 0xf8, 0xf7, 0x7c, 0x6a, 0x30, 0xd6, 0x8f, 0x77, 0x6f, 0x7f, 0x56, 0x6f, 0xbc, 0x62, 0xbf,
0x05, 0xbc, 0x75, 0xd5, 0x2e, 0xfa, 0x55, 0xb5, 0x66, 0x6a, 0x26, 0x54, 0xc9, 0x7c, 0xb4, 0xf6, 0x66, 0xbf, 0xfc, 0x68, 0x45, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x77, 0x5a, 0xc9, 0x93, 0xca, 0x2a,
0xb6, 0xc1, 0x77, 0x86, 0xab, 0x56, 0xf3, 0xfd, 0x69, 0xbd, 0x78, 0xb5, 0xcf, 0x57, 0x6b, 0xa6, 0x8e, 0xd5, 0x8b, 0x3d, 0xe0, 0xa3, 0xab, 0x76, 0xd1, 0xaf, 0x46, 0x6b, 0xa6, 0x66, 0x41, 0x95, 0xcc, 0x47, 0x6b, 0x6f, 0xca, 0xe5, 0x47, 0x73,
0x5b, 0x29, 0xfd, 0x59, 0x1c, 0xcf, 0x56, 0x55, 0x80, 0x3d, 0x7a, 0xe7, 0xf3, 0x7a, 0xbe, 0xd6, 0x03, 0x32, 0x1e, 0xfd, 0x4c, 0xbe, 0x33, 0x5c, 0xb5, 0x9a, 0xef, 0x77, 0xeb, 0xc5, 0x47, 0xfb, 0xfc, 0x68, 0xcd, 0xd4, 0xb9, 0x7a, 0xb1, 0xb5,
0xdf, 0xa1, 0x07, 0x65, 0x59, 0x5e, 0xb1, 0x72, 0x9f, 0x3f, 0xf4, 0x50, 0x9e, 0x94, 0x03, 0xb4, 0xad, 0x65, 0xdf, 0x6f, 0x95, 0xd2, 0x9f, 0x83, 0xe3, 0xd9, 0xae, 0x0a, 0xb0, 0x67, 0xef, 0x5c, 0xaf, 0xe7, 0x6b, 0x3d, 0x20, 0xf3, 0xd1, 0xff,
0xb5, 0xf5, 0xf1, 0x3e, 0xa7, 0xb1, 0xb2, 0xdf, 0xbd, 0xb6, 0x8e, 0xd4, 0xf3, 0x85, 0x96, 0x2b, 0xe2, 0xf3, 0xaa, 0xa8, 0x1d, 0x7a, 0x50, 0xb6, 0xe5, 0x15, 0x3b, 0xf7, 0xf9, 0x43, 0x0f, 0xe5, 0x49, 0x39, 0x40, 0xdb, 0x5a, 0xf6, 0x72, 0xab,
0xaf, 0xb3, 0xb5, 0xe5, 0x68, 0xb7, 0x37, 0x39, 0x56, 0xf1, 0xcf, 0xac, 0x39, 0xff, 0x9d, 0x7a, 0x7d, 0x86, 0xda, 0x42, 0xad, 0x8f, 0xf7, 0x39, 0x8d, 0x95, 0xfd, 0xee, 0xb5, 0x75, 0xa6, 0x9e, 0x2f, 0xb4, 0x5c, 0x11, 0xd7, 0xab, 0xa2, 0xbe,
0xfc, 0x23, 0xfe, 0xbf, 0x5b, 0xaf, 0x17, 0xff, 0x7c, 0xdf, 0xfc, 0x7f, 0x1f, 0xaa, 0x17, 0xbf, 0xdd, 0x6a, 0xeb, 0xf8, 0xce, 0xd6, 0x96, 0xa3, 0x3d, 0xde, 0xe4, 0x58, 0xc5, 0x3f, 0xab, 0xe6, 0xfc, 0x77, 0xea, 0xf5, 0x99, 0x6a, 0x0b, 0xf1,
0xb5, 0xd0, 0x7d, 0xb6, 0xde, 0xb5, 0x0a, 0x22, 0x70, 0xc5, 0x1d, 0xd8, 0xb1, 0x27, 0xb8, 0xc0, 0x6b, 0xe4, 0x60, 0x95, 0x8f, 0xf8, 0xff, 0x6e, 0xbd, 0x5e, 0xfc, 0xf3, 0x7d, 0xf3, 0xff, 0x32, 0x55, 0x2f, 0xfe, 0xb8, 0xd5, 0xd6, 0xf9, 0x6b,
0xb8, 0x36, 0xfb, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa1, 0xfb, 0x6c, 0xbd, 0x6b, 0x15, 0x44, 0xe0, 0x8a, 0x3b, 0xb0, 0x73, 0x4f, 0x70, 0x81, 0xd7, 0xc8, 0xc1, 0x46, 0xe2,
0xda, 0xec, 0x0f, 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,
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, 0xd0, 0xe2, 0xdf, 0x7f, 0xda, 0x01, 0xc4, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x8b, 0x3f, 0xff, 0x69, 0x07, 0x10, 0xff, 0xc0,
0xf0, 0xed, 0xe2, 0xff, 0x1f }; 0xb7, 0x8b, 0xff, 0xff, 0x01 };
// Font glyphs rectangles data (on atlas) // Font glyphs rectangles data (on atlas)
static const Rectangle cyberFontRecs[189] = { static const Rectangle cyberFontRecs[189] = {
@ -352,7 +353,7 @@ static const Rectangle cyberFontRecs[189] = {
// Font glyphs info data // Font glyphs info data
// NOTE: No glyphs.image data provided // NOTE: No glyphs.image data provided
static const GlyphInfo cyberFontGlyphs[189] = { static const GlyphInfo cyberFontGlyphs[189] = {
{ 32, 0, 11, 4, { 0 }}, { 32, 0, 0, 4, { 0 }},
{ 33, 0, 3, 2, { 0 }}, { 33, 0, 3, 2, { 0 }},
{ 34, 0, 3, 4, { 0 }}, { 34, 0, 3, 4, { 0 }},
{ 35, 0, 3, 8, { 0 }}, { 35, 0, 3, 8, { 0 }},
@ -460,7 +461,7 @@ static const GlyphInfo cyberFontGlyphs[189] = {
{ 171, 0, 6, 6, { 0 }}, { 171, 0, 6, 6, { 0 }},
{ 172, 0, 7, 6, { 0 }}, { 172, 0, 7, 6, { 0 }},
{ 174, 0, 3, 9, { 0 }}, { 174, 0, 3, 9, { 0 }},
{ 175, 0, 11, 3, { 0 }}, { 175, 0, 0, 0, { 0 }},
{ 176, 0, 3, 4, { 0 }}, { 176, 0, 3, 4, { 0 }},
{ 177, 0, 6, 8, { 0 }}, { 177, 0, 6, 8, { 0 }},
{ 178, 0, 3, 4, { 0 }}, { 178, 0, 3, 4, { 0 }},

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 107 KiB

View File

@ -7,7 +7,7 @@
// more info and bugs-report: github.com/raysan5/raygui // // more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com // // feedback and support: ray[at]raylibtech.com //
// // // //
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) // // Copyright (c) 2020-2025 raylib technologies (@raylibtech) //
// // // //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
@ -15,144 +15,144 @@
// Custom style name: Dark // Custom style name: Dark
static const GuiStyleProp darkStyleProps[DARK_STYLE_PROPS_COUNT] = { static const GuiStyleProp darkStyleProps[DARK_STYLE_PROPS_COUNT] = {
{ 0, 0, 0x878787ff }, // DEFAULT_BORDER_COLOR_NORMAL { 0, 0, (int)0x878787ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0x2c2c2cff }, // DEFAULT_BASE_COLOR_NORMAL { 0, 1, (int)0x2c2c2cff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, 0xc3c3c3ff }, // DEFAULT_TEXT_COLOR_NORMAL { 0, 2, (int)0xc3c3c3ff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, 0xe1e1e1ff }, // DEFAULT_BORDER_COLOR_FOCUSED { 0, 3, (int)0xe1e1e1ff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, 0x848484ff }, // DEFAULT_BASE_COLOR_FOCUSED { 0, 4, (int)0x848484ff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, 0x181818ff }, // DEFAULT_TEXT_COLOR_FOCUSED { 0, 5, (int)0x181818ff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, 0x000000ff }, // DEFAULT_BORDER_COLOR_PRESSED { 0, 6, (int)0x000000ff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, 0xefefefff }, // DEFAULT_BASE_COLOR_PRESSED { 0, 7, (int)0xefefefff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, 0x202020ff }, // DEFAULT_TEXT_COLOR_PRESSED { 0, 8, (int)0x202020ff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, 0x6a6a6aff }, // DEFAULT_BORDER_COLOR_DISABLED { 0, 9, (int)0x6a6a6aff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, 0x818181ff }, // DEFAULT_BASE_COLOR_DISABLED { 0, 10, (int)0x818181ff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, 0x606060ff }, // DEFAULT_TEXT_COLOR_DISABLED { 0, 11, (int)0x606060ff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE { 0, 16, (int)0x00000010 }, // DEFAULT_TEXT_SIZE
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING { 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, 0x9d9d9dff }, // DEFAULT_LINE_COLOR { 0, 18, (int)0x9d9d9dff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0x3c3c3cff }, // DEFAULT_BACKGROUND_COLOR { 0, 19, (int)0x3c3c3cff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, 0x00000018 }, // DEFAULT_TEXT_LINE_SPACING { 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
{ 1, 5, 0xf7f7f7ff }, // LABEL_TEXT_COLOR_FOCUSED { 1, 5, (int)0xf7f7f7ff }, // LABEL_TEXT_COLOR_FOCUSED
{ 1, 8, 0x898989ff }, // LABEL_TEXT_COLOR_PRESSED { 1, 8, (int)0x898989ff }, // LABEL_TEXT_COLOR_PRESSED
{ 4, 5, 0xb0b0b0ff }, // SLIDER_TEXT_COLOR_FOCUSED { 4, 5, (int)0xb0b0b0ff }, // SLIDER_TEXT_COLOR_FOCUSED
{ 5, 5, 0x848484ff }, // PROGRESSBAR_TEXT_COLOR_FOCUSED { 5, 5, (int)0x848484ff }, // PROGRESSBAR_TEXT_COLOR_FOCUSED
{ 9, 5, 0xf5f5f5ff }, // TEXTBOX_TEXT_COLOR_FOCUSED { 9, 5, (int)0xf5f5f5ff }, // TEXTBOX_TEXT_COLOR_FOCUSED
{ 10, 5, 0xf6f6f6ff }, // VALUEBOX_TEXT_COLOR_FOCUSED { 10, 5, (int)0xf6f6f6ff }, // VALUEBOX_TEXT_COLOR_FOCUSED
}; };
// WARNING: This style uses a custom font: "PixelOperator.ttf" (size: 16, spacing: 0) // WARNING: This style uses a custom font: "PixelOperator.ttf" (size: 16, spacing: 0)
#define DARK_STYLE_FONT_ATLAS_COMP_SIZE 2126 #define DARK_STYLE_FONT_ATLAS_COMP_SIZE 2138
// Font atlas image pixels data: DEFLATE compressed // Font atlas image pixels data: DEFLATE compressed
static unsigned char darkFontData[DARK_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed, static unsigned char darkFontData[DARK_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
0xdd, 0xdb, 0x72, 0xa4, 0x3a, 0x12, 0x05, 0x50, 0xfd, 0xff, 0x4f, 0xe7, 0x3c, 0x4c, 0x4c, 0x4c, 0x74, 0x9c, 0xd3, 0x20, 0xdd, 0xdb, 0x92, 0xa5, 0xba, 0x0d, 0x00, 0x50, 0xff, 0xff, 0x4f, 0x2b, 0x0f, 0xa9, 0x54, 0x32, 0x95, 0xd3, 0x80, 0x64,
0xa5, 0x52, 0x17, 0xec, 0xd5, 0xeb, 0xcd, 0xe5, 0x76, 0x51, 0xa0, 0x94, 0x84, 0x28, 0x36, 0xd1, 0x00, 0x00, 0x00, 0x80, 0xd9, 0x98, 0x9e, 0x35, 0xeb, 0xad, 0x77, 0x4f, 0xc3, 0x36, 0x96, 0x6f, 0x80, 0x1c, 0x03, 0x00, 0x00, 0x00, 0xf8, 0xeb,
0x5f, 0x2f, 0xfe, 0xf5, 0x27, 0xf1, 0xd7, 0xdf, 0x8c, 0xee, 0xbf, 0xf3, 0xfc, 0xf3, 0xff, 0xbd, 0x1a, 0x0f, 0xef, 0xd5, 0xc5, 0x3f, 0xfe, 0x24, 0x7e, 0xfc, 0xcd, 0x78, 0xfc, 0x77, 0xae, 0x7f, 0xfe, 0x9f, 0x4f, 0xe3, 0xe2, 0x58, 0xcf, 0xce,
0xb7, 0xad, 0xa3, 0xef, 0x1b, 0x03, 0x7b, 0xe2, 0xdf, 0xb7, 0x2f, 0xba, 0xff, 0xee, 0xdf, 0x3e, 0xdf, 0xf8, 0xef, 0x3f, 0x35, 0x7b, 0xdc, 0x48, 0x94, 0xc4, 0x3f, 0x9f, 0x5f, 0x3c, 0xfe, 0xbb, 0x3f, 0x7d, 0xbf, 0xfc, 0xef, 0x5f, 0xfd, 0xa5,
0xfd, 0xa5, 0xe7, 0xad, 0x8f, 0xa1, 0xfd, 0x3e, 0xfe, 0x7f, 0xc6, 0x8e, 0x62, 0x2c, 0xd9, 0xf7, 0xef, 0x5b, 0x37, 0xbe, 0xeb, 0xb3, 0x8f, 0x54, 0xb9, 0xe7, 0xff, 0x4f, 0xee, 0x2a, 0xc6, 0x92, 0xb2, 0xbf, 0x3f, 0xbb, 0xfc, 0xb9, 0x77, 0xfe,
0xed, 0x95, 0xff, 0x27, 0x1e, 0x3e, 0x4f, 0xe6, 0x28, 0xf5, 0xd4, 0xd6, 0x0d, 0xf5, 0x1f, 0x5d, 0x95, 0x18, 0xa5, 0x2d, 0x9f, 0xb8, 0xf8, 0x3e, 0x95, 0xab, 0xf4, 0x24, 0xb6, 0x4e, 0x88, 0xff, 0x78, 0x14, 0x89, 0xd1, 0x5a, 0x73, 0xfe, 0x7b,
0xe7, 0xff, 0xef, 0x1a, 0x85, 0x3d, 0x55, 0x76, 0x4f, 0x3e, 0x55, 0xfa, 0xf8, 0xfe, 0x78, 0x6a, 0xfd, 0xe3, 0x3d, 0x60, 0xd4, 0x68, 0x6c, 0xa9, 0xaa, 0x25, 0x79, 0x15, 0xe9, 0xf9, 0xf2, 0xb8, 0xaa, 0xfd, 0xf9, 0x16, 0x30, 0x5a, 0xbe, 0xcb,
0x94, 0x7c, 0x96, 0xf9, 0xd6, 0x18, 0xd3, 0xbf, 0xdd, 0xd7, 0x92, 0x6a, 0x3e, 0xd5, 0xcc, 0x2b, 0xad, 0xe4, 0x28, 0x9d, 0x7c, 0x6d, 0x8c, 0xe9, 0xdf, 0x7e, 0x56, 0x93, 0x7a, 0xbe, 0xd5, 0xcc, 0x27, 0xa3, 0xe5, 0x2a, 0xbd, 0x11, 0xff, 0x51,
0xa8, 0xff, 0x48, 0xf7, 0x54, 0x31, 0x58, 0xd1, 0x15, 0x7b, 0x30, 0xd3, 0x0f, 0xb7, 0x8d, 0xf5, 0x1f, 0xa5, 0x73, 0x97, 0x6e, 0xa9, 0x22, 0x19, 0xd1, 0x1d, 0x25, 0x58, 0x69, 0x87, 0xc7, 0xc6, 0xf8, 0x8f, 0xd6, 0xb1, 0x4b, 0xb4, 0xd5, 0xb9,
0x28, 0x6b, 0x73, 0x27, 0xea, 0xff, 0x79, 0xd4, 0x6e, 0x25, 0xed, 0x26, 0x5e, 0xf6, 0x51, 0x6d, 0x2d, 0xaf, 0x9d, 0xa7, 0x37, 0xe2, 0xff, 0xba, 0xd7, 0x1e, 0x2d, 0xf5, 0x26, 0x6e, 0xca, 0xa8, 0x37, 0x96, 0xd7, 0x8e, 0x53, 0x57, 0xc7, 0xff,
0xae, 0xae, 0xff, 0xe7, 0xdf, 0x1c, 0x1d, 0x6f, 0x63, 0x70, 0xec, 0xae, 0xd8, 0x4f, 0xb9, 0xf1, 0xbf, 0x7e, 0x3f, 0xc6, 0xf5, 0x6f, 0x66, 0xfb, 0xdb, 0x48, 0xf6, 0xdd, 0x1d, 0xe5, 0x54, 0xeb, 0xff, 0xfb, 0xcb, 0x31, 0x7e, 0xec, 0x9b, 0xab,
0x5f, 0xc7, 0xe6, 0xec, 0x3c, 0x64, 0x64, 0x0f, 0xc7, 0xe0, 0xd9, 0xd5, 0xec, 0x08, 0x7b, 0x72, 0xfc, 0xef, 0x9b, 0x0b, 0xe3, 0x90, 0x4c, 0x09, 0x47, 0x72, 0x76, 0x35, 0xdb, 0xc3, 0xbe, 0xd9, 0xff, 0x3f, 0x1b, 0x0b, 0x8a, 0xff, 0xb5, 0xf1,
0xaa, 0xff, 0xb5, 0xf5, 0x9f, 0xf9, 0x24, 0xd1, 0xb9, 0x05, 0x99, 0x31, 0xb1, 0x5d, 0x50, 0xff, 0xa3, 0xfd, 0xd0, 0xf3, 0x5f, 0xf9, 0x26, 0xf1, 0xf0, 0x0c, 0x2a, 0x7d, 0xe2, 0x38, 0x20, 0xfe, 0xb3, 0xed, 0xd0, 0x75, 0x59, 0x75, 0x8d, 0xe5,
0xbe, 0xaa, 0x9a, 0xcb, 0x8f, 0xae, 0x4b, 0xf4, 0x9d, 0x61, 0xef, 0x6b, 0x85, 0xe3, 0x73, 0xa3, 0xf1, 0xfa, 0x1f, 0xef, 0xb3, 0xeb, 0x12, 0xcf, 0x66, 0xd8, 0xfb, 0x6a, 0x61, 0x7e, 0x6c, 0x94, 0x8f, 0xff, 0x7c, 0xeb, 0x79, 0xf7, 0xd7, 0xb2,
0x3d, 0xdf, 0xfe, 0xda, 0xe8, 0x5e, 0xfd, 0xfb, 0x99, 0xdd, 0xfc, 0x1e, 0xdf, 0x57, 0xff, 0x91, 0x18, 0x53, 0xce, 0xd7, 0xa5, 0xfa, 0xf3, 0xcc, 0x6e, 0xbe, 0xc4, 0xf7, 0xc5, 0x7f, 0x14, 0xfa, 0x94, 0xf7, 0xe3, 0xb9, 0x27, 0xfe, 0xa3, 0xb0,
0x73, 0x4d, 0xfd, 0x47, 0x62, 0xe5, 0xa2, 0x95, 0xad, 0xf2, 0xe5, 0xd6, 0x25, 0xea, 0xd6, 0x0c, 0xce, 0x1f, 0x81, 0xf7, 0x72, 0x31, 0xda, 0x56, 0xf9, 0x6a, 0xeb, 0x12, 0x7d, 0x6b, 0x06, 0xef, 0x5f, 0x81, 0xfb, 0xf8, 0xbf, 0x9b, 0x0f, 0xbe,
0xfa, 0x7f, 0x3b, 0x1f, 0x3c, 0x3f, 0xfe, 0xc7, 0x15, 0xe3, 0x7f, 0xa4, 0xd7, 0x86, 0x5b, 0xa2, 0xf7, 0xfd, 0x5a, 0xfd, 0xdf, 0xff, 0xc7, 0x11, 0xfd, 0x7f, 0x94, 0xd7, 0x86, 0x47, 0xa1, 0xf5, 0xfd, 0x5a, 0xfc, 0x47, 0x21, 0x66, 0xa2, 0x65,
0x47, 0xa2, 0x66, 0xa2, 0xe4, 0xbc, 0xbc, 0x2d, 0x59, 0xcb, 0xab, 0x5d, 0x33, 0xdc, 0x73, 0xb4, 0xde, 0x46, 0xd1, 0xaa, 0x5e, 0x3e, 0x96, 0xac, 0xe5, 0xf5, 0xae, 0x19, 0xee, 0xb9, 0x5a, 0x77, 0xbd, 0x68, 0xd7, 0xac, 0xe6, 0x77, 0xc5, 0xff,
0xb3, 0x9a, 0x9f, 0x55, 0xff, 0xad, 0x60, 0xfc, 0xef, 0x9b, 0x03, 0xcc, 0x7e, 0x8e, 0xf8, 0xd8, 0xe8, 0x5f, 0x59, 0xff, 0x68, 0xe8, 0xff, 0x9f, 0x8d, 0x01, 0x66, 0xbf, 0x47, 0x7c, 0xac, 0xf7, 0xef, 0x8c, 0xff, 0x5d, 0x2b, 0xf6, 0xeb, 0x6b,
0xbb, 0x56, 0xec, 0xd7, 0xb7, 0xc6, 0xb8, 0xe2, 0xc8, 0x58, 0xff, 0xaf, 0x9c, 0xff, 0xe7, 0xd7, 0x00, 0xc6, 0xce, 0x63, 0x63, 0x1c, 0x71, 0x65, 0xac, 0xff, 0x77, 0x8e, 0xff, 0xeb, 0x6b, 0x00, 0xb9, 0x79, 0x4c, 0x1c, 0x1a, 0xfd, 0x95, 0x39,
0xe2, 0xd2, 0xea, 0xcf, 0x9c, 0x33, 0x57, 0x5d, 0xb1, 0xaf, 0xfd, 0x36, 0x41, 0x24, 0xbe, 0xab, 0x51, 0xb3, 0x8a, 0xb3, 0x73, 0xd7, 0x1d, 0xfb, 0xde, 0xa7, 0x09, 0xa2, 0xf0, 0xac, 0x46, 0xcf, 0x2a, 0xce, 0xea, 0x6b, 0x90, 0xef, 0xff, 0x77,
0xfa, 0x18, 0x8c, 0x8f, 0xff, 0xbb, 0xae, 0xff, 0xbf, 0xcf, 0xb9, 0xef, 0x18, 0xff, 0xdb, 0xeb, 0xe8, 0x7e, 0xcb, 0xf6, 0xdd, 0xff, 0xbf, 0x1f, 0x73, 0x9f, 0xd1, 0xff, 0x8f, 0xdb, 0xde, 0xfd, 0x94, 0xf3, 0x01, 0xf6, 0xb6, 0x00, 0x21, 0xfa,
0x00, 0x7b, 0x7b, 0x80, 0x50, 0xfd, 0xe0, 0x7b, 0xc4, 0x80, 0xfa, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0x73, 0xc4, 0x80, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x9f, 0xcf,
0x00, 0x00, 0x00, 0x0a, 0xbf, 0x9f, 0x5f, 0x9f, 0x63, 0x30, 0x9e, 0x84, 0xbd, 0x3e, 0x81, 0x7d, 0x26, 0x13, 0x38, 0xbb, 0xef, 0xcf, 0x63, 0x90, 0xcf, 0x84, 0xbd, 0x3e, 0x03, 0xfb, 0x4c, 0x4e, 0xe0, 0x6a, 0x09, 0x75, 0xfd, 0xc5, 0xeb, 0xdc,
0x87, 0xaa, 0xfe, 0xe2, 0x73, 0x76, 0xfc, 0x48, 0xd2, 0x42, 0x7f, 0xcb, 0x88, 0xe1, 0xa7, 0x1f, 0x54, 0x26, 0x0a, 0x64, 0xf1, 0x99, 0x4c, 0x0b, 0xcf, 0x6b, 0x46, 0xa4, 0x77, 0x3f, 0xe8, 0xcc, 0x28, 0x50, 0xc9, 0x69, 0x30, 0x92, 0x75, 0xa2,
0x32, 0x0d, 0xda, 0x60, 0x9b, 0xa8, 0xcd, 0x52, 0x1a, 0xdb, 0xfa, 0x3d, 0x2d, 0xfe, 0x0b, 0xf5, 0x7f, 0xfe, 0x95, 0x96, 0x37, 0x97, 0x52, 0xee, 0xec, 0xf7, 0xd4, 0xf8, 0x2f, 0xc4, 0xff, 0xfb, 0x9f, 0x8c, 0x42, 0xfe, 0x9e, 0x9d, 0xf1, 0x9f,
0xc8, 0xef, 0xd9, 0x59, 0xff, 0xa3, 0x6d, 0x2f, 0x97, 0x8f, 0x3b, 0x37, 0x96, 0xec, 0x4e, 0x14, 0x8b, 0xc2, 0x63, 0xb8, 0xad, 0x7b, 0xb5, 0xfc, 0xb8, 0x73, 0x7d, 0xc9, 0xee, 0x8c, 0x62, 0xd1, 0x78, 0x0d, 0xf7, 0xf5, 0xab, 0x7f, 0xe6, 0xd0,
0x6f, 0x5c, 0xfd, 0x33, 0x43, 0x67, 0x47, 0xbb, 0x9e, 0xa9, 0xff, 0xd1, 0xec, 0xd3, 0x78, 0xe8, 0x85, 0xef, 0xa9, 0xff, 0xd9, 0x51, 0xaf, 0x67, 0xe2, 0x3f, 0x9b, 0xfb, 0x34, 0x2e, 0x5a, 0xe1, 0x73, 0xe2, 0x7f, 0x6c, 0x89, 0xff, 0xf8, 0x48,
0xb6, 0xa5, 0xfe, 0xe3, 0x23, 0xf5, 0x5f, 0x9d, 0x24, 0x53, 0x95, 0x42, 0x9e, 0x49, 0xbe, 0x19, 0x3f, 0x86, 0xf9, 0x84, 0xfc, 0x77, 0x67, 0x92, 0xe9, 0xca, 0x42, 0x5e, 0xc9, 0x7c, 0x93, 0xbf, 0x86, 0xf5, 0x0c, 0xbf, 0xd5, 0x1a, 0xf7, 0x9d,
0xdf, 0x6c, 0x8b, 0xfb, 0x4e, 0xfd, 0x67, 0xda, 0xd6, 0x73, 0xce, 0xaa, 0xfa, 0x7f, 0xdf, 0xb7, 0x99, 0xd1, 0x64, 0xfe, 0xf8, 0xaf, 0xd4, 0xad, 0xeb, 0x3c, 0xab, 0xe2, 0xff, 0xbe, 0x6c, 0x2b, 0xbd, 0xc9, 0xfc, 0xcf, 0x7b, 0x22, 0x7f, 0x4f,
0xe7, 0x35, 0x95, 0xbf, 0x27, 0x47, 0xf7, 0xed, 0x39, 0x5a, 0x6b, 0xdb, 0xca, 0xec, 0x58, 0xf9, 0x95, 0xfa, 0x8f, 0xe4, 0x1e, 0xdd, 0xbb, 0x7d, 0xb4, 0xd6, 0xd6, 0x95, 0xd9, 0xbe, 0xf2, 0x2b, 0xf1, 0x1f, 0xc5, 0xbf, 0x12, 0x37, 0x2d, 0x4a,
0x5f, 0x89, 0x97, 0x1e, 0xa5, 0x36, 0x81, 0xbd, 0x26, 0xb5, 0x6d, 0x6f, 0xfd, 0x57, 0x3f, 0xf7, 0xe7, 0x8e, 0xfa, 0x3f, 0x6f, 0x06, 0xf6, 0x9e, 0xac, 0x6d, 0x7b, 0xe3, 0xbf, 0x7b, 0xdf, 0x9f, 0x33, 0xe2, 0xff, 0xfd, 0x3c, 0xba, 0xab, 0xe6,
0x9f, 0xa3, 0xbb, 0xea, 0x1c, 0xae, 0x76, 0xac, 0xfc, 0xd9, 0xe3, 0xff, 0x7b, 0x2f, 0xb9, 0xa3, 0x7d, 0xcc, 0x8c, 0xf4, 0x70, 0xbd, 0x7d, 0xe5, 0xef, 0xee, 0xff, 0xef, 0x5b, 0xc9, 0x1d, 0xf5, 0x63, 0xa6, 0xa7, 0x7f, 0xb3, 0xff, 0x7f, 0xef,
0x27, 0xc7, 0xff, 0x73, 0x3f, 0x3f, 0x5b, 0xff, 0x55, 0xad, 0x3d, 0x36, 0xce, 0x4c, 0xb2, 0x63, 0xe5, 0xce, 0x55, 0xb2, 0xe7, 0xef, 0xc6, 0x7f, 0x57, 0x6d, 0x8f, 0x8d, 0x23, 0x93, 0x6a, 0x5f, 0xb9, 0x73, 0x95, 0x6c, 0xf7, 0xfc, 0x7f, 0xd5,
0xdd, 0xe7, 0xff, 0xab, 0x3e, 0x59, 0x1b, 0x9e, 0x4d, 0xc4, 0xb5, 0xf5, 0x3f, 0xb3, 0x0a, 0xb9, 0x6e, 0xbe, 0x70, 0x66, 0x37, 0x1b, 0xe9, 0xd1, 0x44, 0x1c, 0x1b, 0xff, 0x33, 0xab, 0x90, 0xeb, 0xc6, 0x0b, 0xef, 0x8c, 0xff, 0x6b, 0xfb, 0xdb,
0xfe, 0x9f, 0x7b, 0xbe, 0x6d, 0xe6, 0xa9, 0x80, 0xb7, 0x8d, 0xff, 0xbb, 0xae, 0x92, 0xb5, 0xcd, 0x35, 0xb9, 0xf7, 0xbd, 0x56, 0x76, 0x05, 0x3c, 0xad, 0xff, 0xdf, 0x75, 0x97, 0x6c, 0x6c, 0x8e, 0xc9, 0xbd, 0xc7, 0xea, 0xdc, 0xa5, 0x2e, 0x9f,
0x2a, 0x9f, 0x52, 0x37, 0x9e, 0xdf, 0x1f, 0xc5, 0x33, 0xbc, 0xaf, 0xd7, 0x7f, 0x7e, 0x95, 0xbf, 0x15, 0xad, 0x4a, 0x9e, 0xbf, 0x3f, 0x9a, 0x47, 0x78, 0x5f, 0x8f, 0xff, 0xfa, 0x2a, 0xff, 0x68, 0x5a, 0x95, 0x7c, 0x6f, 0xfc, 0xbf, 0x7b, 0xa7,
0x9b, 0xff, 0xef, 0x7e, 0xd2, 0x49, 0xe6, 0x5d, 0x6a, 0xfa, 0xdf, 0xbe, 0xab, 0xc2, 0xb5, 0xa3, 0xc0, 0xdf, 0xaf, 0x36, 0x93, 0xca, 0x51, 0x7a, 0xda, 0xdf, 0x67, 0x77, 0x85, 0x7b, 0x7b, 0x81, 0x9f, 0xef, 0x36, 0x44, 0x53, 0xcf, 0xd1, 0x95,
0x44, 0xd1, 0xc8, 0x51, 0x95, 0xdf, 0xff, 0xe7, 0xb6, 0x8d, 0x3f, 0xf1, 0x6c, 0xfc, 0x4a, 0x7c, 0x0c, 0x3e, 0x4f, 0xff, 0xbf, 0xff, 0xcf, 0x73, 0xcb, 0xef, 0x78, 0x96, 0xbf, 0x13, 0x1f, 0xc9, 0xfd, 0xf4, 0xdf, 0x88, 0xff, 0xca, 0x91, 0x2b,
0x44, 0xfd, 0x67, 0xde, 0x39, 0xf3, 0xbf, 0x46, 0x8f, 0x61, 0x65, 0xfd, 0x9f, 0xeb, 0x01, 0xe4, 0x6e, 0xc2, 0x8d, 0xb3, 0xff, 0x2b, 0x7b, 0x0d, 0x3b, 0xe3, 0xff, 0xbd, 0x16, 0x40, 0xde, 0x4d, 0x38, 0x71, 0x14, 0x03, 0xfc, 0x9e, 0x16, 0xc0,
0x18, 0xe0, 0xe7, 0xf4, 0x00, 0x9e, 0x70, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xee, 0x37, 0xb1, 0x7f, 0xce,
0xec, 0xbe, 0x13, 0xfb, 0xef, 0xd9, 0x5c, 0x99, 0xd4, 0xf8, 0xf1, 0xfb, 0xa4, 0x77, 0x26, 0xe6, 0xb7, 0x97, 0x14, 0xb2, 0xcd, 0x55, 0xc9, 0x1a, 0x9f, 0x7f, 0x4f, 0x7a, 0x67, 0xc6, 0xfc, 0x71, 0x93, 0x85, 0xec, 0xfa, 0xb7, 0xfe, 0xfc, 0xa4,
0xe7, 0xdf, 0xfa, 0xf3, 0x95, 0x8a, 0x3c, 0xde, 0x28, 0xbc, 0x6b, 0xfd, 0x29, 0x93, 0xe4, 0x39, 0x4b, 0x71, 0x34, 0x77, 0x23, 0x1f, 0x6f, 0x34, 0xbe, 0xb5, 0x9e, 0xc9, 0xe5, 0x1d, 0x85, 0x6c, 0x03, 0x57, 0x6f, 0xc6, 0xe6, 0xae, 0x41, 0xee,
0xe0, 0x7d, 0x0f, 0x8f, 0x1f, 0x97, 0x99, 0xd7, 0x5a, 0x61, 0x9a, 0x42, 0x24, 0xd2, 0x5e, 0xde, 0xf6, 0x7a, 0x7f, 0x36, 0x18, 0xd1, 0x9e, 0xcf, 0x2c, 0xd2, 0xd9, 0x63, 0xfe, 0xf7, 0x9c, 0x9f, 0x67, 0xfa, 0x8d, 0xf2, 0x9b, 0xc6, 0x77, 0xb9,
0x70, 0x94, 0x6d, 0xf1, 0x58, 0x1d, 0x55, 0x65, 0x27, 0xdf, 0x9e, 0x98, 0x3f, 0x9f, 0xbc, 0x13, 0x2f, 0xad, 0xae, 0xbf, 0xcc, 0xf2, 0xf9, 0x11, 0x2a, 0x39, 0xf3, 0xf2, 0x79, 0x36, 0x4f, 0xcf, 0x98, 0x3f, 0x9f, 0x79, 0x27, 0x6e, 0xea, 0xe4,
0xfe, 0x7b, 0x92, 0x23, 0xd6, 0xe7, 0x18, 0xf5, 0xfc, 0x34, 0x93, 0x7a, 0x31, 0x96, 0xc1, 0x36, 0xd7, 0x06, 0x56, 0x8f, 0xf3, 0x5a, 0xfa, 0x24, 0x73, 0x44, 0x4f, 0x06, 0xa1, 0xda, 0x37, 0x8e, 0xe9, 0xda, 0x5a, 0xb9, 0xde, 0x99, 0x23, 0xc4,
0x50, 0x6d, 0xb2, 0x42, 0x62, 0xaa, 0xa5, 0xcc, 0x67, 0xff, 0xbd, 0x6f, 0x69, 0x1b, 0x1c, 0xb9, 0x6e, 0x48, 0xcc, 0x8c, 0xf4, 0xfb, 0xfc, 0x95, 0xfa, 0x1e, 0x93, 0xd7, 0xbd, 0xfe, 0x8d, 0x67, 0xb2, 0x10, 0x44, 0xa9, 0xa7, 0xeb, 0x2c, 0xc1,
0xce, 0xfa, 0xaa, 0xfe, 0x69, 0x1b, 0xec, 0x6f, 0x32, 0x79, 0x75, 0x51, 0x9a, 0x44, 0x91, 0xff, 0x3f, 0x91, 0x48, 0x6d, 0xeb, 0x4f, 0xf2, 0x19, 0x33, 0xe3, 0x61, 0x7c, 0x75, 0xff, 0x74, 0x24, 0xdb, 0x9b, 0x4a, 0xbe, 0xba, 0x99, 0x5d, 0x33,
0x6e, 0xc9, 0x2c, 0xbe, 0x7c, 0x46, 0x7c, 0x26, 0xa7, 0x2a, 0x16, 0xef, 0xd9, 0x4c, 0xfd, 0xb7, 0x43, 0xf5, 0x9f, 0x49, 0xe6, 0xc6, 0x88, 0xe3, 0x22, 0xbb, 0x52, 0x3e, 0xfa, 0x7f, 0xee, 0x6f, 0x62, 0x32, 0xfe, 0xa3, 0x98, 0x59, 0xa8, 0x1e,
0x3d, 0x38, 0x9f, 0x98, 0x1d, 0xa9, 0xda, 0xdd, 0x5b, 0xff, 0xd1, 0xd1, 0x7f, 0x65, 0x66, 0xd7, 0x51, 0x78, 0xce, 0xf0, 0x23, 0xd9, 0xf8, 0x9f, 0xbf, 0x0a, 0xbb, 0xe2, 0xbf, 0x92, 0xf5, 0xe0, 0xfd, 0x8c, 0xd9, 0xb5, 0x9e, 0x70, 0x6f, 0xfc,
0x3e, 0xe3, 0xad, 0x1e, 0xff, 0xdb, 0xe3, 0x7e, 0x1a, 0x4f, 0x75, 0x5b, 0x3f, 0x42, 0x65, 0x7a, 0x93, 0xb1, 0xfa, 0x5f, 0xc7, 0x83, 0xf6, 0x6b, 0xa4, 0xe7, 0x2f, 0xa3, 0x90, 0xe1, 0xfc, 0xf9, 0xec, 0x22, 0x5a, 0xfb, 0xff, 0x71, 0x59, 0x26,
0xdd, 0x63, 0xcd, 0x3c, 0x07, 0x29, 0x3e, 0x37, 0xfe, 0x9f, 0x49, 0xcc, 0x8e, 0xc4, 0xd9, 0x75, 0xe6, 0x7d, 0xeb, 0xd7, 0xf1, 0xc2, 0xf8, 0xbf, 0xb6, 0xdf, 0x5b, 0x2e, 0xfe, 0x67, 0x5a, 0xa7, 0xfd, 0xfd, 0x7f, 0xad, 0x5f, 0x3b, 0xb9, 0xff,
0x5e, 0xa2, 0xb0, 0xfe, 0x33, 0x3d, 0x40, 0xbe, 0xfe, 0x77, 0xce, 0xa6, 0xb3, 0x79, 0x93, 0x31, 0xdd, 0x86, 0xce, 0xd4, 0x7f, 0x27, 0x63, 0x76, 0x14, 0xe6, 0xd9, 0x95, 0xe3, 0xc6, 0xe4, 0xc8, 0xe0, 0xd9, 0x5c, 0x30, 0x1a, 0xe6, 0xab, 0x1d,
0x7f, 0xe5, 0xd3, 0x96, 0x56, 0x24, 0xe6, 0x8e, 0x3f, 0xd9, 0xf1, 0xd4, 0xf8, 0xdf, 0x52, 0xe3, 0x7f, 0x6e, 0x9c, 0xa8, 0xf1, 0xdf, 0x3f, 0xc2, 0xae, 0xcc, 0xad, 0x6a, 0xfd, 0x7f, 0xb4, 0xce, 0xff, 0x23, 0xdd, 0xce, 0xcf, 0xc5, 0x7f, 0xe7,
0x3b, 0xf6, 0xb5, 0x73, 0xe5, 0xf7, 0xfa, 0x8f, 0x0d, 0xef, 0xb6, 0xaf, 0xfe, 0x33, 0x3d, 0x61, 0x2c, 0x9b, 0xff, 0x67, 0x6e, 0x4b, 0x2b, 0x32, 0xe6, 0xe6, 0x77, 0x76, 0x7c, 0xab, 0xff, 0x1f, 0xa5, 0xfe, 0xbf, 0xd6, 0x7b, 0xcd, 0xd4, 0xca,
0xab, 0x25, 0x86, 0xe7, 0xd7, 0x3b, 0x13, 0x73, 0x33, 0xeb, 0xcc, 0xf7, 0xd7, 0x7f, 0xe5, 0x33, 0x4c, 0xda, 0x54, 0xfa, 0xd8, 0x90, 0xeb, 0x2e, 0x37, 0xfe, 0x5f, 0x3d, 0xca, 0xce, 0xcf, 0x28, 0x63, 0x53, 0xfb, 0xd4, 0x3d, 0xf7, 0xab, 0x45,
0x72, 0x94, 0x8e, 0xc8, 0xfb, 0xc6, 0xff, 0x15, 0xb3, 0xe9, 0x4c, 0xfa, 0xfe, 0x3d, 0xeb, 0x7f, 0xad, 0xf8, 0x88, 0xb5, 0x4b, 0xa4, 0xc7, 0xd7, 0x3b, 0x33, 0xe6, 0x56, 0xd6, 0x9e, 0xcf, 0x8f, 0xff, 0xce, 0x3d, 0x4c, 0x2a, 0x77, 0x17, 0xa2,
0xe3, 0x79, 0x88, 0x2b, 0x66, 0x85, 0x27, 0xce, 0xff, 0xab, 0x12, 0xd8, 0x73, 0xe7, 0xff, 0xd5, 0x2b, 0xf2, 0x73, 0xc7, 0xa1, 0x6f, 0x5e, 0xdd, 0xff, 0xcf, 0xce, 0xff, 0x2b, 0xb9, 0xf4, 0xf7, 0xac, 0xff, 0x8d, 0xa5, 0x6b, 0x3f, 0xd1, 0x7a,
0xf2, 0xde, 0xf1, 0x3f, 0xd7, 0x42, 0x62, 0x68, 0x7c, 0x6e, 0x9f, 0xaa, 0xff, 0x5b, 0xbe, 0xd1, 0x50, 0xd1, 0x6f, 0x45, 0x3f, 0x71, 0x1c, 0xd0, 0x7e, 0x77, 0x66, 0x89, 0x7f, 0x63, 0xfe, 0xdf, 0x95, 0x81, 0x7d, 0x94, 0xef, 0x09, 0xd5, 0xd7,
0x49, 0xef, 0x96, 0x79, 0x6e, 0x4b, 0xe5, 0x3c, 0xaa, 0x72, 0xfd, 0x6a, 0xe6, 0xfa, 0xff, 0xcc, 0xb7, 0x53, 0x56, 0xbf, 0xff, 0x67, 0x6b, 0x60, 0x1c, 0xd3, 0xf7, 0x8f, 0xc7, 0x7b, 0xe8, 0xc4, 0x4b, 0xd1, 0x7f, 0x5a, 0xfc, 0x9f, 0xf2, 0x44,
0x5b, 0xfe, 0xfa, 0xff, 0xda, 0xfa, 0x8f, 0xe2, 0x2d, 0xe6, 0x9e, 0x5e, 0xea, 0xe6, 0xf7, 0xd3, 0x7e, 0xee, 0x38, 0x82, 0x43, 0x47, 0xbb, 0x15, 0x2d, 0xad, 0x5b, 0x65, 0xdf, 0x96, 0xce, 0x71, 0xd4, 0xfc, 0xfc, 0x7f, 0xcd, 0xba, 0xfa, 0x1b,
0x6a, 0x59, 0xeb, 0x39, 0x71, 0x3e, 0xc4, 0xef, 0x9a, 0x33, 0xf3, 0xd3, 0xbf, 0xe1, 0x6d, 0x3f, 0x18, 0x9b, 0x01, 0x00, 0xc7, 0x98, 0xb9, 0x23, 0x3b, 0x1f, 0xff, 0xb1, 0xbc, 0xe4, 0xe4, 0x23, 0xfe, 0x4e, 0x2b, 0x75, 0xde, 0xf1, 0xfe, 0xe6,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xef, 0xde, 0xc3, 0x14, 0xaf, 0x77, 0x38, 0xbc, 0x65, 0x4b, 0xda, 0x13, 0x1b, 0x9f, 0xb5, 0x13, 0xa1, 0xc4, 0xd1, 0xf3, 0x21, 0xd7, 0x03, 0xfe, 0xe6, 0xf9, 0xd0, 0xdf, 0xfa, 0x1c,
0x64, 0x72, 0x29, 0x5b, 0x69, 0xce, 0x5d, 0x4b, 0x24, 0xf3, 0x67, 0xb7, 0xae, 0x77, 0xaf, 0xac, 0xff, 0x64, 0xb3, 0x69, 0xbc, 0x92, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x7d, 0x3b, 0xa4, 0x92, 0x59,
0xe6, 0x99, 0xc4, 0xf9, 0xcc, 0x3e, 0x3e, 0x7b, 0x34, 0xdf, 0x32, 0x3c, 0x22, 0x91, 0xc6, 0x5a, 0x79, 0xbc, 0x5a, 0x6a, 0x72, 0x34, 0xbf, 0x8b, 0x9e, 0xcf, 0xad, 0x5f, 0x3d, 0xbb, 0xbb, 0xf7, 0xa5, 0x6b, 0xf9, 0x79, 0x6b, 0xe5, 0x34, 0x97,
0xdf, 0x65, 0x5b, 0x59, 0x6f, 0x0f, 0xd0, 0x9f, 0x0f, 0x53, 0x7f, 0x8f, 0x69, 0xa4, 0xf6, 0x79, 0x4d, 0x32, 0xff, 0x4c, 0x8f, 0x28, 0x97, 0x53, 0xed, 0x7e, 0xff, 0x83, 0x38, 0xf2, 0x6a, 0xde, 0x65, 0x75, 0x8d, 0x42, 0x3e, 0xd5, 0xce, 0xeb,
0x5b, 0x6a, 0xe9, 0x04, 0xe2, 0x6c, 0xab, 0xe9, 0xfd, 0x5b, 0x31, 0xfd, 0x97, 0xdf, 0xb3, 0x5a, 0xe3, 0x73, 0x47, 0x33, 0x35, 0x4a, 0x65, 0xb7, 0xab, 0x96, 0x3d, 0x7f, 0x3b, 0x34, 0x36, 0xbc, 0x4f, 0x59, 0x8b, 0x85, 0x5a, 0x6e, 0xc3, 0xb9,
0x9b, 0x17, 0x5f, 0x7d, 0xbc, 0x6a, 0xd3, 0xdb, 0x6a, 0x7a, 0x80, 0x8a, 0xfa, 0xaf, 0xdb, 0xca, 0xfd, 0xf7, 0xc6, 0x46, 0xdc, 0x61, 0xb1, 0xf8, 0x9b, 0xe5, 0xca, 0x6f, 0x7e, 0x3f, 0x89, 0xfb, 0x6c, 0xab, 0xf1, 0xb9, 0xab, 0x59, 0xcd, 0xf8,
0xf2, 0x7e, 0xfa, 0xf8, 0xfc, 0xfd, 0xa7, 0xf1, 0xd1, 0x24, 0x81, 0x5c, 0xca, 0xe4, 0xae, 0x4f, 0x95, 0xcb, 0xe5, 0xca, 0xde, 0x7d, 0xbd, 0xea, 0xb5, 0xe5, 0x84, 0x5a, 0xb6, 0x7e, 0x67, 0x89, 0x37, 0xde, 0x6e, 0xad, 0x66, 0xc4, 0x8d, 0xcf,
0xa7, 0xb7, 0xed, 0x1c, 0xff, 0x33, 0x49, 0x52, 0x99, 0xb4, 0xd0, 0xea, 0x57, 0xb2, 0xbd, 0x65, 0xae, 0xfe, 0x33, 0x99, 0xbf, 0x73, 0x1a, 0x1f, 0xcd, 0x05, 0x50, 0xcb, 0x13, 0xb9, 0xeb, 0x5b, 0x55, 0x8e, 0x14, 0xa5, 0x3d, 0x9b, 0xc6, 0xf6,
0x4d, 0x51, 0x94, 0x67, 0x5c, 0xf7, 0xdc, 0x93, 0x48, 0xce, 0xaf, 0x4f, 0x1e, 0xcd, 0x78, 0x4d, 0x25, 0xaf, 0xca, 0xd8, 0xec, 0x10, 0xf9, 0xec, 0xe7, 0xa3, 0x94, 0xef, 0xb3, 0xfb, 0x93, 0xca, 0x15, 0xa9, 0xc7, 0xff, 0x55, 0x39, 0x55, 0x3e,
0xdd, 0xfb, 0x4a, 0x4c, 0x26, 0x3e, 0x44, 0xd7, 0xf1, 0x8e, 0xe9, 0xb1, 0x70, 0xd7, 0xd3, 0x02, 0x33, 0xcf, 0xa4, 0x68, 0x99, 0xed, 0xff, 0xc7, 0xf2, 0x7d, 0x18, 0x4e, 0xb9, 0x9a, 0x77, 0xfd, 0x7f, 0xb4, 0xed, 0x98, 0xb4, 0xf7, 0x93, 0x1d,
0xc9, 0xd4, 0xcc, 0x28, 0x9b, 0xe1, 0x57, 0xbf, 0xb2, 0xa2, 0xfe, 0xe3, 0xe1, 0x3c, 0xb9, 0xfa, 0x99, 0x65, 0xd5, 0x47, 0xe5, 0xda, 0x11, 0x0b, 0xbb, 0xf6, 0xfb, 0x8b, 0x74, 0xad, 0x18, 0xe9, 0x1c, 0x7b, 0xf5, 0xd9, 0xd7, 0xae, 0x4f, 0x56,
0xb3, 0xa7, 0x67, 0xf8, 0x62, 0xfd, 0xaf, 0x9d, 0xa7, 0xd5, 0x9c, 0xff, 0x47, 0xfa, 0x59, 0x3c, 0x77, 0xb6, 0x98, 0xe8, 0xc4, 0x7f, 0x5c, 0xcc, 0x93, 0xbb, 0x77, 0x1d, 0xeb, 0xbe, 0x9a, 0x4f, 0x5a, 0x86, 0x2f, 0xc6, 0xff, 0x8e, 0xf8, 0x99,
0x4c, 0x77, 0xfe, 0x69, 0xf5, 0xbf, 0x77, 0x1f, 0x57, 0xf7, 0xe6, 0xcf, 0x33, 0xec, 0xf6, 0xd1, 0xfa, 0x9f, 0x49, 0x8b, 0x9d, 0xff, 0x47, 0x79, 0x37, 0x9d, 0x33, 0x6b, 0x4c, 0x3c, 0xcc, 0xe8, 0xfc, 0xdb, 0xe2, 0x7f, 0x6f, 0x19, 0x77, 0xb7,
0xaf, 0x39, 0x5f, 0x79, 0x5f, 0xff, 0xaf, 0x5c, 0xd9, 0xb8, 0xa3, 0xfe, 0x6f, 0xa9, 0xf2, 0xb1, 0x7d, 0xbe, 0xb6, 0xfe, 0xe6, 0xd7, 0x23, 0xec, 0xf1, 0xd1, 0xf8, 0x9f, 0xdd, 0xef, 0x6d, 0x7e, 0xee, 0x7a, 0xbf, 0xfe, 0xdf, 0xb9, 0xb2, 0x71,
0xcf, 0xd7, 0xd0, 0x6c, 0xf2, 0xfb, 0xf9, 0x6d, 0x8f, 0xb2, 0xf3, 0xff, 0x9a, 0x75, 0xa1, 0xea, 0x79, 0xc4, 0x6d, 0x3d, 0x46, 0xfc, 0x9f, 0x12, 0xe5, 0xb9, 0x32, 0x5f, 0x1b, 0xff, 0xef, 0xc7, 0x50, 0x57, 0x1f, 0xf6, 0xde, 0xb9, 0x47, 0xdb,
0xe8, 0xaa, 0xa7, 0xab, 0xbd, 0xcd, 0x1d, 0xaa, 0xcf, 0x77, 0xef, 0x18, 0xff, 0x43, 0xfd, 0x2f, 0x58, 0x0b, 0xaf, 0x1d, 0xfc, 0xff, 0x7e, 0x97, 0xe4, 0xdc, 0xdd, 0x9d, 0xbd, 0xab, 0x49, 0x3b, 0x4b, 0xbd, 0x73, 0xcf, 0xe1, 0xa7, 0x63, 0x87,
0x25, 0xf3, 0x2b, 0xcc, 0x33, 0xfd, 0xc9, 0xf8, 0xb3, 0xec, 0x6b, 0x57, 0xc9, 0x32, 0x7d, 0x68, 0xcf, 0x2b, 0xf9, 0x27, 0xee, 0xf9, 0xee, 0x19, 0xfd, 0x7f, 0x88, 0xff, 0x05, 0x6b, 0xe1, 0x27, 0xf4, 0x92, 0xab, 0xee, 0xe5, 0xe5, 0xb3, 0xd8,
0x6e, 0x7c, 0x75, 0xfe, 0xdf, 0xf3, 0x54, 0xa0, 0x6f, 0xd5, 0x7f, 0x24, 0xd7, 0xb7, 0xee, 0xa8, 0xff, 0xb5, 0x57, 0x06, 0xf7, 0x7e, 0x32, 0x5b, 0x52, 0xf9, 0xfb, 0xff, 0x5f, 0x1f, 0xff, 0x3f, 0xd9, 0xe1, 0xe7, 0x5b, 0xf1, 0x1f, 0xc5, 0x15,
0xd6, 0x5f, 0xcb, 0xbf, 0x79, 0xfe, 0xbf, 0xa2, 0xcf, 0xfb, 0x76, 0xfd, 0x7f, 0x61, 0x0e, 0xbd, 0xe6, 0x5b, 0x28, 0xe7, 0xc5, 0x33, 0xe2, 0x3f, 0x36, 0x8e, 0x6a, 0x57, 0xdc, 0xcb, 0x3f, 0x79, 0xfc, 0xdf, 0xbf, 0x13, 0xd4, 0xd7, 0xe3, 0xff,
0xea, 0x7f, 0x6e, 0xdc, 0x56, 0xff, 0x2b, 0x56, 0x8c, 0xf3, 0x9f, 0x7a, 0xc5, 0xf9, 0x7f, 0xef, 0x4c, 0xe3, 0xe7, 0xd7, 0x0b, 0x63, 0xe8, 0x35, 0x4f, 0xa1, 0xbc, 0x17, 0xff, 0x73, 0x77, 0x86, 0x4f, 0x1e, 0xff, 0x9f, 0x1e, 0xff, 0xb3, 0x57,
0x7f, 0x7d, 0xd2, 0xf9, 0x9a, 0xf3, 0xcd, 0x76, 0xe9, 0x77, 0x61, 0xee, 0xfa, 0x4e, 0xf2, 0x9e, 0x16, 0xb3, 0x66, 0xed, 0x25, 0x36, 0xcd, 0xff, 0x9f, 0x8e, 0x34, 0x7e, 0x7f, 0xfc, 0x8f, 0xad, 0x7b, 0xf7, 0xd7, 0xe7, 0x9b, 0xe3, 0xd0, 0x67,
0x23, 0xf3, 0x94, 0xde, 0xda, 0xa7, 0x39, 0xc5, 0xa2, 0x4a, 0xcf, 0x5d, 0xe5, 0xdd, 0x73, 0xfd, 0x7f, 0xef, 0x37, 0x8a, 0x61, 0xce, 0x79, 0x8a, 0xe3, 0xfd, 0x99, 0xcd, 0xfc, 0xae, 0xa8, 0xeb, 0xef, 0xff, 0x8f, 0x65, 0xfd, 0x7f, 0xef, 0x93,
0xaa, 0xb7, 0x50, 0xfd, 0x7f, 0xa3, 0x0f, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xdb, 0x2d, 0xbb, 0xee, 0xff, 0xef, 0x7d, 0xa2, 0xa8, 0xfb, 0x0c, 0xc5, 0xff, 0x37, 0xda, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0xee, 0xd0, 0xdb, 0x9b, 0xa8, 0x5f, 0x9f, 0x82, 0x71, 0x7b, 0xa2, 0xfe, 0xdb, 0x5d, 0x33, 0xed, 0xda, 0x44, 0xfd, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xe2, 0x73, 0xf2, 0x2b, 0x72, 0xeb, 0xf7, 0xe7, 0xc3, 0x38, 0x3d, 0xb7, 0xfe,
0x95, 0x4c, 0xf4, 0xbd, 0x44, 0xfd, 0xdf, 0x78, 0xc7, 0xc7, 0x6d, 0x89, 0xfa, 0x75, 0x77, 0x4e, 0xdf, 0x9e, 0xa8, 0xdf, 0xdd, 0xfb, 0x33, 0xe3, 0xd8, 0xdc, 0xfa, 0xe3, 0x51, 0x8e, 0xa2, 0xef, 0xe5, 0xd6, 0xf7, 0xee, 0xc7, 0xd3, 0xb7, 0x64,
0x5e, 0xf2, 0x87, 0x6e, 0x4e, 0xd4, 0xcf, 0xdf, 0x3b, 0x75, 0x6b, 0xa2, 0x3e, 0x6b, 0xef, 0x98, 0xec, 0xed, 0xfb, 0xe3, 0xd6, 0xe5, 0xd6, 0xef, 0x7b, 0x87, 0xfa, 0xf4, 0xdc, 0xfa, 0xe3, 0x26, 0x13, 0xd1, 0xc9, 0xb9, 0xf5, 0xeb, 0x6f, 0x51,
0xe0, 0x31, 0x5b, 0x75, 0x77, 0x69, 0x7c, 0xf4, 0xce, 0xcf, 0xf1, 0x8c, 0xa6, 0x15, 0x3d, 0x4a, 0xe5, 0x5d, 0x9a, 0xeb, 0x9d, 0x9a, 0x5b, 0x9f, 0xb5, 0xef, 0x4e, 0x3e, 0x6d, 0xfb, 0xe3, 0xc5, 0x6b, 0xf6, 0x46, 0x36, 0x84, 0x93, 0x6b, 0x64,
0x13, 0xf5, 0x7f, 0x4a, 0xbd, 0xee, 0x4a, 0xd4, 0x7f, 0xcf, 0x19, 0x8b, 0x4d, 0xdb, 0x1f, 0x43, 0xf3, 0xc6, 0xb5, 0x89, 0x3e, 0x5b, 0xd3, 0x8a, 0x16, 0xa5, 0xf3, 0x7d, 0xcd, 0xb3, 0x73, 0xeb, 0x7f, 0x3d, 0xc6, 0xeb, 0xd9, 0x58, 0xa3, 0x9c,
0x5a, 0xcf, 0xfd, 0xe8, 0xbd, 0xcf, 0x47, 0xf8, 0x76, 0xa2, 0xf6, 0x6f, 0xab, 0xff, 0x55, 0xfb, 0x29, 0x8a, 0xaa, 0xae, 0xf3, 0xbe, 0xef, 0x5d, 0xed, 0x48, 0x8d, 0x1b, 0xd7, 0xe6, 0xd6, 0xba, 0x6e, 0x47, 0xcf, 0xdd, 0x29, 0xe1, 0xdb, 0xb9,
0xf7, 0x95, 0x7d, 0x59, 0x41, 0x75, 0xf5, 0x1f, 0xe5, 0xaf, 0xed, 0x4d, 0xd4, 0xca, 0xae, 0x27, 0xa8, 0xff, 0xef, 0xac, 0xb5, 0xc5, 0x7f, 0x4f, 0xab, 0x1b, 0x4d, 0x51, 0xf7, 0xf4, 0x93, 0x7d, 0x59, 0x83, 0xfa, 0xe2, 0x3f, 0xda, 0x3f, 0xdb,
0x01, 0xe4, 0xd6, 0xad, 0xe6, 0x12, 0x75, 0x4f, 0xb6, 0x80, 0x9d, 0x89, 0x5a, 0x5f, 0xaf, 0xff, 0xcc, 0xac, 0x5c, 0xfd, 0x9b, 0x5b, 0xab, 0xba, 0x9e, 0x20, 0xfe, 0x7f, 0x57, 0x3b, 0x90, 0x99, 0xd1, 0x3e, 0x29, 0xf7, 0x37, 0x6b, 0xc0, 0xce,
0xdf, 0x39, 0xff, 0x8f, 0xb2, 0x57, 0x32, 0xbd, 0x46, 0x7e, 0xfd, 0xff, 0xcb, 0x4f, 0xd4, 0xfa, 0x99, 0xf5, 0x7f, 0x47, 0xdc, 0x5a, 0x5f, 0x8f, 0xff, 0x4a, 0xff, 0x20, 0xfe, 0x7f, 0xcf, 0xf8, 0xbf, 0xaf, 0x2f, 0xaf, 0xaf, 0xff, 0x7f, 0x79,
0xa2, 0xae, 0xfa, 0x3f, 0x33, 0xff, 0x5f, 0xf7, 0x54, 0x82, 0x9d, 0x89, 0xba, 0xc6, 0xff, 0x55, 0x15, 0x71, 0x77, 0x95, 0x6f, 0xad, 0xdf, 0x19, 0xff, 0x67, 0xe4, 0xd6, 0x15, 0xff, 0xef, 0x8c, 0xff, 0x6b, 0xfb, 0x13, 0xac, 0x58, 0xcd, 0xed,
0xdf, 0x95, 0x9b, 0xfb, 0xcd, 0xf3, 0xff, 0xdc, 0x93, 0x40, 0xb3, 0x3d, 0xc0, 0xbe, 0x84, 0xd6, 0x13, 0x89, 0xfa, 0x12, 0x9d, 0x4d, 0x88, 0xff, 0xd5, 0x75, 0xe7, 0xa4, 0x9d, 0x21, 0xc4, 0x78, 0x7d, 0xfe, 0x5f, 0xdb, 0x13, 0xb4, 0xda, 0x02,
0x75, 0x67, 0x8e, 0xd7, 0xf3, 0xec, 0xef, 0x9b, 0xd7, 0x63, 0x6e, 0x9f, 0xff, 0xd7, 0x5e, 0xab, 0xf9, 0xe7, 0x9a, 0xd2, 0xec, 0xcb, 0xd5, 0xfa, 0x46, 0x6e, 0x7d, 0xb9, 0x75, 0x67, 0xae, 0xd7, 0xf5, 0xe8, 0xef, 0x9b, 0xf7, 0x63, 0x4e, 0x1f,
0xea, 0x15, 0xef, 0x55, 0xf3, 0xff, 0xda, 0x2b, 0x5b, 0x12, 0x75, 0xab, 0x8f, 0xda, 0x6f, 0x5f, 0xff, 0x3b, 0xdb, 0xd3, 0xff, 0xf7, 0xde, 0xab, 0xf9, 0xff, 0x35, 0xa5, 0xd5, 0x2b, 0xde, 0xab, 0xc6, 0xff, 0x2b, 0xda, 0xd8, 0x37, 0x4b, 0x63,
0xc0, 0xee, 0x79, 0xed, 0xf9, 0x9e, 0x10, 0xf8, 0xda, 0x37, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0xbd, 0xa3, 0xfe, 0x33, 0x8c, 0xa6, 0xd1, 0x1f, 0xef, 0xb4, 0x1a, 0xb0, 0x66, 0x9c, 0xf1, 0x7e, 0x4b, 0x08, 0x7c,
0xed, 0x49, 0x2e, 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,
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, 0x56, 0xf9, 0xef, 0x3f, 0xfb, 0x01, 0xd4, 0x3f, 0x00, 0x00, 0x00, 0x80, 0x93, 0xfc, 0xfb, 0x9f, 0x72, 0x00, 0xf1, 0x0f, 0xfc, 0x75, 0xf1, 0xff, 0x2f };
0xf0, 0xeb, 0xea, 0xff, 0x3f };
// Font glyphs rectangles data (on atlas) // Font glyphs rectangles data (on atlas)
static const Rectangle darkFontRecs[189] = { static const Rectangle darkFontRecs[189] = {
@ -257,100 +257,100 @@ static const Rectangle darkFontRecs[189] = {
{ 218, 52, 6 , 9 }, { 218, 52, 6 , 9 },
{ 232, 52, 5 , 9 }, { 232, 52, 5 , 9 },
{ 245, 52, 5 , 12 }, { 245, 52, 5 , 12 },
{ 258, 52, 5 , 9 }, { 258, 52, 0 , 0 },
{ 271, 52, 5 , 10 }, { 266, 52, 5 , 10 },
{ 284, 52, 7 , 9 }, { 279, 52, 7 , 9 },
{ 299, 52, 5 , 9 }, { 294, 52, 0 , 0 },
{ 312, 52, 6 , 5 }, { 302, 52, 6 , 5 },
{ 326, 52, 5 , 3 }, { 316, 52, 5 , 3 },
{ 339, 52, 7 , 9 }, { 329, 52, 7 , 9 },
{ 354, 52, 5 , 9 }, { 344, 52, 0 , 0 },
{ 367, 52, 4 , 4 }, { 352, 52, 4 , 4 },
{ 379, 52, 5 , 7 }, { 364, 52, 5 , 7 },
{ 392, 52, 5 , 9 }, { 377, 52, 0 , 0 },
{ 405, 52, 5 , 9 }, { 385, 52, 0 , 0 },
{ 418, 52, 5 , 12 }, { 393, 52, 5 , 12 },
{ 431, 52, 5 , 9 }, { 406, 52, 5 , 9 },
{ 444, 52, 7 , 9 }, { 419, 52, 7 , 9 },
{ 459, 52, 1 , 1 }, { 434, 52, 1 , 1 },
{ 468, 52, 5 , 10 }, { 443, 52, 5 , 10 },
{ 481, 52, 5 , 9 }, { 456, 52, 0 , 0 },
{ 494, 52, 5 , 9 }, { 464, 52, 0 , 0 },
{ 4, 76, 6 , 5 }, { 472, 52, 6 , 5 },
{ 18, 76, 9 , 9 }, { 486, 52, 9 , 9 },
{ 35, 76, 9 , 7 }, { 4, 76, 9 , 7 },
{ 52, 76, 5 , 11 }, { 21, 76, 5 , 11 },
{ 65, 76, 5 , 9 }, { 34, 76, 5 , 9 },
{ 78, 76, 5 , 12 }, { 47, 76, 5 , 12 },
{ 91, 76, 5 , 12 }, { 60, 76, 5 , 12 },
{ 104, 76, 5 , 12 }, { 73, 76, 5 , 12 },
{ 117, 76, 6 , 12 }, { 86, 76, 6 , 12 },
{ 131, 76, 5 , 11 }, { 100, 76, 5 , 11 },
{ 144, 76, 5 , 13 }, { 113, 76, 5 , 13 },
{ 157, 76, 9 , 9 }, { 126, 76, 9 , 9 },
{ 174, 76, 5 , 12 }, { 143, 76, 5 , 12 },
{ 187, 76, 5 , 12 }, { 156, 76, 5 , 12 },
{ 200, 76, 5 , 12 }, { 169, 76, 5 , 12 },
{ 213, 76, 5 , 12 }, { 182, 76, 5 , 12 },
{ 226, 76, 5 , 11 }, { 195, 76, 5 , 11 },
{ 239, 76, 2 , 12 }, { 208, 76, 2 , 12 },
{ 249, 76, 2 , 12 }, { 218, 76, 2 , 12 },
{ 259, 76, 3 , 12 }, { 228, 76, 3 , 12 },
{ 270, 76, 3 , 11 }, { 239, 76, 3 , 11 },
{ 281, 76, 6 , 9 }, { 250, 76, 6 , 9 },
{ 295, 76, 6 , 12 }, { 264, 76, 6 , 12 },
{ 309, 76, 5 , 12 }, { 278, 76, 5 , 12 },
{ 322, 76, 5 , 12 }, { 291, 76, 5 , 12 },
{ 335, 76, 5 , 12 }, { 304, 76, 5 , 12 },
{ 348, 76, 6 , 12 }, { 317, 76, 6 , 12 },
{ 362, 76, 5 , 11 }, { 331, 76, 5 , 11 },
{ 375, 76, 5 , 5 }, { 344, 76, 5 , 5 },
{ 388, 76, 7 , 9 }, { 357, 76, 7 , 9 },
{ 403, 76, 5 , 12 }, { 372, 76, 5 , 12 },
{ 416, 76, 5 , 12 }, { 385, 76, 5 , 12 },
{ 429, 76, 5 , 12 }, { 398, 76, 5 , 12 },
{ 442, 76, 5 , 11 }, { 411, 76, 5 , 11 },
{ 455, 76, 5 , 12 }, { 424, 76, 5 , 12 },
{ 468, 76, 5 , 9 }, { 437, 76, 5 , 9 },
{ 481, 76, 5 , 9 }, { 450, 76, 5 , 9 },
{ 494, 76, 5 , 10 }, { 463, 76, 5 , 10 },
{ 4, 100, 5 , 10 }, { 476, 76, 5 , 10 },
{ 17, 100, 5 , 10 }, { 489, 76, 5 , 10 },
{ 30, 100, 6 , 10 }, { 4, 100, 6 , 10 },
{ 44, 100, 5 , 9 }, { 18, 100, 5 , 9 },
{ 57, 100, 5 , 11 }, { 31, 100, 5 , 11 },
{ 70, 100, 9 , 7 }, { 44, 100, 9 , 7 },
{ 61, 100, 5 , 10 },
{ 74, 100, 5 , 10 },
{ 87, 100, 5 , 10 }, { 87, 100, 5 , 10 },
{ 100, 100, 5 , 10 }, { 100, 100, 5 , 10 },
{ 113, 100, 5 , 10 }, { 113, 100, 5 , 9 },
{ 126, 100, 5 , 10 }, { 126, 100, 2 , 10 },
{ 139, 100, 5 , 9 }, { 136, 100, 2 , 10 },
{ 152, 100, 2 , 10 }, { 146, 100, 3 , 10 },
{ 162, 100, 2 , 10 }, { 157, 100, 3 , 9 },
{ 172, 100, 3 , 10 }, { 168, 100, 6 , 9 },
{ 183, 100, 3 , 9 }, { 182, 100, 6 , 10 },
{ 194, 100, 6 , 9 }, { 196, 100, 5 , 10 },
{ 208, 100, 6 , 10 }, { 209, 100, 5 , 10 },
{ 222, 100, 5 , 10 }, { 222, 100, 5 , 10 },
{ 235, 100, 5 , 10 }, { 235, 100, 6 , 10 },
{ 248, 100, 5 , 10 }, { 249, 100, 5 , 9 },
{ 261, 100, 6 , 10 }, { 262, 100, 5 , 5 },
{ 275, 100, 5 , 9 }, { 275, 100, 7 , 7 },
{ 288, 100, 5 , 5 }, { 290, 100, 5 , 10 },
{ 301, 100, 7 , 7 }, { 303, 100, 5 , 10 },
{ 316, 100, 5 , 10 }, { 316, 100, 5 , 10 },
{ 329, 100, 5 , 10 }, { 329, 100, 5 , 9 },
{ 342, 100, 5 , 10 }, { 342, 100, 5 , 12 },
{ 355, 100, 5 , 9 }, { 355, 100, 5 , 11 },
{ 368, 100, 5 , 12 }, { 368, 100, 5 , 11 },
{ 381, 100, 5 , 11 },
{ 394, 100, 5 , 11 },
}; };
// Font glyphs info data // Font glyphs info data
// NOTE: No glyphs.image data provided // NOTE: No glyphs.image data provided
static const GlyphInfo darkFontGlyphs[189] = { static const GlyphInfo darkFontGlyphs[189] = {
{ 32, 0, 13, 4, { 0 }}, { 32, 0, 0, 4, { 0 }},
{ 33, 2, 4, 5, { 0 }}, { 33, 2, 4, 5, { 0 }},
{ 34, 2, 4, 7, { 0 }}, { 34, 2, 4, 7, { 0 }},
{ 35, 1, 4, 8, { 0 }}, { 35, 1, 4, 8, { 0 }},
@ -451,25 +451,25 @@ static const GlyphInfo darkFontGlyphs[189] = {
{ 8364, 1, 4, 8, { 0 }}, { 8364, 1, 4, 8, { 0 }},
{ 165, 1, 4, 7, { 0 }}, { 165, 1, 4, 7, { 0 }},
{ 352, 1, 1, 7, { 0 }}, { 352, 1, 1, 7, { 0 }},
{ 167, 2, 4, 9, { 0 }}, { 167, 0, 0, 0, { 0 }},
{ 353, 1, 3, 7, { 0 }}, { 353, 1, 3, 7, { 0 }},
{ 169, 1, 4, 9, { 0 }}, { 169, 1, 4, 9, { 0 }},
{ 170, 2, 4, 9, { 0 }}, { 170, 0, 0, 0, { 0 }},
{ 171, 1, 6, 8, { 0 }}, { 171, 1, 6, 8, { 0 }},
{ 172, 1, 8, 7, { 0 }}, { 172, 1, 8, 7, { 0 }},
{ 174, 1, 4, 9, { 0 }}, { 174, 1, 4, 9, { 0 }},
{ 175, 2, 4, 9, { 0 }}, { 175, 0, 0, 0, { 0 }},
{ 176, 1, 4, 6, { 0 }}, { 176, 1, 4, 6, { 0 }},
{ 177, 1, 6, 7, { 0 }}, { 177, 1, 6, 7, { 0 }},
{ 178, 2, 4, 9, { 0 }}, { 178, 0, 0, 0, { 0 }},
{ 179, 2, 4, 9, { 0 }}, { 179, 0, 0, 0, { 0 }},
{ 381, 1, 1, 7, { 0 }}, { 381, 1, 1, 7, { 0 }},
{ 181, 1, 6, 7, { 0 }}, { 181, 1, 6, 7, { 0 }},
{ 182, 1, 4, 9, { 0 }}, { 182, 1, 4, 9, { 0 }},
{ 183, 2, 8, 5, { 0 }}, { 183, 2, 8, 5, { 0 }},
{ 382, 1, 3, 7, { 0 }}, { 382, 1, 3, 7, { 0 }},
{ 185, 2, 4, 9, { 0 }}, { 185, 0, 0, 0, { 0 }},
{ 186, 2, 4, 9, { 0 }}, { 186, 0, 0, 0, { 0 }},
{ 187, 1, 6, 8, { 0 }}, { 187, 1, 6, 8, { 0 }},
{ 338, 1, 4, 11, { 0 }}, { 338, 1, 4, 11, { 0 }},
{ 339, 1, 6, 11, { 0 }}, { 339, 1, 6, 11, { 0 }},

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

View File

@ -19,4 +19,4 @@ Several options are provided to add the style to a `raygui` application, choose
## about font ## about font
raylib font by Ramon Santamaria ([@raysan5](https://twitter.com/raysan5)). raylib font by Ramon Santamaria ([@raysan5](https://github.com/raysan5)).

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 122 KiB

View File

@ -7,7 +7,7 @@
// more info and bugs-report: github.com/raysan5/raygui // // more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com // // feedback and support: ray[at]raylibtech.com //
// // // //
// Copyright (c) 2020-2023 raylib technologies (@raylibtech) // // Copyright (c) 2020-2025 raylib technologies (@raylibtech) //
// // // //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
@ -15,155 +15,153 @@
// Custom style name: Enefete // Custom style name: Enefete
static const GuiStyleProp enefeteStyleProps[ENEFETE_STYLE_PROPS_COUNT] = { static const GuiStyleProp enefeteStyleProps[ENEFETE_STYLE_PROPS_COUNT] = {
{ 0, 0, 0x1980d5ff }, // DEFAULT_BORDER_COLOR_NORMAL { 0, 0, (int)0x1980d5ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, 0x4df3ebff }, // DEFAULT_BASE_COLOR_NORMAL { 0, 1, (int)0x4df3ebff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, 0x103e60ff }, // DEFAULT_TEXT_COLOR_NORMAL { 0, 2, (int)0x103e60ff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, 0xe7e2f7ff }, // DEFAULT_BORDER_COLOR_FOCUSED { 0, 3, (int)0xe7e2f7ff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, 0x23d4ddff }, // DEFAULT_BASE_COLOR_FOCUSED { 0, 4, (int)0x23d4ddff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, 0xf1f1f1ff }, // DEFAULT_TEXT_COLOR_FOCUSED { 0, 5, (int)0xf1f1f1ff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, 0x6413a6ff }, // DEFAULT_BORDER_COLOR_PRESSED { 0, 6, (int)0x6413a6ff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, 0xea66d9ff }, // DEFAULT_BASE_COLOR_PRESSED { 0, 7, (int)0xea66d9ff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, 0x9f00bbff }, // DEFAULT_TEXT_COLOR_PRESSED { 0, 8, (int)0x9f00bbff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, 0x4b909eff }, // DEFAULT_BORDER_COLOR_DISABLED { 0, 9, (int)0x4b909eff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, 0x73c7d0ff }, // DEFAULT_BASE_COLOR_DISABLED { 0, 10, (int)0x73c7d0ff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, 0x448894ff }, // DEFAULT_TEXT_COLOR_DISABLED { 0, 11, (int)0x448894ff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, 0x00000010 }, // DEFAULT_TEXT_SIZE { 0, 16, (int)0x00000010 }, // DEFAULT_TEXT_SIZE
{ 0, 17, 0x00000000 }, // DEFAULT_TEXT_SPACING { 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, 0x1d3f6cff }, // DEFAULT_LINE_COLOR { 0, 18, (int)0x1d3f6cff }, // DEFAULT_LINE_COLOR
{ 0, 19, 0x29c9e5ff }, // DEFAULT_BACKGROUND_COLOR { 0, 19, (int)0x29c9e5ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, 0x00000018 }, // DEFAULT_TEXT_LINE_SPACING { 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
}; };
// WARNING: This style uses a custom font: "GenericMobileSystemNuevo.ttf" (size: 16, spacing: 0) // WARNING: This style uses a custom font: "GMSN.ttf" (size: 16, spacing: 0)
#define ENEFETE_STYLE_FONT_ATLAS_COMP_SIZE 2462 #define ENEFETE_STYLE_FONT_ATLAS_COMP_SIZE 2434
// Font atlas image pixels data: DEFLATE compressed // Font atlas image pixels data: DEFLATE compressed
static unsigned char enefeteFontData[ENEFETE_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed, static unsigned char enefeteFontData[ENEFETE_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
0xdd, 0x59, 0xb2, 0xeb, 0x34, 0x10, 0x00, 0x50, 0x6d, 0x83, 0xfd, 0xef, 0x8d, 0x6d, 0x88, 0xa2, 0x28, 0x0a, 0xb8, 0x8f, 0xdd, 0x5b, 0x6e, 0xe4, 0x36, 0x10, 0x05, 0x50, 0xee, 0x7f, 0xa1, 0xd9, 0x06, 0x83, 0x20, 0x18, 0x24, 0xe3, 0xb1, 0x45,
0x58, 0x52, 0x77, 0xcb, 0x53, 0x0e, 0xa7, 0xf8, 0xb9, 0x7e, 0x49, 0x6c, 0xd9, 0x6d, 0x0d, 0xb6, 0x5a, 0xbd, 0x01, 0x00, 0xb2, 0xaa, 0xa8, 0x57, 0x9f, 0x1c, 0xe4, 0xc7, 0x1a, 0xb7, 0xd5, 0x94, 0xae, 0x44, 0x3d, 0x58, 0xec, 0x0d, 0x00, 0x00,
0x00, 0x00, 0x5f, 0xef, 0xcf, 0xff, 0xfe, 0xff, 0x6f, 0xff, 0xb7, 0xe5, 0x78, 0xdb, 0xdf, 0xff, 0x62, 0xb4, 0xa5, 0x7f, 0x00, 0xf8, 0x78, 0xff, 0xfc, 0xf7, 0xfd, 0xcf, 0xbe, 0x5b, 0x72, 0xbc, 0xec, 0xd7, 0xbf, 0x18, 0x2d, 0xe9, 0x3f, 0xae,
0xdc, 0x93, 0x7e, 0xb0, 0x6d, 0xee, 0xb7, 0x62, 0xfb, 0xd5, 0x97, 0xca, 0xa6, 0x1f, 0x94, 0x5a, 0x4b, 0xff, 0xbd, 0x1d, 0x49, 0x3f, 0x58, 0x36, 0xf7, 0xb7, 0x62, 0xeb, 0xd5, 0x97, 0xda, 0xa6, 0x1f, 0xb4, 0x5a, 0x4b, 0xff, 0xbc, 0x1d, 0xb6,
0x96, 0x7d, 0x0f, 0x94, 0x5e, 0x3b, 0xdc, 0xe7, 0xcf, 0x9f, 0x1c, 0x6f, 0xa9, 0xdc, 0xcf, 0x95, 0x32, 0xad, 0x3c, 0x3f, 0x7d, 0x0f, 0xb4, 0x5e, 0x3b, 0x5c, 0xe7, 0x9f, 0x7f, 0x73, 0xbc, 0xa4, 0x72, 0x3d, 0x57, 0xda, 0xb4, 0x72, 0xfb, 0xac,
0x2b, 0x25, 0xd8, 0x96, 0xb7, 0x1e, 0x97, 0x54, 0x9b, 0x2a, 0xc7, 0xf1, 0x37, 0xf7, 0x9b, 0xc4, 0xff, 0xf1, 0xd1, 0xfc, 0xb4, 0x60, 0x5b, 0x5e, 0x7a, 0xdc, 0x52, 0x6d, 0xaa, 0x1d, 0xc7, 0x9f, 0xdc, 0x6f, 0x92, 0xff, 0xe3, 0x6f, 0xf3, 0x2b,
0x1d, 0x83, 0x47, 0x67, 0x7f, 0xfe, 0xda, 0x68, 0xd3, 0xf7, 0x84, 0x7f, 0x7e, 0xbb, 0x2e, 0x42, 0xb3, 0xdf, 0xd2, 0x87, 0x83, 0x47, 0x5b, 0x7f, 0x7e, 0xdf, 0x68, 0xd3, 0xc7, 0x84, 0xff, 0xfe, 0x76, 0x5d, 0x42, 0xb3, 0x9f, 0xd2, 0x87, 0x47,
0x77, 0xc2, 0x95, 0x12, 0x3a, 0x2e, 0xbd, 0x16, 0x8a, 0x89, 0xd1, 0x77, 0x46, 0xf6, 0x65, 0x66, 0xdb, 0xdc, 0xfe, 0xc5, 0xc2, 0x95, 0x16, 0x3a, 0x6e, 0xbd, 0x16, 0xca, 0xc4, 0xe8, 0x33, 0x23, 0xeb, 0x32, 0xb3, 0x6c, 0x6e, 0xfd, 0x62, 0xfb,
0xae, 0xf9, 0xf1, 0xf7, 0x1d, 0x5f, 0x69, 0x47, 0x67, 0x78, 0x74, 0xe5, 0x1e, 0x1f, 0xdf, 0xfa, 0x59, 0xcd, 0x44, 0xfd, 0xfc, 0xf8, 0xf3, 0x8e, 0xf7, 0xb4, 0xa3, 0x2d, 0x3c, 0xda, 0x73, 0x8f, 0xbf, 0xdf, 0xfa, 0x56, 0xcd, 0xa4, 0x7e, 0x4f,
0x9e, 0xf8, 0xef, 0xff, 0x8a, 0xb3, 0x1e, 0x8c, 0xc1, 0x7c, 0xdd, 0xb0, 0x5e, 0x2b, 0x1c, 0xdf, 0xb3, 0xf6, 0x95, 0xf0, 0xfe, 0xfb, 0xff, 0x72, 0xd6, 0x83, 0x19, 0xcc, 0x9f, 0x1b, 0xd6, 0xcf, 0x0a, 0xc7, 0xc7, 0xac, 0x7d, 0x2d, 0x7c, 0xd4,
0x51, 0x39, 0xf5, 0xc0, 0x35, 0xbc, 0x7e, 0xce, 0xa2, 0xbf, 0xb3, 0x23, 0xfe, 0x2b, 0xa2, 0xb8, 0x4d, 0xd4, 0x88, 0x91, 0x4e, 0x3d, 0xb0, 0x0f, 0xaf, 0x6f, 0xb3, 0xe8, 0xdf, 0xd9, 0x91, 0xff, 0x8a, 0x14, 0xb7, 0x89, 0x33, 0x62, 0xa4, 0x4f,
0x36, 0xc5, 0x71, 0x8b, 0x33, 0x1f, 0xe1, 0xa3, 0x7d, 0x89, 0xb4, 0x67, 0xf2, 0x65, 0xb9, 0xda, 0xe6, 0xd8, 0x17, 0xff, 0x71, 0xdc, 0xe3, 0xcc, 0x27, 0x7c, 0xb4, 0x2e, 0x91, 0xfe, 0x4c, 0xbe, 0x2d, 0x57, 0xfb, 0x1c, 0xfb, 0xf2, 0x5f, 0x71,
0x15, 0xf5, 0xed, 0x7a, 0x5d, 0xb2, 0xaf, 0x7c, 0x67, 0xea, 0xeb, 0xfb, 0xc7, 0xff, 0xfa, 0xb1, 0x55, 0xc4, 0x7f, 0xcd, 0xbe, 0x5d, 0x3f, 0x97, 0xec, 0x6b, 0xdf, 0x99, 0xf3, 0xf5, 0xfd, 0xf3, 0xbf, 0xfe, 0xdd, 0x2a, 0xf2, 0x5f, 0xb3, 0x55,
0x59, 0x59, 0x8f, 0xff, 0x2e, 0xfe, 0xa7, 0xeb, 0xff, 0xcf, 0xa5, 0xde, 0x83, 0xfd, 0xaf, 0x7c, 0xaf, 0xbd, 0xaa, 0x9d, 0xd6, 0xf3, 0xdf, 0xe5, 0x7f, 0xfa, 0xfc, 0xff, 0x73, 0xab, 0xf7, 0xe0, 0xf5, 0x57, 0xfe, 0xaa, 0xbd, 0xaa, 0x9f, 0x7f,
0x7f, 0x6d, 0xfc, 0x8f, 0xfa, 0x83, 0x6d, 0x39, 0xfe, 0x63, 0xbd, 0xcf, 0x48, 0x6f, 0xa3, 0xaa, 0xfd, 0xbf, 0xb7, 0xf5, 0x6d, 0xfe, 0x47, 0xd7, 0x83, 0x6d, 0x39, 0xff, 0xb1, 0xab, 0xcf, 0xc8, 0xd5, 0x46, 0x55, 0xff, 0x7f, 0x6f, 0xef, 0xe1,
0x70, 0xdc, 0x7b, 0x8c, 0x44, 0xf8, 0xda, 0x98, 0x47, 0xcd, 0x37, 0x5f, 0x11, 0xff, 0x6d, 0x62, 0x6f, 0xfa, 0xb0, 0xff, 0xf8, 0xea, 0x31, 0x92, 0xf0, 0xb5, 0x7b, 0x1e, 0x35, 0x9f, 0x7c, 0x45, 0xfe, 0xdb, 0xc4, 0xda, 0xf4, 0xe1, 0xf5, 0xff,
0x3f, 0x7b, 0x87, 0x5f, 0x8b, 0xff, 0xba, 0xba, 0xe3, 0xca, 0xf8, 0xef, 0xc1, 0x11, 0xb1, 0xea, 0x7e, 0x7c, 0xfc, 0xd8, 0xec, 0x11, 0x7e, 0x2d, 0xff, 0x75, 0xe7, 0x8e, 0x2b, 0xf3, 0xdf, 0x83, 0x77, 0xc4, 0xaa, 0xaf, 0xe3, 0xe3, 0xdf, 0x6d,
0xd6, 0xc6, 0xe7, 0xce, 0xeb, 0xff, 0x8f, 0xda, 0x81, 0x99, 0xf8, 0xff, 0x96, 0xf6, 0xff, 0x4c, 0x4b, 0x7b, 0x54, 0x8a, 0xed, 0xfe, 0xdc, 0x79, 0xd7, 0xff, 0xa3, 0x7e, 0x60, 0x26, 0xff, 0x9f, 0xd2, 0xff, 0x9f, 0xe9, 0x69, 0x8f, 0x5a, 0x71,
0xf3, 0xf7, 0xb3, 0x2b, 0x6a, 0xf3, 0x6b, 0xe3, 0xbf, 0x4f, 0x8d, 0x61, 0xdf, 0x3b, 0xfe, 0xdb, 0x72, 0x2f, 0xaf, 0xf2, 0xfe, 0x78, 0x76, 0xc5, 0xd9, 0xfc, 0xda, 0xfc, 0xf7, 0xa9, 0x7b, 0xd8, 0xf7, 0xce, 0x7f, 0x5b, 0xbe, 0xca, 0xab, 0xdc,
0xda, 0x8d, 0x5e, 0x51, 0xa3, 0x2b, 0x77, 0xe6, 0xae, 0x76, 0xcf, 0xf8, 0x8f, 0x5d, 0xcf, 0x7d, 0xd8, 0xca, 0xef, 0x89, 0x77, 0xa3, 0x7b, 0xd4, 0x68, 0xcf, 0x9d, 0x39, 0xaa, 0xdd, 0x33, 0xff, 0xb1, 0xfd, 0xb9, 0x0f, 0x7b, 0xf9, 0x3d, 0x91,
0xf8, 0x6f, 0xaf, 0x89, 0xff, 0x1e, 0x1c, 0xed, 0xf8, 0xdc, 0xde, 0x8b, 0x8d, 0xc7, 0x45, 0x5a, 0xf2, 0x99, 0x36, 0x4a, 0xff, 0xf6, 0x9a, 0xfc, 0xf7, 0xe0, 0xdd, 0x8e, 0x9f, 0xfb, 0x7b, 0xb1, 0xfb, 0x71, 0x91, 0x9e, 0x7c, 0xa6, 0x8f, 0x52,
0x55, 0xfc, 0xdf, 0xe3, 0x4c, 0xaa, 0xff, 0x2b, 0xc6, 0xff, 0xdb, 0x61, 0x0b, 0xff, 0xbb, 0xe2, 0xff, 0xf8, 0xf9, 0x5f, 0x95, 0xff, 0x7b, 0x6c, 0x49, 0xe7, 0xff, 0x8a, 0xfb, 0xff, 0xed, 0xb0, 0x87, 0xff, 0x59, 0xf9, 0x3f, 0x7e, 0xfe, 0xd7,
0xbb, 0xfd, 0xb3, 0xba, 0x68, 0xfc, 0xd7, 0x8c, 0xff, 0x9f, 0x7f, 0xb7, 0x9e, 0xe9, 0xb9, 0xe6, 0xe2, 0xff, 0x4e, 0xcf, 0x6e, 0xff, 0xac, 0x2e, 0x9a, 0xff, 0x9a, 0xfb, 0xff, 0xe7, 0x1f, 0xad, 0x67, 0xae, 0x5c, 0x73, 0xf9, 0xbf, 0xd3, 0xf3,
0xff, 0xf6, 0xc6, 0xff, 0xe8, 0xa9, 0xf7, 0x9b, 0xda, 0xff, 0x95, 0xe3, 0xf8, 0xf1, 0x77, 0x6e, 0xf6, 0xbd, 0x53, 0xd4, 0xbf, 0xbd, 0xf9, 0x1f, 0x3d, 0xf5, 0x7e, 0x53, 0xff, 0xbf, 0xf2, 0x3e, 0x7e, 0xfc, 0x9d, 0x9b, 0x7d, 0xef, 0x14, 0xb5,
0x42, 0x6f, 0x72, 0xdd, 0x33, 0xfa, 0xa3, 0xcf, 0x81, 0x72, 0xa3, 0x74, 0x57, 0xbf, 0xff, 0x53, 0x5f, 0x82, 0xe7, 0xed, 0xd0, 0x9b, 0x5c, 0xf7, 0x4c, 0x7f, 0xf4, 0x39, 0x50, 0xee, 0x2e, 0xdd, 0xd5, 0xef, 0xff, 0xd4, 0xb7, 0xe0, 0x79, 0xeb,
0x4f, 0xbf, 0x71, 0x9b, 0x91, 0x77, 0xbd, 0x25, 0xeb, 0xea, 0x3a, 0xf3, 0xf9, 0x6c, 0xfc, 0xb7, 0x9c, 0x1f, 0x76, 0xd6, 0xd3, 0x6f, 0xdc, 0x67, 0xe4, 0x5d, 0x6f, 0xc9, 0xda, 0xbb, 0xce, 0x7c, 0x3e, 0x1b, 0xff, 0x5b, 0xb6, 0x0f, 0x3b, 0xcf,
0x6c, 0x4a, 0xe2, 0x19, 0x63, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xe4, 0xf9, 0x6c, 0x5a, 0xe2, 0x19, 0xf7, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xc9, 0xe3,
0x0b, 0x91, 0xb9, 0x86, 0xd1, 0x3c, 0x04, 0xb5, 0xf9, 0x10, 0xfa, 0x8f, 0x3c, 0xac, 0xab, 0xdf, 0x3d, 0x3b, 0xd7, 0x32, 0x17, 0x22, 0x63, 0x0d, 0xa3, 0x75, 0x08, 0x6a, 0xeb, 0x21, 0xf4, 0x2f, 0x75, 0x58, 0x57, 0x3f, 0x7b, 0x76, 0xac, 0x65,
0x33, 0x4f, 0xb3, 0xf6, 0xb3, 0x55, 0x99, 0x25, 0x6a, 0x67, 0x9e, 0x8f, 0xf3, 0xdd, 0xac, 0x66, 0x6b, 0x8e, 0x65, 0x41, 0x66, 0x9c, 0x66, 0xed, 0xef, 0x56, 0x55, 0x96, 0xa8, 0x1d, 0x79, 0x3e, 0xae, 0x77, 0xb3, 0x5a, 0xad, 0x39, 0x56, 0x05,
0x5b, 0xcf, 0x69, 0x9e, 0xc9, 0xc3, 0x57, 0x3d, 0xb7, 0xba, 0x26, 0x3f, 0xda, 0xfc, 0x9c, 0xf7, 0x9a, 0x4c, 0x23, 0x75, 0x6d, 0xbd, 0xa6, 0x79, 0xa6, 0x0e, 0x5f, 0xf5, 0xd8, 0xea, 0x9a, 0xfa, 0x68, 0xf3, 0x63, 0xde, 0x6b, 0x2a, 0x8d, 0xd4,
0xf1, 0xbf, 0x7e, 0x1e, 0xfa, 0x8f, 0xfd, 0xe8, 0x17, 0x64, 0x62, 0xa8, 0xdf, 0x3a, 0xf7, 0xf7, 0x3b, 0xc5, 0xff, 0xec, 0xe5, 0x7f, 0x7d, 0x3b, 0xf4, 0x2f, 0xeb, 0xd1, 0x2f, 0xa8, 0xc4, 0x50, 0xbf, 0x74, 0xee, 0xe7, 0x77, 0xca, 0xff, 0xec,
0x3d, 0x38, 0x7b, 0xf5, 0xc6, 0x67, 0xdc, 0x8d, 0xb2, 0x4f, 0x5c, 0x9f, 0x5b, 0xa5, 0x15, 0xe5, 0x47, 0xad, 0x8f, 0xff, 0x31, 0x38, 0xbb, 0xf7, 0xc6, 0x47, 0xdc, 0x8d, 0xaa, 0x4f, 0x5c, 0x5f, 0x5b, 0xa5, 0x15, 0xd5, 0x47, 0xad, 0xcf, 0x7f,
0x76, 0x52, 0xfd, 0x1f, 0x8d, 0xff, 0x3e, 0x5c, 0xcd, 0xe6, 0xbe, 0xf1, 0xbf, 0x9e, 0x77, 0x22, 0xfb, 0xab, 0xb9, 0x95, 0x3b, 0xe9, 0xfc, 0x1f, 0xcd, 0x7f, 0x1f, 0xce, 0x66, 0x73, 0xdf, 0xfc, 0xaf, 0xd7, 0x9d, 0xc8, 0xfe, 0xd5, 0xdc, 0x4c,
0x1c, 0xe2, 0xb9, 0xc6, 0xf3, 0xf1, 0x9f, 0xcb, 0x14, 0x74, 0x6e, 0xdd, 0x7a, 0x7d, 0xfc, 0x47, 0x4b, 0xe4, 0xaa, 0xf8, 0x0e, 0xf1, 0x5a, 0xe3, 0xf9, 0xfc, 0xe7, 0x2a, 0x05, 0x9d, 0x7b, 0x6e, 0xbd, 0x3e, 0xff, 0xd1, 0x16, 0xb9, 0x2a, 0xff,
0x8f, 0x5f, 0x25, 0x7d, 0x98, 0xcd, 0xfa, 0x8e, 0xf1, 0xdf, 0xbf, 0x3e, 0xfe, 0xeb, 0x73, 0xf9, 0x46, 0x23, 0x20, 0x92, 0xf1, 0xbd, 0xa4, 0x0f, 0xab, 0x59, 0xdf, 0x31, 0xff, 0xfd, 0xe3, 0xf3, 0x5f, 0x5f, 0xcb, 0x37, 0x9a, 0x80, 0x48, 0x1d,
0x07, 0x7d, 0xa6, 0x5f, 0xbd, 0xda, 0xb3, 0x8b, 0xf7, 0xbb, 0xa2, 0xf5, 0xff, 0xe8, 0xf3, 0x33, 0x47, 0x72, 0x75, 0xfc, 0xf4, 0x99, 0xeb, 0xea, 0xd5, 0x2b, 0xbb, 0xf8, 0x75, 0x57, 0xf4, 0xfc, 0x3f, 0xfa, 0xfd, 0x99, 0x6f, 0x72, 0x75, 0xfe,
0xb7, 0x61, 0x84, 0xf7, 0x44, 0x94, 0xc6, 0x47, 0x40, 0x32, 0x39, 0xaf, 0xae, 0x89, 0xff, 0x16, 0x5a, 0x31, 0x30, 0x5e, 0xdb, 0x30, 0xe1, 0x3d, 0x91, 0xd2, 0xf8, 0x1d, 0x90, 0x4c, 0xcd, 0xab, 0x6b, 0xf2, 0xdf, 0x42, 0x33, 0x06, 0xc6, 0xcf,
0xcf, 0xdf, 0x3d, 0xfe, 0xab, 0xfb, 0x06, 0xd1, 0x11, 0x83, 0xea, 0x7d, 0xbc, 0x5f, 0xff, 0xbf, 0x17, 0xb4, 0x12, 0x77, 0xf3, 0x77, 0xcf, 0x7f, 0xf5, 0xb5, 0x41, 0xf4, 0x8e, 0x41, 0xf5, 0x3a, 0xde, 0xef, 0xfa, 0xbf, 0x17, 0xf4, 0x12, 0x77,
0xc4, 0x7f, 0xb6, 0x7c, 0xa2, 0xd1, 0x14, 0x8b, 0xff, 0xf9, 0xda, 0x3d, 0xb6, 0x9a, 0x40, 0x6c, 0xdb, 0x7b, 0xe3, 0xbf, 0xe4, 0x3f, 0xdb, 0x3e, 0xd1, 0x34, 0xc5, 0xf2, 0x3f, 0x7f, 0x76, 0x8f, 0xcd, 0x26, 0x10, 0x5b, 0xf6, 0xde, 0xfc, 0xd7,
0x36, 0x7f, 0xea, 0xfa, 0x58, 0xf1, 0x9b, 0xe2, 0x3f, 0xda, 0xff, 0x9f, 0xef, 0x71, 0xdd, 0x2b, 0xfe, 0xdb, 0xc4, 0xfa, 0xd6, 0x4f, 0x5d, 0xbf, 0x57, 0xfc, 0xa6, 0xfc, 0x47, 0xaf, 0xff, 0xe7, 0xaf, 0xb8, 0xee, 0x95, 0xff, 0x36, 0x31, 0x3f,
0x3c, 0x67, 0xc7, 0xff, 0x28, 0xdb, 0xea, 0xdb, 0xe2, 0x3f, 0x1a, 0x5b, 0xd1, 0xf5, 0x8c, 0x5a, 0xb8, 0xa6, 0x7b, 0x7b, 0xcf, 0xd9, 0xf9, 0x1f, 0x55, 0x5b, 0x7d, 0x5b, 0xfe, 0xa3, 0xd9, 0x8a, 0xce, 0x67, 0xd4, 0xc2, 0x67, 0xba, 0xb7, 0x9f,
0xfd, 0xdf, 0x5e, 0x1a, 0xff, 0xf1, 0xf5, 0x65, 0x9e, 0x15, 0xff, 0xd5, 0xad, 0x86, 0xeb, 0xf3, 0xea, 0x45, 0x47, 0x1b, 0xff, 0xdb, 0x4b, 0xf3, 0x1f, 0x9f, 0x5f, 0xe6, 0x59, 0xf9, 0xaf, 0xee, 0x35, 0x5c, 0x5f, 0x57, 0x2f, 0x7a, 0xb7, 0x31,
0xe3, 0xa3, 0x94, 0xef, 0x6e, 0xff, 0xf7, 0x0d, 0xad, 0xf0, 0xec, 0xf3, 0xff, 0xab, 0xe2, 0x7f, 0xd7, 0xf3, 0xbf, 0x36, 0x7e, 0x97, 0xf2, 0xdd, 0xfd, 0xff, 0xbe, 0xa1, 0x17, 0x9e, 0x7d, 0xfe, 0x7f, 0x55, 0xfe, 0x77, 0x3d, 0xff, 0x6b, 0xd3,
0xbd, 0xe6, 0xdf, 0xae, 0xbd, 0x12, 0xff, 0xd5, 0xf1, 0x5f, 0xb9, 0x76, 0xe2, 0xda, 0xbf, 0xa8, 0x7e, 0xff, 0xa7, 0x7e, 0x73, 0xfe, 0xed, 0x5a, 0x2b, 0xf9, 0xaf, 0xce, 0x7f, 0xe5, 0xdc, 0x89, 0x6b, 0xff, 0xa2, 0xfa, 0xfd, 0x9f, 0xfa, 0x3b,
0x24, 0x6d, 0xff, 0xfb, 0x3f, 0x7b, 0xca, 0xa7, 0x4d, 0xad, 0x98, 0xb6, 0xfe, 0xab, 0x6d, 0x72, 0x55, 0xe3, 0xd8, 0x3e, 0x69, 0xfb, 0xdf, 0xff, 0xd9, 0xd3, 0x3e, 0x6d, 0x6a, 0xc6, 0xb4, 0xf5, 0xbf, 0xda, 0x26, 0x67, 0x35, 0x8e, 0xad, 0x73,
0xd7, 0xbf, 0x7d, 0x73, 0xf7, 0xf8, 0x8f, 0xbd, 0x6d, 0x10, 0xfd, 0x64, 0xfc, 0x13, 0xf7, 0x59, 0x0b, 0xec, 0x3b, 0xdf, 0xfd, 0xdb, 0x37, 0x77, 0xcf, 0x7f, 0xec, 0x6d, 0x83, 0xe8, 0x6f, 0xc6, 0x7f, 0xe3, 0x3e, 0x73, 0x81, 0x7d, 0xe6, 0x5b,
0xa2, 0x54, 0x0a, 0xd5, 0x25, 0xa4, 0x54, 0x71, 0x07, 0x78, 0xd7, 0x7b, 0xe6, 0xbb, 0xfe, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x94, 0x5a, 0xa1, 0xba, 0x85, 0xb4, 0x2a, 0x8e, 0x00, 0xef, 0x7a, 0xcf, 0x7c, 0xd7, 0xbf, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf7, 0xcd, 0x5e, 0x99, 0xcd, 0xb9, 0xfd, 0xeb, 0x5f, 0x7b, 0x68, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xbc, 0xd1, 0x2b, 0xb3, 0x35, 0xb7, 0xff, 0xfc, 0x69, 0x0f, 0x8d, 0x77,
0x6b, 0x4f, 0x7e, 0xae, 0x2f, 0xe7, 0xc1, 0x58, 0x9b, 0x77, 0x5a, 0x91, 0x83, 0xa1, 0x3a, 0x8f, 0xd4, 0xb8, 0x5c, 0x66, 0xed, 0xc9, 0xdf, 0xeb, 0xcb, 0x75, 0x30, 0xd6, 0xc6, 0x9d, 0x56, 0xd4, 0x60, 0xa8, 0xae, 0x23, 0x35, 0x6e, 0x97, 0xd9,
0xcf, 0xf4, 0x78, 0x26, 0xf1, 0xea, 0x15, 0x12, 0x99, 0xd7, 0x93, 0xc9, 0xa8, 0x93, 0x59, 0x4b, 0x20, 0x9e, 0x09, 0xb1, 0x2d, 0x3d, 0x1e, 0x49, 0xbc, 0xba, 0x87, 0x44, 0xc6, 0xf5, 0x64, 0x2a, 0xea, 0x64, 0xe6, 0x12, 0x88, 0x57, 0x42, 0x6c,
0x2d, 0x7e, 0x6b, 0xec, 0xac, 0xfd, 0x3a, 0xbf, 0x3a, 0x9a, 0xef, 0xb3, 0x26, 0xfe, 0x63, 0xb9, 0x25, 0xaf, 0xc8, 0xb4, 0x8b, 0x9f, 0x1a, 0xdb, 0x6a, 0x91, 0xf1, 0xe1, 0x3b, 0xf3, 0x1f, 0xab, 0x2d, 0x79, 0x45, 0xa5, 0xb5, 0xf8, 0xde, 0x54,
0x16, 0xbf, 0x9a, 0x6a, 0xf7, 0xb0, 0xbe, 0x54, 0xe6, 0xf6, 0x36, 0xf7, 0xf7, 0xcc, 0x9c, 0xfe, 0x5c, 0xee, 0x81, 0xd5, 0xbb, 0x86, 0xf5, 0xad, 0x32, 0xb7, 0xb6, 0xb9, 0x9f, 0x67, 0xc6, 0xf4, 0xe7, 0x6a, 0x0f, 0xac, 0xb6, 0x44, 0x9f, 0xaa,
0x92, 0xe8, 0x53, 0xd9, 0x52, 0x56, 0x3f, 0xf9, 0xf9, 0x73, 0xc7, 0xdb, 0xfa, 0x54, 0xe6, 0x88, 0xd5, 0x6f, 0xfd, 0x6d, 0x96, 0xb2, 0xfa, 0x9b, 0x3f, 0xff, 0xde, 0xf1, 0xb2, 0x3e, 0x55, 0x39, 0x62, 0xed, 0x53, 0xbf, 0xff, 0xb7, 0xfb, 0x2a,
0xf0, 0xf9, 0x7e, 0x78, 0xe7, 0xad, 0x9d, 0xd1, 0xfa, 0x94, 0xf8, 0x5f, 0xbf, 0x77, 0x9f, 0x1d, 0xff, 0xf1, 0xfb, 0x54, 0x27, 0xbc, 0x23, 0xff, 0x2d, 0x70, 0x94, 0x3d, 0x37, 0xff, 0xf1, 0xe3, 0x54, 0x2b, 0xac, 0xd2, 0xb3, 0x3e, 0x37, 0x46,
0x2b, 0xcc, 0xd2, 0xb3, 0xbe, 0x36, 0x46, 0x64, 0xe6, 0x6e, 0x3e, 0x47, 0xd0, 0x19, 0x19, 0x35, 0x7e, 0x8d, 0xa6, 0x95, 0x64, 0xe4, 0x6e, 0xbe, 0x46, 0xd0, 0x19, 0x15, 0x35, 0xfe, 0xcc, 0xd7, 0xca, 0x56, 0x9b, 0x4b, 0xff, 0xf7, 0xc7, 0xb8,
0xb3, 0x36, 0x17, 0xfd, 0x9f, 0xe2, 0xf7, 0xa8, 0xb5, 0xb5, 0x2f, 0xfe, 0x6b, 0x32, 0xf2, 0x3d, 0x27, 0xfe, 0x67, 0x7a, 0x76, 0xd0, 0xdb, 0x9a, 0xcd, 0x7f, 0x0f, 0xd4, 0x1e, 0xa9, 0xa9, 0xc8, 0xf7, 0x9c, 0xfc, 0xcf, 0x5c, 0x6d, 0x9c, 0x97,
0x1b, 0xe7, 0xc5, 0xff, 0xf8, 0xef, 0x75, 0x59, 0xb5, 0x2b, 0x73, 0xed, 0x8c, 0x72, 0x2d, 0xb7, 0xd0, 0x19, 0xe9, 0xc1, 0xff, 0xf1, 0xcf, 0xeb, 0xaa, 0x6a, 0x57, 0xd6, 0xda, 0x19, 0xd5, 0x5a, 0x6e, 0xa1, 0x2d, 0xd2, 0x83, 0xc7, 0x95, 0x5e,
0xfb, 0x4a, 0x2f, 0xce, 0x67, 0xde, 0x7f, 0xfc, 0x3f, 0x5b, 0x53, 0xcf, 0xc6, 0xff, 0xfa, 0x2f, 0xfe, 0x36, 0xd1, 0x7e, 0x5c, 0xcf, 0xbc, 0x7f, 0xf9, 0x7f, 0xf6, 0x4c, 0x3d, 0x9b, 0xff, 0xd5, 0xbf, 0x78, 0x4d, 0xff, 0x7f, 0x65, 0x7f, 0x79,
0xa8, 0x6e, 0xff, 0xaf, 0x5c, 0x2f, 0x4f, 0x8a, 0xff, 0x36, 0x95, 0x8b, 0xec, 0xde, 0xf5, 0x7f, 0x65, 0x4e, 0xad, 0xfa, 0x52, 0xfe, 0xdb, 0x54, 0x2d, 0xb2, 0x7b, 0x9f, 0xff, 0x2b, 0x6b, 0x6a, 0xd5, 0xe7, 0x3f, 0x96, 0xf0, 0xc8, 0xfe, 0x3e,
0xf8, 0x8f, 0x45, 0x78, 0xa4, 0x26, 0x9f, 0x5f, 0xf1, 0x60, 0xed, 0xbc, 0x8d, 0x5b, 0xf9, 0x3d, 0xd1, 0xfe, 0xdf, 0x11, 0x3f, 0xe3, 0xc1, 0xda, 0x76, 0x1b, 0xf7, 0xf2, 0x7b, 0xa2, 0xff, 0x9f, 0xcf, 0x7f, 0x5d, 0x9f, 0x67, 0xed, 0xea, 0xf9,
0xff, 0xd5, 0xe3, 0x7f, 0xf1, 0x35, 0x3c, 0xf6, 0x8c, 0x74, 0x45, 0xc6, 0xff, 0xda, 0x09, 0xfd, 0xff, 0x51, 0x3b, 0x31, 0x8a, 0xfc, 0xf7, 0x44, 0x65, 0xf4, 0xfd, 0xd7, 0xff, 0xa3, 0x7e, 0x62, 0xb4, 0x55, 0xea, 0xe7, 0xa6, 0xaa, 0xac, 0xb6,
0x5a, 0x2a, 0xf5, 0x6b, 0x53, 0x55, 0x66, 0xdb, 0x5e, 0x8d, 0xff, 0x4c, 0xfd, 0x1f, 0x1d, 0x87, 0xc8, 0xb4, 0x10, 0xdb, 0xbd, 0x9a, 0xff, 0xcc, 0xf9, 0x3f, 0x7a, 0x1f, 0x22, 0xd3, 0x43, 0x5c, 0xbb, 0x1e, 0xcf, 0x1f, 0x01, 0xd6, 0xfa, 0xff,
0x60, 0xe4, 0x60, 0xf4, 0x9b, 0xeb, 0x59, 0x43, 0x73, 0xed, 0xff, 0x1d, 0xf1, 0x7f, 0x56, 0xff, 0xbf, 0x25, 0x47, 0x35, 0x67, 0xdc, 0xff, 0xef, 0xa7, 0x5d, 0xff, 0xb7, 0xd4, 0x2c, 0x46, 0x95, 0xfd, 0xff, 0x96, 0xe8, 0x65, 0x66, 0x8e, 0x36,
0xeb, 0xda, 0xff, 0x2d, 0xd1, 0xca, 0xcc, 0xdc, 0x6d, 0x22, 0xa5, 0xbd, 0x5e, 0x66, 0x57, 0xd6, 0xff, 0xb9, 0xd5, 0xe6, 0x91, 0xd6, 0x5e, 0x6f, 0xb3, 0x2b, 0xcf, 0xff, 0xb9, 0xd9, 0xe6, 0xda, 0xb6, 0x7a, 0xa7, 0x91, 0xfe, 0xff, 0x9e, 0x14,
0xda, 0xb6, 0x7c, 0xa7, 0x91, 0xf6, 0xff, 0x9e, 0xa7, 0x70, 0xcf, 0xae, 0xff, 0xcf, 0x7c, 0x3a, 0xb9, 0x73, 0x7f, 0xee, 0x56, 0xfc, 0xc5, 0xca, 0xeb, 0xff, 0xeb, 0xe7, 0x66, 0xc8, 0xe4, 0xff, 0xac, 0xde, 0xd3, 0xfe, 0x6f, 0x5e, 0x5b, 0x47,
0x93, 0x77, 0x6e, 0x4f, 0x1e, 0xe9, 0x3b, 0xf4, 0xff, 0x23, 0xe3, 0xff, 0xd1, 0x9c, 0xc7, 0xe3, 0xda, 0xb8, 0x0f, 0x46, 0xfa, 0x0e, 0xd7, 0xff, 0x91, 0xfb, 0xff, 0xd1, 0x9a, 0xc7, 0xe3, 0xb3, 0x71, 0xff, 0xf1, 0x0a, 0xff, 0xcc, 0xb3, 0xf1,
0xd3, 0xbe, 0x35, 0xfe, 0xef, 0x91, 0x9b, 0xf9, 0x7b, 0xe3, 0xbf, 0xa5, 0xf2, 0x4f, 0x5f, 0x11, 0xff, 0x73, 0x2d, 0xab, 0xf9, 0x47, 0x9c, 0xda, 0xeb, 0x7f, 0xf9, 0xdf, 0xf3, 0xdd, 0x2b, 0x6b, 0xe7, 0xee, 0xce, 0xff, 0x5c, 0xcf, 0x2a, 0x36,
0xd8, 0x8a, 0x88, 0xb9, 0x15, 0x93, 0xa3, 0x7d, 0xba, 0x76, 0xea, 0x95, 0x9e, 0x79, 0xfe, 0xb7, 0xe7, 0xfd, 0x9f, 0xda, 0x23, 0x62, 0x6e, 0xc6, 0xe4, 0xe8, 0x35, 0x5d, 0x3b, 0x75, 0x4f, 0x6f, 0x17, 0xf4, 0xfe, 0xab, 0x67, 0xe4, 0x79, 0xe7,
0x37, 0x0d, 0x9e, 0xfb, 0x3e, 0xd4, 0x3b, 0x8e, 0xe0, 0x8c, 0xfb, 0xf9, 0x78, 0xd5, 0x82, 0xbe, 0xe9, 0x98, 0x62, 0x4f, 0xfb, 0x50, 0xef, 0xf8, 0x06, 0x67, 0x1c, 0xcf, 0x7b, 0x61, 0xcf, 0x34, 0x7f, 0xff, 0x2f, 0x7e, 0xb4, 0x6a, 0x17, 0xd4,
0x75, 0xa3, 0xcf, 0x89, 0xf7, 0xdd, 0xef, 0xa3, 0xef, 0xff, 0x44, 0xcb, 0x54, 0xa6, 0xe5, 0x6f, 0xb9, 0x83, 0x5d, 0x19, 0x20, 0x3e, 0xfb, 0x2f, 0xc6, 0x9f, 0x56, 0x20, 0xff, 0x6b, 0xf9, 0xdf, 0xdf, 0x4b, 0xaa, 0x7a, 0x87, 0xe1, 0xd3, 0xf6,
0xff, 0xfb, 0x5b, 0x49, 0x55, 0xef, 0x30, 0x7c, 0xdb, 0x95, 0xa2, 0x64, 0xbe, 0xe5, 0xbc, 0xae, 0x8f, 0xf4, 0xbe, 0xa5, 0x14, 0x2d, 0xf3, 0x29, 0xdb, 0x75, 0xfd, 0x4e, 0xef, 0x5b, 0x5a, 0xc2, 0x3e, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x24, 0x5c, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3b, 0xe7, 0x8a, 0xf5, 0xb2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0x6b, 0xf4, 0x4f, 0xac, 0x9a, 0xc2, 0x6c, 0x2d, 0xab, 0xbe, 0x30, 0x3a, 0xb3, 0x0d,
0x4c, 0x0b, 0xb3, 0x79, 0xae, 0xfa, 0xc2, 0xcc, 0xcd, 0x36, 0xcc, 0xdd, 0x9c, 0xfd, 0x9e, 0x9f, 0xab, 0x1a, 0xf4, 0xc1, 0xeb, 0x33, 0x67, 0x3f, 0xe7, 0xeb, 0xcc, 0x05, 0x7d, 0xf0, 0x2f, 0x5a, 0x60, 0x4d, 0x7b, 0x78, 0xac, 0xf1, 0xfa, 0x3c,
0xbf, 0x68, 0x81, 0x3d, 0xed, 0xe1, 0x79, 0xc8, 0xeb, 0x6b, 0x34, 0xfc, 0xdc, 0xe3, 0x96, 0x28, 0x91, 0x36, 0x31, 0x4f, 0x0c, 0x5f, 0xd7, 0xb8, 0x25, 0x5a, 0x64, 0x3c, 0x92, 0x77, 0x7d, 0xc6, 0x86, 0xbd, 0xdf, 0xb9, 0xa6, 0x22, 0x7a, 0xa4,
0x75, 0x6d, 0xae, 0xde, 0xee, 0x63, 0xae, 0xc9, 0x96, 0x1e, 0xc9, 0xfb, 0x37, 0x9b, 0xbd, 0x64, 0x47, 0xa9, 0xe4, 0x66, 0xb6, 0xdf, 0x6c, 0x85, 0x92, 0xb3, 0x5b, 0x25, 0x33, 0x62, 0xbb, 0x05, 0x8e, 0x0d, 0xa3, 0x7a, 0x42, 0x2b, 0xb5, 0xba,
0xbb, 0xf7, 0xa5, 0xbf, 0xc7, 0x72, 0x3f, 0xf4, 0xc3, 0x18, 0xaa, 0xb9, 0x3f, 0xcd, 0x65, 0xe8, 0x5b, 0x9f, 0xb3, 0x3e, 0xd6, 0x8e, 0x4f, 0x73, 0x55, 0xf8, 0xd6, 0xc7, 0xa5, 0xcf, 0xd5, 0xf0, 0x6c, 0x1b, 0xeb, 0x5e, 0xaf, 0xef, 0xed, 0xf1,
0x97, 0xdf, 0xb3, 0x6d, 0xcc, 0x89, 0xbd, 0x7e, 0xb5, 0xc7, 0x23, 0x25, 0xb7, 0x75, 0x6e, 0xae, 0xfe, 0x8e, 0x63, 0x8e, 0xa4, 0xe4, 0x96, 0xce, 0x8d, 0xc7, 0xdf, 0xf1, 0x9d, 0xe3, 0x35, 0x6b, 0xe7, 0x3f, 0x27, 0x73, 0xf6, 0x1b, 0xa7, 0x74,
0xe7, 0xb3, 0x9d, 0xff, 0x9e, 0x4c, 0xed, 0x37, 0x9e, 0x85, 0x99, 0xa9, 0x27, 0xda, 0xd4, 0xdd, 0x7a, 0x2d, 0xca, 0xa3, 0x4f, 0xab, 0xc4, 0xd2, 0x9f, 0xa9, 0x08, 0xb3, 0x9e, 0xff, 0x9a, 0xf5, 0x1e, 0xcf, 0x89, 0x10, 0x9b, 0x65, 0x63, 0xa6,
0x77, 0x99, 0xf5, 0xf8, 0xaf, 0x99, 0x83, 0xde, 0x87, 0xc7, 0x13, 0x5b, 0x81, 0x63, 0x26, 0xbf, 0xf7, 0xfb, 0x5a, 0x8b, 0x86, 0xf7, 0xfb, 0xaa, 0x07, 0xe4, 0xf3, 0xff, 0xa9, 0x35, 0x17, 0x9e, 0xd4, 0x02, 0x7d, 0x31, 0x61, 0x33, 0xbd, 0xf8,
0xf9, 0xf8, 0xff, 0xd6, 0x36, 0xf6, 0xfd, 0x4a, 0xa0, 0x2f, 0xd6, 0xf1, 0x9f, 0x23, 0x6c, 0xa6, 0x15, 0x5f, 0x13, 0xff, 0x9a, 0xfc, 0x8f, 0xe7, 0x4a, 0x3a, 0x3f, 0xff, 0x3d, 0xf4, 0x09, 0xf1, 0x9e, 0xdb, 0x1d, 0x97, 0xe6, 0xf2, 0x3f, 0xde,
0xeb, 0xf7, 0xad, 0xfd, 0xf1, 0xdf, 0x43, 0xdf, 0x10, 0x6d, 0xcf, 0xde, 0x73, 0x6b, 0x2e, 0xfe, 0xc7, 0x57, 0xd0, 0x9e, 0x83, 0xf6, 0x2c, 0xad, 0x9a, 0x29, 0x29, 0x57, 0x87, 0xbc, 0x05, 0xaf, 0x1e, 0x32, 0x4b, 0x23, 0xb5, 0x11, 0x7a, 0xe8,
0xad, 0x55, 0xab, 0x28, 0xe5, 0x72, 0x94, 0xb7, 0x60, 0xef, 0x21, 0x9b, 0x11, 0x68, 0x35, 0x1b, 0x5b, 0x0f, 0xf5, 0x46, 0x6a, 0x64, 0xcf, 0xf9, 0x3f, 0x7f, 0xfd, 0x3f, 0xdf, 0x6f, 0x8b, 0xdf, 0x3f, 0xc8, 0xec, 0x4b, 0x3b, 0xfa, 0xe1, 0x67,
0xf6, 0xd4, 0xff, 0xf9, 0xfe, 0xff, 0x7c, 0xbb, 0x2d, 0x3e, 0x7e, 0x90, 0xb9, 0x96, 0x76, 0xb4, 0xc3, 0xcf, 0xd8, 0x1a, 0x2c, 0x8d, 0xd4, 0x86, 0xbb, 0x6a, 0xe9, 0xee, 0xfc, 0xf7, 0xdf, 0xe6, 0x4a, 0x3c, 0x4a, 0xd4, 0xfa, 0xd1, 0x21, 0x77,
0xc9, 0x1b, 0x77, 0xd5, 0xd6, 0xdd, 0xf1, 0xdf, 0xff, 0xb3, 0x8e, 0xe2, 0x51, 0x44, 0xad, 0xdf, 0x1d, 0xee, 0xd7, 0xb2, 0x64, 0xd9, 0xdb, 0xd7, 0x59, 0xbd, 0xff, 0xb7, 0xba, 0x96, 0x75, 0x73, 0x99, 0x45, 0xab, 0x52, 0x7e, 0xfd, 0xfd, 0xba,
0x88, 0x8f, 0xff, 0xad, 0x1e, 0x43, 0xc5, 0x11, 0xcf, 0xf5, 0x0b, 0x67, 0xa3, 0xb4, 0xae, 0xfe, 0xcf, 0x9c, 0xf5, 0x2b, 0xf3, 0xff, 0xbe, 0xad, 0xbe, 0x77, 0x69, 0xe6, 0xee, 0xde, 0x5b, 0xf3, 0x3f, 0xd7, 0x6e, 0xef, 0xc8, 0xff, 0xb8, 0x7e,
0xb7, 0x66, 0x46, 0xf7, 0xde, 0x1a, 0xff, 0x73, 0xe5, 0x76, 0x45, 0xfc, 0x57, 0xe7, 0x13, 0x9c, 0x69, 0x4d, 0x44, 0xb3, 0x6b, 0x2f, 0xba, 0x4f, 0x71, 0xc6, 0x37, 0x9a, 0xad, 0xc0, 0x9f, 0x9b, 0x63, 0xf6, 0x4d, 0xf9, 0x6f, 0x45, 0xfd, 0xff,
0x34, 0x5f, 0xd1, 0x97, 0x9c, 0xcd, 0xce, 0x9f, 0x5b, 0x7f, 0xf6, 0x4d, 0xf1, 0xdf, 0x8a, 0xda, 0xff, 0x67, 0x6e, 0xbd, 0x33, 0x97, 0xde, 0xa3, 0xff, 0xdf, 0x5f, 0x90, 0xff, 0xec, 0x73, 0x9d, 0x8a, 0x19, 0x8e, 0xcf, 0xce, 0x7f, 0xf6, 0x98,
0x47, 0xfb, 0xbf, 0xbf, 0xa0, 0xfe, 0xcf, 0x3e, 0xd7, 0x99, 0x3f, 0x86, 0x73, 0x8e, 0x36, 0x9e, 0x81, 0x3f, 0xf3, 0x04, 0x78, 0xaf, 0x6b, 0xe1, 0xec, 0xd2, 0x6c, 0xfe, 0x3f, 0xf5, 0xfc, 0xff, 0x86, 0xfc, 0xe7, 0x9f, 0x65, 0xaf, 0xdc, 0xff,
0xe3, 0xca, 0xbe, 0x70, 0x76, 0x6b, 0x36, 0xfe, 0xbf, 0xb5, 0xfe, 0x7f, 0x43, 0xfc, 0xe7, 0x9f, 0x65, 0xaf, 0x8c, 0xff, 0x3b, 0xef, 0x1d, 0x88, 0xbe, 0x31, 0xff, 0xed, 0x43, 0xcf, 0xff, 0x35, 0xf3, 0xca, 0x3f, 0x2d, 0xff, 0x33, 0x77, 0x99,
0x9d, 0x75, 0x44, 0xf9, 0xf6, 0x51, 0xee, 0xd9, 0xff, 0x3b, 0xeb, 0xff, 0x9a, 0x35, 0xe7, 0x9f, 0x16, 0xff, 0x33, 0xa3, 0x9e, 0x9a, 0xff, 0x8a, 0x8c, 0x54, 0xdd, 0xff, 0xaf, 0x7f, 0x0b, 0x6a, 0x67, 0x75, 0xfa, 0xe7, 0x25, 0x7c, 0x9c, 0xff,
0x4c, 0x4f, 0x8d, 0xff, 0x8a, 0x18, 0xa9, 0x1a, 0xff, 0xaf, 0xbe, 0x03, 0xb4, 0xad, 0x99, 0xeb, 0x9f, 0x17, 0xe1, 0xe3, 0xc8, 0xfb, 0x3f, 0xef, 0xce, 0xff, 0xdc, 0xbb, 0x31, 0xcf, 0xce, 0x7f, 0x4f, 0xce, 0x4a, 0xf3, 0xce, 0xe7, 0xc3, 0xb1,
0xf8, 0x8f, 0xbc, 0xff, 0xf3, 0xee, 0xf8, 0x9f, 0x7b, 0x37, 0xe6, 0xd9, 0xf1, 0xdf, 0x93, 0x2b, 0xd6, 0xbc, 0xf3, 0xf9, 0x39, 0xa6, 0x9f, 0x97, 0xff, 0xfc, 0x3b, 0x65, 0x6f, 0x7d, 0xfe, 0x97, 0x7b, 0x3b, 0xe0, 0x9a, 0xe7, 0x7f, 0x77, 0x7a,
0x70, 0x6c, 0xfd, 0xe9, 0xe7, 0xc5, 0x7f, 0xfc, 0xed, 0x8c, 0xb7, 0x3f, 0xff, 0xcb, 0xbd, 0x1d, 0xb0, 0xf7, 0xf9, 0xdf, 0xaf, 0x84, 0xb7, 0xbf, 0x55, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0xec,
0x13, 0xde, 0x2b, 0xe1, 0x4d, 0xf7, 0x42, 0xe7, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xeb, 0xea, 0x88, 0x9d, 0xb9, 0x71, 0x62, 0xd7, 0x54, 0xbe, 0x8f, 0xd4, 0x29, 0x98, 0x59, 0x9f, 0x78, 0xf5, 0x83, 0x48,
0xa0, 0x6a, 0x46, 0x46, 0x3c, 0x67, 0xcf, 0xdc, 0x4c, 0xb1, 0x6b, 0x72, 0xdf, 0x47, 0x32, 0x15, 0xcc, 0xec, 0x4f, 0x3c, 0xad, 0xfd, 0xa3, 0x6d, 0x13, 0xad, 0x38, 0x9e, 0xa9, 0x64, 0xb4, 0xeb, 0x3b, 0xae, 0xd7, 0x84, 0x9f, 0xff, 0x0b, 0x73,
0xff, 0x41, 0x24, 0xdb, 0xfe, 0xd1, 0xb9, 0x89, 0xe6, 0x1c, 0xcf, 0xe4, 0x32, 0xda, 0x75, 0x8c, 0xeb, 0x59, 0xe1, 0xe7, 0x95, 0x1f, 0x63, 0xb9, 0xb8, 0xfb, 0xb6, 0x9e, 0x1b, 0xa5, 0xb9, 0xb3, 0x4e, 0x7c, 0x4f, 0xd6, 0x34, 0xaf, 0x5f, 0xab,
0x7f, 0x61, 0x2e, 0xf7, 0x63, 0x2c, 0x2e, 0xee, 0x71, 0xae, 0x33, 0xf3, 0xee, 0x76, 0x67, 0x8a, 0xef, 0xc9, 0x5c, 0xef, 0x6c, 0x95, 0xfe, 0xd8, 0x3a, 0x47, 0x5a, 0xb8, 0x27, 0xe6, 0x61, 0x69, 0x13, 0x7b, 0x52, 0x75, 0x75, 0x9f, 0xcc, 0xbc,
0xf5, 0x7b, 0x95, 0xcd, 0xd3, 0x1f, 0xdb, 0xe7, 0x48, 0x09, 0xf7, 0xc4, 0x4a, 0x2c, 0x6d, 0xe2, 0x4a, 0xaa, 0xce, 0xef, 0x1c, 0xf3, 0x47, 0xe4, 0xca, 0x8a, 0xfd, 0x2d, 0x51, 0xad, 0xff, 0x2e, 0xdb, 0xfa, 0xda, 0xf1, 0xb4, 0xe3, 0x75, 0x7e,
0x93, 0x59, 0x99, 0x63, 0xfe, 0x8e, 0x5c, 0x99, 0xb3, 0xbf, 0x25, 0xf2, 0xf5, 0xdf, 0xe5, 0x5c, 0xdf, 0xb5, 0x65, 0x71, 0xce, 0x78, 0xdf, 0xb9, 0xd1, 0xe3, 0xcf, 0xf8, 0x36, 0x33, 0xc7, 0xb2, 0xf5, 0xea, 0x3c, 0xef, 0xac, 0xd9, 0xf0, 0xd9,
0x9c, 0xf1, 0xe8, 0xbe, 0xad, 0xa4, 0x1e, 0xca, 0x6e, 0xfa, 0x9c, 0x7c, 0x04, 0xb1, 0x3a, 0xf7, 0xbd, 0xed, 0xe2, 0xf7, 0x63, 0x95, 0xb3, 0x95, 0x05, 0x46, 0xc7, 0xba, 0xe7, 0x54, 0xaf, 0xca, 0xd5, 0xbd, 0x9a, 0x69, 0xc5, 0xb3, 0x96, 0x1d,
0x1f, 0x73, 0x26, 0xb7, 0xc0, 0x4c, 0x1d, 0xde, 0x02, 0xf1, 0x7f, 0xc7, 0xfc, 0x55, 0xb9, 0xcc, 0x57, 0x33, 0xa5, 0x78, 0xf9, 0x2b, 0x30, 0x0f, 0xdb, 0x95, 0xdf, 0x71, 0x7f, 0xc5, 0x8e, 0xe3, 0x5a, 0x22, 0xf7, 0xde, 0xd6, 0xd9, 0x1a, 0x59,
0xd6, 0xb6, 0x23, 0xbf, 0x07, 0x56, 0x62, 0xbb, 0xf2, 0x18, 0xf7, 0xe7, 0xec, 0x38, 0xce, 0x26, 0xf2, 0xe4, 0x73, 0xdd, 0xd9, 0x4a, 0x30, 0xd1, 0xf3, 0xff, 0x53, 0xf3, 0x3f, 0x9a, 0x8b, 0xe0, 0xe7, 0x59, 0xc9, 0xce, 0x5b, 0x56, 0x31, 0x93,
0xb6, 0xe7, 0x82, 0x89, 0xd6, 0xff, 0x4f, 0x8d, 0xff, 0xd1, 0x6a, 0x04, 0x9f, 0xd7, 0x25, 0x3b, 0x6f, 0x5b, 0xc5, 0x5a, 0xc1, 0xea, 0x15, 0xd0, 0x8e, 0x65, 0x57, 0x56, 0xec, 0x3a, 0xfb, 0xbb, 0xc6, 0xdb, 0xa8, 0xaa, 0x9f, 0x18, 0x9d, 0xb3,
0x06, 0xab, 0x3d, 0xa0, 0x1d, 0xdb, 0xae, 0xcc, 0xd9, 0x75, 0xf6, 0xb1, 0xc6, 0xcb, 0xe8, 0xca, 0xf8, 0x9f, 0xe9, 0xd7, 0x64, 0xb4, 0xec, 0xd3, 0xce, 0xff, 0xfd, 0xf2, 0x65, 0xf3, 0x47, 0xb1, 0xbb, 0xef, 0xdb, 0xfb, 0x67, 0xec, 0x78, 0x42,
0x7d, 0x5b, 0xfd, 0xdf, 0x2f, 0xdf, 0x36, 0x7f, 0x17, 0xbb, 0xfb, 0xb5, 0xbd, 0x7f, 0xcd, 0x8e, 0x27, 0xc4, 0xf8, 0x5d, 0xc6, 0x33, 0xb3, 0x4b, 0xed, 0xcc, 0xff, 0x3d, 0xeb, 0x1d, 0xf7, 0xd4, 0xb9, 0x31, 0x5b, 0xab, 0xef, 0x3e, 0xb9, 0xc9,
0xe3, 0xff, 0xaa, 0x8c, 0xc7, 0x35, 0x2b, 0x2d, 0x45, 0xfb, 0xff, 0x4f, 0xb8, 0x26, 0x7a, 0x72, 0x2d, 0xe3, 0xd8, 0x0a, 0xcc, 0x64, 0x1c, 0x9b, 0xbf, 0xb9, 0x7a, 0x99, 0xfc, 0xdf, 0x3b, 0xff, 0x73, 0xf7, 0x56, 0xee, 0x57, 0xbd, 0x32, 0x3b,
0xce, 0xd5, 0xdb, 0xc4, 0xff, 0xdd, 0xeb, 0xff, 0x99, 0xb1, 0x95, 0xfb, 0xe5, 0xaf, 0xcc, 0xae, 0xd3, 0xfb, 0xee, 0xeb, 0x4b, 0xef, 0xfb, 0xfb, 0x8b, 0x7d, 0xc3, 0xd3, 0x9a, 0xba, 0xe7, 0x89, 0xf2, 0x7f, 0x97, 0xfe, 0xbf, 0xfc, 0xbf, 0x6f,
0xa5, 0x85, 0x9e, 0x79, 0xed, 0xd8, 0x26, 0xfe, 0xc5, 0xbf, 0xf8, 0xbf, 0xe2, 0x7a, 0xe9, 0x5f, 0xd1, 0xff, 0x17, 0xff, 0x7f, 0xe9, 0xa9, 0x4a, 0xe6, 0xfa, 0xff, 0xf2, 0xff, 0xe6, 0xfc, 0xf7, 0x47, 0x5c, 0xff, 0xef, 0xda, 0x5f, 0xde, 0x76,
0xe2, 0x3f, 0xf2, 0xcc, 0xec, 0xfe, 0xfd, 0xff, 0x5d, 0x4f, 0x2a, 0xdf, 0x36, 0xfe, 0x1f, 0x7d, 0xda, 0xfb, 0xa4, 0xf1, 0xff, 0x3f, 0xfa, 0xb4, 0xf7, 0x29, 0xcf, 0x7a, 0xce, 0x78, 0xfe, 0xb7, 0xe7, 0x93, 0x77, 0x56, 0x43, 0x7f, 0xff, 0xf3,
0xff, 0xdd, 0xcf, 0xff, 0xae, 0xf8, 0xdd, 0xdc, 0x3e, 0xbf, 0xff, 0x19, 0xf7, 0x3b, 0xf2, 0xc5, 0xf3, 0xfc, 0xeb, 0x50, 0xde, 0xa7, 0xd4, 0x83, 0xe7, 0xed, 0xfb, 0xa1, 0x36, 0x00, 0xf9, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x19, 0x80, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0xe7, 0x00, 0xaf, 0xbe, 0x00, 0x00, 0x00, 0x76, 0xbe, 0xa9, 0x7f, 0x66, 0xc5, 0xf7, 0xc8, 0xa8, 0xcf, 0xb9, 0xcf, 0x04, 0x62, 0x23, 0x75, 0xce,
0xa7, 0x7f, 0x66, 0xbe, 0xf7, 0xc8, 0x9c, 0xcf, 0xb9, 0xef, 0x04, 0xf1, 0x1f, 0x9b, 0xa7, 0x73, 0x66, 0xbe, 0xf7, 0xfc, 0xac, 0xf8, 0x9e, 0x1f, 0x9d, 0x6f, 0x5b, 0xc2, 0xfb, 0xc6, 0x8a, 0xcb, 0x36, 0xec, 0x49, 0x55, 0x7f, 0x48, 0x15, 0xa4,
0xdc, 0x7c, 0xe7, 0x1a, 0xde, 0x37, 0x53, 0x5c, 0x6c, 0x43, 0x2e, 0xc2, 0xa3, 0x39, 0x3a, 0xef, 0xb2, 0xed, 0x1d, 0x2b, 0x77, 0xcc, 0xcd, 0x01, 0xf2, 0xff, 0x94, 0x0a, 0x69, 0x20, 0xff, 0xf2, 0x0f, 0xf2, 0x2f, 0xff, 0x20, 0xff, 0xf2, 0x0f,
0x73, 0xc0, 0xbd, 0x6a, 0xd5, 0xa7, 0xc4, 0x7f, 0xdb, 0x96, 0xef, 0x12, 0xbe, 0xb1, 0xff, 0x2f, 0xfe, 0x41, 0xfc, 0x8b, 0x6f, 0xbf, 0xff, 0x7f, 0xa7, 0x99, 0x6b, 0xf6, 0xd5, 0x29, 0x06, 0xcf, 0xfe, 0x63, 0x47, 0x87, 0xea, 0x65, 0x6d, 0x78,
0x7f, 0xd0, 0xfe, 0x17, 0xff, 0x60, 0xfc, 0xff, 0xaa, 0x58, 0x9d, 0x59, 0x27, 0xe6, 0xc9, 0x4f, 0x31, 0xe0, 0x7e, 0x77, 0xdc, 0xf0, 0x8c, 0x10, 0xce, 0xca, 0xff, 0x35, 0xcf, 0xf8, 0x57, 0xf3, 0xaf, 0xff, 0x0f, 0x6f, 0xba, 0x1a, 0x89, 0xbc,
0x80, 0xf8, 0xdd, 0xa1, 0x7a, 0x5b, 0x1b, 0xde, 0x37, 0x3c, 0x23, 0x84, 0xb3, 0xe2, 0xff, 0x9a, 0x51, 0x8a, 0xd5, 0xf8, 0xff, 0x27, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xd7, 0xfe, 0x87, 0x37, 0xf5, 0x46, 0x22, 0xef, 0xff, 0x89, 0x7e, 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, 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, 0xd8, 0xe9, 0xaf, 0xff, 0x94, 0x03, 0x88, 0x7f, 0xe0, 0xeb, 0xe2, 0xff, 0x70, 0x95, 0x7f, 0xff, 0xd3, 0x0e, 0x20, 0xff, 0xc0, 0xc7, 0xe5, 0xff, 0x6f };
0x0f };
// Font glyphs rectangles data (on atlas) // Font glyphs rectangles data (on atlas)
static const Rectangle enefeteFontRecs[189] = { static const Rectangle enefeteFontRecs[189] = {
@ -275,93 +273,93 @@ static const Rectangle enefeteFontRecs[189] = {
{ 429, 52, 7 , 6 }, { 429, 52, 7 , 6 },
{ 444, 52, 6 , 3 }, { 444, 52, 6 , 3 },
{ 458, 52, 7 , 10 }, { 458, 52, 7 , 10 },
{ 473, 52, 9 , 10 }, { 473, 52, 0 , 0 },
{ 490, 52, 4 , 4 }, { 481, 52, 4 , 4 },
{ 4, 76, 6 , 7 }, { 493, 52, 6 , 7 },
{ 18, 76, 4 , 5 }, { 4, 76, 4 , 5 },
{ 30, 76, 4 , 5 }, { 16, 76, 4 , 5 },
{ 42, 76, 7 , 11 }, { 28, 76, 7 , 11 },
{ 57, 76, 6 , 9 }, { 43, 76, 6 , 9 },
{ 71, 76, 7 , 12 }, { 57, 76, 7 , 12 },
{ 86, 76, 2 , 2 }, { 72, 76, 2 , 2 },
{ 96, 76, 6 , 10 }, { 82, 76, 6 , 10 },
{ 110, 76, 3 , 5 }, { 96, 76, 3 , 5 },
{ 121, 76, 4 , 5 }, { 107, 76, 4 , 5 },
{ 133, 76, 7 , 6 }, { 119, 76, 7 , 6 },
{ 148, 76, 9 , 10 }, { 134, 76, 9 , 10 },
{ 165, 76, 8 , 7 }, { 151, 76, 8 , 7 },
{ 167, 76, 6 , 11 },
{ 181, 76, 6 , 11 }, { 181, 76, 6 , 11 },
{ 195, 76, 6 , 11 }, { 195, 76, 7 , 11 },
{ 209, 76, 7 , 11 }, { 210, 76, 7 , 11 },
{ 224, 76, 7 , 11 }, { 225, 76, 7 , 11 },
{ 239, 76, 7 , 11 }, { 240, 76, 7 , 11 },
{ 254, 76, 7 , 11 }, { 255, 76, 7 , 11 },
{ 269, 76, 7 , 11 }, { 270, 76, 7 , 11 },
{ 284, 76, 7 , 11 }, { 285, 76, 9 , 10 },
{ 299, 76, 9 , 10 }, { 302, 76, 7 , 12 },
{ 316, 76, 7 , 12 }, { 317, 76, 7 , 11 },
{ 331, 76, 7 , 11 }, { 332, 76, 7 , 11 },
{ 346, 76, 7 , 11 }, { 347, 76, 7 , 11 },
{ 361, 76, 7 , 11 }, { 362, 76, 7 , 11 },
{ 376, 76, 7 , 11 }, { 377, 76, 3 , 11 },
{ 391, 76, 3 , 11 }, { 388, 76, 3 , 11 },
{ 402, 76, 3 , 11 }, { 399, 76, 5 , 11 },
{ 413, 76, 5 , 11 }, { 412, 76, 5 , 11 },
{ 426, 76, 5 , 11 }, { 425, 76, 8 , 10 },
{ 439, 76, 8 , 10 }, { 441, 76, 7 , 11 },
{ 455, 76, 7 , 11 }, { 456, 76, 7 , 11 },
{ 470, 76, 7 , 11 }, { 471, 76, 7 , 11 },
{ 485, 76, 7 , 11 }, { 486, 76, 7 , 11 },
{ 4, 100, 7 , 11 }, { 4, 100, 7 , 11 },
{ 19, 100, 7 , 11 }, { 19, 100, 7 , 11 },
{ 34, 100, 7 , 11 }, { 34, 100, 7 , 7 },
{ 49, 100, 7 , 7 }, { 49, 100, 7 , 13 },
{ 64, 100, 7 , 13 }, { 64, 100, 7 , 11 },
{ 79, 100, 7 , 11 }, { 79, 100, 7 , 11 },
{ 94, 100, 7 , 11 }, { 94, 100, 7 , 11 },
{ 109, 100, 7 , 11 }, { 109, 100, 7 , 11 },
{ 124, 100, 7 , 11 }, { 124, 100, 6 , 11 },
{ 139, 100, 6 , 11 }, { 138, 100, 7 , 10 },
{ 153, 100, 7 , 10 }, { 153, 100, 7 , 10 },
{ 168, 100, 7 , 10 }, { 168, 100, 6 , 10 },
{ 183, 100, 6 , 10 }, { 182, 100, 6 , 10 },
{ 197, 100, 6 , 10 }, { 196, 100, 6 , 10 },
{ 211, 100, 6 , 10 }, { 210, 100, 6 , 10 },
{ 225, 100, 6 , 10 }, { 224, 100, 6 , 10 },
{ 239, 100, 6 , 10 }, { 238, 100, 6 , 11 },
{ 253, 100, 6 , 11 }, { 252, 100, 8 , 7 },
{ 267, 100, 8 , 7 }, { 268, 100, 6 , 9 },
{ 283, 100, 6 , 9 }, { 282, 100, 6 , 10 },
{ 297, 100, 6 , 10 }, { 296, 100, 6 , 10 },
{ 311, 100, 6 , 10 }, { 310, 100, 6 , 10 },
{ 325, 100, 6 , 10 }, { 324, 100, 6 , 10 },
{ 339, 100, 6 , 10 }, { 338, 100, 3 , 10 },
{ 353, 100, 3 , 10 }, { 349, 100, 3 , 10 },
{ 364, 100, 3 , 10 }, { 360, 100, 5 , 10 },
{ 375, 100, 5 , 10 }, { 373, 100, 5 , 10 },
{ 388, 100, 5 , 10 }, { 386, 100, 6 , 10 },
{ 401, 100, 6 , 10 }, { 400, 100, 6 , 10 },
{ 415, 100, 6 , 10 }, { 414, 100, 6 , 10 },
{ 429, 100, 6 , 10 }, { 428, 100, 6 , 10 },
{ 443, 100, 6 , 10 }, { 442, 100, 6 , 10 },
{ 457, 100, 6 , 10 }, { 456, 100, 6 , 10 },
{ 471, 100, 6 , 10 }, { 470, 100, 6 , 10 },
{ 485, 100, 6 , 10 }, { 484, 100, 6 , 7 },
{ 4, 124, 6 , 7 }, { 4, 124, 7 , 11 },
{ 18, 124, 7 , 11 }, { 19, 124, 6 , 10 },
{ 33, 124, 6 , 10 }, { 33, 124, 6 , 10 },
{ 47, 124, 6 , 10 }, { 47, 124, 6 , 10 },
{ 61, 124, 6 , 10 }, { 61, 124, 6 , 10 },
{ 75, 124, 6 , 10 }, { 75, 124, 6 , 12 },
{ 89, 124, 6 , 12 }, { 89, 124, 6 , 12 },
{ 103, 124, 6 , 12 }, { 103, 124, 6 , 12 },
{ 117, 124, 6 , 12 },
}; };
// Font glyphs info data // Font glyphs info data
// NOTE: No glyphs.image data provided // NOTE: No glyphs.image data provided
static const GlyphInfo enefeteFontGlyphs[189] = { static const GlyphInfo enefeteFontGlyphs[189] = {
{ 32, 0, 12, 4, { 0 }}, { 32, 0, 0, 4, { 0 }},
{ 33, 0, 2, 3, { 0 }}, { 33, 0, 2, 3, { 0 }},
{ 34, 0, 2, 6, { 0 }}, { 34, 0, 2, 6, { 0 }},
{ 35, 0, 2, 8, { 0 }}, { 35, 0, 2, 8, { 0 }},
@ -469,7 +467,7 @@ static const GlyphInfo enefeteFontGlyphs[189] = {
{ 171, 0, 6, 8, { 0 }}, { 171, 0, 6, 8, { 0 }},
{ 172, 0, 7, 7, { 0 }}, { 172, 0, 7, 7, { 0 }},
{ 174, 0, 2, 8, { 0 }}, { 174, 0, 2, 8, { 0 }},
{ 175, 1, 3, 14, { 0 }}, { 175, 0, 0, 0, { 0 }},
{ 176, 0, 2, 5, { 0 }}, { 176, 0, 2, 5, { 0 }},
{ 177, 0, 4, 7, { 0 }}, { 177, 0, 4, 7, { 0 }},
{ 178, 0, 2, 5, { 0 }}, { 178, 0, 2, 5, { 0 }},

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,121 @@
Creative Commons Legal Code
CC0 1.0 Universal
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.
For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

View File

@ -0,0 +1,589 @@
//////////////////////////////////////////////////////////////////////////////////
// //
// StyleAsCode exporter v2.0 - Style data exported as a values array //
// //
// USAGE: On init call: GuiLoadStyleGenesis(); //
// //
// more info and bugs-report: github.com/raysan5/raygui //
// feedback and support: ray[at]raylibtech.com //
// //
// Copyright (c) 2020-2025 raylib technologies (@raylibtech) //
// //
//////////////////////////////////////////////////////////////////////////////////
#define GENESIS_STYLE_PROPS_COUNT 23
// Custom style name: Genesis
static const GuiStyleProp genesisStyleProps[GENESIS_STYLE_PROPS_COUNT] = {
{ 0, 0, (int)0x667384ff }, // DEFAULT_BORDER_COLOR_NORMAL
{ 0, 1, (int)0x181b1eff }, // DEFAULT_BASE_COLOR_NORMAL
{ 0, 2, (int)0xc2c8d0ff }, // DEFAULT_TEXT_COLOR_NORMAL
{ 0, 3, (int)0xd3dbdfff }, // DEFAULT_BORDER_COLOR_FOCUSED
{ 0, 4, (int)0xa7afb0ff }, // DEFAULT_BASE_COLOR_FOCUSED
{ 0, 5, (int)0x020202ff }, // DEFAULT_TEXT_COLOR_FOCUSED
{ 0, 6, (int)0x181b1eff }, // DEFAULT_BORDER_COLOR_PRESSED
{ 0, 7, (int)0xac3c3cff }, // DEFAULT_BASE_COLOR_PRESSED
{ 0, 8, (int)0xdededeff }, // DEFAULT_TEXT_COLOR_PRESSED
{ 0, 9, (int)0x3e4550ff }, // DEFAULT_BORDER_COLOR_DISABLED
{ 0, 10, (int)0x2e353dff }, // DEFAULT_BASE_COLOR_DISABLED
{ 0, 11, (int)0x484f57ff }, // DEFAULT_TEXT_COLOR_DISABLED
{ 0, 16, (int)0x00000010 }, // DEFAULT_TEXT_SIZE
{ 0, 17, (int)0x00000000 }, // DEFAULT_TEXT_SPACING
{ 0, 18, (int)0x96a3b4ff }, // DEFAULT_LINE_COLOR
{ 0, 19, (int)0x292c33ff }, // DEFAULT_BACKGROUND_COLOR
{ 0, 20, (int)0x00000018 }, // DEFAULT_TEXT_LINE_SPACING
{ 1, 5, (int)0x97a9aeff }, // LABEL_TEXT_COLOR_FOCUSED
{ 4, 5, (int)0xa69a9aff }, // SLIDER_TEXT_COLOR_FOCUSED
{ 4, 6, (int)0xc3ccd5ff }, // SLIDER_BORDER_COLOR_PRESSED
{ 6, 6, (int)0xa7aeb5ff }, // CHECKBOX_BORDER_COLOR_PRESSED
{ 9, 5, (int)0xa9a5a5ff }, // TEXTBOX_TEXT_COLOR_FOCUSED
{ 10, 5, (int)0xc9c7c7ff }, // VALUEBOX_TEXT_COLOR_FOCUSED
};
// WARNING: This style uses a custom font: "PixelOperator.ttf" (size: 16, spacing: 0)
#define GENESIS_STYLE_FONT_ATLAS_COMP_SIZE 2138
// Font atlas image pixels data: DEFLATE compressed
static unsigned char genesisFontData[GENESIS_STYLE_FONT_ATLAS_COMP_SIZE] = { 0xed,
0xdd, 0xdb, 0x92, 0xa5, 0xba, 0x0d, 0x00, 0x50, 0xff, 0xff, 0x4f, 0x2b, 0x0f, 0xa9, 0x54, 0x32, 0x95, 0xd3, 0x80, 0x64,
0xd9, 0x98, 0x9e, 0x35, 0xeb, 0xad, 0x77, 0x4f, 0xc3, 0x36, 0x96, 0x6f, 0x80, 0x1c, 0x03, 0x00, 0x00, 0x00, 0xf8, 0xeb,
0xc5, 0x3f, 0xfe, 0x24, 0x7e, 0xfc, 0xcd, 0x78, 0xfc, 0x77, 0xae, 0x7f, 0xfe, 0x9f, 0x4f, 0xe3, 0xe2, 0x58, 0xcf, 0xce,
0x35, 0x7b, 0xdc, 0x48, 0x94, 0xc4, 0x3f, 0x9f, 0x5f, 0x3c, 0xfe, 0xbb, 0x3f, 0x7d, 0xbf, 0xfc, 0xef, 0x5f, 0xfd, 0xa5,
0xeb, 0xb3, 0x8f, 0x54, 0xb9, 0xe7, 0xff, 0x4f, 0xee, 0x2a, 0xc6, 0x92, 0xb2, 0xbf, 0x3f, 0xbb, 0xfc, 0xb9, 0x77, 0xfe,
0x9f, 0xb8, 0xf8, 0x3e, 0x95, 0xab, 0xf4, 0x24, 0xb6, 0x4e, 0x88, 0xff, 0x78, 0x14, 0x89, 0xd1, 0x5a, 0x73, 0xfe, 0x7b,
0xd4, 0x68, 0x6c, 0xa9, 0xaa, 0x25, 0x79, 0x15, 0xe9, 0xf9, 0xf2, 0xb8, 0xaa, 0xfd, 0xf9, 0x16, 0x30, 0x5a, 0xbe, 0xcb,
0x7c, 0x6d, 0x8c, 0xe9, 0xdf, 0x7e, 0x56, 0x93, 0x7a, 0xbe, 0xd5, 0xcc, 0x27, 0xa3, 0xe5, 0x2a, 0xbd, 0x11, 0xff, 0x51,
0x6e, 0xa9, 0x22, 0x19, 0xd1, 0x1d, 0x25, 0x58, 0x69, 0x87, 0xc7, 0xc6, 0xf8, 0x8f, 0xd6, 0xb1, 0x4b, 0xb4, 0xd5, 0xb9,
0x37, 0xe2, 0xff, 0xba, 0xd7, 0x1e, 0x2d, 0xf5, 0x26, 0x6e, 0xca, 0xa8, 0x37, 0x96, 0xd7, 0x8e, 0x53, 0x57, 0xc7, 0xff,
0xf5, 0x6f, 0x66, 0xfb, 0xdb, 0x48, 0xf6, 0xdd, 0x1d, 0xe5, 0x54, 0xeb, 0xff, 0xfb, 0xcb, 0x31, 0x7e, 0xec, 0x9b, 0xab,
0xe3, 0x90, 0x4c, 0x09, 0x47, 0x72, 0x76, 0x35, 0xdb, 0xc3, 0xbe, 0xd9, 0xff, 0x3f, 0x1b, 0x0b, 0x8a, 0xff, 0xb5, 0xf1,
0x5f, 0xf9, 0x26, 0xf1, 0xf0, 0x0c, 0x2a, 0x7d, 0xe2, 0x38, 0x20, 0xfe, 0xb3, 0xed, 0xd0, 0x75, 0x59, 0x75, 0x8d, 0xe5,
0xb3, 0xeb, 0x12, 0xcf, 0x66, 0xd8, 0xfb, 0x6a, 0x61, 0x7e, 0x6c, 0x94, 0x8f, 0xff, 0x7c, 0xeb, 0x79, 0xf7, 0xd7, 0xb2,
0xa5, 0xfa, 0xf3, 0xcc, 0x6e, 0xbe, 0xc4, 0xf7, 0xc5, 0x7f, 0x14, 0xfa, 0x94, 0xf7, 0xe3, 0xb9, 0x27, 0xfe, 0xa3, 0xb0,
0x72, 0x31, 0xda, 0x56, 0xf9, 0x6a, 0xeb, 0x12, 0x7d, 0x6b, 0x06, 0xef, 0x5f, 0x81, 0xfb, 0xf8, 0xbf, 0x9b, 0x0f, 0xbe,
0xdf, 0xff, 0xc7, 0x11, 0xfd, 0x7f, 0x94, 0xd7, 0x86, 0x47, 0xa1, 0xf5, 0xfd, 0x5a, 0xfc, 0x47, 0x21, 0x66, 0xa2, 0x65,
0x5e, 0x3e, 0x96, 0xac, 0xe5, 0xf5, 0xae, 0x19, 0xee, 0xb9, 0x5a, 0x77, 0xbd, 0x68, 0xd7, 0xac, 0xe6, 0x77, 0xc5, 0xff,
0x68, 0xe8, 0xff, 0x9f, 0x8d, 0x01, 0x66, 0xbf, 0x47, 0x7c, 0xac, 0xf7, 0xef, 0x8c, 0xff, 0x5d, 0x2b, 0xf6, 0xeb, 0x6b,
0x63, 0x1c, 0x71, 0x65, 0xac, 0xff, 0x77, 0x8e, 0xff, 0xeb, 0x6b, 0x00, 0xb9, 0x79, 0x4c, 0x1c, 0x1a, 0xfd, 0x95, 0x39,
0x73, 0xd7, 0x1d, 0xfb, 0xde, 0xa7, 0x09, 0xa2, 0xf0, 0xac, 0x46, 0xcf, 0x2a, 0xce, 0xea, 0x6b, 0x90, 0xef, 0xff, 0x77,
0xdd, 0xff, 0xbf, 0x1f, 0x73, 0x9f, 0xd1, 0xff, 0x8f, 0xdb, 0xde, 0xfd, 0x94, 0xf3, 0x01, 0xf6, 0xb6, 0x00, 0x21, 0xfa,
0xc1, 0x73, 0xc4, 0x80, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x9f, 0xcf,
0xef, 0xcf, 0x63, 0x90, 0xcf, 0x84, 0xbd, 0x3e, 0x03, 0xfb, 0x4c, 0x4e, 0xe0, 0x6a, 0x09, 0x75, 0xfd, 0xc5, 0xeb, 0xdc,
0xf1, 0x99, 0x4c, 0x0b, 0xcf, 0x6b, 0x46, 0xa4, 0x77, 0x3f, 0xe8, 0xcc, 0x28, 0x50, 0xc9, 0x69, 0x30, 0x92, 0x75, 0xa2,
0x37, 0x97, 0x52, 0xee, 0xec, 0xf7, 0xd4, 0xf8, 0x2f, 0xc4, 0xff, 0xfb, 0x9f, 0x8c, 0x42, 0xfe, 0x9e, 0x9d, 0xf1, 0x9f,
0xad, 0x7b, 0xb5, 0xfc, 0xb8, 0x73, 0x7d, 0xc9, 0xee, 0x8c, 0x62, 0xd1, 0x78, 0x0d, 0xf7, 0xf5, 0xab, 0x7f, 0xe6, 0xd0,
0xd9, 0x51, 0xaf, 0x67, 0xe2, 0x3f, 0x9b, 0xfb, 0x34, 0x2e, 0x5a, 0xe1, 0x73, 0xe2, 0x7f, 0x6c, 0x89, 0xff, 0xf8, 0x48,
0xfc, 0x77, 0x67, 0x92, 0xe9, 0xca, 0x42, 0x5e, 0xc9, 0x7c, 0x93, 0xbf, 0x86, 0xf5, 0x0c, 0xbf, 0xd5, 0x1a, 0xf7, 0x9d,
0xf8, 0xaf, 0xd4, 0xad, 0xeb, 0x3c, 0xab, 0xe2, 0xff, 0xbe, 0x6c, 0x2b, 0xbd, 0xc9, 0xfc, 0xcf, 0x7b, 0x22, 0x7f, 0x4f,
0x1e, 0xdd, 0xbb, 0x7d, 0xb4, 0xd6, 0xd6, 0x95, 0xd9, 0xbe, 0xf2, 0x2b, 0xf1, 0x1f, 0xc5, 0xbf, 0x12, 0x37, 0x2d, 0x4a,
0x6f, 0x06, 0xf6, 0x9e, 0xac, 0x6d, 0x7b, 0xe3, 0xbf, 0x7b, 0xdf, 0x9f, 0x33, 0xe2, 0xff, 0xfd, 0x3c, 0xba, 0xab, 0xe6,
0x70, 0xbd, 0x7d, 0xe5, 0xef, 0xee, 0xff, 0xef, 0x5b, 0xc9, 0x1d, 0xf5, 0x63, 0xa6, 0xa7, 0x7f, 0xb3, 0xff, 0x7f, 0xef,
0xe7, 0xef, 0xc6, 0x7f, 0x57, 0x6d, 0x8f, 0x8d, 0x23, 0x93, 0x6a, 0x5f, 0xb9, 0x73, 0x95, 0x6c, 0xf7, 0xfc, 0x7f, 0xd5,
0x37, 0x1b, 0xe9, 0xd1, 0x44, 0x1c, 0x1b, 0xff, 0x33, 0xab, 0x90, 0xeb, 0xc6, 0x0b, 0xef, 0x8c, 0xff, 0x6b, 0xfb, 0xdb,
0x56, 0x76, 0x05, 0x3c, 0xad, 0xff, 0xdf, 0x75, 0x97, 0x6c, 0x6c, 0x8e, 0xc9, 0xbd, 0xc7, 0xea, 0xdc, 0xa5, 0x2e, 0x9f,
0xbf, 0x3f, 0x9a, 0x47, 0x78, 0x5f, 0x8f, 0xff, 0xfa, 0x2a, 0xff, 0x68, 0x5a, 0x95, 0x7c, 0x6f, 0xfc, 0xbf, 0x7b, 0xa7,
0x93, 0xca, 0x51, 0x7a, 0xda, 0xdf, 0x67, 0x77, 0x85, 0x7b, 0x7b, 0x81, 0x9f, 0xef, 0x36, 0x44, 0x53, 0xcf, 0xd1, 0x95,
0xbf, 0xff, 0xcf, 0x73, 0xcb, 0xef, 0x78, 0x96, 0xbf, 0x13, 0x1f, 0xc9, 0xfd, 0xf4, 0xdf, 0x88, 0xff, 0xca, 0x91, 0x2b,
0xff, 0x2b, 0x7b, 0x0d, 0x3b, 0xe3, 0xff, 0xbd, 0x16, 0x40, 0xde, 0x4d, 0x38, 0x71, 0x14, 0x03, 0xfc, 0x9e, 0x16, 0xc0,
0x0e, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xee, 0x37, 0xb1, 0x7f, 0xce,
0xcd, 0x55, 0xc9, 0x1a, 0x9f, 0x7f, 0x4f, 0x7a, 0x67, 0xc6, 0xfc, 0x71, 0x93, 0x85, 0xec, 0xfa, 0xb7, 0xfe, 0xfc, 0xa4,
0x23, 0x1f, 0x6f, 0x34, 0xbe, 0xb5, 0x9e, 0xc9, 0xe5, 0x1d, 0x85, 0x6c, 0x03, 0x57, 0x6f, 0xc6, 0xe6, 0xae, 0x41, 0xee,
0x18, 0xd1, 0x9e, 0xcf, 0x2c, 0xd2, 0xd9, 0x63, 0xfe, 0xf7, 0x9c, 0x9f, 0x67, 0xfa, 0x8d, 0xf2, 0x9b, 0xc6, 0x77, 0xb9,
0xcc, 0xf2, 0xf9, 0x11, 0x2a, 0x39, 0xf3, 0xf2, 0x79, 0x36, 0x4f, 0xcf, 0x98, 0x3f, 0x9f, 0x79, 0x27, 0x6e, 0xea, 0xe4,
0xf3, 0x5a, 0xfa, 0x24, 0x73, 0x44, 0x4f, 0x06, 0xa1, 0xda, 0x37, 0x8e, 0xe9, 0xda, 0x5a, 0xb9, 0xde, 0x99, 0x23, 0xc4,
0xf4, 0xfb, 0xfc, 0x95, 0xfa, 0x1e, 0x93, 0xd7, 0xbd, 0xfe, 0x8d, 0x67, 0xb2, 0x10, 0x44, 0xa9, 0xa7, 0xeb, 0x2c, 0xc1,
0xeb, 0x4f, 0xf2, 0x19, 0x33, 0xe3, 0x61, 0x7c, 0x75, 0xff, 0x74, 0x24, 0xdb, 0x9b, 0x4a, 0xbe, 0xba, 0x99, 0x5d, 0x33,
0xe6, 0xc6, 0x88, 0xe3, 0x22, 0xbb, 0x52, 0x3e, 0xfa, 0x7f, 0xee, 0x6f, 0x62, 0x32, 0xfe, 0xa3, 0x98, 0x59, 0xa8, 0x1e,
0x23, 0xd9, 0xf8, 0x9f, 0xbf, 0x0a, 0xbb, 0xe2, 0xbf, 0x92, 0xf5, 0xe0, 0xfd, 0x8c, 0xd9, 0xb5, 0x9e, 0x70, 0x6f, 0xfc,
0xc7, 0x83, 0xf6, 0x6b, 0xa4, 0xe7, 0x2f, 0xa3, 0x90, 0xe1, 0xfc, 0xf9, 0xec, 0x22, 0x5a, 0xfb, 0xff, 0x71, 0x59, 0x26,
0xf1, 0xc2, 0xf8, 0xbf, 0xb6, 0xdf, 0x5b, 0x2e, 0xfe, 0x67, 0x5a, 0xa7, 0xfd, 0xfd, 0x7f, 0xad, 0x5f, 0x3b, 0xb9, 0xff,
0x7f, 0x27, 0x63, 0x76, 0x14, 0xe6, 0xd9, 0x95, 0xe3, 0xc6, 0xe4, 0xc8, 0xe0, 0xd9, 0x5c, 0x30, 0x1a, 0xe6, 0xab, 0x1d,
0xf1, 0xdf, 0x3f, 0xc2, 0xae, 0xcc, 0xad, 0x6a, 0xfd, 0x7f, 0xb4, 0xce, 0xff, 0x23, 0xdd, 0xce, 0xcf, 0xc5, 0x7f, 0xe7,
0x6e, 0x4b, 0x2b, 0x32, 0xe6, 0xe6, 0x77, 0x76, 0x7c, 0xab, 0xff, 0x1f, 0xa5, 0xfe, 0xbf, 0xd6, 0x7b, 0xcd, 0xd4, 0xca,
0xd8, 0x90, 0xeb, 0x2e, 0x37, 0xfe, 0x5f, 0x3d, 0xca, 0xce, 0xcf, 0x28, 0x63, 0x53, 0xfb, 0xd4, 0x3d, 0xf7, 0xab, 0x45,
0x4b, 0xa4, 0xc7, 0xd7, 0x3b, 0x33, 0xe6, 0x56, 0xd6, 0x9e, 0xcf, 0x8f, 0xff, 0xce, 0x3d, 0x4c, 0x2a, 0x77, 0x17, 0xa2,
0xa1, 0x6f, 0x5e, 0xdd, 0xff, 0xcf, 0xce, 0xff, 0x2b, 0xb9, 0xf4, 0xf7, 0xac, 0xff, 0x8d, 0xa5, 0x6b, 0x3f, 0xd1, 0x7a,
0x3f, 0x71, 0x1c, 0xd0, 0x7e, 0x77, 0x66, 0x89, 0x7f, 0x63, 0xfe, 0xdf, 0x95, 0x81, 0x7d, 0x94, 0xef, 0x09, 0xd5, 0xd7,
0xff, 0x67, 0x6b, 0x60, 0x1c, 0xd3, 0xf7, 0x8f, 0xc7, 0x7b, 0xe8, 0xc4, 0x4b, 0xd1, 0x7f, 0x5a, 0xfc, 0x9f, 0xf2, 0x44,
0x43, 0x47, 0xbb, 0x15, 0x2d, 0xad, 0x5b, 0x65, 0xdf, 0x96, 0xce, 0x71, 0xd4, 0xfc, 0xfc, 0x7f, 0xcd, 0xba, 0xfa, 0x1b,
0xc7, 0x98, 0xb9, 0x23, 0x3b, 0x1f, 0xff, 0xb1, 0xbc, 0xe4, 0xe4, 0x23, 0xfe, 0x4e, 0x2b, 0x75, 0xde, 0xf1, 0xfe, 0xe6,
0xda, 0x13, 0x1b, 0x9f, 0xb5, 0x13, 0xa1, 0xc4, 0xd1, 0xf3, 0x21, 0xd7, 0x03, 0xfe, 0xe6, 0xf9, 0xd0, 0xdf, 0xfa, 0x1c,
0xbc, 0x92, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x7d, 0x3b, 0xa4, 0x92, 0x59,
0x72, 0x34, 0xbf, 0x8b, 0x9e, 0xcf, 0xad, 0x5f, 0x3d, 0xbb, 0xbb, 0xf7, 0xa5, 0x6b, 0xf9, 0x79, 0x6b, 0xe5, 0x34, 0x97,
0x8f, 0x28, 0x97, 0x53, 0xed, 0x7e, 0xff, 0x83, 0x38, 0xf2, 0x6a, 0xde, 0x65, 0x75, 0x8d, 0x42, 0x3e, 0xd5, 0xce, 0xeb,
0x35, 0x4a, 0x65, 0xb7, 0xab, 0x96, 0x3d, 0x7f, 0x3b, 0x34, 0x36, 0xbc, 0x4f, 0x59, 0x8b, 0x85, 0x5a, 0x6e, 0xc3, 0xb9,
0xdc, 0x61, 0xb1, 0xf8, 0x9b, 0xe5, 0xca, 0x6f, 0x7e, 0x3f, 0x89, 0xfb, 0x6c, 0xab, 0xf1, 0xb9, 0xab, 0x59, 0xcd, 0xf8,
0xde, 0x7d, 0xbd, 0xea, 0xb5, 0xe5, 0x84, 0x5a, 0xb6, 0x7e, 0x67, 0x89, 0x37, 0xde, 0x6e, 0xad, 0x66, 0xc4, 0x8d, 0xcf,
0xbf, 0x73, 0x1a, 0x1f, 0xcd, 0x05, 0x50, 0xcb, 0x13, 0xb9, 0xeb, 0x5b, 0x55, 0x8e, 0x14, 0xa5, 0x3d, 0x9b, 0xc6, 0xf6,
0xec, 0x10, 0xf9, 0xec, 0xe7, 0xa3, 0x94, 0xef, 0xb3, 0xfb, 0x93, 0xca, 0x15, 0xa9, 0xc7, 0xff, 0x55, 0x39, 0x55, 0x3e,
0x99, 0xed, 0xff, 0xc7, 0xf2, 0x7d, 0x18, 0x4e, 0xb9, 0x9a, 0x77, 0xfd, 0x7f, 0xb4, 0xed, 0x98, 0xb4, 0xf7, 0x93, 0x1d,
0xe5, 0xda, 0x11, 0x0b, 0xbb, 0xf6, 0xfb, 0x8b, 0x74, 0xad, 0x18, 0xe9, 0x1c, 0x7b, 0xf5, 0xd9, 0xd7, 0xae, 0x4f, 0x56,
0xc4, 0x7f, 0x5c, 0xcc, 0x93, 0xbb, 0x77, 0x1d, 0xeb, 0xbe, 0x9a, 0x4f, 0x5a, 0x86, 0x2f, 0xc6, 0xff, 0x8e, 0xf8, 0x99,
0x9d, 0xff, 0x47, 0x79, 0x37, 0x9d, 0x33, 0x6b, 0x4c, 0x3c, 0xcc, 0xe8, 0xfc, 0xdb, 0xe2, 0x7f, 0x6f, 0x19, 0x77, 0xb7,
0xe6, 0xd7, 0x23, 0xec, 0xf1, 0xd1, 0xf8, 0x9f, 0xdd, 0xef, 0x6d, 0x7e, 0xee, 0x7a, 0xbf, 0xfe, 0xdf, 0xb9, 0xb2, 0x71,
0x46, 0xfc, 0x9f, 0x12, 0xe5, 0xb9, 0x32, 0x5f, 0x1b, 0xff, 0xef, 0xc7, 0x50, 0x57, 0x1f, 0xf6, 0xde, 0xb9, 0x47, 0xdb,
0xfc, 0xff, 0x7e, 0x97, 0xe4, 0xdc, 0xdd, 0x9d, 0xbd, 0xab, 0x49, 0x3b, 0x4b, 0xbd, 0x73, 0xcf, 0xe1, 0xa7, 0x63, 0x87,
0xee, 0xf9, 0xee, 0x19, 0xfd, 0x7f, 0x88, 0xff, 0x05, 0x6b, 0xe1, 0x27, 0xf4, 0x92, 0xab, 0xee, 0xe5, 0xe5, 0xb3, 0xd8,
0xf7, 0x7e, 0x32, 0x5b, 0x52, 0xf9, 0xfb, 0xff, 0x5f, 0x1f, 0xff, 0x3f, 0xd9, 0xe1, 0xe7, 0x5b, 0xf1, 0x1f, 0xc5, 0x15,
0xc5, 0x33, 0xe2, 0x3f, 0x36, 0x8e, 0x6a, 0x57, 0xdc, 0xcb, 0x3f, 0x79, 0xfc, 0xdf, 0xbf, 0x13, 0xd4, 0xd7, 0xe3, 0xff,
0x0b, 0x63, 0xe8, 0x35, 0x4f, 0xa1, 0xbc, 0x17, 0xff, 0x73, 0x77, 0x86, 0x4f, 0x1e, 0xff, 0x9f, 0x1e, 0xff, 0xb3, 0x57,
0x25, 0x36, 0xcd, 0xff, 0x9f, 0x8e, 0x34, 0x7e, 0x7f, 0xfc, 0x8f, 0xad, 0x7b, 0xf7, 0xd7, 0xe7, 0x9b, 0xe3, 0xd0, 0x67,
0x61, 0xce, 0x79, 0x8a, 0xe3, 0xfd, 0x99, 0xcd, 0xfc, 0xae, 0xa8, 0xeb, 0xef, 0xff, 0x8f, 0x65, 0xfd, 0x7f, 0xef, 0x93,
0x2d, 0xbb, 0xee, 0xff, 0xef, 0x7d, 0xa2, 0xa8, 0xfb, 0x0c, 0xc5, 0xff, 0x37, 0xda, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xe2, 0x73, 0xf2, 0x2b, 0x72, 0xeb, 0xf7, 0xe7, 0xc3, 0x38, 0x3d, 0xb7, 0xfe,
0xdd, 0xfb, 0x33, 0xe3, 0xd8, 0xdc, 0xfa, 0xe3, 0x51, 0x8e, 0xa2, 0xef, 0xe5, 0xd6, 0xf7, 0xee, 0xc7, 0xd3, 0xb7, 0x64,
0xd6, 0xe5, 0xd6, 0xef, 0x7b, 0x87, 0xfa, 0xf4, 0xdc, 0xfa, 0xe3, 0x26, 0x13, 0xd1, 0xc9, 0xb9, 0xf5, 0xeb, 0x6f, 0x51,
0x9d, 0x9a, 0x5b, 0x9f, 0xb5, 0xef, 0x4e, 0x3e, 0x6d, 0xfb, 0xe3, 0xc5, 0x6b, 0xf6, 0x46, 0x36, 0x84, 0x93, 0x6b, 0x64,
0x3e, 0x5b, 0xd3, 0x8a, 0x16, 0xa5, 0xf3, 0x7d, 0xcd, 0xb3, 0x73, 0xeb, 0x7f, 0x3d, 0xc6, 0xeb, 0xd9, 0x58, 0xa3, 0x9c,
0xf3, 0xbe, 0xef, 0x5d, 0xed, 0x48, 0x8d, 0x1b, 0xd7, 0xe6, 0xd6, 0xba, 0x6e, 0x47, 0xcf, 0xdd, 0x29, 0xe1, 0xdb, 0xb9,
0xb5, 0xc5, 0x7f, 0x4f, 0xab, 0x1b, 0x4d, 0x51, 0xf7, 0xf4, 0x93, 0x7d, 0x59, 0x83, 0xfa, 0xe2, 0x3f, 0xda, 0x3f, 0xdb,
0x9b, 0x5b, 0xab, 0xba, 0x9e, 0x20, 0xfe, 0x7f, 0x57, 0x3b, 0x90, 0x99, 0xd1, 0x3e, 0x29, 0xf7, 0x37, 0x6b, 0xc0, 0xce,
0xdc, 0x5a, 0x5f, 0x8f, 0xff, 0x4a, 0xff, 0x20, 0xfe, 0x7f, 0xcf, 0xf8, 0xbf, 0xaf, 0x2f, 0xaf, 0xaf, 0xff, 0x7f, 0x79,
0x6f, 0xad, 0xdf, 0x19, 0xff, 0x67, 0xe4, 0xd6, 0x15, 0xff, 0xef, 0x8c, 0xff, 0x6b, 0xfb, 0x13, 0xac, 0x58, 0xcd, 0xed,
0x9d, 0x4d, 0x88, 0xff, 0xd5, 0x75, 0xe7, 0xa4, 0x9d, 0x21, 0xc4, 0x78, 0x7d, 0xfe, 0x5f, 0xdb, 0x13, 0xb4, 0xda, 0x02,
0xec, 0xcb, 0xd5, 0xfa, 0x46, 0x6e, 0x7d, 0xb9, 0x75, 0x67, 0xae, 0xd7, 0xf5, 0xe8, 0xef, 0x9b, 0xf7, 0x63, 0x4e, 0x1f,
0xff, 0xf7, 0xde, 0xab, 0xf9, 0xff, 0x35, 0xa5, 0xd5, 0x2b, 0xde, 0xab, 0xc6, 0xff, 0x2b, 0xda, 0xd8, 0x37, 0x4b, 0x63,
0xcd, 0xbd, 0xa3, 0xfe, 0x33, 0x8c, 0xa6, 0xd1, 0x1f, 0xef, 0xb4, 0x1a, 0xb0, 0x66, 0x9c, 0xf1, 0x7e, 0x4b, 0x08, 0x7c,
0xed, 0x49, 0x2e, 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, 0x80, 0x93, 0xfc, 0xfb, 0x9f, 0x72, 0x00, 0xf1, 0x0f, 0xfc, 0x75, 0xf1, 0xff, 0x2f };
// Font glyphs rectangles data (on atlas)
static const Rectangle genesisFontRecs[189] = {
{ 4, 4, 4 , 16 },
{ 16, 4, 1 , 9 },
{ 25, 4, 3 , 3 },
{ 36, 4, 6 , 9 },
{ 50, 4, 5 , 13 },
{ 63, 4, 7 , 9 },
{ 78, 4, 5 , 9 },
{ 91, 4, 1 , 3 },
{ 100, 4, 3 , 9 },
{ 111, 4, 3 , 9 },
{ 122, 4, 5 , 5 },
{ 135, 4, 5 , 5 },
{ 148, 4, 2 , 3 },
{ 158, 4, 4 , 1 },
{ 170, 4, 1 , 1 },
{ 179, 4, 3 , 9 },
{ 190, 4, 5 , 9 },
{ 203, 4, 3 , 9 },
{ 214, 4, 5 , 9 },
{ 227, 4, 5 , 9 },
{ 240, 4, 5 , 9 },
{ 253, 4, 5 , 9 },
{ 266, 4, 5 , 9 },
{ 279, 4, 5 , 9 },
{ 292, 4, 5 , 9 },
{ 305, 4, 5 , 9 },
{ 318, 4, 1 , 7 },
{ 327, 4, 2 , 9 },
{ 337, 4, 3 , 5 },
{ 348, 4, 4 , 3 },
{ 360, 4, 3 , 5 },
{ 371, 4, 5 , 9 },
{ 384, 4, 7 , 9 },
{ 399, 4, 5 , 9 },
{ 412, 4, 5 , 9 },
{ 425, 4, 5 , 9 },
{ 438, 4, 5 , 9 },
{ 451, 4, 5 , 9 },
{ 464, 4, 5 , 9 },
{ 477, 4, 5 , 9 },
{ 490, 4, 5 , 9 },
{ 4, 28, 1 , 9 },
{ 13, 28, 5 , 9 },
{ 26, 28, 5 , 9 },
{ 39, 28, 5 , 9 },
{ 52, 28, 7 , 9 },
{ 67, 28, 5 , 9 },
{ 80, 28, 5 , 9 },
{ 93, 28, 5 , 9 },
{ 106, 28, 5 , 9 },
{ 119, 28, 5 , 9 },
{ 132, 28, 5 , 9 },
{ 145, 28, 5 , 9 },
{ 158, 28, 5 , 9 },
{ 171, 28, 5 , 9 },
{ 184, 28, 7 , 9 },
{ 199, 28, 5 , 9 },
{ 212, 28, 5 , 9 },
{ 225, 28, 5 , 9 },
{ 238, 28, 3 , 9 },
{ 249, 28, 3 , 9 },
{ 260, 28, 3 , 9 },
{ 271, 28, 5 , 3 },
{ 284, 28, 5 , 1 },
{ 297, 28, 2 , 2 },
{ 307, 28, 5 , 7 },
{ 320, 28, 5 , 9 },
{ 333, 28, 5 , 7 },
{ 346, 28, 5 , 9 },
{ 359, 28, 5 , 7 },
{ 372, 28, 4 , 9 },
{ 384, 28, 5 , 9 },
{ 397, 28, 5 , 9 },
{ 410, 28, 1 , 9 },
{ 419, 28, 5 , 11 },
{ 432, 28, 5 , 9 },
{ 445, 28, 2 , 9 },
{ 455, 28, 7 , 7 },
{ 470, 28, 5 , 7 },
{ 483, 28, 5 , 7 },
{ 496, 28, 5 , 9 },
{ 4, 52, 5 , 9 },
{ 17, 52, 5 , 7 },
{ 30, 52, 5 , 7 },
{ 43, 52, 4 , 8 },
{ 55, 52, 5 , 7 },
{ 68, 52, 5 , 7 },
{ 81, 52, 7 , 7 },
{ 96, 52, 5 , 7 },
{ 109, 52, 5 , 9 },
{ 122, 52, 5 , 7 },
{ 135, 52, 4 , 9 },
{ 147, 52, 1 , 9 },
{ 156, 52, 4 , 9 },
{ 168, 52, 6 , 2 },
{ 182, 52, 1 , 9 },
{ 191, 52, 5 , 11 },
{ 204, 52, 6 , 9 },
{ 218, 52, 6 , 9 },
{ 232, 52, 5 , 9 },
{ 245, 52, 5 , 12 },
{ 258, 52, 0 , 0 },
{ 266, 52, 5 , 10 },
{ 279, 52, 7 , 9 },
{ 294, 52, 0 , 0 },
{ 302, 52, 6 , 5 },
{ 316, 52, 5 , 3 },
{ 329, 52, 7 , 9 },
{ 344, 52, 0 , 0 },
{ 352, 52, 4 , 4 },
{ 364, 52, 5 , 7 },
{ 377, 52, 0 , 0 },
{ 385, 52, 0 , 0 },
{ 393, 52, 5 , 12 },
{ 406, 52, 5 , 9 },
{ 419, 52, 7 , 9 },
{ 434, 52, 1 , 1 },
{ 443, 52, 5 , 10 },
{ 456, 52, 0 , 0 },
{ 464, 52, 0 , 0 },
{ 472, 52, 6 , 5 },
{ 486, 52, 9 , 9 },
{ 4, 76, 9 , 7 },
{ 21, 76, 5 , 11 },
{ 34, 76, 5 , 9 },
{ 47, 76, 5 , 12 },
{ 60, 76, 5 , 12 },
{ 73, 76, 5 , 12 },
{ 86, 76, 6 , 12 },
{ 100, 76, 5 , 11 },
{ 113, 76, 5 , 13 },
{ 126, 76, 9 , 9 },
{ 143, 76, 5 , 12 },
{ 156, 76, 5 , 12 },
{ 169, 76, 5 , 12 },
{ 182, 76, 5 , 12 },
{ 195, 76, 5 , 11 },
{ 208, 76, 2 , 12 },
{ 218, 76, 2 , 12 },
{ 228, 76, 3 , 12 },
{ 239, 76, 3 , 11 },
{ 250, 76, 6 , 9 },
{ 264, 76, 6 , 12 },
{ 278, 76, 5 , 12 },
{ 291, 76, 5 , 12 },
{ 304, 76, 5 , 12 },
{ 317, 76, 6 , 12 },
{ 331, 76, 5 , 11 },
{ 344, 76, 5 , 5 },
{ 357, 76, 7 , 9 },
{ 372, 76, 5 , 12 },
{ 385, 76, 5 , 12 },
{ 398, 76, 5 , 12 },
{ 411, 76, 5 , 11 },
{ 424, 76, 5 , 12 },
{ 437, 76, 5 , 9 },
{ 450, 76, 5 , 9 },
{ 463, 76, 5 , 10 },
{ 476, 76, 5 , 10 },
{ 489, 76, 5 , 10 },
{ 4, 100, 6 , 10 },
{ 18, 100, 5 , 9 },
{ 31, 100, 5 , 11 },
{ 44, 100, 9 , 7 },
{ 61, 100, 5 , 10 },
{ 74, 100, 5 , 10 },
{ 87, 100, 5 , 10 },
{ 100, 100, 5 , 10 },
{ 113, 100, 5 , 9 },
{ 126, 100, 2 , 10 },
{ 136, 100, 2 , 10 },
{ 146, 100, 3 , 10 },
{ 157, 100, 3 , 9 },
{ 168, 100, 6 , 9 },
{ 182, 100, 6 , 10 },
{ 196, 100, 5 , 10 },
{ 209, 100, 5 , 10 },
{ 222, 100, 5 , 10 },
{ 235, 100, 6 , 10 },
{ 249, 100, 5 , 9 },
{ 262, 100, 5 , 5 },
{ 275, 100, 7 , 7 },
{ 290, 100, 5 , 10 },
{ 303, 100, 5 , 10 },
{ 316, 100, 5 , 10 },
{ 329, 100, 5 , 9 },
{ 342, 100, 5 , 12 },
{ 355, 100, 5 , 11 },
{ 368, 100, 5 , 11 },
};
// Font glyphs info data
// NOTE: No glyphs.image data provided
static const GlyphInfo genesisFontGlyphs[189] = {
{ 32, 0, 0, 4, { 0 }},
{ 33, 2, 4, 5, { 0 }},
{ 34, 2, 4, 7, { 0 }},
{ 35, 1, 4, 8, { 0 }},
{ 36, 1, 2, 7, { 0 }},
{ 37, 1, 4, 9, { 0 }},
{ 38, 1, 4, 7, { 0 }},
{ 39, 2, 4, 5, { 0 }},
{ 40, 3, 4, 7, { 0 }},
{ 41, 1, 4, 7, { 0 }},
{ 42, 1, 4, 7, { 0 }},
{ 43, 1, 6, 7, { 0 }},
{ 44, 1, 12, 5, { 0 }},
{ 45, 1, 8, 6, { 0 }},
{ 46, 2, 12, 5, { 0 }},
{ 47, 1, 4, 5, { 0 }},
{ 48, 1, 4, 7, { 0 }},
{ 49, 2, 4, 7, { 0 }},
{ 50, 1, 4, 7, { 0 }},
{ 51, 1, 4, 7, { 0 }},
{ 52, 1, 4, 7, { 0 }},
{ 53, 1, 4, 7, { 0 }},
{ 54, 1, 4, 7, { 0 }},
{ 55, 1, 4, 7, { 0 }},
{ 56, 1, 4, 7, { 0 }},
{ 57, 1, 4, 7, { 0 }},
{ 58, 2, 6, 5, { 0 }},
{ 59, 1, 6, 5, { 0 }},
{ 60, 1, 6, 5, { 0 }},
{ 61, 1, 7, 6, { 0 }},
{ 62, 1, 6, 5, { 0 }},
{ 63, 1, 4, 7, { 0 }},
{ 64, 1, 4, 9, { 0 }},
{ 65, 1, 4, 7, { 0 }},
{ 66, 1, 4, 7, { 0 }},
{ 67, 1, 4, 7, { 0 }},
{ 68, 1, 4, 7, { 0 }},
{ 69, 1, 4, 7, { 0 }},
{ 70, 1, 4, 7, { 0 }},
{ 71, 1, 4, 7, { 0 }},
{ 72, 1, 4, 7, { 0 }},
{ 73, 2, 4, 5, { 0 }},
{ 74, 1, 4, 7, { 0 }},
{ 75, 1, 4, 7, { 0 }},
{ 76, 1, 4, 7, { 0 }},
{ 77, 1, 4, 9, { 0 }},
{ 78, 1, 4, 7, { 0 }},
{ 79, 1, 4, 7, { 0 }},
{ 80, 1, 4, 7, { 0 }},
{ 81, 1, 4, 7, { 0 }},
{ 82, 1, 4, 7, { 0 }},
{ 83, 1, 4, 7, { 0 }},
{ 84, 1, 4, 7, { 0 }},
{ 85, 1, 4, 7, { 0 }},
{ 86, 1, 4, 7, { 0 }},
{ 87, 1, 4, 9, { 0 }},
{ 88, 1, 4, 7, { 0 }},
{ 89, 1, 4, 7, { 0 }},
{ 90, 1, 4, 7, { 0 }},
{ 91, 3, 4, 7, { 0 }},
{ 92, 1, 4, 5, { 0 }},
{ 93, 1, 4, 7, { 0 }},
{ 94, 1, 4, 7, { 0 }},
{ 95, 0, 14, 5, { 0 }},
{ 96, 1, 4, 5, { 0 }},
{ 97, 1, 6, 7, { 0 }},
{ 98, 1, 4, 7, { 0 }},
{ 99, 1, 6, 7, { 0 }},
{ 100, 1, 4, 7, { 0 }},
{ 101, 1, 6, 7, { 0 }},
{ 102, 1, 4, 6, { 0 }},
{ 103, 1, 6, 7, { 0 }},
{ 104, 1, 4, 7, { 0 }},
{ 105, 2, 4, 5, { 0 }},
{ 106, 1, 4, 7, { 0 }},
{ 107, 1, 4, 7, { 0 }},
{ 108, 2, 4, 5, { 0 }},
{ 109, 1, 6, 9, { 0 }},
{ 110, 1, 6, 7, { 0 }},
{ 111, 1, 6, 7, { 0 }},
{ 112, 1, 6, 7, { 0 }},
{ 113, 1, 6, 7, { 0 }},
{ 114, 1, 6, 7, { 0 }},
{ 115, 1, 6, 7, { 0 }},
{ 116, 1, 5, 6, { 0 }},
{ 117, 1, 6, 7, { 0 }},
{ 118, 1, 6, 7, { 0 }},
{ 119, 1, 6, 9, { 0 }},
{ 120, 1, 6, 7, { 0 }},
{ 121, 1, 6, 7, { 0 }},
{ 122, 1, 6, 7, { 0 }},
{ 123, 2, 4, 7, { 0 }},
{ 124, 2, 4, 5, { 0 }},
{ 125, 1, 4, 7, { 0 }},
{ 126, 1, 4, 8, { 0 }},
{ 161, 2, 6, 5, { 0 }},
{ 162, 1, 4, 7, { 0 }},
{ 163, 1, 4, 8, { 0 }},
{ 8364, 1, 4, 8, { 0 }},
{ 165, 1, 4, 7, { 0 }},
{ 352, 1, 1, 7, { 0 }},
{ 167, 0, 0, 0, { 0 }},
{ 353, 1, 3, 7, { 0 }},
{ 169, 1, 4, 9, { 0 }},
{ 170, 0, 0, 0, { 0 }},
{ 171, 1, 6, 8, { 0 }},
{ 172, 1, 8, 7, { 0 }},
{ 174, 1, 4, 9, { 0 }},
{ 175, 0, 0, 0, { 0 }},
{ 176, 1, 4, 6, { 0 }},
{ 177, 1, 6, 7, { 0 }},
{ 178, 0, 0, 0, { 0 }},
{ 179, 0, 0, 0, { 0 }},
{ 381, 1, 1, 7, { 0 }},
{ 181, 1, 6, 7, { 0 }},
{ 182, 1, 4, 9, { 0 }},
{ 183, 2, 8, 5, { 0 }},
{ 382, 1, 3, 7, { 0 }},
{ 185, 0, 0, 0, { 0 }},
{ 186, 0, 0, 0, { 0 }},
{ 187, 1, 6, 8, { 0 }},
{ 338, 1, 4, 11, { 0 }},
{ 339, 1, 6, 11, { 0 }},
{ 376, 1, 2, 7, { 0 }},
{ 191, 1, 6, 7, { 0 }},
{ 192, 1, 1, 7, { 0 }},
{ 193, 1, 1, 7, { 0 }},
{ 194, 1, 1, 7, { 0 }},
{ 195, 1, 1, 7, { 0 }},
{ 196, 1, 2, 7, { 0 }},
{ 197, 1, 0, 7, { 0 }},
{ 198, 1, 4, 11, { 0 }},
{ 199, 1, 4, 7, { 0 }},
{ 200, 1, 1, 7, { 0 }},
{ 201, 1, 1, 7, { 0 }},
{ 202, 1, 1, 7, { 0 }},
{ 203, 1, 2, 7, { 0 }},
{ 204, 1, 1, 5, { 0 }},
{ 205, 2, 1, 5, { 0 }},
{ 206, 1, 1, 5, { 0 }},
{ 207, 1, 2, 5, { 0 }},
{ 208, 0, 4, 7, { 0 }},
{ 209, 1, 1, 7, { 0 }},
{ 210, 1, 1, 7, { 0 }},
{ 211, 1, 1, 7, { 0 }},
{ 212, 1, 1, 7, { 0 }},
{ 213, 1, 1, 7, { 0 }},
{ 214, 1, 2, 7, { 0 }},
{ 215, 1, 6, 7, { 0 }},
{ 216, 0, 4, 7, { 0 }},
{ 217, 1, 1, 7, { 0 }},
{ 218, 1, 1, 7, { 0 }},
{ 219, 1, 1, 7, { 0 }},
{ 220, 1, 2, 7, { 0 }},
{ 221, 1, 1, 7, { 0 }},
{ 222, 1, 4, 7, { 0 }},
{ 223, 1, 4, 7, { 0 }},
{ 224, 1, 3, 7, { 0 }},
{ 225, 1, 3, 7, { 0 }},
{ 226, 1, 3, 7, { 0 }},
{ 227, 1, 3, 7, { 0 }},
{ 228, 1, 4, 7, { 0 }},
{ 229, 1, 2, 7, { 0 }},
{ 230, 1, 6, 11, { 0 }},
{ 231, 1, 6, 7, { 0 }},
{ 232, 1, 3, 7, { 0 }},
{ 233, 1, 3, 7, { 0 }},
{ 234, 1, 3, 7, { 0 }},
{ 235, 1, 4, 7, { 0 }},
{ 236, 1, 3, 5, { 0 }},
{ 237, 2, 3, 5, { 0 }},
{ 238, 1, 3, 5, { 0 }},
{ 239, 1, 4, 5, { 0 }},
{ 240, 1, 4, 7, { 0 }},
{ 241, 1, 3, 7, { 0 }},
{ 242, 1, 3, 7, { 0 }},
{ 243, 1, 3, 7, { 0 }},
{ 244, 1, 3, 7, { 0 }},
{ 245, 1, 3, 7, { 0 }},
{ 246, 1, 4, 7, { 0 }},
{ 247, 1, 6, 7, { 0 }},
{ 248, 0, 6, 7, { 0 }},
{ 249, 1, 3, 7, { 0 }},
{ 250, 1, 3, 7, { 0 }},
{ 251, 1, 3, 7, { 0 }},
{ 252, 1, 4, 7, { 0 }},
{ 253, 1, 3, 7, { 0 }},
{ 254, 1, 4, 7, { 0 }},
{ 255, 1, 4, 7, { 0 }},
};
// Style loading function: Genesis
static void GuiLoadStyleGenesis(void)
{
// Load style properties provided
// NOTE: Default properties are propagated
for (int i = 0; i < GENESIS_STYLE_PROPS_COUNT; i++)
{
GuiSetStyle(genesisStyleProps[i].controlId, genesisStyleProps[i].propertyId, genesisStyleProps[i].propertyValue);
}
// Custom font loading
// NOTE: Compressed font image data (DEFLATE), it requires DecompressData() function
int genesisFontDataSize = 0;
unsigned char *data = DecompressData(genesisFontData, GENESIS_STYLE_FONT_ATLAS_COMP_SIZE, &genesisFontDataSize);
Image imFont = { data, 512, 256, 1, 2 };
Font font = { 0 };
font.baseSize = 16;
font.glyphCount = 189;
// Load texture from image
font.texture = LoadTextureFromImage(imFont);
UnloadImage(imFont); // Uncompressed image data can be unloaded from memory
// Copy char recs data from global fontRecs
// NOTE: Required to avoid issues if trying to free font
font.recs = (Rectangle *)RAYGUI_MALLOC(font.glyphCount*sizeof(Rectangle));
memcpy(font.recs, genesisFontRecs, font.glyphCount*sizeof(Rectangle));
// Copy font char info data from global fontChars
// NOTE: Required to avoid issues if trying to free font
font.glyphs = (GlyphInfo *)RAYGUI_MALLOC(font.glyphCount*sizeof(GlyphInfo));
memcpy(font.glyphs, genesisFontGlyphs, font.glyphCount*sizeof(GlyphInfo));
GuiSetFont(font);
// Setup a white rectangle on the font to be used on shapes drawing,
// it makes possible to draw shapes and text (full UI) in a single draw call
Rectangle fontWhiteRec = { 510, 254, 1, 1 };
SetShapesTexture(font.texture, fontWhiteRec);
//-----------------------------------------------------------------
// TODO: Custom user style setup: Set specific properties here (if required)
// i.e. Controls specific BORDER_WIDTH, TEXT_PADDING, TEXT_ALIGNMENT
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 122 KiB

Some files were not shown because too many files have changed in this diff Show More