Skip to content

Commit eead626

Browse files
committed
0.14.0-b15.21 release!
1 parent 11a02bb commit eead626

File tree

12 files changed

+1350
-1340
lines changed

12 files changed

+1350
-1340
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "wled",
3-
"version": "0.14.0-b2.20",
3+
"version": "0.14.0-b15.21",
44
"description": "Tools for WLED project",
55
"main": "tools/cdata.js",
66
"directories": {

usermods/EXAMPLE_v2/usermod_v2_example.h

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,32 @@
2020
* 2. Register the usermod by adding #include "usermod_filename.h" in the top and registerUsermod(new MyUsermodClass()) in the bottom of usermods_list.cpp
2121
*/
2222

23+
/* WLEDMM: move usermod variables to class.
24+
25+
As of March 2023 this is work in progress, more variables will be moved in the future.
26+
See Example v2, Temperature, MPU6050 and weather and fastled (rest to be done) as examples which has been converted using the steps below:
27+
28+
Part 1
29+
- remove bool enabled = false/true (now default false)
30+
- remove static const char _name[] and _enabled[]
31+
- add constructor which calls superclass (temp?): XXXUsermod(const char *name, bool enabled):Usermod(name, enabled) {}
32+
- replace _enabled with "enabled"
33+
- remove const char PROGMEM init for _name[] and _enabled[]
34+
Part 2
35+
- Remove bool initDone = false;
36+
- addToConfig: replace createNestedObject with Usermod::addToConfig(root); JsonObject top = root[FPSTR(_name)];
37+
- readFromConfig: replace !top.isNull and enabled with bool configComplete = Usermod::readFromConfig(root);JsonObject top = root[FPSTR(_name)];
38+
Part 3
39+
- remove unsigned long lastTime = 0; //WLEDMM
40+
41+
*/
42+
2343
//class name. Use something descriptive and leave the ": public Usermod" part :)
2444
class MyExampleUsermod : public Usermod {
2545

2646
private:
2747

2848
// Private class members. You can declare variables and functions only accessible to your usermod here
29-
bool enabled = false;
30-
bool initDone = false;
31-
unsigned long lastTime = 0;
3249

3350
// set your config variables to their boot default value (this can also be done in readFromConfig() or a constructor if you prefer)
3451
bool testBool = false;
@@ -41,28 +58,25 @@ class MyExampleUsermod : public Usermod {
4158
long testLong;
4259
int8_t testPins[2];
4360

44-
// string that are used multiple time (this will save some flash memory)
45-
static const char _name[];
46-
static const char _enabled[];
47-
48-
4961
// any private methods should go here (non-inline methosd should be defined out of class)
5062
void publishMqtt(const char* state, bool retain = false); // example for publishing MQTT message
5163

5264

5365
public:
5466

67+
MyExampleUsermod(const char *name, bool enabled):Usermod(name, enabled) {} //WLEDMM
68+
5569
// non WLED related methods, may be used for data exchange between usermods (non-inline methods should be defined out of class)
5670

5771
/**
5872
* Enable/Disable the usermod
5973
*/
60-
inline void enable(bool enable) { enabled = enable; }
74+
// inline void enable(bool enable) { enabled = enable; }
6175

6276
/**
6377
* Get usermod enabled/disabled state
6478
*/
65-
inline bool isEnabled() { return enabled; }
79+
// inline bool isEnabled() { return enabled; }
6680

6781
// in such case add the following to another usermod:
6882
// in private vars:
@@ -222,8 +236,8 @@ class MyExampleUsermod : public Usermod {
222236
*/
223237
void addToConfig(JsonObject& root)
224238
{
225-
JsonObject top = root.createNestedObject(FPSTR(_name));
226-
top[FPSTR(_enabled)] = enabled;
239+
Usermod::addToConfig(root); JsonObject top = root[FPSTR(_name)]; //WLEDMM
240+
227241
//save these vars persistently whenever settings are saved
228242
top["great"] = userVar0;
229243
top["testBool"] = testBool;
@@ -258,9 +272,7 @@ class MyExampleUsermod : public Usermod {
258272
// default settings values could be set here (or below using the 3-argument getJsonValue()) instead of in the class definition or constructor
259273
// setting them inside readFromConfig() is slightly more robust, handling the rare but plausible use case of single value being missing after boot (e.g. if the cfg.json was manually edited and a value was removed)
260274

261-
JsonObject top = root[FPSTR(_name)];
262-
263-
bool configComplete = !top.isNull();
275+
bool configComplete = Usermod::readFromConfig(root);JsonObject top = root[FPSTR(_name)]; //WLEDMM
264276

265277
configComplete &= getJsonValue(top["great"], userVar0);
266278
configComplete &= getJsonValue(top["testBool"], testBool);
@@ -386,8 +398,6 @@ class MyExampleUsermod : public Usermod {
386398

387399

388400
// add more strings here to reduce flash memory usage
389-
const char MyExampleUsermod::_name[] PROGMEM = "ExampleUsermod";
390-
const char MyExampleUsermod::_enabled[] PROGMEM = "enabled";
391401

392402

393403
// implementation of non-inline member methods

usermods/multi_relay/usermod_multi_relay.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,11 +202,11 @@ class MultiRelay : public Usermod {
202202
/**
203203
* Enable/Disable the usermod
204204
*/
205-
inline void enable(bool enable) { enabled = enable; }
205+
// inline void enable(bool enable) { enabled = enable; }
206206
/**
207207
* Get usermod enabled/disabled state
208208
*/
209-
inline bool isEnabled() { return enabled; }
209+
// inline bool isEnabled() { return enabled; }
210210

211211
/**
212212
* switch relay on/off

usermods/usermod_v2_weather/usermod_v2_weather.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ uint16_t mode_2DWeather(void) {
9494
return FRAMETIME;
9595
}
9696

97-
static const char _data_FX_MODE_2DWEATHER[] PROGMEM = "Weather ☾@;!;!;2;pal=54"; //temperature palette
97+
static const char _data_FX_MODE_2DWEATHER[] PROGMEM = "🌦Weather ☾@;!;!;2;pal=54"; //temperature palette
9898

9999
//utility function, move somewhere else???
100100
void epochToString(time_t time, char *timeString) {
@@ -144,7 +144,6 @@ class WeatherUsermod : public Usermod {
144144
// strings to reduce flash memory usage (used more than twice)
145145
String apiKey = ""; //config var
146146

147-
unsigned long lastTime = 0; //will be used to download new forecast every hour
148147
char errorMessage[100] = "";
149148
bool isConnected = false; //only call openweathermap if connected
150149

wled00/data/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -671,7 +671,7 @@ function populateInfo(i)
671671
if (i.ver.includes("0.14.1")) vcn = "Sitting Ducks"; // easter egg
672672
if (i.ver.includes("0.14.0")) vcn = "Lupo"; // check for MM versioning scheme
673673
if (i.ver.includes("0.14.0-b2.2")) vcn = "Sitting Ducks"; // early easter egg
674-
if (i.ver.includes("0.14.0-b2.20")) vcn = "Lupo";
674+
if (i.ver.includes("0.14.0-b15.21")) vcn = "Lupo";
675675
cn += `v${i.ver} &nbsp;<i>"${vcn}"</i><p>(WLEDMM_${i.ver} ${i.rel}.bin)</p><p><em>build ${i.vid}</em></p><table>
676676
${urows}
677677
${urows===""?'':'<tr><td colspan=2><hr style="height:1px;border-width:0;color:SeaGreen;background-color:Seagreen"></td></tr>'}

wled00/fcn_declare.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,7 @@ class Usermod {
265265
bool enabled = false; //WLEDMM
266266
const char *_name; //WLEDMM
267267
bool initDone = false; //WLEDMM
268+
unsigned long lastTime = 0; //WLEDMM
268269
public:
269270
Usermod(const char *_name = nullptr, bool enabled=false) { um_data = nullptr; this->_name = _name; this->enabled=enabled;}
270271
virtual ~Usermod() { if (um_data) delete um_data; }

wled00/html_other.h

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -41,46 +41,46 @@ const char PAGE_dmxmap[] PROGMEM = R"=====()=====";
4141
#endif
4242

4343
// Autogenerated from wled00/data/update.htm, do not edit!!
44-
const uint16_t PAGE_update_length = 605;
44+
const uint16_t PAGE_update_length = 606;
4545
const uint8_t PAGE_update[] PROGMEM = {
46-
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x75, 0x53, 0xd1, 0x6e, 0xd3, 0x30,
47-
0x14, 0x7d, 0xcf, 0x57, 0x78, 0x7e, 0x6a, 0x25, 0xea, 0x8c, 0x89, 0x17, 0x46, 0x92, 0xa1, 0xb2,
48-
0x09, 0x21, 0x31, 0x6d, 0xd2, 0x36, 0x10, 0x4f, 0xc8, 0x89, 0x6f, 0x12, 0x53, 0xc7, 0xce, 0xec,
49-
0x9b, 0x56, 0xd5, 0xb4, 0x7f, 0xe7, 0xda, 0x69, 0x07, 0xd2, 0xe0, 0x25, 0xaa, 0xe3, 0x73, 0x4f,
50-
0xcf, 0x3d, 0xe7, 0xa4, 0x38, 0xb9, 0xbc, 0xf9, 0x74, 0xff, 0xe3, 0xf6, 0x8a, 0xf5, 0x38, 0x98,
51-
0xaa, 0x38, 0x3c, 0x41, 0xaa, 0xaa, 0x18, 0x00, 0x25, 0x6b, 0x9c, 0x45, 0xb0, 0x58, 0xf2, 0x9d,
46+
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x75, 0x53, 0xc1, 0x6e, 0xd4, 0x30,
47+
0x14, 0xbc, 0xe7, 0x2b, 0x5c, 0x9f, 0x76, 0x25, 0xd6, 0x69, 0x2b, 0x38, 0x50, 0x92, 0x14, 0x2d,
48+
0xad, 0x10, 0x12, 0xa8, 0x95, 0xda, 0x82, 0x38, 0x21, 0x27, 0x7e, 0x49, 0xcc, 0x3a, 0x76, 0x6a,
49+
0xbf, 0xec, 0x6a, 0x85, 0xfa, 0xef, 0x3c, 0x3b, 0xbb, 0x05, 0xa9, 0x70, 0x89, 0xe2, 0x64, 0xde,
50+
0x64, 0xde, 0xcc, 0xa4, 0x38, 0xb9, 0xba, 0xf9, 0x70, 0xff, 0xfd, 0xf6, 0x9a, 0xf5, 0x38, 0x98,
51+
0xaa, 0x38, 0x5c, 0x41, 0xaa, 0xaa, 0x18, 0x00, 0x25, 0x6b, 0x9c, 0x45, 0xb0, 0x58, 0xf2, 0x9d,
5252
0x56, 0xd8, 0x97, 0x0a, 0xb6, 0xba, 0x81, 0x55, 0x3a, 0x70, 0x66, 0xe5, 0x00, 0x25, 0xdf, 0x6a,
53-
0xd8, 0x8d, 0xce, 0x23, 0xaf, 0xb2, 0x02, 0x35, 0x1a, 0xa8, 0xbe, 0x7f, 0xbd, 0xba, 0x64, 0x0f,
54-
0xa3, 0x92, 0x08, 0x45, 0x3e, 0xbf, 0x2a, 0x42, 0xe3, 0xf5, 0x88, 0x55, 0xd6, 0x4e, 0xb6, 0x41,
55-
0xed, 0x2c, 0x5b, 0x2f, 0x96, 0x4f, 0x3b, 0x6d, 0x95, 0xdb, 0x89, 0x5e, 0x07, 0x74, 0x7e, 0x2f,
56-
0x6a, 0xd9, 0x6c, 0x16, 0xcb, 0xe7, 0x17, 0xc8, 0x03, 0x41, 0x94, 0x6b, 0xa6, 0x81, 0x14, 0x88,
57-
0x0e, 0xf0, 0xca, 0x40, 0xfc, 0xb9, 0xde, 0x7f, 0x51, 0x0b, 0x3e, 0xb5, 0x7c, 0x29, 0x02, 0xee,
58-
0x0d, 0x08, 0xa5, 0xc3, 0x68, 0xe4, 0xbe, 0xe4, 0xd6, 0x59, 0xe0, 0x6f, 0xfe, 0x3b, 0x32, 0x84,
59-
0xee, 0xf5, 0x4c, 0x6d, 0x5c, 0xb3, 0xe1, 0xcf, 0x59, 0x91, 0x1f, 0x24, 0x1e, 0xa4, 0xb2, 0xe0,
60-
0x9b, 0x92, 0xe7, 0x01, 0x10, 0xb5, 0xed, 0x42, 0x1e, 0xc4, 0xaf, 0x70, 0x31, 0x96, 0xef, 0x79,
61-
0xf5, 0x17, 0x32, 0x52, 0x55, 0xd9, 0x47, 0x3d, 0x44, 0x03, 0xd8, 0xe4, 0xcd, 0x82, 0xcf, 0xf4,
62-
0x4d, 0x08, 0x7c, 0xf9, 0x81, 0x90, 0x09, 0x51, 0xe4, 0xb3, 0xa5, 0xb5, 0x53, 0x7b, 0xe6, 0xac,
63-
0x71, 0x52, 0x95, 0xfc, 0x33, 0xe0, 0xb7, 0xc5, 0x92, 0xe8, 0xfa, 0xb3, 0x2a, 0xbb, 0x76, 0xce,
64-
0x5e, 0x3b, 0xc5, 0x92, 0x75, 0x77, 0xae, 0xc5, 0x9d, 0xf4, 0xf0, 0xe2, 0x21, 0x21, 0x8a, 0xd6,
65-
0xf9, 0x81, 0x51, 0x26, 0xbd, 0xa3, 0xd9, 0xdb, 0x9b, 0xbb, 0x7b, 0xce, 0x64, 0xb2, 0x89, 0x44,
66-
0x4e, 0x09, 0xc7, 0x99, 0xa6, 0x2b, 0xf2, 0x85, 0x65, 0x40, 0x0e, 0xee, 0x47, 0x0a, 0x67, 0x98,
67-
0x0c, 0xea, 0x51, 0x7a, 0xcc, 0xe3, 0xfc, 0x8a, 0x60, 0x92, 0x93, 0x82, 0x30, 0xd5, 0x83, 0xa6,
68-
0x54, 0x1f, 0x92, 0x80, 0x30, 0x4a, 0xcb, 0x1a, 0x23, 0x43, 0x28, 0x79, 0xd0, 0x23, 0xaf, 0x4e,
69-
0xc5, 0xdb, 0x77, 0xe2, 0x74, 0x55, 0x9f, 0x89, 0xb3, 0xd3, 0x68, 0x0c, 0xdd, 0x93, 0x78, 0x5f,
70-
0x5d, 0xba, 0x5d, 0x12, 0xcf, 0xb0, 0x07, 0x66, 0xe8, 0x2f, 0x03, 0x32, 0x0f, 0x06, 0x64, 0x80,
71-
0x73, 0x56, 0x48, 0x96, 0xf5, 0x1e, 0xda, 0x92, 0xf7, 0x88, 0x63, 0x38, 0xcf, 0xf3, 0x4e, 0x63,
72-
0x3f, 0xd5, 0xa2, 0x71, 0x43, 0x7e, 0xd8, 0x6f, 0x32, 0x10, 0xf2, 0xb8, 0x63, 0x7e, 0x18, 0x0b,
73-
0x9c, 0xa1, 0xf4, 0x14, 0x54, 0xc9, 0x7f, 0xd6, 0x46, 0xda, 0x0d, 0xc9, 0xd1, 0x43, 0xc7, 0xb2,
74-
0xe4, 0xfe, 0x91, 0x88, 0xde, 0x88, 0xd0, 0x6b, 0x30, 0x2a, 0x08, 0xed, 0x0e, 0xbc, 0x47, 0x8a,
75-
0x57, 0xdc, 0x22, 0x6c, 0xbb, 0x8b, 0x64, 0x7c, 0xd9, 0x92, 0xc8, 0x55, 0x78, 0x9c, 0xc8, 0xcc,
76-
0x58, 0xcf, 0x5c, 0xa6, 0x35, 0x0a, 0x6d, 0xc7, 0x09, 0xd9, 0xec, 0x50, 0xab, 0x0d, 0x1c, 0xab,
77-
0x7c, 0xf4, 0xd1, 0xc3, 0xe3, 0xa4, 0x3d, 0xa8, 0x19, 0x5d, 0x4f, 0x88, 0xd4, 0xc6, 0x19, 0x3e,
78-
0x3b, 0x47, 0x64, 0x73, 0x36, 0x27, 0x45, 0x3e, 0x5f, 0xff, 0x03, 0x3a, 0x1f, 0xa2, 0xdd, 0x8d,
79-
0xd1, 0xcd, 0xa6, 0xe4, 0xeb, 0xe8, 0xf6, 0x9a, 0x4a, 0xfe, 0x67, 0x28, 0xc5, 0x52, 0x15, 0x4a,
80-
0x6f, 0xb3, 0x94, 0x5e, 0xac, 0x28, 0xd1, 0x54, 0x89, 0x9d, 0x7a, 0x27, 0x84, 0x20, 0x70, 0x22,
81-
0xbf, 0x4d, 0xdb, 0x32, 0xe5, 0x98, 0x75, 0x48, 0x71, 0x39, 0x3a, 0x38, 0x4f, 0x5a, 0x5b, 0x0f,
82-
0xa1, 0x4f, 0x91, 0x8c, 0xb2, 0x03, 0x76, 0xbe, 0x2c, 0x72, 0xe2, 0x8b, 0xeb, 0xc6, 0xbe, 0xc5,
83-
0xf2, 0xc5, 0xaf, 0xfa, 0x37, 0x19, 0xf3, 0xf6, 0x73, 0xeb, 0x03, 0x00, 0x00
53+
0xd8, 0x8d, 0xce, 0x23, 0xaf, 0xb2, 0x02, 0x35, 0x1a, 0xa8, 0xbe, 0x7d, 0xbe, 0xbe, 0x62, 0x0f,
54+
0xa3, 0x92, 0x08, 0x45, 0x3e, 0x3f, 0x2a, 0x42, 0xe3, 0xf5, 0x88, 0x55, 0xd6, 0x4e, 0xb6, 0x41,
55+
0xed, 0x2c, 0x5b, 0x2f, 0x96, 0xbf, 0x76, 0xda, 0x2a, 0xb7, 0x13, 0xbd, 0x0e, 0xe8, 0xfc, 0x5e,
56+
0xd4, 0xb2, 0xd9, 0x2c, 0x96, 0x4f, 0xcf, 0x90, 0x07, 0x82, 0x28, 0xd7, 0x4c, 0x03, 0x29, 0x10,
57+
0x1d, 0xe0, 0xb5, 0x81, 0x78, 0xbb, 0xde, 0x7f, 0x52, 0x0b, 0x3e, 0xb5, 0x7c, 0x29, 0x02, 0xee,
58+
0x0d, 0x08, 0xa5, 0xc3, 0x68, 0xe4, 0xbe, 0xe4, 0xd6, 0x59, 0xe0, 0xaf, 0xfe, 0x3b, 0x32, 0x84,
59+
0xee, 0xe5, 0x4c, 0x6d, 0x5c, 0xb3, 0xe1, 0x4f, 0x59, 0x91, 0x1f, 0x24, 0x1e, 0xa4, 0xb2, 0xe0,
60+
0x9b, 0x92, 0xe7, 0x01, 0x10, 0xb5, 0xed, 0x42, 0x1e, 0xc4, 0xcf, 0x70, 0x39, 0x96, 0x6f, 0x79,
61+
0xf5, 0x17, 0x32, 0x52, 0x55, 0xd9, 0x7b, 0x3d, 0x44, 0x03, 0xd8, 0xe4, 0xcd, 0x82, 0xcf, 0xf4,
62+
0x4d, 0x08, 0x7c, 0xf9, 0x8e, 0x90, 0x09, 0x51, 0xe4, 0xb3, 0xa5, 0xb5, 0x53, 0x7b, 0xe6, 0xac,
63+
0x71, 0x52, 0x95, 0xfc, 0x23, 0xe0, 0xd7, 0xc5, 0x92, 0xe8, 0xfa, 0xf3, 0x2a, 0xfb, 0xe2, 0x9c,
64+
0xfd, 0xe2, 0x14, 0x4b, 0xd6, 0xdd, 0xb9, 0x16, 0x77, 0xd2, 0xc3, 0xb3, 0x87, 0x84, 0x28, 0x5a,
65+
0xe7, 0x07, 0x46, 0x99, 0xf4, 0x8e, 0x66, 0x6f, 0x6f, 0xee, 0xee, 0x39, 0x93, 0xc9, 0x26, 0x12,
66+
0x39, 0x25, 0x1c, 0x67, 0x9a, 0x5e, 0x91, 0x2f, 0x2c, 0x03, 0x72, 0x70, 0x3f, 0x52, 0x38, 0xc3,
67+
0x64, 0x50, 0x8f, 0xd2, 0x63, 0x1e, 0xe7, 0x57, 0x04, 0x93, 0x9c, 0x14, 0x84, 0xa9, 0x1e, 0x34,
68+
0xa5, 0xfa, 0x90, 0x04, 0x84, 0x51, 0x5a, 0xd6, 0x18, 0x19, 0x42, 0xc9, 0x83, 0x1e, 0x79, 0x75,
69+
0x2a, 0xce, 0x5e, 0x8b, 0xd3, 0x55, 0x7d, 0xf6, 0x46, 0x9c, 0x9f, 0x45, 0x67, 0x08, 0x40, 0xea,
70+
0x7d, 0x75, 0xe5, 0x76, 0x49, 0x3d, 0xc3, 0x1e, 0x98, 0xa1, 0x6f, 0x06, 0x64, 0x1e, 0x0c, 0xc8,
71+
0x00, 0x17, 0xac, 0x90, 0x2c, 0xeb, 0x3d, 0xb4, 0x25, 0xef, 0x11, 0xc7, 0x70, 0x91, 0xe7, 0x9d,
72+
0xc6, 0x7e, 0xaa, 0x45, 0xe3, 0x86, 0xfc, 0xb0, 0xe0, 0x64, 0x20, 0xe4, 0x71, 0xc9, 0xfc, 0x30,
73+
0x16, 0x38, 0x43, 0xe9, 0x29, 0xa9, 0x92, 0xff, 0xa8, 0x8d, 0xb4, 0x1b, 0xd2, 0xa3, 0x87, 0x8e,
74+
0x65, 0xc9, 0xfe, 0x23, 0x11, 0x3d, 0x11, 0xa1, 0xd7, 0x60, 0x54, 0x10, 0xda, 0x1d, 0x78, 0x8f,
75+
0x14, 0x2f, 0xb8, 0x45, 0xd8, 0x76, 0x97, 0xc9, 0xf9, 0xb2, 0x25, 0x91, 0xab, 0xf0, 0x38, 0x91,
76+
0x9b, 0xb1, 0x9f, 0xb9, 0x4c, 0x6b, 0x14, 0xda, 0x8e, 0x13, 0xb2, 0xd9, 0xa2, 0x56, 0x1b, 0x38,
77+
0x76, 0xf9, 0x68, 0xa4, 0x87, 0xc7, 0x49, 0x7b, 0x50, 0x33, 0xba, 0x9e, 0x10, 0xa9, 0x8e, 0x33,
78+
0x7c, 0xb6, 0x8e, 0xc8, 0xe6, 0x70, 0x4e, 0x8a, 0x7c, 0x7e, 0xfd, 0x0f, 0xe8, 0x7c, 0x88, 0x7e,
79+
0x37, 0x46, 0x37, 0x9b, 0x92, 0xaf, 0xa3, 0xdd, 0x6b, 0x6a, 0xf9, 0x9f, 0xa1, 0x94, 0x4b, 0x55,
80+
0x28, 0xbd, 0xcd, 0x52, 0x7c, 0xb1, 0xa3, 0x44, 0x53, 0x25, 0x76, 0x2a, 0x9e, 0x10, 0x82, 0xc0,
81+
0x89, 0xfc, 0x36, 0x6d, 0xcb, 0x94, 0x63, 0xd6, 0x21, 0xe5, 0xe5, 0xe8, 0xe0, 0x3c, 0x69, 0x6d,
82+
0x3d, 0x84, 0x3e, 0x45, 0x32, 0xca, 0x0e, 0xd8, 0xc5, 0xb2, 0xc8, 0x89, 0x2f, 0xae, 0x1b, 0x0b,
83+
0x17, 0xdb, 0x17, 0x7f, 0xeb, 0xdf, 0x2e, 0x45, 0x6b, 0xaa, 0xec, 0x03, 0x00, 0x00
8484
};
8585

8686

0 commit comments

Comments
 (0)