mirror of
https://git.mirrors.martin98.com/https://github.com/luc-github/ESP3D.git
synced 2025-08-05 00:50:45 +08:00
Add new embedded page
This commit is contained in:
parent
fa61393141
commit
2876055a8c
5
embedded/.gitignore
vendored
Normal file
5
embedded/.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
node_modules
|
||||
.vscode
|
||||
dist/*.map
|
||||
dist/*.tmp
|
@ -1,14 +0,0 @@
|
||||
cd %~dp0
|
||||
cmd.exe /c npm install
|
||||
cmd.exe /c npm audit fix
|
||||
cmd.exe /c npm audit
|
||||
cmd.exe /c gulp package
|
||||
cmd.exe /c bin2c -o embedded.h -m tool.html.gz
|
||||
cat header.txt > out.h
|
||||
cat embedded.h >> out.h
|
||||
cat footer.txt >> out.h
|
||||
sed -i "s/] =/] PROGMEM =/g" out.h
|
||||
cat out.h > embedded.h
|
||||
cat out.h > ../esp3d/src/modules/http/embedded.h
|
||||
rm -f out.h
|
||||
pause
|
68
embedded/config/buildheader.js
Normal file
68
embedded/config/buildheader.js
Normal file
@ -0,0 +1,68 @@
|
||||
let path = require("path");
|
||||
const fs = require("fs");
|
||||
const child_process = require("child_process");
|
||||
const chalk = require("chalk");
|
||||
|
||||
let distPath = path.normalize(__dirname + "/../dist/");
|
||||
let srcPath = path.normalize(__dirname + "/../src/");
|
||||
let headerPath = path.normalize(
|
||||
__dirname + "/../../esp3d/src/modules/http/embedded.h"
|
||||
);
|
||||
|
||||
console.log(chalk.yellow("Converting bin to text file"));
|
||||
//Cleaning files
|
||||
if (fs.existsSync(distPath + "out.tmp")) fs.rmSync(distPath + "out.tmp");
|
||||
if (fs.existsSync(distPath + "embedded.h")) fs.rmSync(distPath + "embedded.h");
|
||||
|
||||
//Convert bin2C
|
||||
child_process.execSync(
|
||||
"bin2c -o " + distPath + "out.tmp" + " -m " + distPath + "index.html.gz"
|
||||
);
|
||||
|
||||
//Check conversion
|
||||
if (fs.existsSync(distPath + "out.tmp")) {
|
||||
console.log(chalk.green("[ok]"));
|
||||
} else {
|
||||
console.log(chalk.red("[error]Conversion failed"));
|
||||
console.log(
|
||||
chalk.red(
|
||||
"Be sure bin2c executable is in your path (https://github.com/AraHaan/bin2c)"
|
||||
)
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
//Format header file
|
||||
console.log(chalk.yellow("Building header"));
|
||||
fs.writeFileSync(
|
||||
distPath + "embedded.h",
|
||||
fs.readFileSync(srcPath + "header.txt")
|
||||
);
|
||||
let bin2cfile = fs.readFileSync(distPath + "out.tmp").toString();
|
||||
let newfile = bin2cfile
|
||||
.replace("] ", "] PROGMEM ")
|
||||
.replace(/define.*dist_index_html_gz/, "define tool_html_gz")
|
||||
.replace(/char.*dist_index_html_gz/, "char tool_html_gz");
|
||||
fs.appendFileSync(distPath + "embedded.h", newfile);
|
||||
fs.appendFileSync(
|
||||
distPath + "embedded.h",
|
||||
fs.readFileSync(srcPath + "footer.txt")
|
||||
);
|
||||
|
||||
//Check format result
|
||||
if (fs.existsSync(distPath + "embedded.h")) {
|
||||
console.log(chalk.green("[ok]"));
|
||||
} else {
|
||||
console.log(chalk.red("[error]Conversion failed"));
|
||||
return;
|
||||
}
|
||||
|
||||
//Move file to src
|
||||
console.log(chalk.yellow("Overwriting header in sources"));
|
||||
fs.writeFileSync(headerPath, fs.readFileSync(distPath + "embedded.h"));
|
||||
if (fs.existsSync(headerPath)) {
|
||||
console.log(chalk.green("[ok]"));
|
||||
} else {
|
||||
console.log(chalk.red("[error]Overwriting failed"));
|
||||
return;
|
||||
}
|
616
embedded/config/server.js
Normal file
616
embedded/config/server.js
Normal file
@ -0,0 +1,616 @@
|
||||
const express = require("express");
|
||||
const chalk = require("chalk");
|
||||
let path = require("path");
|
||||
const fs = require("fs");
|
||||
const port = 8080;
|
||||
/*
|
||||
* Web Server for development
|
||||
* Web Socket server for development
|
||||
*/
|
||||
const wscolor = chalk.cyan;
|
||||
const expresscolor = chalk.green;
|
||||
const commandcolor = chalk.white;
|
||||
const WebSocket = require("ws");
|
||||
let currentID = 0;
|
||||
const app = express();
|
||||
const fileUpload = require("express-fileupload");
|
||||
let serverpath = path.normalize(__dirname + "/../server/public/");
|
||||
|
||||
let WebSocketServer = require("ws").Server,
|
||||
wss = new WebSocketServer({ port: 81 });
|
||||
app.use(fileUpload({ preserveExtension: true, debug: false }));
|
||||
app.listen(port, () =>
|
||||
console.log(expresscolor(`[express] Listening on port ${port}!`))
|
||||
);
|
||||
|
||||
//app.use(express.urlencoded({ extended: false }));
|
||||
|
||||
function SendBinary(text) {
|
||||
const array = new Uint8Array(text.length);
|
||||
for (let i = 0; i < array.length; ++i) {
|
||||
array[i] = text.charCodeAt(i);
|
||||
}
|
||||
wss.clients.forEach(function each(client) {
|
||||
if (client.readyState === WebSocket.OPEN) {
|
||||
client.send(array);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
app.post("/login", function (req, res) {
|
||||
res.send("");
|
||||
return;
|
||||
});
|
||||
|
||||
app.get("/config", function (req, res) {
|
||||
res.send(
|
||||
"chip id: 56398\nCPU Freq: 240 Mhz<br/>" +
|
||||
"CPU Temp: 58.3 C<br/>" +
|
||||
"free mem: 212.36 KB<br/>" +
|
||||
"SDK: v3.2.3-14-gd3e562907<br/>" +
|
||||
"flash size: 4.00 MB<br/>" +
|
||||
"size for update: 1.87 MB<br/>" +
|
||||
"FS type: LittleFS<br/>" +
|
||||
"FS usage: 104.00 KB/192.00 KB<br/>" +
|
||||
"baud: 115200<br/>" +
|
||||
"sleep mode: none<br/>" +
|
||||
"wifi: ON<br/>" +
|
||||
"hostname: esp3d<br/>" +
|
||||
"HTTP port: 80<br/>" +
|
||||
"Telnet port: 23<br/>" +
|
||||
"WebDav port: 8383<br/>" +
|
||||
"sta: ON<br/>" +
|
||||
"mac: 80:7D:3A:C4:4E:DC<br/>" +
|
||||
"SSID: WIFI_OFFICE_A2G<br/>" +
|
||||
"signal: 100 %<br/>" +
|
||||
"phy mode: 11n<br/>" +
|
||||
"channel: 11<br/>" +
|
||||
"ip mode: dhcp<br/>" +
|
||||
"ip: 192.168.1.61<br/>" +
|
||||
"gw: 192.168.1.1<br/>" +
|
||||
"msk: 255.255.255.0<br/>" +
|
||||
"DNS: 192.168.1.1<br/>" +
|
||||
"ap: OFF<br/>" +
|
||||
"mac: 80:7D:3A:C4:4E:DD<br/>" +
|
||||
"serial: ON<br/>" +
|
||||
"notification: OFF<br/>" +
|
||||
"Target Fw: repetier<br/>" +
|
||||
"FW ver: 3.0.0.a91<br/>" +
|
||||
"FW arch: ESP32 "
|
||||
);
|
||||
return;
|
||||
});
|
||||
|
||||
app.get("/command", function (req, res) {
|
||||
console.log(commandcolor(`[server]/command params: ${req.query.cmd}`));
|
||||
let url = req.query.cmd;
|
||||
if (url.startsWith("[ESP800]")) {
|
||||
res.json({
|
||||
FWVersion: "3.0.0.a28",
|
||||
FWTarget: 40,
|
||||
SDConnection: "none",
|
||||
Authentication: "Disabled",
|
||||
WebCommunication: "Synchronous",
|
||||
WebSocketIP: "localhost",
|
||||
WebSocketport: "81",
|
||||
Hostname: "esp3d",
|
||||
WiFiMode: "STA",
|
||||
WebUpdate: "Enabled",
|
||||
Filesystem: "SPIFFS",
|
||||
Time: "none",
|
||||
Cam_ID: "4",
|
||||
Cam_name: "ESP32 Cam",
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (url.indexOf("ESP111") != -1) {
|
||||
res.send("192.168.1.111");
|
||||
return;
|
||||
}
|
||||
if (url.indexOf("ESP420") != -1) {
|
||||
res.json({
|
||||
Status: [
|
||||
{ id: "chip id", value: "38078" },
|
||||
{ id: "CPU Freq", value: "240 Mhz" },
|
||||
{ id: "CPU Temp", value: "50.6 C" },
|
||||
{ id: "free mem", value: "217.50 KB" },
|
||||
{ id: "SDK", value: "v3.3.1-61-g367c3c09c" },
|
||||
{ id: "flash size", value: "4.00 MB" },
|
||||
{ id: "size for update", value: "1.87 MB" },
|
||||
{ id: "FS type", value: "SPIFFS" },
|
||||
{ id: "FS usage", value: "39.95 KB/169.38 KB" },
|
||||
{ id: "baud", value: "115200" },
|
||||
{ id: "sleep mode", value: "none" },
|
||||
{ id: "wifi", value: "ON" },
|
||||
{ id: "hostname", value: "esp3d" },
|
||||
{ id: "HTTP port", value: "80" },
|
||||
{ id: "Telnet port", value: "23" },
|
||||
{ id: "Ftp ports", value: "21, 20, 55600" },
|
||||
{ id: "sta", value: "ON" },
|
||||
{ id: "mac", value: "30:AE:A4:21:BE:94" },
|
||||
{ id: "SSID", value: "WIFI_OFFICE_B2G" },
|
||||
{ id: "signal", value: "100 %" },
|
||||
{ id: "phy mode", value: "11n" },
|
||||
{ id: "channel", value: "2" },
|
||||
{ id: "ip mode", value: "dhcp" },
|
||||
{ id: "ip", value: "192.168.1.43" },
|
||||
{ id: "gw", value: "192.168.1.1" },
|
||||
{ id: "msk", value: "255.255.255.0" },
|
||||
{ id: "DNS", value: "192.168.1.1" },
|
||||
{ id: "ap", value: "OFF" },
|
||||
{ id: "mac", value: "30:AE:A4:21:BE:95" },
|
||||
{ id: "serial", value: "ON" },
|
||||
{ id: "notification", value: "OFF" },
|
||||
{ id: "FW ver", value: "3.0.0.a28" },
|
||||
{ id: "FW arch", value: "ESP32" },
|
||||
],
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (url.indexOf("ESP410") != -1) {
|
||||
res.json({
|
||||
AP_LIST: [
|
||||
{
|
||||
SSID: "HP-Setup>71-M277 LaserJet",
|
||||
SIGNAL: "92",
|
||||
IS_PROTECTED: "0",
|
||||
},
|
||||
{ SSID: "WIFI_OFFICE_B2G", SIGNAL: "88", IS_PROTECTED: "1" },
|
||||
{ SSID: "NETGEAR70", SIGNAL: "66", IS_PROTECTED: "1" },
|
||||
{ SSID: "ZenFone6'luc", SIGNAL: "48", IS_PROTECTED: "1" },
|
||||
{ SSID: "Livebox-EF01", SIGNAL: "20", IS_PROTECTED: "1" },
|
||||
{ SSID: "orange", SIGNAL: "20", IS_PROTECTED: "0" },
|
||||
],
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (url.indexOf("ESP400") != -1) {
|
||||
res.json({
|
||||
Settings: [
|
||||
{
|
||||
F: "network/network",
|
||||
P: "130",
|
||||
T: "S",
|
||||
V: "esp3d",
|
||||
H: "hostname",
|
||||
S: "32",
|
||||
M: "1",
|
||||
},
|
||||
{
|
||||
F: "network/network",
|
||||
P: "0",
|
||||
T: "B",
|
||||
V: "1",
|
||||
H: "radio mode",
|
||||
O: [{ none: "0" }, { sta: "1" }, { ap: "2" }],
|
||||
},
|
||||
{
|
||||
F: "network/sta",
|
||||
P: "1",
|
||||
T: "S",
|
||||
V: "WIFI_OFFICE_B2G",
|
||||
S: "32",
|
||||
H: "SSID",
|
||||
M: "1",
|
||||
},
|
||||
{
|
||||
F: "network/sta",
|
||||
P: "34",
|
||||
T: "S",
|
||||
N: "1",
|
||||
V: "********",
|
||||
S: "64",
|
||||
H: "pwd",
|
||||
M: "8",
|
||||
},
|
||||
{
|
||||
F: "network/sta",
|
||||
P: "99",
|
||||
T: "B",
|
||||
V: "1",
|
||||
H: "ip mode",
|
||||
O: [{ dhcp: "1" }, { static: "0" }],
|
||||
},
|
||||
{
|
||||
F: "network/sta",
|
||||
P: "100",
|
||||
T: "A",
|
||||
V: "192.168.0.1",
|
||||
H: "ip",
|
||||
},
|
||||
{
|
||||
F: "network/sta",
|
||||
P: "108",
|
||||
T: "A",
|
||||
V: "192.168.0.1",
|
||||
H: "gw",
|
||||
},
|
||||
{
|
||||
F: "network/sta",
|
||||
P: "104",
|
||||
T: "A",
|
||||
V: "255.255.255.0",
|
||||
H: "msk",
|
||||
},
|
||||
{
|
||||
F: "network/ap",
|
||||
P: "218",
|
||||
T: "S",
|
||||
V: "ESP3D",
|
||||
S: "32",
|
||||
H: "SSID",
|
||||
M: "1",
|
||||
},
|
||||
{
|
||||
F: "network/ap",
|
||||
P: "251",
|
||||
T: "S",
|
||||
N: "1",
|
||||
V: "********",
|
||||
S: "64",
|
||||
H: "pwd",
|
||||
M: "8",
|
||||
},
|
||||
{
|
||||
F: "network/ap",
|
||||
P: "316",
|
||||
T: "A",
|
||||
V: "192.168.0.1",
|
||||
H: "ip",
|
||||
},
|
||||
{
|
||||
F: "network/ap",
|
||||
P: "118",
|
||||
T: "B",
|
||||
V: "11",
|
||||
H: "channel",
|
||||
O: [
|
||||
{ 1: "1" },
|
||||
{ 2: "2" },
|
||||
{ 3: "3" },
|
||||
{ 4: "4" },
|
||||
{ 5: "5" },
|
||||
{ 6: "6" },
|
||||
{ 7: "7" },
|
||||
{ 8: "8" },
|
||||
{ 9: "9" },
|
||||
{ 10: "10" },
|
||||
{ 11: "11" },
|
||||
{ 12: "12" },
|
||||
{ 13: "13" },
|
||||
{ 14: "14" },
|
||||
],
|
||||
},
|
||||
{
|
||||
F: "service/http",
|
||||
P: "328",
|
||||
T: "B",
|
||||
V: "1",
|
||||
H: "enable",
|
||||
O: [{ no: "0" }, { yes: "1" }],
|
||||
},
|
||||
{
|
||||
F: "service/http",
|
||||
P: "121",
|
||||
T: "I",
|
||||
V: "80",
|
||||
H: "port",
|
||||
S: "65001",
|
||||
M: "1",
|
||||
},
|
||||
{
|
||||
F: "service/telnetp",
|
||||
P: "329",
|
||||
T: "B",
|
||||
V: "1",
|
||||
H: "enable",
|
||||
O: [{ no: "0" }, { yes: "1" }],
|
||||
},
|
||||
{
|
||||
F: "service/telnetp",
|
||||
P: "125",
|
||||
T: "I",
|
||||
V: "23",
|
||||
H: "port",
|
||||
S: "65001",
|
||||
M: "1",
|
||||
},
|
||||
{
|
||||
F: "service/ftp",
|
||||
P: "1021",
|
||||
T: "B",
|
||||
V: "1",
|
||||
H: "enable",
|
||||
O: [{ no: "0" }, { yes: "1" }],
|
||||
},
|
||||
{
|
||||
F: "service/ftp",
|
||||
P: "1009",
|
||||
T: "I",
|
||||
V: "21",
|
||||
H: "control port",
|
||||
S: "65001",
|
||||
M: "1",
|
||||
},
|
||||
{
|
||||
F: "service/ftp",
|
||||
P: "1013",
|
||||
T: "I",
|
||||
V: "20",
|
||||
H: "active port",
|
||||
S: "65001",
|
||||
M: "1",
|
||||
},
|
||||
{
|
||||
F: "service/ftp",
|
||||
P: "1017",
|
||||
T: "I",
|
||||
V: "55600",
|
||||
H: "passive port",
|
||||
S: "65001",
|
||||
M: "1",
|
||||
},
|
||||
{
|
||||
F: "service/notification",
|
||||
P: "1004",
|
||||
T: "B",
|
||||
V: "1",
|
||||
H: "auto notif",
|
||||
O: [{ no: "0" }, { yes: "1" }],
|
||||
},
|
||||
{
|
||||
F: "service/notification",
|
||||
P: "116",
|
||||
T: "B",
|
||||
V: "0",
|
||||
H: "notification",
|
||||
O: [{ none: "0" }, { pushover: "1" }, { email: "2" }, { line: "3" }],
|
||||
},
|
||||
{
|
||||
F: "service/notification",
|
||||
P: "332",
|
||||
T: "S",
|
||||
V: "********",
|
||||
S: "63",
|
||||
H: "t1",
|
||||
M: "0",
|
||||
},
|
||||
{
|
||||
F: "service/notification",
|
||||
P: "396",
|
||||
T: "S",
|
||||
V: "********",
|
||||
S: "63",
|
||||
H: "t2",
|
||||
M: "0",
|
||||
},
|
||||
{
|
||||
F: "service/notification",
|
||||
P: "855",
|
||||
T: "S",
|
||||
V: " ",
|
||||
S: "127",
|
||||
H: "ts",
|
||||
M: "0",
|
||||
},
|
||||
{
|
||||
F: "system/system",
|
||||
P: "461",
|
||||
T: "B",
|
||||
V: "40",
|
||||
H: "targetfw",
|
||||
O: [
|
||||
{ repetier: "50" },
|
||||
{ marlin: "20" },
|
||||
{ marlinkimbra: "35" },
|
||||
{ smoothieware: "40" },
|
||||
{ grbl: "10" },
|
||||
{ unknown: "0" },
|
||||
],
|
||||
},
|
||||
{
|
||||
F: "system/system",
|
||||
P: "112",
|
||||
T: "I",
|
||||
V: "115200",
|
||||
H: "baud",
|
||||
O: [
|
||||
{ 9600: "9600" },
|
||||
{ 19200: "19200" },
|
||||
{ 38400: "38400" },
|
||||
{ 57600: "57600" },
|
||||
{ 74880: "74880" },
|
||||
{ 115200: "115200" },
|
||||
{ 230400: "230400" },
|
||||
{ 250000: "250000" },
|
||||
{ 500000: "500000" },
|
||||
{ 921600: "921600" },
|
||||
],
|
||||
},
|
||||
{
|
||||
F: "system/system",
|
||||
P: "320",
|
||||
T: "I",
|
||||
V: "10000",
|
||||
H: "bootdelay",
|
||||
S: "40000",
|
||||
M: "0",
|
||||
},
|
||||
{
|
||||
F: "system/system",
|
||||
P: "129",
|
||||
T: "F",
|
||||
V: "255",
|
||||
H: "outputmsg",
|
||||
O: [{ M117: "16" }, { serial: "1" }, { telnet: "2" }],
|
||||
},
|
||||
],
|
||||
});
|
||||
return;
|
||||
}
|
||||
SendBinary("ok\n");
|
||||
res.send("");
|
||||
});
|
||||
|
||||
function fileSizeString(size) {
|
||||
let s;
|
||||
if (size < 1024) return size + " B";
|
||||
if (size < 1024 * 1024) return (size / 1024).toFixed(2) + " KB";
|
||||
if (size < 1024 * 1024 * 1024)
|
||||
return (size / (1024 * 1024)).toFixed(2) + " MB";
|
||||
if (size < 1024 * 1024 * 1024 * 1024)
|
||||
return (size / (1024 * 1024 * 1024)).toFixed(2) + " GB";
|
||||
return "X B";
|
||||
}
|
||||
|
||||
function filesList(mypath) {
|
||||
let res = '{"files":[';
|
||||
let nb = 0;
|
||||
let total = 1.31 * 1024 * 1024;
|
||||
let totalused = getTotalSize(serverpath);
|
||||
let currentpath = path.normalize(serverpath + mypath);
|
||||
console.log("[path]" + currentpath);
|
||||
fs.readdirSync(currentpath).forEach((fileelement) => {
|
||||
let fullpath = path.normalize(currentpath + "/" + fileelement);
|
||||
let fst = fs.statSync(fullpath);
|
||||
let fsize = -1;
|
||||
|
||||
if (fst.isFile()) {
|
||||
fsize = fileSizeString(fst.size);
|
||||
}
|
||||
if (nb > 0) res += ",";
|
||||
res += '{"name":"' + fileelement + '","size":"' + fsize + '"}';
|
||||
nb++;
|
||||
});
|
||||
res +=
|
||||
'],"path":"' +
|
||||
mypath +
|
||||
'","occupation":"' +
|
||||
((100 * totalused) / total).toFixed(0) +
|
||||
'","status":"ok","total":"' +
|
||||
fileSizeString(total) +
|
||||
'","used":"' +
|
||||
fileSizeString(totalused) +
|
||||
'"}';
|
||||
return res;
|
||||
}
|
||||
|
||||
const getAllFiles = function (dirPath, arrayOfFiles) {
|
||||
let files = fs.readdirSync(dirPath);
|
||||
|
||||
arrayOfFiles = arrayOfFiles || [];
|
||||
|
||||
files.forEach(function (file) {
|
||||
if (fs.statSync(dirPath + "/" + file).isDirectory()) {
|
||||
arrayOfFiles = getAllFiles(dirPath + "/" + file, arrayOfFiles);
|
||||
} else {
|
||||
arrayOfFiles.push(dirPath + "/" + file);
|
||||
}
|
||||
});
|
||||
|
||||
return arrayOfFiles;
|
||||
};
|
||||
|
||||
const getTotalSize = function (directoryPath) {
|
||||
const arrayOfFiles = getAllFiles(directoryPath);
|
||||
|
||||
let totalSize = 0;
|
||||
|
||||
arrayOfFiles.forEach(function (filePath) {
|
||||
totalSize += fs.statSync(filePath).size;
|
||||
});
|
||||
|
||||
return totalSize;
|
||||
};
|
||||
|
||||
function deleteFolderRecursive(path) {
|
||||
if (fs.existsSync(path) && fs.lstatSync(path).isDirectory()) {
|
||||
fs.readdirSync(path).forEach(function (file, index) {
|
||||
let curPath = path + "/" + file;
|
||||
|
||||
if (fs.lstatSync(curPath).isDirectory()) {
|
||||
// recurse
|
||||
deleteFolderRecursive(curPath);
|
||||
} else {
|
||||
// delete file
|
||||
fs.unlinkSync(curPath);
|
||||
}
|
||||
});
|
||||
|
||||
console.log(`[server]Deleting directory "${path}"...`);
|
||||
if (fs.existsSync(path)) fs.rmdirSync(path);
|
||||
} else console.log(`[server]No directory "${path}"...`);
|
||||
}
|
||||
|
||||
app.all("/updatefw", function (req, res) {
|
||||
res.send("ok");
|
||||
});
|
||||
|
||||
app.all("/files", function (req, res) {
|
||||
let mypath = req.query.path;
|
||||
let url = req.originalUrl;
|
||||
let filepath = path.normalize(serverpath + mypath + "/" + req.query.filename);
|
||||
if (url.indexOf("action=deletedir") != -1) {
|
||||
console.log("[server]delete directory " + filepath);
|
||||
deleteFolderRecursive(filepath);
|
||||
fs.readdirSync(mypath);
|
||||
} else if (url.indexOf("action=delete") != -1) {
|
||||
fs.unlinkSync(filepath);
|
||||
console.log("[server]delete file " + filepath);
|
||||
}
|
||||
if (url.indexOf("action=createdir") != -1) {
|
||||
fs.mkdirSync(filepath);
|
||||
console.log("[server]new directory " + filepath);
|
||||
}
|
||||
if (typeof mypath == "undefined") {
|
||||
if (typeof req.body.path == "undefined") {
|
||||
console.log("[server]path is not defined");
|
||||
mypath = "/";
|
||||
} else {
|
||||
mypath = (req.body.path == "/" ? "" : req.body.path) + "/";
|
||||
}
|
||||
}
|
||||
console.log("[server]path is " + mypath);
|
||||
if (!req.files || Object.keys(req.files).length === 0) {
|
||||
return res.send(filesList(mypath));
|
||||
}
|
||||
let myFile = req.files.myfiles;
|
||||
if (typeof myFile.length == "undefined") {
|
||||
let fullpath = path.normalize(serverpath + mypath + myFile.name);
|
||||
console.log("[server]one file:" + fullpath);
|
||||
myFile.mv(fullpath, function (err) {
|
||||
if (err) return res.status(500).send(err);
|
||||
res.send(filesList(mypath));
|
||||
});
|
||||
return;
|
||||
} else {
|
||||
console.log(myFile.length + " files");
|
||||
for (let i = 0; i < myFile.length; i++) {
|
||||
let fullpath = path.normalize(serverpath + mypath + myFile[i].name);
|
||||
console.log(fullpath);
|
||||
myFile[i].mv(fullpath).then(() => {
|
||||
if (i == myFile.length - 1) res.send(filesList(mypath));
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
wss.on("connection", (socket, request) => {
|
||||
console.log(wscolor("[ws] New connection"));
|
||||
console.log(wscolor(`[ws] currentID:${currentID}`));
|
||||
socket.send(`currentID:${currentID}`);
|
||||
wss.clients.forEach(function each(client) {
|
||||
if (client.readyState === WebSocket.OPEN) {
|
||||
client.send(`activeID:${currentID}`);
|
||||
}
|
||||
});
|
||||
currentID++;
|
||||
socket.on("message", (message) => {
|
||||
console.log(wscolor("[ws] received: %s", message));
|
||||
});
|
||||
});
|
||||
wss.on("error", (error) => {
|
||||
console.log(wscolor("[ws] Error: %s", error));
|
||||
});
|
52
embedded/config/webpack.dev.js
Normal file
52
embedded/config/webpack.dev.js
Normal file
@ -0,0 +1,52 @@
|
||||
const path = require("path");
|
||||
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
|
||||
module.exports = {
|
||||
mode: "development", // this will trigger some webpack default stuffs for dev
|
||||
entry: path.resolve(__dirname, "../src/index.js"), // if not set, default path to './src/index.js'. Accepts an object with multiple key-value pairs, with key as your custom bundle filename(substituting the [name]), and value as the corresponding file path
|
||||
output: {
|
||||
filename: "[name].bundle.js", // [name] will take whatever the input filename is. defaults to 'main' if only a single entry value
|
||||
path: path.resolve(__dirname, "../dist"), // the folder containing you final dist/build files. Default to './dist'
|
||||
},
|
||||
devServer: {
|
||||
historyApiFallback: true, // to make our SPA works after a full reload, so that it serves 'index.html' when 404 response
|
||||
open: true,
|
||||
contentBase: path.resolve(__dirname, "./dist"),
|
||||
inline: true,
|
||||
port: 8088,
|
||||
proxy: {
|
||||
context: () => true,
|
||||
target: "http://localhost:8080",
|
||||
},
|
||||
},
|
||||
stats: "minimal", // default behaviour spit out way too much info. adjust to your need.
|
||||
devtool: "source-map", // a sourcemap type. map to original source with line number
|
||||
plugins: [
|
||||
new HtmlWebpackPlugin({
|
||||
template: path.join(__dirname, "../src/index.html"),
|
||||
inlineSource: ".(js|css)$",
|
||||
inject: true,
|
||||
}),
|
||||
], // automatically creates a 'index.html' for us with our <link>, <style>, <script> tags inserted! Visit https://github.com/jantimon/html-webpack-plugin for more options
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
exclude: /(node_modules)/,
|
||||
use: {
|
||||
loader: "babel-loader",
|
||||
options: {
|
||||
presets: ["@babel/preset-env"],
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /\.css$/, // run the loaders below only on .css files
|
||||
// this are the loaders. they interpret files, in this case css. they run from right to left sequence.
|
||||
// css-loader: "interprets @import and url() like import/require() and will resolve them."
|
||||
// style-loader: "Adds CSS to the DOM by injecting a <style> tag". this is fine for development.
|
||||
use: ["style-loader", "css-loader"],
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
90
embedded/config/webpack.prod.js
Normal file
90
embedded/config/webpack.prod.js
Normal file
@ -0,0 +1,90 @@
|
||||
const path = require("path");
|
||||
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
||||
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
|
||||
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const HtmlMinimizerPlugin = require("html-minimizer-webpack-plugin");
|
||||
const HtmlInlineScriptPlugin = require("html-inline-script-webpack-plugin");
|
||||
const HTMLInlineCSSWebpackPlugin = require("html-inline-css-webpack-plugin")
|
||||
.default;
|
||||
const Compression = require("compression-webpack-plugin");
|
||||
|
||||
module.exports = {
|
||||
mode: "production", // this trigger webpack out-of-box prod optimizations
|
||||
entry: path.resolve(__dirname, "../src/index.js"),
|
||||
output: {
|
||||
filename: `[name].[hash].js`, // [hash] is useful for cache busting!
|
||||
path: path.resolve(__dirname, "../dist"),
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.css$/,
|
||||
use: [MiniCssExtractPlugin.loader, "css-loader"],
|
||||
},
|
||||
{
|
||||
test: /\.js$/,
|
||||
exclude: /node_modules/,
|
||||
use: [
|
||||
{
|
||||
loader: "babel-loader",
|
||||
options: {
|
||||
presets: [
|
||||
[
|
||||
"@babel/preset-env",
|
||||
{
|
||||
useBuiltIns: "usage",
|
||||
debug: false,
|
||||
corejs: 3,
|
||||
targets: {"chrome": "88"},
|
||||
},
|
||||
],
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
plugins: [
|
||||
// always deletes the dist folder first in each build run.
|
||||
new CleanWebpackPlugin(),
|
||||
new MiniCssExtractPlugin({
|
||||
filename: "[name].css",
|
||||
chunkFilename: "[id].css",
|
||||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
template: path.join(__dirname, "../src/index.html"),
|
||||
inlineSource: ".(js|css)$",
|
||||
inject: true,
|
||||
}),
|
||||
|
||||
new HtmlInlineScriptPlugin([/\.(js)$/]),
|
||||
new HTMLInlineCSSWebpackPlugin(),
|
||||
new Compression({
|
||||
test: /\.(html)$/,
|
||||
filename: "[path][base].gz",
|
||||
algorithm: "gzip",
|
||||
exclude: /.map$/,
|
||||
deleteOriginalAssets: "keep-source-map",
|
||||
}),
|
||||
],
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new HtmlMinimizerPlugin({
|
||||
minimizerOptions: {
|
||||
collapseWhitespace: true,
|
||||
minifyCSS: true,
|
||||
minifyJS: true,
|
||||
},
|
||||
minify: (data, minimizerOptions) => {
|
||||
const htmlMinifier = require("html-minifier-terser");
|
||||
const [[filename, input]] = Object.entries(data);
|
||||
|
||||
return htmlMinifier.minify(input, minimizerOptions);
|
||||
},
|
||||
}),
|
||||
],
|
||||
},
|
||||
devtool: "source-map", // supposedly the ideal type without bloating bundle size
|
||||
};
|
@ -1,502 +0,0 @@
|
||||
/*
|
||||
embedded.h - ESP3D data file
|
||||
|
||||
Copyright (c) 2014 Luc Lebosse. All rights reserved.
|
||||
|
||||
This code is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This code is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this code; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
//data generated by https://github.com/AraHaan/bin2c
|
||||
//bin2c Conversion Tool v0.14.0 - Windows - [FINAL].
|
||||
#ifndef __embedded_h
|
||||
#define __embedded_h
|
||||
/* Generated by bin2c, do not edit manually */
|
||||
|
||||
/* Contents of file tool.html.gz */
|
||||
#define tool_html_gz_size 7528
|
||||
const unsigned char tool_html_gz[7528] PROGMEM = {
|
||||
0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xED, 0x3C, 0x6B, 0x73, 0xDB, 0x38,
|
||||
0x92, 0x7F, 0x85, 0xE1, 0xD6, 0x5A, 0xE2, 0x89, 0x94, 0xF9, 0xD0, 0x5B, 0x96, 0xB3, 0x99, 0xC4,
|
||||
0x99, 0xF8, 0x2A, 0x4E, 0x52, 0x71, 0xB2, 0xB9, 0xAD, 0x4C, 0xCA, 0x45, 0x89, 0x90, 0xC5, 0x0B,
|
||||
0x45, 0xCA, 0x24, 0x64, 0xD9, 0x71, 0x7C, 0xBF, 0xFD, 0xBA, 0x1B, 0x20, 0x09, 0xEA, 0x65, 0x7B,
|
||||
0x76, 0x6A, 0x77, 0x3E, 0xEC, 0x66, 0x6D, 0x92, 0x40, 0xA3, 0xD1, 0x68, 0xF4, 0x1B, 0xF0, 0x1C,
|
||||
0xCD, 0xF8, 0x3C, 0x3A, 0x3E, 0x9A, 0x31, 0x3F, 0x38, 0x3E, 0xCA, 0xF8, 0x6D, 0xC4, 0x8E, 0xB1,
|
||||
0xE5, 0x6E, 0x9A, 0xC4, 0xDC, 0x9A, 0xFA, 0xF3, 0x30, 0xBA, 0x1D, 0x64, 0x7E, 0x9C, 0x59, 0x19,
|
||||
0x4B, 0xC3, 0xE9, 0xD0, 0x9A, 0x67, 0x16, 0x67, 0x37, 0xDC, 0xCA, 0xC2, 0x1F, 0xCC, 0xF2, 0x83,
|
||||
0xFF, 0x5D, 0x66, 0x7C, 0xE0, 0xD8, 0xF6, 0x5F, 0x87, 0xD6, 0x8A, 0x8D, 0xBF, 0x87, 0x7C, 0x47,
|
||||
0x2F, 0xA1, 0xC3, 0x56, 0xF8, 0x5C, 0xDC, 0xDC, 0x8F, 0x93, 0xE0, 0xB6, 0x32, 0x85, 0xFE, 0x86,
|
||||
0x45, 0xD7, 0x8C, 0x87, 0x13, 0x5F, 0x7B, 0xC7, 0x96, 0x4C, 0x37, 0x8B, 0x6F, 0xF3, 0x45, 0x1A,
|
||||
0xFA, 0x91, 0xA9, 0xD0, 0xA0, 0xE0, 0x6A, 0x2D, 0x6E, 0x86, 0x51, 0x18, 0x33, 0x6B, 0xC6, 0xC2,
|
||||
0xCB, 0x19, 0xCC, 0xD5, 0x6C, 0xB9, 0xBD, 0x76, 0xD7, 0x69, 0x79, 0xC3, 0x49, 0x12, 0x25, 0xE9,
|
||||
0xE0, 0x2F, 0x9E, 0xE7, 0x0D, 0xC7, 0xFE, 0xE4, 0xFB, 0x65, 0x9A, 0x2C, 0xE3, 0xC0, 0x92, 0xAD,
|
||||
0xD3, 0xE9, 0xF4, 0x9E, 0xFB, 0xE3, 0x88, 0xDD, 0x8D, 0x93, 0x34, 0x60, 0xE9, 0xC0, 0x1E, 0x8A,
|
||||
0x17, 0x2B, 0x5B, 0xF8, 0x93, 0x30, 0xBE, 0x84, 0x86, 0xB9, 0x7F, 0x63, 0xAD, 0xC2, 0x80, 0xCF,
|
||||
0x68, 0x05, 0xF7, 0x3C, 0xB8, 0x5B, 0xCD, 0x42, 0xCE, 0x08, 0x82, 0x0D, 0xE2, 0x64, 0x95, 0xFA,
|
||||
0x8B, 0xE1, 0xC2, 0x0F, 0x02, 0x04, 0x77, 0xE7, 0xF3, 0x7B, 0x3E, 0xBB, 0xA3, 0xC5, 0xFB, 0x51,
|
||||
0x78, 0x19, 0x0F, 0x22, 0x36, 0xE5, 0xF7, 0x4D, 0x9A, 0xE4, 0x98, 0xE3, 0x7A, 0x8F, 0x79, 0x7A,
|
||||
0xCC, 0x03, 0x73, 0xA3, 0x69, 0x56, 0x34, 0xD1, 0x26, 0x54, 0xA1, 0x8A, 0xA6, 0xD9, 0x5D, 0x3E,
|
||||
0x55, 0x6F, 0xF7, 0x9A, 0xAF, 0x59, 0x8A, 0x2C, 0x8B, 0x24, 0x09, 0x3C, 0x59, 0xE4, 0xCB, 0x82,
|
||||
0xD7, 0x81, 0xB3, 0xB8, 0xD1, 0xB2, 0x24, 0x0A, 0x03, 0xED, 0x2F, 0x41, 0x10, 0x48, 0xDA, 0xAC,
|
||||
0x8C, 0xA7, 0xE1, 0x82, 0x05, 0x05, 0x41, 0x83, 0x98, 0xCF, 0xAC, 0x64, 0x6A, 0xF1, 0xDB, 0x05,
|
||||
0xAB, 0x27, 0x41, 0x60, 0xDC, 0x6D, 0x61, 0x5F, 0x1F, 0xFF, 0xDD, 0xFB, 0x77, 0x8B, 0x24, 0x0B,
|
||||
0x79, 0x98, 0xC4, 0x83, 0x94, 0x45, 0x3E, 0x0F, 0xAF, 0xD9, 0x30, 0x08, 0xB3, 0x45, 0xE4, 0xDF,
|
||||
0x0E, 0xC6, 0x51, 0x32, 0xF9, 0x5E, 0xB0, 0x07, 0x37, 0x5D, 0x73, 0xDA, 0x40, 0x39, 0x71, 0x28,
|
||||
0x60, 0x93, 0x24, 0xF5, 0x69, 0x60, 0x9C, 0xC4, 0x2C, 0xDF, 0xAB, 0xC9, 0x64, 0x72, 0xDF, 0xF4,
|
||||
0x27, 0x88, 0xE7, 0xAE, 0xDC, 0xA8, 0x2D, 0xDB, 0x67, 0xDB, 0x76, 0x0E, 0xA8, 0xF9, 0xA6, 0x3F,
|
||||
0x98, 0x26, 0x93, 0x65, 0x06, 0xCF, 0x59, 0x02, 0x1C, 0x50, 0x86, 0xDE, 0x37, 0x17, 0x7E, 0xCC,
|
||||
0xA2, 0xBB, 0xB9, 0x9F, 0x5E, 0x86, 0xB1, 0x35, 0x4E, 0x38, 0x4F, 0xE6, 0x03, 0x17, 0x88, 0xD9,
|
||||
0x2E, 0x13, 0x92, 0x5B, 0x6B, 0x9C, 0xCA, 0x79, 0x98, 0xFA, 0x41, 0xB8, 0xCC, 0x06, 0x28, 0x73,
|
||||
0xB9, 0xB0, 0x8F, 0x93, 0x1B, 0x2B, 0x9B, 0xF9, 0x41, 0xB2, 0x1A, 0xD8, 0x1A, 0x8E, 0xC2, 0x9F,
|
||||
0xF4, 0x72, 0xEC, 0xD7, 0x6D, 0x13, 0xFF, 0x35, 0xED, 0xB6, 0x31, 0x7C, 0x0C, 0x90, 0xA4, 0xD4,
|
||||
0x22, 0xC5, 0x28, 0xB8, 0x06, 0x0C, 0xCB, 0x3B, 0x50, 0x10, 0xA0, 0xED, 0x6E, 0x93, 0xA3, 0xFB,
|
||||
0x05, 0xBD, 0x8D, 0xFF, 0xF2, 0x15, 0xC8, 0x46, 0x65, 0x4D, 0x20, 0x17, 0x56, 0x8A, 0x62, 0x94,
|
||||
0xAF, 0xCE, 0x43, 0xDE, 0x94, 0x7D, 0x28, 0xC5, 0x5B, 0xBA, 0x24, 0x27, 0xD7, 0x25, 0x6A, 0x9A,
|
||||
0xA4, 0x73, 0x98, 0x24, 0xE6, 0x69, 0x12, 0xDD, 0x55, 0x25, 0x41, 0x68, 0x92, 0xBF, 0xE4, 0xC9,
|
||||
0x50, 0xCA, 0xAD, 0x87, 0x8C, 0xCC, 0x97, 0xD3, 0xC1, 0xD5, 0xB8, 0xD0, 0xF0, 0x24, 0xE5, 0x6E,
|
||||
0xB7, 0xDB, 0xBB, 0x36, 0xB2, 0x6C, 0x0D, 0xE7, 0xFE, 0x25, 0x13, 0x72, 0xB6, 0xB9, 0xBD, 0x20,
|
||||
0x72, 0x8F, 0xDB, 0xDE, 0x30, 0xCE, 0x18, 0xD7, 0x76, 0xEC, 0x5F, 0xB7, 0xBA, 0xCB, 0x0F, 0xC2,
|
||||
0x5A, 0x89, 0xC5, 0x53, 0x30, 0x68, 0x42, 0x77, 0xD4, 0xCD, 0xD1, 0x98, 0x9F, 0x31, 0x0B, 0x64,
|
||||
0x35, 0x59, 0x72, 0xAD, 0xE9, 0xB4, 0x33, 0xB3, 0xC4, 0xBB, 0xD1, 0x57, 0x65, 0xB8, 0xD0, 0x82,
|
||||
0xBB, 0xEA, 0x56, 0x77, 0x3A, 0xFE, 0x94, 0xF5, 0x87, 0x30, 0x02, 0x39, 0x09, 0x56, 0xED, 0x77,
|
||||
0x2C, 0xCD, 0xB4, 0xA1, 0xB3, 0x97, 0x77, 0x38, 0xB6, 0x6B, 0x3A, 0xDD, 0xB6, 0xE9, 0x7A, 0x9E,
|
||||
0xD9, 0xEC, 0x18, 0x92, 0x06, 0xE4, 0xF5, 0x62, 0x4D, 0xCF, 0x84, 0xF8, 0x8E, 0x79, 0x5C, 0x88,
|
||||
0x42, 0x18, 0xD3, 0x7E, 0x0A, 0x89, 0xA8, 0x02, 0xDB, 0x62, 0xE7, 0x57, 0x62, 0xAB, 0x5B, 0xB6,
|
||||
0x3D, 0x54, 0x6C, 0xE9, 0x84, 0xC5, 0x9C, 0xA5, 0xEB, 0xE6, 0x6D, 0x1E, 0x06, 0x41, 0xC4, 0x84,
|
||||
0x4B, 0x4A, 0x96, 0x93, 0x99, 0x85, 0x16, 0x01, 0xF8, 0x39, 0xF7, 0xE3, 0x70, 0xB1, 0x8C, 0xC8,
|
||||
0xBE, 0x0C, 0x77, 0xF7, 0x4C, 0x96, 0x69, 0x06, 0x2C, 0x5A, 0x24, 0x21, 0x21, 0x7F, 0xA4, 0xC4,
|
||||
0xD0, 0xBE, 0x2D, 0xFC, 0x14, 0x28, 0x1A, 0xEE, 0xF1, 0x07, 0x4F, 0x94, 0xE7, 0x2D, 0x22, 0x38,
|
||||
0x4F, 0x7E, 0x58, 0xCB, 0x0C, 0x3D, 0x12, 0x8B, 0xD8, 0x84, 0x0B, 0x72, 0x70, 0xAD, 0x1B, 0x8D,
|
||||
0xEB, 0x0D, 0xC4, 0x73, 0x6B, 0x91, 0xC2, 0x32, 0xD2, 0xDB, 0xFD, 0x86, 0xD4, 0xF3, 0xBA, 0xFE,
|
||||
0xB8, 0xBB, 0x66, 0x1E, 0x5C, 0xD6, 0x09, 0xFC, 0x56, 0x05, 0x8B, 0x34, 0xB6, 0x66, 0xA5, 0x4D,
|
||||
0x58, 0xDD, 0x4A, 0x13, 0x19, 0xE0, 0x4A, 0xD3, 0x60, 0xCB, 0xC8, 0xC1, 0xE6, 0xC8, 0x0D, 0xD3,
|
||||
0xBD, 0x85, 0x58, 0xB7, 0xD7, 0xB1, 0xFB, 0xF6, 0x1A, 0xB1, 0x8E, 0xEB, 0x8E, 0x5B, 0x36, 0x11,
|
||||
0x1B, 0xCE, 0x2F, 0xEF, 0xE4, 0xA6, 0xCE, 0xFC, 0x78, 0xDD, 0x6C, 0x77, 0x0A, 0xEB, 0xA5, 0xEA,
|
||||
0x3F, 0x39, 0x09, 0x31, 0x56, 0x92, 0xB0, 0xC5, 0x9E, 0xD8, 0xF8, 0x6F, 0x6D, 0xDE, 0xCE, 0x04,
|
||||
0xFF, 0xFD, 0x6E, 0x75, 0x42, 0xF9, 0xB8, 0x4C, 0xD9, 0xED, 0x53, 0xCC, 0x46, 0x65, 0x20, 0x51,
|
||||
0x4D, 0x64, 0xEE, 0x5F, 0xB6, 0x67, 0x4B, 0x25, 0xCC, 0x61, 0x1F, 0x5A, 0xE6, 0xBF, 0x73, 0x45,
|
||||
0x11, 0x10, 0x05, 0x1A, 0xF2, 0xDD, 0x2C, 0x5F, 0x07, 0xD5, 0x78, 0x80, 0x3C, 0x7F, 0xD9, 0x59,
|
||||
0x91, 0x1A, 0xEC, 0x0B, 0xE3, 0xC5, 0x92, 0x7F, 0xC5, 0xD8, 0x65, 0x34, 0x0D, 0x23, 0xF6, 0x6D,
|
||||
0x30, 0xC8, 0xD7, 0x83, 0x9F, 0xD6, 0x72, 0x11, 0x25, 0x7E, 0x60, 0x8D, 0x97, 0x60, 0x73, 0xFE,
|
||||
0x63, 0x96, 0xFE, 0xB5, 0x66, 0x69, 0xB8, 0x57, 0xB9, 0xDB, 0xE3, 0x89, 0x1D, 0xB0, 0x35, 0x25,
|
||||
0x6B, 0x75, 0xC6, 0xBD, 0xC0, 0x7F, 0xD2, 0xA6, 0x4A, 0x2F, 0xF8, 0x9F, 0xAD, 0xFD, 0xF3, 0x6C,
|
||||
0xAD, 0xE7, 0x8C, 0xED, 0x60, 0x3D, 0x06, 0x75, 0xC6, 0x9D, 0xA0, 0xD7, 0x7E, 0xDA, 0xD6, 0x0A,
|
||||
0x6D, 0xFF, 0xCF, 0xD6, 0xFE, 0xC9, 0xB7, 0xD6, 0xED, 0xF4, 0xFD, 0xF1, 0x24, 0x4F, 0x5C, 0xA6,
|
||||
0x49, 0x02, 0x1C, 0xD9, 0x93, 0xB7, 0x38, 0x5D, 0xBB, 0xB7, 0x0D, 0xF7, 0x23, 0x52, 0x97, 0x8D,
|
||||
0x04, 0xE4, 0xDF, 0x30, 0xE5, 0x3C, 0x09, 0xFC, 0x32, 0xD9, 0x21, 0x96, 0x15, 0x59, 0xF1, 0x34,
|
||||
0xBC, 0x61, 0xC1, 0xF0, 0x07, 0xC4, 0xEC, 0x01, 0xBB, 0xC1, 0x32, 0x02, 0x48, 0xA2, 0xA4, 0x4A,
|
||||
0xE0, 0xB2, 0x31, 0x15, 0xC5, 0x1C, 0x0B, 0x44, 0x16, 0x1B, 0xEC, 0x61, 0x59, 0x71, 0xC8, 0xF3,
|
||||
0x24, 0x7A, 0x47, 0xC9, 0x9F, 0x46, 0xE0, 0x52, 0x29, 0x83, 0xDA, 0x9A, 0x11, 0x6F, 0xB6, 0xAA,
|
||||
0xEE, 0xB6, 0x65, 0x48, 0x52, 0x29, 0x5D, 0x00, 0x81, 0xBB, 0xDB, 0x91, 0xE5, 0x39, 0x76, 0x35,
|
||||
0x03, 0xAC, 0x64, 0x87, 0x6A, 0xA7, 0xD0, 0xB5, 0x9D, 0x63, 0x65, 0xF7, 0xAE, 0xE1, 0x03, 0xB7,
|
||||
0xE4, 0x63, 0x11, 0x85, 0x2A, 0x79, 0x32, 0xE6, 0x1B, 0x0E, 0x0A, 0xBE, 0x5D, 0x89, 0x1A, 0x5C,
|
||||
0x63, 0xB8, 0x59, 0x73, 0x10, 0xCA, 0x2F, 0x58, 0x93, 0x6F, 0xFA, 0x16, 0x76, 0xFC, 0x65, 0xCA,
|
||||
0xF0, 0x5F, 0xCE, 0x07, 0xCC, 0xA8, 0x15, 0x29, 0x71, 0xE5, 0x84, 0xB9, 0x90, 0x50, 0x34, 0xB4,
|
||||
0x55, 0x48, 0x5C, 0xFC, 0xB7, 0x2B, 0x49, 0x7E, 0x22, 0xFB, 0x2A, 0xB9, 0xE8, 0x14, 0xFF, 0xE5,
|
||||
0xE4, 0x55, 0x2B, 0x01, 0xB6, 0xA4, 0x2E, 0xEF, 0x5D, 0x17, 0xF1, 0x4E, 0x4E, 0xBD, 0x14, 0x9A,
|
||||
0x56, 0xB3, 0xCD, 0xE6, 0x4F, 0x5F, 0xCA, 0x26, 0x39, 0xFF, 0xE4, 0x6E, 0xDF, 0x37, 0x67, 0x61,
|
||||
0xC0, 0x2E, 0x42, 0x5E, 0xD1, 0x90, 0xFB, 0xBF, 0xCD, 0x59, 0x10, 0xFA, 0x5A, 0x7D, 0x0E, 0x36,
|
||||
0x5B, 0x48, 0x7C, 0xB7, 0x03, 0x3B, 0x6E, 0xDC, 0xAD, 0xC9, 0xA8, 0xE8, 0x6B, 0xF7, 0x10, 0x53,
|
||||
0x3E, 0x28, 0x9B, 0xA4, 0x8C, 0xC5, 0x1A, 0x84, 0xBA, 0x30, 0xBE, 0xA8, 0xD1, 0x75, 0x3B, 0xDD,
|
||||
0x9D, 0xE3, 0xA9, 0x7E, 0x77, 0x7F, 0x74, 0x28, 0xCA, 0x9B, 0x47, 0x3C, 0xE4, 0xF0, 0x38, 0x39,
|
||||
0xFF, 0xE0, 0xBD, 0xD2, 0x78, 0x92, 0x44, 0xDA, 0x02, 0x2C, 0xF4, 0xD1, 0xA1, 0x68, 0x3E, 0x3A,
|
||||
0x14, 0xA5, 0x50, 0xAA, 0x86, 0x1D, 0x05, 0xE1, 0xB5, 0x36, 0x89, 0xFC, 0x2C, 0x1B, 0xE9, 0x64,
|
||||
0x5A, 0x74, 0x18, 0x8D, 0x55, 0x33, 0x8D, 0x10, 0x8F, 0x74, 0xC4, 0x8C, 0x6D, 0x29, 0xFC, 0xC0,
|
||||
0x20, 0x3F, 0x07, 0x16, 0x19, 0x85, 0xAE, 0xCD, 0x52, 0x36, 0x1D, 0xE9, 0x33, 0xCE, 0x17, 0xD9,
|
||||
0xE0, 0xF0, 0x70, 0xB5, 0x5A, 0x35, 0x2F, 0x43, 0x3E, 0x5B, 0x8E, 0x9B, 0x93, 0x64, 0x7E, 0x18,
|
||||
0x2D, 0x27, 0x96, 0xF8, 0x3C, 0x24, 0x62, 0x0E, 0x39, 0x2C, 0xEC, 0xD0, 0x6B, 0xDA, 0xBA, 0xC6,
|
||||
0x41, 0xA2, 0x19, 0x1F, 0xE9, 0x17, 0x10, 0xEA, 0xC6, 0xDF, 0x61, 0x86, 0xEC, 0xFA, 0xB2, 0x98,
|
||||
0x93, 0xCD, 0x01, 0x31, 0x6D, 0xB3, 0xFC, 0xB8, 0x0E, 0xD9, 0xEA, 0x97, 0xE4, 0x66, 0xA4, 0x63,
|
||||
0x38, 0xED, 0x78, 0x36, 0xFC, 0x72, 0x6D, 0x1B, 0x46, 0x5D, 0x0A, 0x0F, 0x83, 0x19, 0xFA, 0x48,
|
||||
0xA7, 0x57, 0xD0, 0x18, 0x56, 0x6F, 0xDB, 0x26, 0x02, 0x18, 0xC0, 0x4A, 0x3F, 0x62, 0x75, 0xC7,
|
||||
0xD4, 0x2C, 0xC7, 0x00, 0xF0, 0x85, 0xCF, 0x67, 0x5A, 0x30, 0xD2, 0xCF, 0x3A, 0x88, 0xC2, 0xE9,
|
||||
0xB6, 0xAE, 0x3C, 0x0F, 0x30, 0x76, 0x5B, 0x9A, 0xD5, 0x8E, 0xBC, 0x1E, 0x40, 0xB5, 0xDD, 0xA8,
|
||||
0x0D, 0x8F, 0xAB, 0x56, 0x1F, 0x7E, 0xB7, 0xB4, 0x3E, 0xF4, 0x78, 0x7D, 0x6C, 0x72, 0x23, 0xC7,
|
||||
0x6B, 0x69, 0x3D, 0xFB, 0xAA, 0xE3, 0x68, 0x56, 0xAB, 0xA7, 0x39, 0x36, 0x74, 0x39, 0x76, 0x3B,
|
||||
0xB2, 0x7A, 0x36, 0xBC, 0x78, 0xAD, 0xC8, 0x03, 0x24, 0x57, 0x2E, 0x80, 0xB6, 0x5A, 0x9A, 0x07,
|
||||
0xC3, 0xFB, 0x5E, 0x04, 0xA0, 0x9D, 0x08, 0x70, 0x02, 0x92, 0xDE, 0x15, 0xF6, 0x78, 0x1A, 0xFC,
|
||||
0xEE, 0x7A, 0x57, 0x30, 0xC4, 0xC3, 0x49, 0xE1, 0xA3, 0x15, 0x59, 0x12, 0x02, 0x5E, 0x00, 0xFE,
|
||||
0x0A, 0x3E, 0x01, 0xB2, 0x8F, 0x13, 0x13, 0x12, 0x0B, 0x11, 0x47, 0x72, 0x96, 0x2B, 0x9C, 0xDB,
|
||||
0x42, 0x1A, 0x4A, 0x02, 0x88, 0x30, 0x27, 0x42, 0x6C, 0xDE, 0x15, 0xCE, 0x6E, 0x21, 0x15, 0x92,
|
||||
0x74, 0x8B, 0x68, 0xB7, 0xC4, 0xE2, 0x1C, 0xED, 0x0A, 0x69, 0x10, 0xF3, 0x22, 0xB9, 0x16, 0xAD,
|
||||
0x1F, 0x3F, 0xDA, 0x04, 0x03, 0x20, 0x38, 0xC2, 0xBD, 0x42, 0x02, 0x60, 0xFD, 0x88, 0x45, 0x20,
|
||||
0xF1, 0xC4, 0x3C, 0x56, 0xCF, 0xB9, 0xB2, 0x3A, 0xB6, 0x86, 0x54, 0x20, 0x05, 0x48, 0x40, 0x0F,
|
||||
0xF7, 0xA4, 0x85, 0x74, 0x02, 0x42, 0x98, 0xBA, 0x85, 0x84, 0xF4, 0x34, 0x24, 0xDD, 0xD5, 0x3A,
|
||||
0x11, 0xCD, 0x0B, 0xEB, 0xB7, 0x3A, 0x5A, 0x0B, 0xD6, 0xD9, 0x01, 0x76, 0xC3, 0xFA, 0x61, 0x62,
|
||||
0x78, 0x03, 0x16, 0x51, 0x67, 0x04, 0x80, 0x57, 0x8E, 0x87, 0x68, 0xC5, 0x48, 0x4F, 0x13, 0x9C,
|
||||
0xC5, 0x25, 0xB7, 0xBA, 0x1A, 0x2C, 0x18, 0x66, 0xA2, 0xD9, 0x1C, 0x18, 0x09, 0x3D, 0x11, 0x52,
|
||||
0x09, 0x33, 0xC1, 0x7C, 0x82, 0x46, 0xE8, 0x8D, 0x68, 0x05, 0xD0, 0x8C, 0x6C, 0xC6, 0x35, 0xFD,
|
||||
0xA0, 0x8D, 0xEE, 0x01, 0x43, 0xAF, 0xAC, 0x5E, 0x1F, 0x57, 0x4A, 0xAC, 0xEE, 0x78, 0x1C, 0x7E,
|
||||
0x88, 0x21, 0xCD, 0x36, 0x2F, 0xDF, 0xF2, 0x4E, 0x7C, 0xC2, 0x03, 0x3A, 0x44, 0xBB, 0x55, 0xBE,
|
||||
0x89, 0xAE, 0x1F, 0x20, 0x4B, 0x87, 0x28, 0x4C, 0xF0, 0xB8, 0x84, 0x1F, 0x10, 0xDE, 0x63, 0xED,
|
||||
0x08, 0x42, 0x9B, 0xB8, 0xD0, 0x8F, 0x3C, 0x83, 0xD3, 0x8F, 0x5F, 0x87, 0xE9, 0x7C, 0x05, 0x21,
|
||||
0x10, 0x80, 0x01, 0x00, 0x40, 0xFB, 0xF0, 0x83, 0xCA, 0xF4, 0xCF, 0x2B, 0x94, 0xF5, 0xE5, 0xE4,
|
||||
0x97, 0xCF, 0xA7, 0x7F, 0x32, 0xB5, 0xB2, 0xFB, 0xAD, 0xAB, 0x9E, 0x8B, 0x18, 0x3B, 0x76, 0x13,
|
||||
0xA5, 0xCF, 0x45, 0xD6, 0xB6, 0x80, 0xF9, 0xED, 0x3E, 0x77, 0x9C, 0x0E, 0xB6, 0xF5, 0xB0, 0xAD,
|
||||
0xDF, 0xC2, 0xD7, 0x3E, 0xEC, 0x40, 0x8F, 0x1E, 0x2D, 0xB7, 0xE8, 0x42, 0xD1, 0x6B, 0x77, 0x89,
|
||||
0xE1, 0xC5, 0x1B, 0x0A, 0x2E, 0x75, 0x5A, 0x9D, 0x9E, 0x1C, 0x68, 0x15, 0x28, 0x2C, 0x15, 0xB1,
|
||||
0x95, 0xCF, 0x06, 0xDB, 0xD5, 0x2F, 0x48, 0x90, 0x1F, 0x6E, 0x01, 0x41, 0x00, 0x34, 0x4C, 0x8C,
|
||||
0x22, 0x64, 0xFD, 0x1C, 0x7F, 0x5F, 0x4C, 0x99, 0x23, 0xD4, 0x88, 0x88, 0xFC, 0x49, 0xA4, 0x52,
|
||||
0x17, 0xD0, 0xDE, 0x6F, 0x6B, 0x3C, 0x1F, 0xAB, 0xE0, 0x93, 0x53, 0x08, 0x2E, 0xE0, 0xAC, 0x3F,
|
||||
0xCE, 0x7A, 0xBD, 0x1E, 0xF4, 0xF5, 0x49, 0xC5, 0x51, 0xCB, 0x1D, 0x90, 0x57, 0x97, 0x13, 0x81,
|
||||
0x64, 0x39, 0xDA, 0x5D, 0x94, 0x67, 0x20, 0xAA, 0x8F, 0x16, 0xC2, 0x71, 0x51, 0xDF, 0x80, 0x37,
|
||||
0x2E, 0x00, 0xE1, 0x2F, 0xFC, 0x12, 0x2F, 0xF8, 0x84, 0x1E, 0x78, 0xBD, 0xC2, 0x49, 0x34, 0x17,
|
||||
0x04, 0xD4, 0x01, 0xB6, 0x6B, 0x4E, 0x5F, 0x6B, 0xD1, 0x74, 0x40, 0x73, 0x17, 0x97, 0x0E, 0x10,
|
||||
0x56, 0x17, 0x90, 0x75, 0xD0, 0xA0, 0x75, 0x10, 0x6B, 0x0F, 0x8C, 0x88, 0x83, 0x32, 0xDF, 0xD1,
|
||||
0x84, 0xA9, 0xB1, 0x71, 0x2F, 0xE0, 0x09, 0x24, 0x5E, 0xB9, 0x68, 0x89, 0x40, 0x51, 0xBB, 0x60,
|
||||
0x14, 0x1C, 0x8E, 0x03, 0x7B, 0x2E, 0xEF, 0x8B, 0x8D, 0x71, 0x60, 0x75, 0x68, 0x3C, 0x7A, 0xB8,
|
||||
0x38, 0xCF, 0x23, 0xC6, 0xE2, 0x64, 0xF2, 0xC3, 0x6D, 0x51, 0x3F, 0x75, 0xD3, 0x88, 0x1E, 0x6A,
|
||||
0x4C, 0xD7, 0x16, 0x4F, 0xC0, 0xD8, 0x85, 0x89, 0xAE, 0x1C, 0xD0, 0x64, 0x60, 0x99, 0xD6, 0xCA,
|
||||
0xF9, 0xDA, 0x82, 0xDE, 0x2B, 0xAB, 0x4F, 0xF6, 0x18, 0x89, 0x82, 0x95, 0xF4, 0xFA, 0x3F, 0xCE,
|
||||
0x5A, 0x60, 0x0A, 0xBA, 0x6E, 0x17, 0xAC, 0x0A, 0x5A, 0x13, 0x69, 0x15, 0xE9, 0x87, 0x76, 0xD4,
|
||||
0xC3, 0x59, 0x68, 0xF3, 0x69, 0xBC, 0x07, 0x43, 0x71, 0x27, 0x70, 0x59, 0x0E, 0x58, 0x12, 0x5C,
|
||||
0x9A, 0xA7, 0x79, 0x24, 0x27, 0x8E, 0xC3, 0x3D, 0xDC, 0x14, 0xA7, 0x1B, 0x01, 0x2E, 0xB0, 0x27,
|
||||
0x30, 0x29, 0xF2, 0x1F, 0x49, 0x44, 0xC2, 0x81, 0x8A, 0x8E, 0x7C, 0x25, 0xEB, 0x89, 0x06, 0x14,
|
||||
0x8C, 0x05, 0x90, 0x03, 0x93, 0x12, 0xB5, 0x96, 0x0B, 0xAC, 0xB6, 0xB9, 0xE5, 0xB9, 0xC8, 0xCF,
|
||||
0x27, 0x29, 0xFF, 0x29, 0x66, 0x4B, 0x53, 0x48, 0x79, 0x7E, 0x8F, 0xF6, 0xEF, 0x73, 0xA5, 0xAB,
|
||||
0xF0, 0x7B, 0xF8, 0xE7, 0xD0, 0x77, 0xA7, 0xDB, 0xBD, 0xC2, 0xBD, 0xB3, 0x41, 0xEA, 0x80, 0x75,
|
||||
0xAD, 0x36, 0x8A, 0x47, 0xAF, 0x25, 0x84, 0x0F, 0x8C, 0xA9, 0xEB, 0x91, 0xD0, 0xE1, 0x7E, 0xB5,
|
||||
0x85, 0x32, 0xB6, 0xB8, 0xA5, 0xBC, 0x2A, 0x00, 0x96, 0x32, 0xCE, 0x2A, 0xB1, 0xD1, 0xAB, 0x78,
|
||||
0x13, 0x00, 0xD4, 0x8F, 0xE3, 0xE4, 0x30, 0xC2, 0x86, 0xC8, 0x8A, 0x97, 0xB2, 0xB3, 0x1C, 0x91,
|
||||
0x63, 0xF9, 0x71, 0xD6, 0x06, 0xDD, 0xE9, 0xB7, 0xC0, 0x93, 0xB9, 0xE4, 0x14, 0x40, 0x81, 0xAC,
|
||||
0xB6, 0xB4, 0xF3, 0x96, 0x8B, 0xEA, 0x00, 0x42, 0x2E, 0x65, 0x8C, 0xE4, 0x4B, 0xB8, 0x0C, 0x69,
|
||||
0x61, 0x50, 0xFE, 0x50, 0x3D, 0x41, 0x53, 0x5D, 0x7A, 0xCC, 0x1C, 0xCF, 0xB9, 0xF2, 0x10, 0x8F,
|
||||
0x06, 0x02, 0xE6, 0x38, 0x57, 0x1D, 0xEC, 0x70, 0x49, 0xED, 0x7B, 0x82, 0xA4, 0xDE, 0x95, 0x8B,
|
||||
0x3C, 0xF7, 0x08, 0x97, 0x83, 0x33, 0x38, 0xF4, 0xEA, 0xC2, 0x14, 0x84, 0x0B, 0x26, 0xEE, 0x62,
|
||||
0x4C, 0x00, 0x6B, 0x45, 0xD9, 0x05, 0x6F, 0xE9, 0x90, 0xBB, 0x22, 0x2D, 0x43, 0x26, 0x91, 0xD4,
|
||||
0x93, 0x1D, 0xC4, 0x49, 0x09, 0x85, 0x85, 0xCA, 0xEA, 0x74, 0x91, 0x29, 0x42, 0x17, 0xD1, 0xC4,
|
||||
0x91, 0x72, 0x40, 0x1F, 0xD0, 0xDF, 0x42, 0xAD, 0x01, 0x82, 0x35, 0x6A, 0x44, 0xEA, 0x39, 0x11,
|
||||
0x65, 0x01, 0xF8, 0xCC, 0x81, 0x28, 0x44, 0xEC, 0x99, 0xD6, 0xE3, 0x1E, 0x51, 0xEA, 0xA1, 0xC1,
|
||||
0x68, 0xF5, 0xB8, 0x8B, 0x73, 0x75, 0x91, 0x87, 0x60, 0xCC, 0x6D, 0x20, 0x0F, 0xAD, 0x01, 0x6C,
|
||||
0x70, 0xCF, 0xD3, 0x38, 0x59, 0x09, 0xB0, 0x81, 0xC0, 0x21, 0x84, 0xF2, 0x88, 0xFD, 0x1D, 0x50,
|
||||
0xA8, 0x1E, 0xB6, 0xA0, 0xED, 0x01, 0x9F, 0xDB, 0x05, 0x34, 0xB6, 0x3D, 0x03, 0x6A, 0x6C, 0xA0,
|
||||
0xC0, 0xA6, 0x85, 0x74, 0x0B, 0xFA, 0x85, 0x59, 0x82, 0xDF, 0xD7, 0x04, 0x40, 0xAB, 0xD1, 0x8A,
|
||||
0x46, 0x5E, 0x40, 0xCE, 0xB0, 0x97, 0x46, 0x53, 0x13, 0xF6, 0x75, 0x49, 0x8D, 0x61, 0xA4, 0x18,
|
||||
0xE8, 0xD8, 0x04, 0x48, 0x4D, 0xD2, 0xDE, 0xC1, 0xCF, 0x93, 0xF4, 0xF3, 0x0D, 0x8B, 0x16, 0x5B,
|
||||
0x54, 0x53, 0xA3, 0x48, 0x7A, 0xA4, 0x97, 0xE1, 0xB5, 0x5E, 0xF6, 0x25, 0xF1, 0x24, 0x0A, 0x27,
|
||||
0xDF, 0x47, 0xFA, 0xC7, 0xB7, 0x75, 0x63, 0xA8, 0x6B, 0x21, 0xA8, 0x42, 0x94, 0x40, 0x82, 0x16,
|
||||
0x42, 0x54, 0xAE, 0xE7, 0x43, 0xAF, 0xC3, 0x2C, 0x1C, 0x87, 0x51, 0xC8, 0x6F, 0x07, 0x90, 0x21,
|
||||
0x04, 0x2C, 0xD6, 0x37, 0xF5, 0xBD, 0xAA, 0xAF, 0x4D, 0xAF, 0xA2, 0xB1, 0x4D, 0xF7, 0x0F, 0xD7,
|
||||
0xD9, 0x69, 0x18, 0x45, 0x72, 0xF9, 0x3A, 0x29, 0x70, 0x1F, 0xC3, 0x23, 0xDB, 0xBE, 0x76, 0x69,
|
||||
0x9F, 0x7B, 0xD2, 0xBA, 0x43, 0xE4, 0x27, 0x82, 0x1D, 0x92, 0x7D, 0x6C, 0x99, 0x59, 0x30, 0x33,
|
||||
0xC4, 0x50, 0x2E, 0xED, 0x65, 0xCB, 0x11, 0xDE, 0xB5, 0x4D, 0x41, 0xB2, 0x73, 0x0D, 0x22, 0x89,
|
||||
0xBB, 0x8D, 0x10, 0x2D, 0x12, 0xDB, 0xAE, 0x70, 0xFC, 0x7D, 0x12, 0x52, 0x21, 0xB9, 0x36, 0xEE,
|
||||
0x77, 0x87, 0xA6, 0x41, 0xA0, 0xB2, 0x95, 0x97, 0xC0, 0x33, 0x20, 0xE7, 0x8A, 0x30, 0x50, 0x1B,
|
||||
0x8D, 0x17, 0xC2, 0x88, 0xA3, 0xC5, 0x60, 0x9C, 0xBB, 0x68, 0xE3, 0x56, 0x01, 0x48, 0xF3, 0x83,
|
||||
0xDB, 0x90, 0x0B, 0x12, 0x02, 0xE2, 0x3A, 0x68, 0xE9, 0x3D, 0xD4, 0x6D, 0xD4, 0x4C, 0x90, 0xCE,
|
||||
0x19, 0x90, 0xAA, 0x49, 0x65, 0x44, 0x89, 0x23, 0x0B, 0x41, 0x2A, 0x23, 0xE5, 0x91, 0x56, 0xFA,
|
||||
0x43, 0x3F, 0x54, 0x84, 0x67, 0x9B, 0x60, 0x28, 0xE5, 0x36, 0x4A, 0x09, 0x69, 0x73, 0x85, 0xF5,
|
||||
0x3E, 0x04, 0x29, 0x98, 0x86, 0x97, 0xDB, 0x8C, 0x33, 0xCA, 0x20, 0x4A, 0xCB, 0xEB, 0x2F, 0x7F,
|
||||
0x3F, 0xF9, 0x78, 0x7E, 0xFA, 0xFE, 0x9D, 0xBE, 0x45, 0x24, 0x37, 0xC4, 0xF1, 0x10, 0xB3, 0xAF,
|
||||
0x43, 0x71, 0x5F, 0xE2, 0xE8, 0x10, 0x32, 0xB6, 0xAD, 0x69, 0x9B, 0xA8, 0xFA, 0x1D, 0x1F, 0xCD,
|
||||
0x5C, 0x9A, 0xE2, 0xEC, 0xFC, 0x57, 0x44, 0x35, 0x73, 0x8B, 0x96, 0xD3, 0x78, 0x9A, 0x28, 0xAD,
|
||||
0x87, 0xF9, 0x80, 0xED, 0x18, 0x35, 0x99, 0xD6, 0x0A, 0xF1, 0x7E, 0xF9, 0xFE, 0xDD, 0xF9, 0xFB,
|
||||
0xB7, 0x27, 0xFA, 0x26, 0x5C, 0x7E, 0x6E, 0xAF, 0x97, 0x6A, 0x01, 0x29, 0xE7, 0x65, 0xC4, 0x5E,
|
||||
0x26, 0x31, 0xE4, 0xD9, 0xAC, 0x0E, 0xC2, 0x27, 0x5F, 0x77, 0xCC, 0x44, 0x85, 0x80, 0xEA, 0x74,
|
||||
0x9F, 0x4E, 0x3E, 0x9E, 0x9D, 0xBE, 0x7B, 0xF1, 0x36, 0xCF, 0x46, 0xCB, 0x04, 0x94, 0xCA, 0xA9,
|
||||
0xF9, 0x70, 0xF5, 0x70, 0x58, 0xD7, 0xB0, 0x3A, 0x02, 0xAE, 0x72, 0x11, 0x31, 0x0E, 0x1B, 0x94,
|
||||
0x4C, 0xA7, 0xB0, 0x03, 0x58, 0x76, 0xA5, 0xBD, 0x02, 0x45, 0xF2, 0xA3, 0x25, 0x7C, 0x88, 0x09,
|
||||
0x26, 0xCB, 0x0C, 0xB2, 0xF9, 0x8B, 0xC9, 0x3C, 0xB8, 0xE0, 0xD8, 0x09, 0x89, 0xFB, 0x84, 0xCD,
|
||||
0x92, 0x08, 0x32, 0xFD, 0x91, 0x7E, 0xCE, 0x20, 0xF3, 0x7E, 0x99, 0xCC, 0xE7, 0x90, 0x81, 0x37,
|
||||
0x9B, 0x4D, 0x5D, 0x71, 0xD8, 0xA2, 0x4E, 0xAB, 0x68, 0xB1, 0xA6, 0x1C, 0xF1, 0x29, 0x2C, 0x40,
|
||||
0x14, 0x2F, 0x69, 0x0E, 0x89, 0x07, 0x0D, 0xC5, 0x31, 0xB6, 0x1E, 0x1D, 0x0A, 0x1C, 0x0A, 0x52,
|
||||
0xB1, 0x26, 0x41, 0xEB, 0x64, 0xC6, 0x26, 0xDF, 0xC7, 0xC9, 0x8D, 0x82, 0x0B, 0xD7, 0x95, 0x4D,
|
||||
0x60, 0x89, 0x11, 0xF0, 0x92, 0xA8, 0x9F, 0x27, 0x71, 0xC8, 0x93, 0xF4, 0x82, 0xC5, 0xC8, 0x9C,
|
||||
0x8B, 0x12, 0x00, 0xC4, 0x09, 0xC7, 0xB3, 0x40, 0x22, 0x62, 0x81, 0x2E, 0x4D, 0xDF, 0xF1, 0x8B,
|
||||
0x02, 0xA8, 0x90, 0xAF, 0x0D, 0xD9, 0xC2, 0x9D, 0x91, 0xF2, 0x9D, 0x97, 0xE3, 0x2C, 0xAC, 0xD3,
|
||||
0x0E, 0xC6, 0x29, 0xF3, 0xBF, 0x5B, 0xAB, 0x24, 0x0D, 0xD0, 0x92, 0xA4, 0x4C, 0xF0, 0x10, 0x98,
|
||||
0x27, 0xCB, 0x10, 0x85, 0xD1, 0xC3, 0x72, 0x47, 0x7E, 0xFB, 0xA1, 0x8D, 0xD5, 0x13, 0xAC, 0x5F,
|
||||
0x54, 0x1A, 0x36, 0x4F, 0x28, 0xB1, 0xB2, 0x57, 0x4C, 0x77, 0x2B, 0x8A, 0x5C, 0xD5, 0xE9, 0xFD,
|
||||
0xF8, 0x76, 0x35, 0x63, 0x29, 0x23, 0xC3, 0x9E, 0x16, 0x4A, 0xA0, 0xFE, 0xDE, 0x2F, 0xBE, 0xAF,
|
||||
0x4F, 0xDF, 0x9E, 0x9C, 0xFF, 0xE3, 0xFC, 0xD3, 0xC9, 0xD9, 0x3E, 0x09, 0x3E, 0x7E, 0x0D, 0xAD,
|
||||
0x33, 0xED, 0x75, 0x18, 0xB1, 0xEC, 0x36, 0xE3, 0x6C, 0xBE, 0x4F, 0x60, 0xF5, 0xEA, 0xBE, 0x61,
|
||||
0x31, 0x5F, 0xCC, 0x45, 0x65, 0x7D, 0x51, 0x5F, 0xD6, 0xB5, 0xD8, 0x9F, 0x23, 0x57, 0x6E, 0xB1,
|
||||
0x31, 0xFB, 0xFA, 0x4D, 0xD7, 0xE6, 0xCB, 0x88, 0x87, 0x0B, 0x62, 0x95, 0x7C, 0xC3, 0x1D, 0xAA,
|
||||
0x48, 0xF5, 0x86, 0x54, 0x89, 0x19, 0x84, 0xD8, 0x88, 0x39, 0x2A, 0xA7, 0x06, 0x6B, 0x62, 0x87,
|
||||
0x53, 0x91, 0x5B, 0x92, 0x02, 0xFF, 0x99, 0x60, 0xF5, 0xE3, 0x83, 0x78, 0x9C, 0x2D, 0x86, 0xE2,
|
||||
0x37, 0xEC, 0x61, 0x72, 0x99, 0xB2, 0x2C, 0xDB, 0xED, 0xAC, 0x24, 0xE9, 0x8B, 0xF4, 0x52, 0x4C,
|
||||
0x49, 0x2F, 0xB0, 0x9B, 0x54, 0x12, 0x12, 0x1B, 0x21, 0x50, 0x80, 0x52, 0xA4, 0xE2, 0x67, 0x8B,
|
||||
0x51, 0xDA, 0xC5, 0xBA, 0x8A, 0x56, 0xE7, 0x0E, 0x90, 0x9C, 0xEC, 0x53, 0x58, 0x51, 0x55, 0x37,
|
||||
0xA9, 0x68, 0xB5, 0x28, 0xCC, 0x78, 0xCD, 0xAC, 0xF9, 0x51, 0x54, 0x53, 0xD8, 0xF0, 0x91, 0x4D,
|
||||
0x81, 0xDA, 0x99, 0xE2, 0xC6, 0xD5, 0x59, 0x91, 0xCE, 0x02, 0xDB, 0x4B, 0x90, 0x76, 0xCE, 0x82,
|
||||
0x30, 0x45, 0x7D, 0xDB, 0xE3, 0xB0, 0x5B, 0x76, 0xE9, 0xAD, 0xF1, 0xBD, 0xE2, 0xAA, 0x5B, 0xF8,
|
||||
0x7F, 0x80, 0x4F, 0x41, 0x0E, 0x34, 0x68, 0x6B, 0xEB, 0xDA, 0x2D, 0xF2, 0x4E, 0xCF, 0x47, 0x7B,
|
||||
0xCA, 0x68, 0x17, 0xDE, 0x53, 0x00, 0x72, 0xE1, 0x71, 0x4B, 0x0F, 0xE1, 0xA9, 0xE5, 0xF1, 0x03,
|
||||
0x7A, 0xA3, 0x1C, 0x0F, 0x82, 0xDE, 0x12, 0xBA, 0x3C, 0x6C, 0x68, 0x2B, 0x31, 0x43, 0xFB, 0x41,
|
||||
0x3C, 0x68, 0x0C, 0x11, 0x8F, 0x23, 0x08, 0x72, 0xE1, 0x51, 0x1C, 0xBA, 0x40, 0x6B, 0x4F, 0x7E,
|
||||
0xAE, 0x24, 0x46, 0xF0, 0xA5, 0x39, 0x12, 0x3A, 0xBF, 0xD1, 0x8F, 0x1B, 0xC0, 0x40, 0xC0, 0x51,
|
||||
0xF8, 0x46, 0xA1, 0x84, 0x55, 0x9E, 0xCA, 0x80, 0x09, 0xB9, 0x4A, 0xB2, 0x03, 0xB1, 0x47, 0xC1,
|
||||
0xC9, 0x10, 0xDC, 0x50, 0x2E, 0x8D, 0xEA, 0xE8, 0x8A, 0x25, 0x12, 0x35, 0x48, 0x39, 0x42, 0x7C,
|
||||
0x54, 0x2E, 0xF3, 0x15, 0x06, 0xA7, 0x34, 0x27, 0x28, 0x55, 0xA2, 0xB2, 0x49, 0x52, 0x35, 0x53,
|
||||
0xF7, 0xF7, 0x13, 0x88, 0x0D, 0xE0, 0x9E, 0x61, 0xFB, 0xF1, 0x3B, 0x10, 0xEC, 0xE2, 0xE3, 0x1C,
|
||||
0x96, 0x9D, 0x7F, 0x08, 0x53, 0x71, 0x7E, 0xC1, 0xC3, 0x39, 0xAC, 0xF3, 0x53, 0x58, 0x82, 0x55,
|
||||
0x64, 0x65, 0xAD, 0xAD, 0x08, 0x0E, 0x67, 0xC5, 0x1A, 0x24, 0x19, 0xE4, 0xD7, 0x72, 0x93, 0x70,
|
||||
0x81, 0x62, 0x49, 0x70, 0xA2, 0xF0, 0xBA, 0xDF, 0x9F, 0xCB, 0xF2, 0xB7, 0x50, 0xBD, 0x8C, 0xFB,
|
||||
0x7C, 0x99, 0xE9, 0xDB, 0xCC, 0xDE, 0xA3, 0x8C, 0xDF, 0x97, 0xCF, 0x1F, 0x5E, 0xBD, 0xF8, 0xB4,
|
||||
0xD7, 0x79, 0x17, 0x45, 0x2A, 0xED, 0xF3, 0x22, 0x00, 0xE1, 0x7F, 0xC0, 0xF2, 0x6D, 0x75, 0xCA,
|
||||
0x1B, 0x86, 0x70, 0xB5, 0xD3, 0x0C, 0x6E, 0x38, 0xBF, 0x27, 0x98, 0x3E, 0xF8, 0x50, 0x34, 0x5F,
|
||||
0x58, 0xB7, 0x4D, 0x9B, 0x87, 0x8B, 0x50, 0xA7, 0x79, 0x8A, 0xC1, 0x9B, 0xAE, 0x0A, 0x93, 0x87,
|
||||
0xAF, 0xDB, 0x8D, 0x5E, 0x81, 0xB9, 0x08, 0xEA, 0xE6, 0xD9, 0xE5, 0xBE, 0xE0, 0xFF, 0x23, 0x83,
|
||||
0x7D, 0x4C, 0x39, 0x70, 0xDB, 0x84, 0x70, 0x03, 0x6F, 0xBA, 0x69, 0x2B, 0x3F, 0xE4, 0x10, 0x60,
|
||||
0x34, 0x73, 0x8F, 0x5C, 0xA0, 0x9A, 0x24, 0x4B, 0x8C, 0xCD, 0x94, 0x58, 0x70, 0x47, 0x1C, 0x58,
|
||||
0x6E, 0x53, 0x91, 0x84, 0x60, 0xAD, 0xBF, 0x50, 0x36, 0x3A, 0x2C, 0xA8, 0x6E, 0x7C, 0xE5, 0xFC,
|
||||
0x60, 0x5B, 0x97, 0x38, 0x36, 0x82, 0x9E, 0x99, 0x77, 0x7C, 0x0A, 0xA4, 0xF3, 0x70, 0x1A, 0x4E,
|
||||
0xE8, 0x10, 0x18, 0x02, 0x47, 0x6F, 0x8B, 0xCC, 0x95, 0xC7, 0x39, 0x32, 0xC6, 0x3D, 0xAE, 0x64,
|
||||
0x5B, 0xA2, 0x5B, 0x04, 0x61, 0x45, 0x9E, 0x72, 0xFC, 0x39, 0x03, 0xB5, 0x95, 0xCB, 0xD3, 0xF6,
|
||||
0x85, 0x75, 0x6A, 0x0C, 0x47, 0x8B, 0x5C, 0x96, 0xE1, 0x46, 0x79, 0xE7, 0xB2, 0x64, 0xD5, 0x2C,
|
||||
0x7D, 0x3C, 0x11, 0x1F, 0xA0, 0x0F, 0xA3, 0x9A, 0x27, 0x10, 0xB2, 0x90, 0x43, 0x24, 0x31, 0x8B,
|
||||
0xFD, 0xC4, 0x8C, 0xB7, 0xC5, 0xD7, 0xEA, 0x01, 0xD7, 0x5A, 0x18, 0x91, 0x4B, 0xFA, 0xC3, 0x01,
|
||||
0xE6, 0xDB, 0x8F, 0xE8, 0x9D, 0xA4, 0xBC, 0x9F, 0x2F, 0xC7, 0xF3, 0x90, 0x6F, 0xB5, 0x10, 0x10,
|
||||
0xF3, 0x85, 0x0B, 0x7E, 0x7C, 0xED, 0xA7, 0xDA, 0x2A, 0xBB, 0xC8, 0x92, 0x65, 0x3A, 0x61, 0xE6,
|
||||
0xCD, 0x3C, 0xC2, 0x1A, 0x93, 0x08, 0x23, 0xCC, 0xC9, 0x32, 0xC5, 0x03, 0x7A, 0xB4, 0xD2, 0x90,
|
||||
0xBD, 0xE8, 0x26, 0x2C, 0x61, 0x86, 0xDB, 0x2E, 0x36, 0x7D, 0xF4, 0xCC, 0x31, 0x57, 0x6C, 0xBC,
|
||||
0x24, 0x95, 0xC2, 0x8F, 0x69, 0x11, 0x1F, 0xC9, 0xAE, 0x2C, 0x81, 0x48, 0x93, 0x5F, 0x2C, 0x92,
|
||||
0x94, 0x8F, 0x6C, 0xA5, 0xE1, 0xF4, 0x03, 0x84, 0xDB, 0xA6, 0x9F, 0xDD, 0xC6, 0x93, 0x0B, 0x68,
|
||||
0x85, 0xD8, 0x7C, 0xBE, 0x8C, 0x15, 0xAC, 0x28, 0xA9, 0x17, 0xC8, 0x45, 0xDD, 0x04, 0xC9, 0xBD,
|
||||
0x80, 0x88, 0xBD, 0x8A, 0x90, 0xF4, 0x05, 0x62, 0x59, 0x68, 0x64, 0xD9, 0xE2, 0x82, 0xA5, 0x29,
|
||||
0xC4, 0xBC, 0x73, 0xD0, 0x3E, 0x18, 0x87, 0x83, 0xCA, 0xC6, 0x49, 0x12, 0x30, 0x98, 0x1A, 0x79,
|
||||
0x28, 0xD6, 0x84, 0x74, 0x80, 0xD8, 0xCE, 0xB1, 0x1D, 0x20, 0x81, 0xD1, 0x10, 0x99, 0xFA, 0xD1,
|
||||
0x05, 0xE9, 0x65, 0x44, 0xCB, 0xC8, 0xDB, 0x50, 0x6E, 0x47, 0xAF, 0x7E, 0x3D, 0x39, 0xAD, 0x97,
|
||||
0x69, 0x87, 0x61, 0xAE, 0x32, 0x50, 0x67, 0x1C, 0x7A, 0x26, 0x63, 0xED, 0x64, 0x09, 0xFC, 0xE2,
|
||||
0xA3, 0xAF, 0xDF, 0x86, 0xD3, 0x65, 0x4C, 0xF7, 0x23, 0xB4, 0xB5, 0x3C, 0xE7, 0x4E, 0xC5, 0xD8,
|
||||
0x24, 0xA1, 0x68, 0xCA, 0x33, 0xC1, 0xD1, 0x3A, 0x01, 0xCF, 0x75, 0x3C, 0x25, 0xD4, 0x07, 0x3A,
|
||||
0x5D, 0xEE, 0xD8, 0x46, 0xE0, 0x7A, 0xCB, 0x7D, 0x31, 0x2D, 0xD1, 0xCA, 0x8C, 0xBB, 0x94, 0xF1,
|
||||
0x65, 0x1A, 0x6B, 0x41, 0x32, 0x59, 0xCE, 0x61, 0xBB, 0x9A, 0x90, 0x6B, 0x9E, 0x44, 0x0C, 0x5F,
|
||||
0x7F, 0xB9, 0x3D, 0x0D, 0x00, 0xA2, 0x1C, 0xB2, 0x25, 0x1D, 0xB9, 0x0B, 0xA7, 0x75, 0xFB, 0x48,
|
||||
0xAC, 0x7B, 0x2D, 0x1B, 0x32, 0x9A, 0x24, 0x56, 0xCD, 0x88, 0xC5, 0x97, 0x7C, 0x66, 0xDC, 0x55,
|
||||
0x59, 0x70, 0x21, 0x8C, 0x6B, 0x7D, 0xDF, 0xD0, 0x86, 0xFE, 0x5B, 0xAC, 0x1B, 0x43, 0x14, 0x3A,
|
||||
0x36, 0x8A, 0xD9, 0x4A, 0xFB, 0x9F, 0xB3, 0xB7, 0x6F, 0x40, 0xE0, 0x3E, 0xB2, 0xAB, 0x25, 0x98,
|
||||
0xC1, 0x21, 0x6B, 0x26, 0x31, 0x04, 0x59, 0xC1, 0x2D, 0xBA, 0x36, 0x36, 0x99, 0xF9, 0x31, 0xEC,
|
||||
0x68, 0x4E, 0x2D, 0xD0, 0xD6, 0x1A, 0x8D, 0x58, 0x93, 0x00, 0xCE, 0x11, 0xE0, 0xE0, 0x00, 0xB2,
|
||||
0x76, 0x6C, 0x12, 0x9E, 0xF0, 0xE0, 0x60, 0x3B, 0x45, 0x38, 0x24, 0x5B, 0xC0, 0x76, 0xB0, 0x4F,
|
||||
0xA0, 0xE7, 0xC6, 0xBD, 0x09, 0xD3, 0x2C, 0x58, 0x5C, 0xD7, 0x7F, 0x3D, 0xF9, 0xA4, 0x9B, 0x98,
|
||||
0x97, 0xD3, 0xDA, 0x9F, 0x03, 0xB1, 0x23, 0xBD, 0xC1, 0x62, 0x94, 0x9A, 0xCF, 0x1F, 0x4F, 0xF7,
|
||||
0xAE, 0xC4, 0x30, 0x9F, 0xD9, 0x06, 0x20, 0xCA, 0x18, 0x32, 0xCD, 0xDC, 0x07, 0x0A, 0xD2, 0x72,
|
||||
0x5F, 0xB2, 0x3C, 0xF6, 0xAF, 0xC7, 0x3E, 0x44, 0x90, 0x77, 0x82, 0x09, 0xBA, 0xE2, 0x33, 0x61,
|
||||
0xBB, 0x47, 0x8A, 0xCE, 0x35, 0x41, 0x44, 0x42, 0x5E, 0x07, 0xCD, 0x33, 0xCC, 0x98, 0x14, 0x30,
|
||||
0x1C, 0x39, 0x43, 0xB0, 0x3D, 0x75, 0xD6, 0xC0, 0x71, 0x81, 0xB4, 0x06, 0x35, 0x11, 0x83, 0xD6,
|
||||
0xB4, 0xC2, 0x0A, 0xFC, 0xA6, 0xAB, 0xAA, 0x5B, 0x3B, 0xAC, 0x0D, 0xB5, 0xDD, 0x91, 0xF0, 0x6F,
|
||||
0xFA, 0xF1, 0x21, 0xF9, 0x11, 0x7D, 0x18, 0x1E, 0x71, 0xB9, 0xB9, 0x96, 0x33, 0x34, 0x76, 0xCC,
|
||||
0xB2, 0x63, 0x12, 0xBD, 0x51, 0x8F, 0x1B, 0x23, 0xFE, 0x35, 0xFC, 0xD6, 0x40, 0x8A, 0x1B, 0xFA,
|
||||
0x43, 0x93, 0xEA, 0x0D, 0x01, 0x5C, 0x78, 0x4C, 0x49, 0x85, 0x19, 0x36, 0x1A, 0x43, 0x29, 0xC3,
|
||||
0x44, 0x82, 0xEA, 0xDE, 0xF4, 0x92, 0x91, 0x60, 0xAD, 0xB3, 0xD9, 0x05, 0x96, 0xD6, 0xEA, 0xB9,
|
||||
0xCC, 0xEB, 0x4A, 0x14, 0x5E, 0x73, 0x5B, 0xB5, 0x3C, 0xFE, 0xA5, 0xF7, 0x3C, 0x0A, 0xAF, 0x51,
|
||||
0xC1, 0xCC, 0xC5, 0x13, 0x96, 0x5E, 0xAD, 0x88, 0x9F, 0x6B, 0x6D, 0xB7, 0x06, 0x71, 0x6F, 0xCD,
|
||||
0x81, 0x07, 0x44, 0xCA, 0xB5, 0x4E, 0x0D, 0x23, 0x65, 0x7C, 0xE4, 0xE8, 0xDA, 0x25, 0xBA, 0x6E,
|
||||
0x4D, 0xDA, 0xF6, 0x1A, 0x46, 0xC0, 0x83, 0x94, 0x05, 0xC3, 0x9A, 0x76, 0xB8, 0x89, 0x6B, 0xFB,
|
||||
0x68, 0xB7, 0x3A, 0x9A, 0xC2, 0xE7, 0xEA, 0x78, 0xCF, 0x16, 0xE3, 0x7B, 0x3B, 0x68, 0xE9, 0x74,
|
||||
0x4B, 0x6C, 0x10, 0x80, 0x3C, 0x40, 0x8D, 0x5B, 0xC5, 0xE6, 0xD8, 0x02, 0x1D, 0x3E, 0x25, 0xBE,
|
||||
0x9E, 0x8A, 0xAF, 0xF5, 0x38, 0x74, 0x6E, 0x7F, 0xEB, 0x70, 0xEF, 0xC1, 0xC5, 0xB5, 0xC4, 0xF8,
|
||||
0x96, 0x27, 0xC8, 0xE9, 0x0A, 0x6A, 0xBA, 0x05, 0x36, 0x05, 0x59, 0xE7, 0x61, 0x6C, 0x9D, 0x3F,
|
||||
0x14, 0x5B, 0xEF, 0x0F, 0xC1, 0x46, 0x09, 0x90, 0x22, 0xA9, 0x78, 0xFD, 0xE4, 0xF7, 0x0A, 0xAA,
|
||||
0xDB, 0x82, 0xFF, 0xD7, 0x8A, 0xA3, 0x95, 0xDA, 0x59, 0xD7, 0xF4, 0xB4, 0xB7, 0xAE, 0xD9, 0xD3,
|
||||
0xDE, 0x76, 0x4D, 0xC7, 0xA3, 0xDF, 0xB6, 0xF6, 0xD6, 0x91, 0x8F, 0x9E, 0xE9, 0x38, 0xE2, 0xD1,
|
||||
0x16, 0x8D, 0x1D, 0x78, 0xD8, 0xF4, 0xE8, 0x9B, 0x4E, 0x97, 0x7E, 0xF7, 0xA9, 0xC9, 0x05, 0x70,
|
||||
0x57, 0x3E, 0x5C, 0xD3, 0xE9, 0xD1, 0xA3, 0x47, 0x6D, 0x1D, 0xC4, 0xDA, 0xD1, 0x7E, 0xE0, 0x02,
|
||||
0xD3, 0xE4, 0x3B, 0xAC, 0x90, 0xAA, 0x90, 0x35, 0x91, 0xEF, 0xD5, 0x68, 0xA5, 0x5B, 0x17, 0x2A,
|
||||
0xC2, 0xFA, 0x0B, 0xCC, 0x90, 0xC1, 0x0F, 0x29, 0xE6, 0xA1, 0x31, 0x62, 0x68, 0x15, 0x4C, 0xD5,
|
||||
0x20, 0xE8, 0x94, 0xF8, 0x98, 0x3A, 0x18, 0x04, 0x5D, 0x71, 0x49, 0x58, 0xA9, 0x83, 0x7C, 0xE3,
|
||||
0x1C, 0xF2, 0xB9, 0xF8, 0x32, 0xAB, 0x33, 0x93, 0xE7, 0x4C, 0xAB, 0x33, 0xB0, 0xF4, 0x3C, 0x79,
|
||||
0x9B, 0xAC, 0x58, 0xFA, 0x12, 0xC2, 0xE4, 0xBA, 0x61, 0x1C, 0xD5, 0xF9, 0x88, 0xAF, 0xB5, 0x3D,
|
||||
0xB7, 0x9C, 0x01, 0x3F, 0x62, 0xCF, 0x9D, 0x81, 0x5D, 0x62, 0x45, 0x7F, 0xEB, 0xF3, 0xC9, 0x8C,
|
||||
0x62, 0x14, 0x72, 0x16, 0x48, 0x21, 0x9A, 0x60, 0x8E, 0xCE, 0x1C, 0xC3, 0x8E, 0x21, 0x38, 0x3E,
|
||||
0xF8, 0x50, 0xCB, 0x21, 0xE7, 0x04, 0x39, 0xD0, 0xC0, 0x29, 0x48, 0x17, 0xD3, 0xA8, 0xF4, 0xFF,
|
||||
0x54, 0x3F, 0x3E, 0x25, 0xDC, 0x8F, 0x34, 0x71, 0x8D, 0x91, 0x46, 0x70, 0x6C, 0xD8, 0x33, 0x00,
|
||||
0x22, 0xDD, 0x40, 0x85, 0x5F, 0xC2, 0xF7, 0x1E, 0xF0, 0xF7, 0x93, 0xC9, 0x72, 0x21, 0xFE, 0x74,
|
||||
0x4C, 0x3B, 0x9A, 0x33, 0x88, 0x03, 0x34, 0x08, 0x04, 0x40, 0x4A, 0x6A, 0x94, 0x89, 0x08, 0x43,
|
||||
0x30, 0x03, 0x31, 0x1A, 0xD5, 0xFA, 0xF0, 0x26, 0x5C, 0x4F, 0x0D, 0x11, 0x27, 0xC5, 0x48, 0xB0,
|
||||
0xCA, 0xB0, 0x6B, 0x34, 0x58, 0x66, 0xDA, 0xEB, 0xFD, 0x7F, 0xD5, 0xA5, 0x2F, 0x93, 0xC9, 0xA5,
|
||||
0xD1, 0x0C, 0xE3, 0x98, 0xA5, 0x6F, 0x3E, 0x9D, 0xBD, 0x1D, 0x71, 0x93, 0x98, 0x05, 0x1B, 0xF9,
|
||||
0x4C, 0xF5, 0x53, 0x82, 0x8F, 0x61, 0xC5, 0x75, 0x81, 0xCB, 0xE0, 0xA7, 0x78, 0xF7, 0xEF, 0xFD,
|
||||
0x14, 0x1D, 0x98, 0x59, 0xE9, 0x13, 0x1E, 0xC6, 0x35, 0x86, 0x9C, 0x3C, 0x4C, 0x9A, 0xEB, 0x91,
|
||||
0x7A, 0x97, 0x7F, 0x8F, 0x9F, 0xA9, 0xB8, 0x48, 0x00, 0x61, 0x75, 0x1B, 0x7C, 0x86, 0xF3, 0x08,
|
||||
0x97, 0x83, 0xDE, 0x0C, 0xFC, 0x8E, 0xA2, 0x8F, 0xA5, 0xFB, 0x01, 0xC1, 0x8B, 0x30, 0x36, 0x07,
|
||||
0xED, 0xAF, 0x1D, 0x43, 0xB6, 0x8B, 0xD9, 0x57, 0x9E, 0x5C, 0xE9, 0xF7, 0xAC, 0x49, 0x92, 0xD3,
|
||||
0x04, 0xFA, 0x78, 0xBD, 0x08, 0x48, 0x14, 0xE1, 0xDC, 0x90, 0xDB, 0x26, 0xA6, 0x8D, 0x26, 0xA7,
|
||||
0x87, 0x71, 0x6F, 0x20, 0xD7, 0x46, 0x2A, 0x8B, 0x0E, 0x0E, 0xEA, 0x20, 0x75, 0xB6, 0x41, 0x0E,
|
||||
0x1D, 0x19, 0x98, 0x60, 0xF0, 0x99, 0x8D, 0xEC, 0x61, 0x76, 0x94, 0xCF, 0x26, 0x38, 0x35, 0xCC,
|
||||
0x1A, 0x0D, 0x43, 0xB7, 0x1C, 0xE0, 0xBA, 0xC0, 0x5E, 0x97, 0xFD, 0x5F, 0xB3, 0x6F, 0x4D, 0x2C,
|
||||
0xCF, 0x18, 0x80, 0x8B, 0x58, 0xF9, 0xE9, 0xA3, 0x4C, 0x3D, 0xC1, 0xB8, 0xA8, 0x16, 0x45, 0x31,
|
||||
0x34, 0x5B, 0x8C, 0x8B, 0x76, 0xAC, 0xC1, 0xFF, 0x4A, 0x0B, 0xE3, 0x98, 0x2E, 0x58, 0x08, 0xD3,
|
||||
0x75, 0xD0, 0xCE, 0xB8, 0xF8, 0xDE, 0x11, 0x8F, 0x2E, 0xB5, 0x39, 0x68, 0x1B, 0xDE, 0x3A, 0xAE,
|
||||
0xFC, 0xED, 0x68, 0x08, 0xE6, 0x3C, 0xC2, 0x5A, 0xE0, 0xA5, 0x5D, 0xED, 0xC6, 0x11, 0x3E, 0xF6,
|
||||
0x16, 0x9F, 0x35, 0xED, 0xC6, 0x85, 0x07, 0x58, 0xD5, 0x5B, 0x97, 0xFC, 0xDB, 0x1A, 0x06, 0xF1,
|
||||
0x69, 0x49, 0xF2, 0x9D, 0x5A, 0x6E, 0x72, 0xC4, 0xCE, 0x7C, 0x7A, 0xB5, 0x1E, 0x9A, 0x08, 0x39,
|
||||
0xFA, 0x4D, 0x2F, 0xAE, 0x42, 0x2E, 0x6E, 0x68, 0xDB, 0xE5, 0x09, 0xCC, 0x6F, 0x3A, 0x4A, 0x3B,
|
||||
0xD9, 0x23, 0x85, 0x83, 0xB8, 0x41, 0x8D, 0x5A, 0x71, 0x2A, 0x23, 0x0E, 0x65, 0x2A, 0x79, 0x99,
|
||||
0x72, 0x06, 0x53, 0x5B, 0x1F, 0x69, 0xEA, 0x74, 0xC5, 0xB5, 0x89, 0x7F, 0x3A, 0xDC, 0xBC, 0xFC,
|
||||
0x01, 0x7B, 0xB4, 0x06, 0x70, 0x70, 0xA0, 0x40, 0x6C, 0x76, 0xFF, 0xFC, 0x89, 0x62, 0xE0, 0x18,
|
||||
0x26, 0x6D, 0xA0, 0x4C, 0xD0, 0xF0, 0x80, 0xE7, 0xD3, 0x2B, 0x5C, 0x21, 0xC6, 0x84, 0x8D, 0xD1,
|
||||
0xDA, 0x7E, 0x4B, 0x58, 0xEA, 0x55, 0xBA, 0x66, 0x7E, 0xF6, 0x7E, 0x15, 0x7F, 0x48, 0x21, 0xB6,
|
||||
0x4D, 0xF9, 0x6D, 0x5D, 0xA7, 0x72, 0x95, 0xF1, 0xBC, 0x0E, 0x82, 0x65, 0x8B, 0x21, 0x38, 0x42,
|
||||
0x5D, 0x00, 0x42, 0x34, 0x24, 0x26, 0x63, 0x90, 0x83, 0x48, 0xCC, 0xF2, 0x33, 0x17, 0x1E, 0xFB,
|
||||
0xAF, 0x35, 0x95, 0x29, 0xBF, 0xC9, 0xCA, 0xE7, 0x6F, 0xBA, 0xA2, 0xA8, 0xAF, 0x18, 0x9E, 0xB1,
|
||||
0xD4, 0x6B, 0xFA, 0x06, 0x7F, 0xF5, 0x9A, 0x21, 0x42, 0x3E, 0x25, 0x68, 0x6B, 0x14, 0xEB, 0xC5,
|
||||
0x49, 0x85, 0xAE, 0xE1, 0x2F, 0x90, 0x62, 0xBD, 0x54, 0x0B, 0x1F, 0x34, 0xC2, 0x5F, 0xD7, 0x08,
|
||||
0x5F, 0x6A, 0xC4, 0x68, 0x5D, 0x23, 0xFC, 0x3F, 0x48, 0x23, 0x14, 0x6D, 0xE8, 0x0B, 0x97, 0xDA,
|
||||
0x47, 0xE7, 0x08, 0x8E, 0x15, 0x7C, 0xA8, 0xFC, 0xD5, 0x46, 0x37, 0xD9, 0x42, 0xE9, 0x6F, 0xA1,
|
||||
0xBE, 0xB4, 0x49, 0x69, 0x5C, 0x02, 0xC5, 0x07, 0x3A, 0x57, 0x54, 0x21, 0x8F, 0xC6, 0xB7, 0xE9,
|
||||
0xB7, 0x2B, 0x34, 0x08, 0xFA, 0x1F, 0xE7, 0x5B, 0x0B, 0x41, 0xAF, 0x4A, 0xBA, 0x56, 0x48, 0x64,
|
||||
0x11, 0x83, 0x6C, 0x5E, 0xF9, 0x56, 0x2D, 0xA8, 0xE2, 0x98, 0x95, 0xCD, 0xF1, 0xCB, 0xCD, 0x11,
|
||||
0x01, 0xF9, 0x46, 0x47, 0x21, 0x86, 0xD5, 0x97, 0x52, 0xEC, 0xFC, 0x5D, 0x62, 0x67, 0xAA, 0x52,
|
||||
0xF7, 0x74, 0x19, 0xDA, 0x4D, 0xE9, 0x13, 0xC5, 0x48, 0x38, 0xB3, 0xBC, 0x78, 0xAB, 0x7A, 0xB3,
|
||||
0xE4, 0xB9, 0x0E, 0x79, 0x36, 0x56, 0x73, 0x73, 0x97, 0x87, 0x87, 0xA0, 0x2A, 0x44, 0xFC, 0x5C,
|
||||
0xC7, 0x33, 0x1F, 0xAD, 0xA2, 0xE1, 0x5A, 0x98, 0x81, 0xDF, 0xCD, 0x32, 0xB5, 0x5E, 0x27, 0x6A,
|
||||
0x0B, 0x5A, 0xC8, 0x01, 0x61, 0x6E, 0x6C, 0x20, 0xEB, 0x92, 0xCB, 0xD4, 0x6A, 0x6B, 0xE5, 0x9A,
|
||||
0xDA, 0xF1, 0xAF, 0x89, 0xC6, 0x13, 0x4D, 0x5C, 0xC4, 0x0D, 0xCB, 0x9B, 0x40, 0xFE, 0x71, 0x4E,
|
||||
0x4A, 0x59, 0x19, 0xAE, 0x3A, 0x60, 0xD1, 0x4B, 0x75, 0xF3, 0x0A, 0xA5, 0x32, 0xA9, 0x54, 0x8A,
|
||||
0x01, 0x42, 0x15, 0x31, 0x0C, 0xC3, 0x53, 0xE7, 0x74, 0x5E, 0xD7, 0x5F, 0x8A, 0x17, 0x2D, 0xC0,
|
||||
0x2E, 0x84, 0x49, 0xA6, 0x28, 0x75, 0x22, 0xFA, 0x00, 0x8D, 0xA9, 0x04, 0x67, 0x04, 0x04, 0x9C,
|
||||
0x61, 0x1B, 0x38, 0xF3, 0xE8, 0x6E, 0x1F, 0x5A, 0x80, 0x01, 0x79, 0x4B, 0xD2, 0xDB, 0x3D, 0xB8,
|
||||
0x01, 0xA6, 0x8A, 0x5E, 0x39, 0x5E, 0x91, 0xC9, 0xF1, 0x22, 0x05, 0xA7, 0x0A, 0x19, 0xF0, 0xAB,
|
||||
0x1C, 0x1D, 0xD5, 0x62, 0x21, 0x02, 0x81, 0x8D, 0x8D, 0x97, 0x51, 0x04, 0xD6, 0x74, 0x0D, 0xF5,
|
||||
0x24, 0xC7, 0x81, 0x22, 0x0A, 0xA6, 0x61, 0x0E, 0x01, 0x61, 0x39, 0x43, 0x98, 0xBD, 0x0D, 0xE7,
|
||||
0xA0, 0x60, 0xC1, 0x49, 0x7C, 0x1D, 0xA6, 0x49, 0x8C, 0x35, 0x91, 0x62, 0xB2, 0xAF, 0x3A, 0x88,
|
||||
0x20, 0x34, 0x64, 0x5E, 0xF3, 0x92, 0x0A, 0x38, 0x78, 0xBF, 0x0A, 0xE6, 0x82, 0x85, 0xC6, 0x0C,
|
||||
0xFF, 0x14, 0x2F, 0xE4, 0xB7, 0x74, 0x78, 0xDA, 0xC4, 0xA0, 0x75, 0xB1, 0x28, 0x00, 0x9A, 0xFE,
|
||||
0x77, 0x7F, 0xEE, 0x87, 0x58, 0xAF, 0x88, 0x13, 0x2C, 0xB5, 0x82, 0x9D, 0x12, 0x3D, 0x78, 0x4B,
|
||||
0x93, 0x20, 0xC3, 0xC5, 0x2C, 0x01, 0x24, 0x2C, 0x8A, 0x94, 0x9E, 0x10, 0xAF, 0x60, 0x67, 0x4D,
|
||||
0x3A, 0xF7, 0x90, 0x2D, 0xE3, 0x24, 0xF9, 0xAE, 0x36, 0xF8, 0x61, 0x8A, 0xD5, 0x33, 0x08, 0x0D,
|
||||
0x65, 0x03, 0x9F, 0x81, 0xD2, 0x07, 0xE1, 0x74, 0xCA, 0x30, 0x8E, 0x10, 0xED, 0x72, 0x7E, 0x16,
|
||||
0x5C, 0x42, 0xD0, 0xC1, 0x30, 0xA4, 0x6E, 0xCE, 0xB3, 0x29, 0x8F, 0x27, 0x59, 0x28, 0x67, 0x9B,
|
||||
0x87, 0x93, 0x34, 0xC9, 0x92, 0x29, 0xA7, 0xEF, 0x6F, 0x18, 0xE9, 0xEA, 0x2F, 0x3E, 0x80, 0x33,
|
||||
0xCA, 0x6B, 0x61, 0x86, 0x08, 0x62, 0x9E, 0x39, 0x85, 0xD9, 0xE5, 0x60, 0x76, 0x21, 0x8A, 0xCE,
|
||||
0x0D, 0x2E, 0x07, 0x83, 0x0B, 0xA3, 0x2C, 0xE7, 0xD9, 0xA8, 0xA8, 0x2B, 0x45, 0x89, 0x28, 0xD9,
|
||||
0x35, 0x67, 0x49, 0xC6, 0x9B, 0xA1, 0x8C, 0xF6, 0xD8, 0x57, 0xFE, 0xCD, 0xC8, 0xF1, 0xD9, 0xC3,
|
||||
0x1C, 0xF1, 0x5A, 0xCD, 0x49, 0xEE, 0x17, 0x05, 0x50, 0x38, 0x5D, 0xBC, 0xA5, 0x1A, 0x64, 0x86,
|
||||
0x23, 0xFD, 0x90, 0xF4, 0xFF, 0xB9, 0xF8, 0xC3, 0x23, 0x2C, 0xCE, 0x0C, 0xB7, 0xAB, 0x2A, 0x4A,
|
||||
0x21, 0xED, 0x52, 0x7C, 0x89, 0x27, 0xF3, 0x10, 0x0F, 0x42, 0x24, 0x8F, 0x63, 0x45, 0xF1, 0x5E,
|
||||
0x29, 0xEA, 0x70, 0x43, 0x74, 0x8A, 0xAA, 0xA6, 0xD2, 0xA1, 0x46, 0xB4, 0x66, 0xFC, 0x70, 0x21,
|
||||
0x2A, 0xAE, 0x14, 0xA2, 0xEA, 0x54, 0x89, 0x8A, 0x65, 0x9A, 0xF0, 0x7C, 0x4B, 0xBE, 0xF1, 0xDF,
|
||||
0xE7, 0xEF, 0xDF, 0x41, 0xF0, 0x91, 0x42, 0x92, 0x12, 0x57, 0x0B, 0x52, 0xC6, 0xA0, 0x65, 0x3B,
|
||||
0xCA, 0x60, 0xBC, 0x3E, 0x34, 0xA8, 0x4F, 0x44, 0xFD, 0x10, 0xD8, 0x7C, 0x59, 0xCF, 0xBB, 0x0C,
|
||||
0xF3, 0xF5, 0x97, 0x13, 0xAC, 0x6C, 0x82, 0x58, 0x1B, 0xF7, 0x48, 0x65, 0x59, 0xC7, 0x0A, 0xA9,
|
||||
0x22, 0x15, 0xCB, 0x8A, 0x54, 0x95, 0xDF, 0xE2, 0x1C, 0x44, 0x0A, 0x7A, 0x69, 0x61, 0xF2, 0x73,
|
||||
0x18, 0x43, 0x98, 0x59, 0x94, 0x0B, 0x1B, 0x23, 0x94, 0xBC, 0xC0, 0x27, 0x20, 0xAB, 0x87, 0xCA,
|
||||
0x45, 0x51, 0x4B, 0x9C, 0xB0, 0xE4, 0x0C, 0x97, 0x86, 0x29, 0xBD, 0x04, 0x00, 0x51, 0xE2, 0x2C,
|
||||
0x8F, 0x3A, 0xE4, 0xB1, 0x47, 0xC4, 0xF4, 0xA1, 0x10, 0x2D, 0xDC, 0xEB, 0xD7, 0x49, 0x3A, 0x7F,
|
||||
0xE5, 0x73, 0x7F, 0xC8, 0x51, 0x45, 0x90, 0x66, 0x61, 0xD6, 0xD4, 0x54, 0xA1, 0x8C, 0x02, 0x62,
|
||||
0x10, 0xC7, 0xB8, 0x14, 0xC7, 0x18, 0xC4, 0x51, 0x66, 0x1D, 0xEC, 0x6B, 0xFC, 0x0D, 0x9C, 0x8D,
|
||||
0x9A, 0x6C, 0x86, 0xD2, 0x59, 0x9C, 0xEB, 0x25, 0xF2, 0xC4, 0x0C, 0x45, 0x64, 0x60, 0x96, 0xF3,
|
||||
0x95, 0xE7, 0x4E, 0xC0, 0xBC, 0x4D, 0x04, 0xC6, 0x7D, 0xBD, 0x52, 0x0F, 0xDF, 0x22, 0xA2, 0x86,
|
||||
0xDC, 0x80, 0x0F, 0xEF, 0xCF, 0xA9, 0x92, 0x48, 0xF8, 0x74, 0xDA, 0x88, 0xCA, 0xD0, 0xA6, 0x7C,
|
||||
0x80, 0x93, 0x3E, 0xB9, 0x86, 0x59, 0xDE, 0x82, 0x65, 0x67, 0x20, 0xBB, 0xC8, 0x31, 0x71, 0x70,
|
||||
0xA4, 0x9B, 0x65, 0x56, 0x41, 0x35, 0xD8, 0x7C, 0xAD, 0xA0, 0x2A, 0x8B, 0x25, 0x15, 0xBF, 0xF2,
|
||||
0x7C, 0x15, 0x45, 0xC2, 0x0F, 0x58, 0x70, 0x28, 0x53, 0xCC, 0xFF, 0x82, 0xCC, 0x6F, 0xA8, 0xF2,
|
||||
0x5F, 0x6C, 0x50, 0xEE, 0x2C, 0x1E, 0xDA, 0x3E, 0x0D, 0xF7, 0xAF, 0x81, 0x59, 0xF4, 0x6B, 0xFC,
|
||||
0xA3, 0xAD, 0xBA, 0x6D, 0x60, 0x16, 0x78, 0x7F, 0x6F, 0x52, 0x54, 0x5A, 0x56, 0xCE, 0x9D, 0xB5,
|
||||
0x25, 0x25, 0x31, 0x35, 0x2B, 0x4A, 0x41, 0x2A, 0x30, 0xAA, 0x42, 0x49, 0x91, 0xAE, 0x3F, 0x82,
|
||||
0x96, 0x87, 0x84, 0x48, 0x1E, 0x98, 0x99, 0xDB, 0xE4, 0x37, 0x2F, 0xB4, 0x9A, 0xFB, 0x15, 0xAF,
|
||||
0x4A, 0x5B, 0x55, 0x09, 0x8D, 0x81, 0x68, 0x96, 0xFA, 0x75, 0xBF, 0xB6, 0x5C, 0x52, 0x2B, 0x6E,
|
||||
0x28, 0x95, 0x5C, 0xF5, 0xFE, 0xCD, 0x1D, 0xE8, 0xAF, 0xA0, 0x6B, 0xF7, 0x1D, 0x1C, 0xA3, 0x29,
|
||||
0xEF, 0xDE, 0x80, 0xB5, 0x90, 0xF5, 0x62, 0xE5, 0xA6, 0x0C, 0xAC, 0x98, 0xC0, 0x3E, 0x25, 0x8B,
|
||||
0xD1, 0xEE, 0xDE, 0x37, 0x14, 0xC3, 0x2A, 0xDA, 0x0D, 0x71, 0xDF, 0xBB, 0xE5, 0x7C, 0x0C, 0xA2,
|
||||
0x44, 0xB6, 0xB4, 0xD4, 0x17, 0x14, 0x0E, 0x19, 0x1C, 0x83, 0xB3, 0x94, 0xC2, 0x74, 0xC4, 0x87,
|
||||
0x06, 0x98, 0x51, 0x5B, 0x6F, 0xC4, 0x79, 0x89, 0x35, 0x2E, 0x71, 0x41, 0xFA, 0xF3, 0xE1, 0x25,
|
||||
0x06, 0x44, 0x85, 0xA9, 0x40, 0x89, 0x07, 0x25, 0x65, 0x45, 0x3D, 0x16, 0x0F, 0x13, 0x5E, 0x83,
|
||||
0xE7, 0xFD, 0x07, 0xC3, 0x70, 0xA3, 0xA1, 0x5B, 0x7A, 0x43, 0xA1, 0x00, 0x7B, 0xCF, 0x80, 0xE2,
|
||||
0x19, 0x74, 0x41, 0x90, 0xBB, 0xB5, 0x1F, 0xD1, 0xD5, 0x8D, 0x1D, 0x9D, 0x6F, 0x92, 0x65, 0x9A,
|
||||
0xED, 0xEC, 0x3D, 0x0B, 0xE3, 0x25, 0x67, 0xBB, 0xFB, 0xCF, 0x19, 0xB0, 0x2B, 0x10, 0xFD, 0xE5,
|
||||
0xAA, 0xDE, 0x84, 0x01, 0x7B, 0x01, 0x7B, 0x04, 0xFA, 0x53, 0x9C, 0x26, 0xD9, 0x9B, 0xA7, 0x49,
|
||||
0x07, 0x07, 0xC5, 0x31, 0x58, 0x73, 0x12, 0x25, 0x58, 0x4A, 0x32, 0x0B, 0x57, 0x47, 0x7F, 0x21,
|
||||
0x35, 0xAA, 0x7E, 0x36, 0xF4, 0x3A, 0x08, 0x9B, 0x8C, 0x0E, 0x58, 0x60, 0xEC, 0x8A, 0x22, 0x99,
|
||||
0x6C, 0x57, 0xEE, 0x1A, 0x19, 0x6B, 0xA7, 0x40, 0xE2, 0xD0, 0x27, 0x87, 0xCB, 0x8F, 0xE5, 0xF7,
|
||||
0x42, 0xE5, 0x17, 0xEF, 0xB6, 0x03, 0x95, 0xAB, 0x2F, 0xFC, 0xC5, 0x5D, 0xCE, 0x07, 0xFD, 0xB5,
|
||||
0x0F, 0xBA, 0x11, 0x60, 0x00, 0x5A, 0x9E, 0xBC, 0xE1, 0xDF, 0x75, 0x41, 0xC2, 0xF3, 0xFA, 0xCB,
|
||||
0x33, 0xB5, 0x16, 0xF7, 0xFA, 0xCB, 0xFB, 0xEF, 0xF5, 0xDC, 0x0D, 0xEC, 0x72, 0xB9, 0x2C, 0x78,
|
||||
0x90, 0x26, 0x79, 0x98, 0x55, 0x1E, 0x10, 0x16, 0x1A, 0xB0, 0x8F, 0x29, 0x62, 0x94, 0x51, 0x1E,
|
||||
0x32, 0x96, 0xA3, 0x76, 0xB2, 0x48, 0x8E, 0x29, 0x97, 0x70, 0x0A, 0xDA, 0xF8, 0xF9, 0xB4, 0xBE,
|
||||
0x27, 0xCA, 0x60, 0xA3, 0xDD, 0x27, 0x40, 0xFA, 0x57, 0x88, 0xD1, 0x7B, 0xB6, 0xFD, 0x0D, 0xB3,
|
||||
0x07, 0xE8, 0x51, 0x34, 0xC4, 0x18, 0xEE, 0x38, 0xC0, 0xDC, 0x3C, 0x25, 0x7D, 0x28, 0x98, 0x00,
|
||||
0x6B, 0xBF, 0x16, 0x4F, 0xE4, 0xFA, 0x27, 0xAA, 0x92, 0x95, 0xD0, 0x22, 0xF7, 0x02, 0xBB, 0xC3,
|
||||
0x89, 0xE1, 0x75, 0x12, 0x06, 0x1A, 0x9A, 0x62, 0xDE, 0x7C, 0xFD, 0xE5, 0xEF, 0x2C, 0xCD, 0x60,
|
||||
0x9A, 0x9F, 0x3F, 0x95, 0xD6, 0x37, 0x10, 0xB0, 0x89, 0xE2, 0x83, 0xD2, 0xF8, 0x85, 0x8D, 0xC5,
|
||||
0x79, 0xD9, 0x7A, 0xEB, 0x39, 0xE9, 0x09, 0xC6, 0xA1, 0xDB, 0x7B, 0x4E, 0x3F, 0xAC, 0xB7, 0xBF,
|
||||
0x54, 0x19, 0x52, 0xE9, 0x2C, 0xEF, 0xD0, 0x55, 0x9A, 0x5F, 0x54, 0x78, 0xF6, 0x1C, 0x16, 0x6E,
|
||||
0x0F, 0x8A, 0xBD, 0xCE, 0xAF, 0xC4, 0x56, 0x84, 0xEF, 0x1A, 0x5D, 0x56, 0xB1, 0x3A, 0x53, 0x7F,
|
||||
0x87, 0x62, 0xFF, 0xAC, 0x32, 0x03, 0x88, 0x8B, 0x7A, 0x24, 0x0D, 0x3E, 0x19, 0x12, 0x89, 0x0C,
|
||||
0xAD, 0x72, 0x40, 0x90, 0xC5, 0x82, 0x01, 0x50, 0x39, 0xC8, 0x06, 0xB8, 0xE2, 0x88, 0x18, 0x80,
|
||||
0xC2, 0xD7, 0xE1, 0x19, 0xBC, 0xAE, 0x9F, 0x67, 0xAF, 0x71, 0xA6, 0x7A, 0xBA, 0x5D, 0x61, 0x8E,
|
||||
0xA9, 0x9F, 0x83, 0x9C, 0xCC, 0x20, 0xDD, 0x48, 0x20, 0x5C, 0x7F, 0xB6, 0x85, 0x43, 0x30, 0xFF,
|
||||
0xAE, 0xC3, 0x70, 0x20, 0x66, 0x7B, 0xD2, 0xF2, 0x5C, 0x70, 0x27, 0xBF, 0xBB, 0x5B, 0xE1, 0xCD,
|
||||
0x29, 0xD7, 0x32, 0xC6, 0xE6, 0x99, 0x76, 0x9B, 0x2C, 0x35, 0xBC, 0xBB, 0x13, 0xC6, 0x5A, 0x24,
|
||||
0x70, 0x68, 0xAC, 0x44, 0x62, 0xE2, 0x2D, 0x84, 0x3C, 0x85, 0xC5, 0x38, 0x46, 0xF3, 0xB5, 0x71,
|
||||
0x9A, 0xAC, 0x32, 0x96, 0x6A, 0x4B, 0xCC, 0x6F, 0x8F, 0x7E, 0x81, 0x14, 0xBA, 0xA1, 0xAE, 0x0C,
|
||||
0x72, 0x6D, 0x18, 0x03, 0x96, 0x03, 0x14, 0x41, 0xF3, 0xA3, 0x48, 0x9B, 0x42, 0xBA, 0xB5, 0x04,
|
||||
0xE9, 0xD3, 0x56, 0x49, 0xFA, 0x1D, 0x2F, 0x0C, 0x0D, 0xF6, 0xD0, 0xA5, 0x9B, 0xC2, 0xA0, 0x98,
|
||||
0x64, 0x72, 0x05, 0x7F, 0x36, 0xAD, 0x6C, 0x29, 0x9E, 0x15, 0x83, 0xB1, 0xF3, 0xE8, 0x60, 0x6D,
|
||||
0x57, 0xD7, 0x44, 0xA9, 0xBE, 0xAE, 0x8E, 0xB6, 0x34, 0x56, 0xE5, 0xC5, 0xFC, 0x7D, 0x01, 0xAB,
|
||||
0x31, 0x78, 0x0C, 0xB4, 0x8C, 0x4C, 0x8C, 0x7B, 0x16, 0x01, 0x2B, 0xB7, 0x05, 0xF3, 0x28, 0x57,
|
||||
0xE6, 0xD6, 0x88, 0xDE, 0x18, 0x82, 0xFC, 0x15, 0x56, 0xFA, 0x7E, 0x2D, 0xA8, 0x67, 0x3B, 0x82,
|
||||
0xFA, 0x1D, 0x07, 0xDD, 0x22, 0x72, 0x5C, 0x3F, 0x99, 0x1F, 0xD5, 0xD7, 0xBE, 0xAB, 0x9F, 0x90,
|
||||
0x14, 0xC6, 0xC0, 0x1D, 0x18, 0x67, 0xC8, 0x7A, 0x3A, 0x5E, 0x75, 0x37, 0x94, 0x54, 0x90, 0x4E,
|
||||
0x48, 0x30, 0x00, 0x5F, 0x1B, 0xA8, 0x44, 0xE3, 0xBC, 0xB1, 0x86, 0x15, 0xC2, 0xF2, 0xE1, 0xB6,
|
||||
0x38, 0x46, 0xAD, 0x66, 0xA8, 0x11, 0x94, 0x12, 0x58, 0x55, 0xC4, 0xE3, 0xEE, 0x51, 0x9E, 0xBA,
|
||||
0x5E, 0x34, 0x8D, 0xB6, 0xAB, 0xD2, 0x73, 0xB4, 0xFC, 0x85, 0x56, 0xD6, 0xF5, 0x15, 0xFE, 0x1D,
|
||||
0xD5, 0xBA, 0x70, 0x0F, 0xD4, 0x06, 0x54, 0xEB, 0x86, 0x7E, 0xB8, 0x82, 0xD0, 0xFC, 0xAB, 0xEE,
|
||||
0xA7, 0xC1, 0x32, 0x8C, 0x13, 0xFD, 0x9B, 0x31, 0xF8, 0x5D, 0x88, 0x2A, 0x28, 0x8C, 0xE6, 0x38,
|
||||
0x8C, 0xFD, 0xF4, 0xF6, 0x13, 0x5D, 0xED, 0xF1, 0xD3, 0xD4, 0xBF, 0x1D, 0x2F, 0x31, 0xA5, 0xD7,
|
||||
0xCD, 0x72, 0x65, 0x60, 0x2E, 0x40, 0x0C, 0x46, 0x6A, 0x56, 0xA0, 0xCA, 0x8F, 0xFE, 0xE5, 0x5C,
|
||||
0xB8, 0xC6, 0xF5, 0x3B, 0x31, 0xF6, 0x7D, 0x05, 0x09, 0x31, 0xA8, 0x82, 0x65, 0xEB, 0x3D, 0x9A,
|
||||
0x0A, 0xEA, 0xFF, 0x23, 0xDC, 0x32, 0x58, 0xFA, 0xF9, 0x33, 0x63, 0x1C, 0x5D, 0x1E, 0x6C, 0x6B,
|
||||
0x5D, 0xD9, 0x19, 0xD3, 0x63, 0x9E, 0x51, 0x9D, 0x8B, 0xEE, 0xDC, 0xEC, 0xA5, 0x18, 0xEB, 0x3D,
|
||||
0x95, 0x21, 0xF9, 0xAD, 0x1D, 0x75, 0x50, 0x2E, 0x73, 0x43, 0xCA, 0x82, 0x40, 0xB0, 0x7D, 0x30,
|
||||
0x60, 0x30, 0x73, 0x3C, 0x61, 0xC9, 0x54, 0x7B, 0x81, 0xEC, 0xFA, 0x85, 0xD8, 0xA5, 0x86, 0xBB,
|
||||
0xB8, 0x2B, 0x9F, 0xC3, 0x98, 0xF7, 0xA8, 0x5F, 0x8E, 0x03, 0xE3, 0x09, 0x62, 0x1B, 0x1E, 0xE5,
|
||||
0xE1, 0xEF, 0x30, 0x14, 0x92, 0x2A, 0xE2, 0xE2, 0xE6, 0x34, 0x4D, 0xE6, 0x2F, 0x67, 0x7E, 0xFA,
|
||||
0x12, 0xEC, 0x7B, 0x3D, 0xFE, 0x1A, 0x7E, 0x33, 0x4C, 0x07, 0xF2, 0x5F, 0x7C, 0x3B, 0x38, 0x70,
|
||||
0x3C, 0xF1, 0xF6, 0xF3, 0x67, 0x7D, 0xBB, 0xB2, 0xD1, 0x4D, 0xA0, 0xC6, 0x88, 0x43, 0x92, 0x34,
|
||||
0xCA, 0x6F, 0x05, 0x19, 0xC3, 0xBC, 0x95, 0x4C, 0xC1, 0x9D, 0x38, 0xD7, 0xA9, 0x63, 0xCE, 0x46,
|
||||
0xF4, 0xE4, 0x57, 0x3A, 0x06, 0x00, 0xE9, 0x1E, 0x8D, 0x12, 0x49, 0x17, 0x38, 0x80, 0xFC, 0x90,
|
||||
0xEB, 0xF4, 0x95, 0x3E, 0x1A, 0x25, 0x5F, 0x6D, 0xA0, 0xA0, 0x9E, 0xDF, 0x83, 0x4A, 0xBE, 0x3A,
|
||||
0xDF, 0xAA, 0x3B, 0x74, 0xFA, 0x4A, 0xC3, 0xE8, 0x97, 0xBA, 0x0D, 0xB0, 0x80, 0xE2, 0x3F, 0x15,
|
||||
0xA5, 0x8C, 0x95, 0x7D, 0xCF, 0x68, 0xEC, 0xC1, 0x41, 0x11, 0xFB, 0x6D, 0xB8, 0x06, 0x19, 0xBF,
|
||||
0x6A, 0xC8, 0x0B, 0xCD, 0x8F, 0x13, 0x30, 0x96, 0xA9, 0x96, 0x57, 0x76, 0x4C, 0x04, 0x4B, 0x09,
|
||||
0x2E, 0x4E, 0x56, 0x9A, 0x1A, 0xEE, 0xA2, 0xDD, 0x3D, 0xF9, 0xF8, 0xF1, 0xFD, 0xC7, 0x92, 0xDC,
|
||||
0xCD, 0xBB, 0x58, 0xC9, 0x57, 0xF7, 0xDB, 0xFA, 0x6D, 0xAC, 0x8D, 0xC5, 0x20, 0x50, 0x43, 0xD7,
|
||||
0xB0, 0x13, 0xD4, 0x06, 0xBB, 0x0D, 0xB3, 0x92, 0x89, 0xAD, 0x25, 0x62, 0xFE, 0x18, 0xCF, 0xE0,
|
||||
0xB0, 0xFE, 0xA1, 0x98, 0x8C, 0xCA, 0x80, 0x3B, 0x2C, 0x62, 0x54, 0x66, 0x05, 0x37, 0x10, 0x31,
|
||||
0x18, 0x25, 0x2F, 0x80, 0x6A, 0x53, 0x0A, 0x81, 0xEB, 0x10, 0xEA, 0x55, 0xC0, 0x1A, 0x60, 0xEF,
|
||||
0x35, 0xB5, 0x51, 0x2E, 0xC4, 0xD8, 0xB8, 0x52, 0x66, 0x0C, 0xB6, 0x21, 0x84, 0xE0, 0xD9, 0x04,
|
||||
0xDB, 0x5F, 0x26, 0xCD, 0xFF, 0xBA, 0xBC, 0x77, 0xA7, 0x7B, 0x34, 0x06, 0x45, 0x9D, 0x2E, 0x65,
|
||||
0x38, 0x9D, 0xEA, 0x46, 0xD4, 0x5B, 0xB2, 0xE8, 0x3A, 0x36, 0x8A, 0xBA, 0x6B, 0xD7, 0x7F, 0xB5,
|
||||
0xE7, 0x80, 0xB0, 0x5A, 0x46, 0x5A, 0x3D, 0xB2, 0x88, 0x84, 0xD7, 0x73, 0x1F, 0xB1, 0x3A, 0x05,
|
||||
0xDD, 0x43, 0xB0, 0x78, 0xAF, 0x76, 0x9F, 0xEF, 0xAE, 0x80, 0x55, 0xC2, 0x90, 0x1D, 0x09, 0xCD,
|
||||
0x87, 0xF2, 0xF6, 0xED, 0xE3, 0xD2, 0xAC, 0x27, 0x66, 0x76, 0xE2, 0xDE, 0xF0, 0xDE, 0xFA, 0x58,
|
||||
0xE9, 0x73, 0xD5, 0x1A, 0x99, 0xF9, 0x60, 0xF9, 0x4B, 0x07, 0x17, 0xF4, 0xB4, 0xB2, 0x97, 0xA8,
|
||||
0x7A, 0x95, 0xE3, 0x8C, 0xFB, 0xCA, 0x2D, 0xC9, 0x27, 0x97, 0xBE, 0x44, 0xF8, 0x0C, 0xEB, 0xFB,
|
||||
0xB7, 0x56, 0xBF, 0x88, 0xBF, 0xD5, 0xFA, 0xD7, 0xC6, 0xFE, 0x3F, 0xAE, 0xF2, 0xF5, 0x50, 0xB1,
|
||||
0x2B, 0xCF, 0xCB, 0xB6, 0xD6, 0xBB, 0xD6, 0xA4, 0x7E, 0xAB, 0xBA, 0x6F, 0xD0, 0x55, 0x5E, 0x04,
|
||||
0x6F, 0x2A, 0x25, 0xD5, 0xFC, 0xCA, 0xF7, 0x23, 0x24, 0xFD, 0x91, 0x3A, 0x56, 0x01, 0xCB, 0xFF,
|
||||
0x80, 0x61, 0x71, 0xB3, 0x4D, 0x05, 0x0B, 0xF3, 0xF2, 0x74, 0xED, 0xDC, 0x84, 0x55, 0xA6, 0x92,
|
||||
0x37, 0x40, 0x1F, 0x57, 0x99, 0xA3, 0xE3, 0x0A, 0x87, 0x8E, 0xCE, 0xF3, 0x7B, 0x9E, 0x7A, 0xAB,
|
||||
0xFA, 0xA9, 0xF6, 0xFE, 0xFC, 0x59, 0xF5, 0x1E, 0xBA, 0xAB, 0x97, 0x57, 0x44, 0x8D, 0xAA, 0xD9,
|
||||
0x9E, 0x60, 0x50, 0x21, 0x0C, 0xF7, 0x90, 0x62, 0x77, 0x9C, 0xCA, 0x53, 0xE1, 0x85, 0xD4, 0x91,
|
||||
0x02, 0x56, 0x85, 0x0C, 0xEF, 0xDC, 0xB4, 0x6C, 0xF0, 0xFD, 0x10, 0x1E, 0xD1, 0x1F, 0xF3, 0x03,
|
||||
0xAF, 0xEA, 0x8A, 0x7C, 0xC4, 0x8D, 0x91, 0x63, 0x6E, 0x93, 0xCB, 0x78, 0x63, 0x63, 0x4B, 0x19,
|
||||
0x68, 0x39, 0x56, 0x6C, 0xB6, 0xEC, 0x23, 0x4C, 0x09, 0x27, 0x60, 0x8D, 0xD2, 0x02, 0x33, 0xC7,
|
||||
0x80, 0x6C, 0xCD, 0x8E, 0x43, 0x2C, 0xE5, 0x60, 0x10, 0x46, 0x94, 0x57, 0x8B, 0x97, 0x5B, 0x9A,
|
||||
0x76, 0xD5, 0x33, 0x4B, 0x6F, 0x80, 0xA9, 0xCA, 0x9D, 0x92, 0xEF, 0xD0, 0x5F, 0x0C, 0xEC, 0x28,
|
||||
0xB1, 0x28, 0xE7, 0x0B, 0x78, 0xE3, 0xFC, 0xE1, 0x61, 0x64, 0x08, 0x87, 0xAA, 0xEB, 0x88, 0x4A,
|
||||
0xDD, 0x90, 0x47, 0x75, 0xC0, 0x4D, 0xD9, 0xB5, 0xD8, 0xE8, 0xC2, 0x1B, 0xB0, 0x84, 0xFE, 0xF9,
|
||||
0xE7, 0xF3, 0x93, 0x8F, 0x6A, 0x95, 0x06, 0x6D, 0x04, 0x20, 0x8F, 0x31, 0x83, 0x69, 0xE8, 0x07,
|
||||
0x1F, 0x5E, 0x9C, 0x9F, 0x7F, 0x79, 0xFF, 0xF1, 0xD5, 0x76, 0x10, 0x8E, 0x20, 0xE7, 0x9F, 0x7F,
|
||||
0x39, 0x3B, 0xFD, 0x34, 0xBA, 0xC5, 0x5A, 0x7D, 0xB8, 0xED, 0x1E, 0x72, 0xF8, 0xF0, 0xF1, 0x4F,
|
||||
0xB8, 0x71, 0xFC, 0xF3, 0x0C, 0xDA, 0x64, 0xD2, 0x47, 0x29, 0x60, 0x58, 0x4D, 0x01, 0x8B, 0x1C,
|
||||
0xAF, 0x12, 0xFD, 0x84, 0x45, 0x1E, 0x38, 0xC8, 0x4B, 0x55, 0xB0, 0x55, 0xA1, 0x9A, 0x03, 0xC6,
|
||||
0x64, 0x51, 0xC3, 0x3C, 0x07, 0x5C, 0x85, 0x71, 0x90, 0xAC, 0xB6, 0x58, 0xA4, 0x7C, 0xFC, 0xFD,
|
||||
0xF0, 0xE8, 0x50, 0xDE, 0xEE, 0x3F, 0x3A, 0x94, 0x7F, 0x54, 0x44, 0xFF, 0xAD, 0xFB, 0xFF, 0x07,
|
||||
0x65, 0xE6, 0x36, 0x6D, 0xF2, 0x5E, 0x00, 0x00
|
||||
};
|
||||
#endif //__embedded_h
|
@ -1,125 +0,0 @@
|
||||
var gulp = require('gulp'),
|
||||
jshint = require('gulp-jshint'),
|
||||
gulpif = require('gulp-if'),
|
||||
concat = require('gulp-concat'),
|
||||
uglify = require('gulp-uglify'),
|
||||
cleanCSS = require('gulp-clean-css'),
|
||||
removeCode = require('gulp-remove-code'),
|
||||
merge = require('merge-stream'),
|
||||
del = require('del'),
|
||||
zip = require('gulp-zip'),
|
||||
gzip = require('gulp-gzip'),
|
||||
htmlmin = require('gulp-htmlmin'),
|
||||
replace = require('gulp-replace'),
|
||||
fs = require('fs'),
|
||||
smoosher = require('gulp-smoosher');
|
||||
|
||||
var demoMode = false;
|
||||
var testMode = false;
|
||||
|
||||
function clean() {
|
||||
return del(['dist']);
|
||||
}
|
||||
|
||||
function clean2() {
|
||||
return del(['dist/js', 'dist/css']);
|
||||
}
|
||||
function lint() {
|
||||
return gulp.src('www/js/**/script.js')
|
||||
.pipe(jshint())
|
||||
.pipe(jshint.reporter('default'));
|
||||
}
|
||||
|
||||
function Copytest() {
|
||||
return merge(
|
||||
gulp.src(['www/tool.html'])
|
||||
.pipe(removeCode({production: false}))
|
||||
.pipe(gulp.dest('dist')),
|
||||
gulp.src(['www/images/**/*.*'])
|
||||
.pipe(gulp.dest('dist/images'))
|
||||
)
|
||||
}
|
||||
|
||||
function Copy() {
|
||||
return merge(
|
||||
gulp.src(['www/tool.html'])
|
||||
.pipe(removeCode({production: true}))
|
||||
.pipe(gulp.dest('dist')),
|
||||
gulp.src(['www/images/**/*.*'])
|
||||
.pipe(gulp.dest('dist/images'))
|
||||
)
|
||||
}
|
||||
|
||||
function concatApptest() {
|
||||
return merge(
|
||||
gulp.src([ 'www/js/**/*.js'])
|
||||
.pipe(concat('script.js'))
|
||||
.pipe(removeCode({production: false}))
|
||||
.pipe(gulp.dest('./dist/js')),
|
||||
|
||||
gulp.src([ 'www/css/**/*.css'])
|
||||
.pipe(concat('style.css'))
|
||||
.pipe(gulp.dest('./dist/css/'))
|
||||
)
|
||||
}
|
||||
|
||||
function concatApp() {
|
||||
return merge(
|
||||
gulp.src([ 'www/js/**/*.js'])
|
||||
.pipe(concat('script.js'))
|
||||
.pipe(removeCode({production: true}))
|
||||
.pipe(gulp.dest('./dist/js')),
|
||||
|
||||
gulp.src([ 'www/css/**/*.css'])
|
||||
.pipe(concat('style.css'))
|
||||
.pipe(gulp.dest('./dist/css/'))
|
||||
)
|
||||
}
|
||||
|
||||
function minifyApp() {
|
||||
return merge(
|
||||
gulp.src(['dist/js/script.js'])
|
||||
.pipe(uglify({mangle: true}))
|
||||
.pipe(gulp.dest('./dist/js/')),
|
||||
|
||||
gulp.src('dist/css/style.css')
|
||||
.pipe(cleanCSS({debug: true}, function(details) {
|
||||
console.log(details.name + ': ' + details.stats.originalSize);
|
||||
console.log(details.name + ': ' + details.stats.minifiedSize);
|
||||
}))
|
||||
.pipe(gulp.dest('./dist/css/')),
|
||||
|
||||
gulp.src('dist/tool.html')
|
||||
.pipe(htmlmin({collapseWhitespace: true, minifyCSS: true}))
|
||||
.pipe(gulp.dest('dist'))
|
||||
)
|
||||
}
|
||||
|
||||
function smoosh() {
|
||||
return gulp.src('dist/tool.html')
|
||||
.pipe(smoosher())
|
||||
.pipe(gulp.dest('dist'))
|
||||
}
|
||||
|
||||
function compress() {
|
||||
return gulp.src('dist/tool.html')
|
||||
.pipe(gzip())
|
||||
.pipe(gulp.dest('.'));
|
||||
}
|
||||
|
||||
gulp.task(clean);
|
||||
gulp.task(lint);
|
||||
gulp.task(Copy);
|
||||
gulp.task(Copytest);
|
||||
gulp.task(concatApp);
|
||||
gulp.task(concatApptest);
|
||||
gulp.task(minifyApp);
|
||||
gulp.task(smoosh);
|
||||
gulp.task(clean2);
|
||||
|
||||
var defaultSeries = gulp.series(clean, lint, Copy, concatApp, smoosh);
|
||||
var packageSeries = gulp.series(clean, lint, Copy, concatApp,minifyApp, smoosh, compress, clean2);
|
||||
|
||||
gulp.task('default', defaultSeries);
|
||||
gulp.task('package', packageSeries);
|
||||
|
9292
embedded/package-lock.json
generated
9292
embedded/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,30 +1,43 @@
|
||||
{
|
||||
"name": "embedded4ESP3D",
|
||||
"description": "Embedded files for ESP3D",
|
||||
"devDependencies": {
|
||||
"del": "latest",
|
||||
"deprecated": "latest",
|
||||
"fs": "latest",
|
||||
"gulp": "^4.0.2",
|
||||
"gulp-bytediff": "latest",
|
||||
"gulp-cdnizer": "latest",
|
||||
"gulp-clean-css": "latest",
|
||||
"gulp-concat": "latest",
|
||||
"gulp-gzip": "latest",
|
||||
"gulp-htmlmin": "latest",
|
||||
"gulp-if": "latest",
|
||||
"gulp-jshint": "latest",
|
||||
"gulp-ng-annotate": "latest",
|
||||
"gulp-remove-code": "latest",
|
||||
"gulp-replace": "latest",
|
||||
"gulp-smoosher": "latest",
|
||||
"gulp-uglify": "latest",
|
||||
"gulp-zip": "latest",
|
||||
"jshint": "latest",
|
||||
"merge-stream": "latest",
|
||||
"lodash": "^4.17.19"
|
||||
"name": "base",
|
||||
"version": "1.0.0",
|
||||
"description": "base for webpack project",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"front": "webpack serve --config config/webpack.dev.js ",
|
||||
"pack": "webpack --config config/webpack.prod.js",
|
||||
"convert": "npx ./config/buildheader.js",
|
||||
"server": "nodemon config/server.js",
|
||||
"dev": "concurrently \"npm run server\" \"npm run front\"",
|
||||
"build": "npm run pack && npm run convert"
|
||||
},
|
||||
"repository": "https://github.com/luc-github/ESP3D",
|
||||
"author": "Luc LEBOSSE",
|
||||
"license": "(ISC OR GPL-3.0)"
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.12.13",
|
||||
"@babel/preset-env": "^7.12.13",
|
||||
"babel-loader": "^8.2.2",
|
||||
"chalk": "^4.1.0",
|
||||
"clean-webpack-plugin": "^3.0.0",
|
||||
"compression-webpack-plugin": "^7.1.2",
|
||||
"concurrently": "^5.3.0",
|
||||
"core-js": "^3.8.3",
|
||||
"css-loader": "^5.0.2",
|
||||
"espress": "0.0.0",
|
||||
"express": "^4.17.1",
|
||||
"express-fileupload": "^1.2.1",
|
||||
"express-ws": "^4.0.0",
|
||||
"html-inline-css-webpack-plugin": "^1.10.1",
|
||||
"html-inline-script-webpack-plugin": "^1.0.1",
|
||||
"html-minimizer-webpack-plugin": "^2.1.0",
|
||||
"html-webpack-plugin": "^5.0.0",
|
||||
"mini-css-extract-plugin": "^1.3.6",
|
||||
"nodemon": "^2.0.7",
|
||||
"regenerator-runtime": "^0.13.7",
|
||||
"style-loader": "^2.0.0",
|
||||
"webpack": "^5.21.2",
|
||||
"webpack-cli": "^4.5.0",
|
||||
"webpack-dev-server": "^3.11.2"
|
||||
}
|
||||
}
|
||||
|
BIN
embedded/server/public/favicon.ico
Normal file
BIN
embedded/server/public/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
28
embedded/server/public/fr.json
Normal file
28
embedded/server/public/fr.json
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
"lang" : "Français",
|
||||
"S1" : "Chargement...",
|
||||
"S2" : "Connection websocket...",
|
||||
"S3" : "Apparement vous êtes connecté depuis une autre page, donc cette page est désormais déconnectée",
|
||||
"S4" : "Erreur traitement lors du fichier de configuration, le fichier est incorrecte",
|
||||
"S5" : "Impossible de se connecter au serveur de la carte",
|
||||
"S6" : "Erreur de connection WebSocket",
|
||||
"S7" : "Erreur lors du traitement du fichier de préférences, le fichier est incorrecte",
|
||||
"S8" : "SVP reconnectez-moi",
|
||||
"S9" : "déconnecté",
|
||||
"S10" : "Connection with board is lost",
|
||||
"S11" : "Aidez nous",
|
||||
"S12" : "A propos d'ESP3D",
|
||||
"S13" : "Tableau de bord",
|
||||
"S14" : "Parmètres",
|
||||
"S15" : "Donation pour ESP3D",
|
||||
"S16" : "Version micrologiciel",
|
||||
"S17" : "Version interface",
|
||||
"S18" : "Version navigateur",
|
||||
"S19" : "Inconnu",
|
||||
"S20" : "Go to github",
|
||||
"S21" : "Parsing data error, data are incorrect",
|
||||
"S22" : "Erreur",
|
||||
"S23" : "Refresh information",
|
||||
"S24" : "Fermer",
|
||||
"T9" : "Utilisation sytème de fichiers"
|
||||
}
|
BIN
embedded/server/public/index.html.gz
Normal file
BIN
embedded/server/public/index.html.gz
Normal file
Binary file not shown.
116
embedded/src/index.html
Normal file
116
embedded/src/index.html
Normal file
@ -0,0 +1,116 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<ul>
|
||||
<li id="FWLink">Firmware</li>
|
||||
<li id="UiLink">Interface</li>
|
||||
<li id="hlpLink">Help</li>
|
||||
<li id="espLink" class="hide">ESP3D</li>
|
||||
<li class="menuspacer"></li>
|
||||
<li id="loginLink" class="hide">Login</li>
|
||||
<li id="verLink" disabled></li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr />
|
||||
<div id="MSG"></div>
|
||||
<div id="consolePanel" class="panel hide">
|
||||
<div id="consoleHeader" class="panel-header">Terminal</div>
|
||||
<div id="consoleBody" class="panel-body no-footer">
|
||||
<div class="controlBar">
|
||||
<input
|
||||
class="formControl"
|
||||
autocomplete="off"
|
||||
type="text"
|
||||
value=""
|
||||
id="customCmdTxt"
|
||||
/>
|
||||
<button class="btn" id="cmdBtn">Send</button>
|
||||
<div class="controlBar">
|
||||
<input type="checkbox" id="monitor_enable_autoscroll" checked />
|
||||
<label for="monitor_enable_autoscroll">Autoscroll</label>
|
||||
</div>
|
||||
</div>
|
||||
<pre id="consoleContent"></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div id="fileSystem" class="panel hide">
|
||||
<div id="fileSystemHeader" class="panel-header">Filesystem</div>
|
||||
<div id="fileSystemBody" class="panel-body no-footer">
|
||||
<div class="controlBar">
|
||||
<input class="hide" type="file" value="" id="files" multiple />
|
||||
<button class="btn" id="refresh">Refresh</button>
|
||||
<button class="btn" id="createdir" title="Create directory">+</button>
|
||||
<button class="btn" id="uploadFiles" title="upload files">+</button>
|
||||
<div class="label hide" id="prgfiletext">0%</div>
|
||||
<progress
|
||||
class="progbar hide"
|
||||
id="prgfile"
|
||||
max="100"
|
||||
value="50"
|
||||
></progress>
|
||||
</div>
|
||||
<div id="filecontent" class="panel">
|
||||
<div id="filecontentbody" class="panel-body no-header">
|
||||
<div class="label" id="path">/</div>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Type</th>
|
||||
<th>Name</th>
|
||||
<th>Size</th>
|
||||
<th width="0%"></th>
|
||||
<th width="100%"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="fileList"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div id="filecontentFooter" class="panel-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="firmware" class="panel hide">
|
||||
<div id="firmwareHeader" class="panel-header">Firmware update</div>
|
||||
<div id="firmwareBody" class="panel-body no-footer">
|
||||
<div class="controlBar">
|
||||
<input class="hide" type="file" value="" accept=".bin" id="filefw" />
|
||||
<button class="btn" id="uploapFW">Select File</button>
|
||||
<div class="label hide" id="prgupdatetext">0%</div>
|
||||
<progress
|
||||
class="progbar hide"
|
||||
id="prgupdate"
|
||||
max="100"
|
||||
value="50"
|
||||
></progress>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div id="loginpage" class="modal hide">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">Identification</div>
|
||||
<div class="modal-body">
|
||||
<div class="controlBar">
|
||||
<div class="label">User:</div>
|
||||
<input type="text" id="loginInput" />
|
||||
</div>
|
||||
<hr />
|
||||
<div class="controlBar">
|
||||
<div class="label">Password:</div>
|
||||
<input type="password" id="passwordInput" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn" id="loginbutton">Login</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
774
embedded/src/index.js
Normal file
774
embedded/src/index.js
Normal file
@ -0,0 +1,774 @@
|
||||
import "./style.css";
|
||||
import { initMenus } from "./menu";
|
||||
let isConsoleExpanded = false;
|
||||
let isAutoScroll = true;
|
||||
let consoleContentList = [];
|
||||
let consoleContent;
|
||||
let isFileSystemExpanded = true;
|
||||
let isFirmwareUpdateExpanded = false;
|
||||
let consolePanel;
|
||||
let fileSystem;
|
||||
let firmware;
|
||||
let consoleHeader;
|
||||
let consoleBody;
|
||||
let fileSystemHeader;
|
||||
let fileSystemBody;
|
||||
let filecontentFooter;
|
||||
let firmwareHeader;
|
||||
let firmwareBody;
|
||||
let filesInput;
|
||||
let fwInput;
|
||||
let filesButton;
|
||||
let firmwareButton;
|
||||
let refreshButton;
|
||||
let createDirButton;
|
||||
let message;
|
||||
let websocketStarted = false;
|
||||
let wsSource;
|
||||
let wsMsg = "";
|
||||
let logOff = false;
|
||||
let pageId = "";
|
||||
let currentPath = "/";
|
||||
const version = "3.0.0.a1";
|
||||
let xmlhttpupload;
|
||||
let prgfiletext;
|
||||
let prgfile;
|
||||
let uploadType = 0;
|
||||
let restartTime;
|
||||
let loginLink;
|
||||
let loginModal;
|
||||
|
||||
window.onload = function () {
|
||||
consolePanel = document.getElementById("consolePanel");
|
||||
fileSystem = document.getElementById("fileSystem");
|
||||
firmware = document.getElementById("firmware");
|
||||
consoleHeader = document.getElementById("consoleHeader");
|
||||
consoleBody = document.getElementById("consoleBody");
|
||||
fileSystemHeader = document.getElementById("fileSystemHeader");
|
||||
fileSystemBody = document.getElementById("fileSystemBody");
|
||||
filecontentFooter = document.getElementById("filecontentFooter");
|
||||
firmwareHeader = document.getElementById("firmwareHeader");
|
||||
firmwareBody = document.getElementById("firmwareBody");
|
||||
consoleContent = document.getElementById("consoleContent");
|
||||
fwInput = document.getElementById("filefw");
|
||||
filesInput = document.getElementById("files");
|
||||
message = document.getElementById("MSG");
|
||||
prgfiletext = document.getElementById("prgfiletext");
|
||||
prgfile = document.getElementById("prgfile");
|
||||
document.getElementById("cmdBtn").addEventListener("click", function () {
|
||||
let input = document.getElementById("customCmdTxt");
|
||||
if (input.value.trim().length == 0) return;
|
||||
let url = new URL("http://" + window.location.host + "/command");
|
||||
url.searchParams.append("cmd", input.value.trim());
|
||||
httpGet(url, processCmdJson);
|
||||
consoleContentUpdate(
|
||||
"<span class='cmd'>" + input.value.trim() + "</span>\n"
|
||||
);
|
||||
input.value = "";
|
||||
});
|
||||
document
|
||||
.getElementById("customCmdTxt")
|
||||
.addEventListener("keyup", function (event) {
|
||||
if (event.keyCode === 13) {
|
||||
document.getElementById("cmdBtn").click();
|
||||
}
|
||||
});
|
||||
consoleHeader.addEventListener("click", function () {
|
||||
isConsoleExpanded = !isConsoleExpanded;
|
||||
if (isConsoleExpanded) consoleBody.style.display = "block";
|
||||
else consoleBody.style.display = "none";
|
||||
});
|
||||
loginLink = document.getElementById("loginLink");
|
||||
loginModal = document.getElementById("loginpage");
|
||||
loginLink.addEventListener("click", function () {
|
||||
loginModal.classList.remove("hide");
|
||||
});
|
||||
document.getElementById("loginbutton").addEventListener("click", function () {
|
||||
loginModal.classList.add("hide");
|
||||
let user = document.getElementById("loginInput").value.trim();
|
||||
let password = document.getElementById("passwordInput").value.trim();
|
||||
let url = new URL("http://" + window.location.host + "/login");
|
||||
url.searchParams.append("USER", user);
|
||||
url.searchParams.append("PASSWORD", password);
|
||||
url.searchParams.append("SUBMIT", "yes");
|
||||
let xmlhttp = new XMLHttpRequest();
|
||||
xmlhttp.onreadystatechange = function () {
|
||||
if (xmlhttp.readyState == 4) {
|
||||
if (xmlhttp.status != 200) {
|
||||
if (xmlhttp.status == 401) {
|
||||
loginModal.classList.remove("hide");
|
||||
loginLink.classList.remove("hide");
|
||||
} else {
|
||||
console.log(xmlhttp.status);
|
||||
ErrorMSG(
|
||||
"Error: board does not answered properly " + xmlhttp.status
|
||||
);
|
||||
}
|
||||
} else {
|
||||
getFWData();
|
||||
}
|
||||
}
|
||||
};
|
||||
xmlhttp.open("GET", url, true);
|
||||
xmlhttp.send();
|
||||
});
|
||||
|
||||
refreshButton = document.getElementById("refresh");
|
||||
refreshButton.addEventListener("click", function () {
|
||||
SendFileCommand("list", "all");
|
||||
});
|
||||
firmwareButton = document.getElementById("uploapFW");
|
||||
firmwareButton.addEventListener("click", function () {
|
||||
prgupdatetext.innerHTML = "";
|
||||
fwInput.click();
|
||||
});
|
||||
filesButton = document.getElementById("uploadFiles");
|
||||
filesButton.innerHTML = fileIcon(true);
|
||||
filesButton.addEventListener("click", function () {
|
||||
filesInput.click();
|
||||
});
|
||||
fwInput.addEventListener("change", function () {
|
||||
if (fwInput.value) {
|
||||
if (!confirm("Confirm Firmware Update ?")) {
|
||||
console.log("abort");
|
||||
fwInput.value = "";
|
||||
return;
|
||||
}
|
||||
uploadFirmware();
|
||||
}
|
||||
});
|
||||
filesInput.addEventListener("change", function () {
|
||||
console.log("upload");
|
||||
if (filesInput.value) {
|
||||
uploadFiles();
|
||||
}
|
||||
});
|
||||
document
|
||||
.getElementById("monitor_enable_autoscroll")
|
||||
.addEventListener("click", function () {
|
||||
if (document.getElementById("monitor_enable_autoscroll").checked) {
|
||||
isAutoScroll = true;
|
||||
autoscroll();
|
||||
} else {
|
||||
isAutoScroll = false;
|
||||
}
|
||||
});
|
||||
consoleBody.style.display = "none";
|
||||
fileSystemHeader.addEventListener("click", function () {
|
||||
isFileSystemExpanded = !isFileSystemExpanded;
|
||||
if (isFileSystemExpanded) {
|
||||
fileSystemBody.style.display = "block";
|
||||
fileSystemBody.scrollIntoView();
|
||||
} else {
|
||||
fileSystemBody.style.display = "none";
|
||||
}
|
||||
});
|
||||
firmwareHeader.addEventListener("click", function () {
|
||||
isFirmwareUpdateExpanded = !isFirmwareUpdateExpanded;
|
||||
if (isFirmwareUpdateExpanded) {
|
||||
firmwareBody.style.display = "block";
|
||||
firmwareBody.scrollIntoView();
|
||||
} else firmwareBody.style.display = "none";
|
||||
});
|
||||
firmwareBody.style.display = "none";
|
||||
createDirButton = document.getElementById("createdir");
|
||||
createDirButton.innerHTML = dirIcon(true);
|
||||
createDirButton.addEventListener("click", function () {
|
||||
let filename = prompt("Directory name", "");
|
||||
if (filename != null && filename.trim().length > 0) {
|
||||
SendFileCommand("createdir", filename.trim());
|
||||
}
|
||||
});
|
||||
getFWData();
|
||||
initMenus();
|
||||
};
|
||||
|
||||
function padNumber(num, size) {
|
||||
let s = num.toString().padStart(size, "0");
|
||||
return s;
|
||||
}
|
||||
|
||||
function getPCTime() {
|
||||
let d = new Date();
|
||||
return (
|
||||
d.getFullYear() +
|
||||
"-" +
|
||||
padNumber(d.getMonth() + 1, 2) +
|
||||
"-" +
|
||||
padNumber(d.getDate(), 2) +
|
||||
"-" +
|
||||
padNumber(d.getHours(), 2) +
|
||||
"-" +
|
||||
padNumber(d.getMinutes(), 2) +
|
||||
"-" +
|
||||
padNumber(d.getSeconds(), 2)
|
||||
);
|
||||
}
|
||||
|
||||
function isLimitedEnvironment(wifiMode) {
|
||||
let sitesList = [
|
||||
"clients3.google.com", //Android Captive Portal Detection
|
||||
"connectivitycheck.",
|
||||
//Apple iPhone, iPad with iOS 6 Captive Portal Detection
|
||||
"apple.com",
|
||||
".akamaitechnologies.com",
|
||||
//Apple iPhone, iPad with iOS 7, 8, 9 and recent versions of OS X
|
||||
"www.appleiphonecell.com",
|
||||
"www.itools.info",
|
||||
"www.ibook.info",
|
||||
"www.airport.us",
|
||||
"www.thinkdifferent.us",
|
||||
".akamaiedge.net",
|
||||
//Windows
|
||||
".msftncsi.com",
|
||||
"microsoft.com",
|
||||
];
|
||||
if (wifiMode != "AP") return false;
|
||||
for (let i = 0; i < sitesList.length; i++) {
|
||||
if (document.location.host.indexOf(sitesList[i]) != -1) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function autoscroll() {
|
||||
if (isAutoScroll) consoleContent.scrollTop = consoleContent.scrollHeight;
|
||||
}
|
||||
|
||||
function consoleContentUpdate(message) {
|
||||
if (message) {
|
||||
consoleContentList = consoleContentList.concat(message);
|
||||
consoleContentList = consoleContentList.slice(-300);
|
||||
let output = "";
|
||||
for (let i = 0; i < consoleContentList.length; i++) {
|
||||
output += consoleContentList[i];
|
||||
}
|
||||
document.getElementById("consoleContent").innerHTML = output;
|
||||
autoscroll();
|
||||
}
|
||||
}
|
||||
|
||||
function processCmdJson(text) {
|
||||
let json;
|
||||
try {
|
||||
json = JSON.parse(text);
|
||||
consoleContentUpdate(JSON.stringify(json, null, " ") + "\n");
|
||||
} catch (e) {
|
||||
consoleContentUpdate(text + "\n");
|
||||
}
|
||||
}
|
||||
|
||||
function processFWJson(text) {
|
||||
let json;
|
||||
try {
|
||||
json = JSON.parse(text);
|
||||
} catch (e) {
|
||||
ErrorMSG("Error: json data are incorrect!<br/>" + text);
|
||||
consoleContentUpdate(text);
|
||||
return;
|
||||
}
|
||||
if (json.FWVersion) {
|
||||
let verLink = document.getElementById("verLink");
|
||||
verLink.innerHTML = "v" + json.FWVersion;
|
||||
verLink.addEventListener("click", function () {
|
||||
let url = new URL("http://" + window.location.host + "/config");
|
||||
window.open(url, "_blank");
|
||||
});
|
||||
} else {
|
||||
ErrorMSG(
|
||||
"Error: json data are incorrect!<br/>" +
|
||||
JSON.stringify(json, null, "<br/> ")
|
||||
);
|
||||
return;
|
||||
}
|
||||
document.getElementById("espLink").addEventListener("click", function () {
|
||||
let url = new URL("http://" + window.location.host);
|
||||
window.open(url);
|
||||
});
|
||||
consolePanel.classList.remove("hide");
|
||||
if (json.Filesystem && json.Filesystem != "None")
|
||||
fileSystem.classList.remove("hide");
|
||||
if (json.WebUpdate == "Enabled") firmware.classList.remove("hide");
|
||||
if (json.WiFiMode && json.WebSocketIP) {
|
||||
if (isLimitedEnvironment(json.WiFiMode)) {
|
||||
let address =
|
||||
"http://" +
|
||||
json.WebSocketIP +
|
||||
(window.location.port == 80 ? "" : ":" + window.location.port);
|
||||
InfoMSG(
|
||||
"It seems you are in limited environment,<br> please open a browser using<BR>" +
|
||||
address +
|
||||
"<br>to get all features working"
|
||||
);
|
||||
}
|
||||
}
|
||||
if (json.Hostname) document.title = json.Hostname;
|
||||
startSocket(json.WebSocketIP, json.WebSocketport, json.WebCommunication);
|
||||
SendFileCommand("list", "all");
|
||||
}
|
||||
|
||||
function startSocket(ip, port, sync) {
|
||||
if (websocketStarted) {
|
||||
wsSource.close();
|
||||
}
|
||||
|
||||
wsSource = new WebSocket(
|
||||
"ws://" + ip + ":" + port + (sync == "Asynchronous" ? "/ws" : ""),
|
||||
["arduino"]
|
||||
);
|
||||
wsSource.binaryType = "arraybuffer";
|
||||
wsSource.onopen = function (e) {
|
||||
websocketStarted = true;
|
||||
};
|
||||
wsSource.onclose = function (e) {
|
||||
websocketStarted = false;
|
||||
//seems sometimes it disconnect so wait 3s and reconnect
|
||||
//if it is not a log off
|
||||
if (!logOff)
|
||||
setTimeout(() => {
|
||||
startSocket(ip, port, sync);
|
||||
}, 3000);
|
||||
};
|
||||
wsSource.onerror = function (e) {};
|
||||
wsSource.onmessage = function (e) {
|
||||
let msg = "";
|
||||
//bin
|
||||
if (e.data instanceof ArrayBuffer) {
|
||||
let bytes = new Uint8Array(e.data);
|
||||
for (let i = 0; i < bytes.length; i++) {
|
||||
msg += String.fromCharCode(bytes[i]);
|
||||
if (bytes[i] == 10 || bytes[i] == 13) {
|
||||
wsMsg += msg;
|
||||
consoleContentUpdate(wsMsg);
|
||||
wsMsg = "";
|
||||
msg = "";
|
||||
}
|
||||
}
|
||||
wsMsg += msg;
|
||||
} else {
|
||||
msg = e.data;
|
||||
let tval = msg.split(":");
|
||||
if (tval.length >= 2) {
|
||||
if (tval[0] == "currentID") {
|
||||
pageId = tval[1];
|
||||
}
|
||||
if (tval[0] == "activeID") {
|
||||
if (pageId != tval[1]) {
|
||||
logOff = true;
|
||||
wsSource.close();
|
||||
InfoMSG(
|
||||
"<br/><br/>It seems you are connect from another location, you are now disconnected."
|
||||
);
|
||||
document.title = document.title + "(disconnected)";
|
||||
consolePanel.classList.add("hide");
|
||||
firmware.classList.add("hide");
|
||||
fileSystem.classList.add("hide");
|
||||
document.getElementById("verLink").classList.add("disabled");
|
||||
}
|
||||
}
|
||||
if (tval[0] == "ERROR") {
|
||||
xmlhttpupload.abort();
|
||||
uploadError(tval[2], tval[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function uploadError(msg, nb) {
|
||||
let status = "Upload failed";
|
||||
if (nb != 0 && typeof nb != "undefined") {
|
||||
status = msg + "(" + nb + ")";
|
||||
}
|
||||
alert(status + "!");
|
||||
if (uploadType == 1) {
|
||||
let currentstatus = filecontentFooter.innerHTML;
|
||||
if (currentstatus.length > 0) {
|
||||
filecontentFooter.innerHTML =
|
||||
"Status: " +
|
||||
status +
|
||||
"  " +
|
||||
currentstatus.substring(currentstatus.indexOf("|"));
|
||||
} else {
|
||||
filecontentFooter.innerHTML = status;
|
||||
}
|
||||
} else if (uploadType == 2) {
|
||||
prgupdatetext.innerHTML = status;
|
||||
}
|
||||
//location.reload();
|
||||
}
|
||||
|
||||
function ErrorMSG(msg) {
|
||||
message.innerHTML = msg;
|
||||
message.className = "text-error";
|
||||
}
|
||||
|
||||
function InfoMSG(msg) {
|
||||
message.innerHTML = msg;
|
||||
message.className = "text-primary";
|
||||
}
|
||||
|
||||
function getFWData() {
|
||||
let url = new URL("http://" + window.location.host + "/command");
|
||||
url.searchParams.append("cmd", "[ESP800]time=" + getPCTime());
|
||||
httpGet(url, processFWJson);
|
||||
}
|
||||
|
||||
function SendFileCommand(action, filename) {
|
||||
let url = new URL("http://" + window.location.host + "/files");
|
||||
url.searchParams.append("action", action);
|
||||
url.searchParams.append("filename", filename);
|
||||
url.searchParams.append("path", currentPath);
|
||||
httpGet(url, dispatchFileStatus);
|
||||
}
|
||||
|
||||
function trashIcon() {
|
||||
return "<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='red' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-trash-2'><polyline points='3 6 5 6 21 6'></polyline><path d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'></path><line x1='10' y1='11' x2='10' y2='17'></line><line x1='14' y1='11' x2='14' y2='17'></line></svg>";
|
||||
}
|
||||
|
||||
function backIcon() {
|
||||
return "<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' ><polyline points='10 9 15 4 20 9'></polyline><path d='M4 20h7a4 4 0 0 0 4-4V4'></path></svg>";
|
||||
}
|
||||
|
||||
function fileIcon(plus = false) {
|
||||
return (
|
||||
"<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='" +
|
||||
(plus ? "white" : "currentColor") +
|
||||
"' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z'></path><polyline points='13 2 13 9 20 9'></polyline>" +
|
||||
(plus
|
||||
? "<line x1='12' y1='11' x2='12' y2='17'></line><line x1='9' y1='14' x2='15' y2='14'></line>"
|
||||
: "") +
|
||||
"</svg>"
|
||||
);
|
||||
}
|
||||
function dirIcon(plus = false) {
|
||||
return (
|
||||
"<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='" +
|
||||
(plus ? "white" : "currentColor") +
|
||||
"' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'></path>" +
|
||||
(plus
|
||||
? "<line x1='12' y1='11' x2='12' y2='17'></line><line x1='9' y1='14' x2='15' y2='14'></line>"
|
||||
: "") +
|
||||
"</svg>"
|
||||
);
|
||||
}
|
||||
function dispatchFileStatus(jsonresponse) {
|
||||
let json;
|
||||
let eventslisteners = [];
|
||||
let showESP3Dbutton = false;
|
||||
try {
|
||||
json = JSON.parse(jsonresponse);
|
||||
//ugly but code is smaller
|
||||
filecontentFooter.innerHTML =
|
||||
"Status: " +
|
||||
json.status +
|
||||
" | Total space: " +
|
||||
json.total +
|
||||
" | Used space: " +
|
||||
json.used +
|
||||
" | Occupation: " +
|
||||
"<meter min='0' max='100' high='90' value='" +
|
||||
json.occupation +
|
||||
"'></meter> " +
|
||||
json.occupation +
|
||||
"%";
|
||||
json.files.sort(function (a, b) {
|
||||
return compareStrings(a.name, b.name);
|
||||
});
|
||||
let content = "";
|
||||
document.getElementById("path").innerHTML = currentPath;
|
||||
if (currentPath != "/") {
|
||||
let pos = currentPath.lastIndexOf("/");
|
||||
let newPath;
|
||||
if (pos == 0) newPath = "/";
|
||||
else newPath = currentPath.substring(0, pos);
|
||||
console.log("newpath:" + newPath);
|
||||
content +=
|
||||
"<tr ><td>" +
|
||||
backIcon() +
|
||||
"</td><td class='fileitem' id='updir'> Up..</td><td colspan='3'></td></tr>";
|
||||
eventslisteners.push({ action: "updir", id: "updir", target: newPath });
|
||||
}
|
||||
for (let i1 = 0; i1 < json.files.length; i1++) {
|
||||
if (String(json.files[i1].size) == "-1") {
|
||||
content +=
|
||||
"<tr><td>" +
|
||||
dirIcon() +
|
||||
"</td><td class='fileitem' id='Dir" +
|
||||
i1 +
|
||||
"'>" +
|
||||
json.files[i1].name +
|
||||
"</td><td></td><td class='fileicon' id='DirDel" +
|
||||
i1 +
|
||||
"'>" +
|
||||
trashIcon() +
|
||||
"</td><td></td></tr>";
|
||||
eventslisteners.push({
|
||||
action: "dir",
|
||||
id: "Dir" + i1,
|
||||
target: json.files[i1].name,
|
||||
});
|
||||
eventslisteners.push({
|
||||
action: "dirdel",
|
||||
id: "DirDel" + i1,
|
||||
target: json.files[i1].name,
|
||||
});
|
||||
}
|
||||
}
|
||||
for (let i1 = 0; i1 < json.files.length; i1++) {
|
||||
if (String(json.files[i1].size) != "-1") {
|
||||
if (
|
||||
currentPath == "/" &&
|
||||
(json.files[i1].name == "index.html.gz" ||
|
||||
json.files[i1].name == "index.html")
|
||||
) {
|
||||
showESP3Dbutton = true;
|
||||
}
|
||||
content +=
|
||||
"<tr><td>" +
|
||||
fileIcon() +
|
||||
"</td><td class='fileitem' id='File" +
|
||||
i1 +
|
||||
"'>" +
|
||||
json.files[i1].name +
|
||||
"</td><td>" +
|
||||
json.files[i1].size +
|
||||
"</td><td class='fileicon' id='FileDel" +
|
||||
i1 +
|
||||
"'>" +
|
||||
trashIcon() +
|
||||
"</td><td></td></tr>";
|
||||
eventslisteners.push({
|
||||
action: "file",
|
||||
id: "File" + i1,
|
||||
target: json.files[i1].name,
|
||||
});
|
||||
eventslisteners.push({
|
||||
action: "filedel",
|
||||
id: "FileDel" + i1,
|
||||
target: json.files[i1].name,
|
||||
});
|
||||
}
|
||||
}
|
||||
document.getElementById("fileList").innerHTML = content;
|
||||
for (let i = 0; i < eventslisteners.length; i++) {
|
||||
switch (eventslisteners[i].action) {
|
||||
case "updir":
|
||||
document
|
||||
.getElementById(eventslisteners[i].id)
|
||||
.addEventListener("click", function () {
|
||||
currentPath = eventslisteners[i].target;
|
||||
console.log(currentPath);
|
||||
SendFileCommand("list", "all");
|
||||
});
|
||||
|
||||
break;
|
||||
case "file":
|
||||
document
|
||||
.getElementById(eventslisteners[i].id)
|
||||
.addEventListener("click", function () {
|
||||
let url = new URL(
|
||||
"http://" +
|
||||
window.location.host +
|
||||
currentPath +
|
||||
"/" +
|
||||
eventslisteners[i].target
|
||||
);
|
||||
window.open(url, "_blank");
|
||||
});
|
||||
break;
|
||||
case "filedel":
|
||||
document
|
||||
.getElementById(eventslisteners[i].id)
|
||||
.addEventListener("click", function () {
|
||||
if (
|
||||
confirm(
|
||||
"Confirm deletion of file: " + eventslisteners[i].target
|
||||
)
|
||||
)
|
||||
SendFileCommand("delete", eventslisteners[i].target);
|
||||
});
|
||||
break;
|
||||
case "dir":
|
||||
document
|
||||
.getElementById(eventslisteners[i].id)
|
||||
.addEventListener("click", function () {
|
||||
currentPath +=
|
||||
(currentPath == "/" ? "" : "/") + eventslisteners[i].target;
|
||||
console.log(currentPath);
|
||||
SendFileCommand("list", "all");
|
||||
});
|
||||
|
||||
break;
|
||||
case "dirdel":
|
||||
document
|
||||
.getElementById(eventslisteners[i].id)
|
||||
.addEventListener("click", function () {
|
||||
if (
|
||||
confirm(
|
||||
"Confirm deletion of directory: " + eventslisteners[i].target
|
||||
)
|
||||
)
|
||||
SendFileCommand("deletedir", eventslisteners[i].target);
|
||||
});
|
||||
break;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
ErrorMSG("Error: json data are incorrect!<br/>" + jsonresponse);
|
||||
return;
|
||||
} finally {
|
||||
if (showESP3Dbutton) {
|
||||
document.getElementById("espLink").classList.remove("hide");
|
||||
} else {
|
||||
document.getElementById("espLink").classList.add("hide");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function httpGet(url, processfn) {
|
||||
let xmlhttp = new XMLHttpRequest();
|
||||
xmlhttp.onreadystatechange = function () {
|
||||
if (xmlhttp.readyState == 4) {
|
||||
if (xmlhttp.status == 200) {
|
||||
ErrorMSG("");
|
||||
processfn(xmlhttp.responseText);
|
||||
} else if (xmlhttp.status == 401) {
|
||||
loginModal.classList.remove("hide");
|
||||
loginLink.classList.remove("hide");
|
||||
} else {
|
||||
console.log(xmlhttp.status);
|
||||
ErrorMSG("Error: board does not answered properly " + xmlhttp.status);
|
||||
}
|
||||
}
|
||||
};
|
||||
xmlhttp.open("GET", url, true);
|
||||
xmlhttp.send();
|
||||
}
|
||||
|
||||
function compareStrings(a, b) {
|
||||
// case-insensitive comparison
|
||||
a = a.toLowerCase();
|
||||
b = b.toLowerCase();
|
||||
return a < b ? -1 : a > b ? 1 : 0;
|
||||
}
|
||||
|
||||
function uploadFiles() {
|
||||
let files = filesInput.files;
|
||||
if (files.length == 0) return;
|
||||
let formData = new FormData();
|
||||
uploadType = 1;
|
||||
filesButton.classList.add("hide");
|
||||
createDirButton.classList.add("hide");
|
||||
refreshButton.classList.add("hide");
|
||||
prgfiletext.classList.remove("hide");
|
||||
prgfile.classList.remove("hide");
|
||||
prgfile.value = 0;
|
||||
prgfiletext.innerHTML = "Uploading ...0%";
|
||||
formData.append("path", currentPath);
|
||||
let currentpath = currentPath;
|
||||
if (!currentpath.endsWith("/")) currentpath += "/";
|
||||
for (let i3 = 0; i3 < files.length; i3++) {
|
||||
let file = files[i3];
|
||||
let arg = currentpath + file.name + "S";
|
||||
//append file size first to check updload is complete
|
||||
formData.append(arg, file.size);
|
||||
formData.append("myfiles", file, currentpath + file.name);
|
||||
}
|
||||
xmlhttpupload = new XMLHttpRequest();
|
||||
xmlhttpupload.open("POST", "/files", true);
|
||||
//progress upload event
|
||||
xmlhttpupload.upload.addEventListener("progress", updateProgress, false);
|
||||
//progress function
|
||||
function updateProgress(oEvent) {
|
||||
if (oEvent.lengthComputable) {
|
||||
let percentComplete = (oEvent.loaded / oEvent.total) * 100;
|
||||
prgfile.value = percentComplete;
|
||||
prgfiletext.innerHTML =
|
||||
"Uploading ..." + percentComplete.toFixed(0) + "%";
|
||||
} else {
|
||||
// Impossible because size is unknown
|
||||
console.log("oops");
|
||||
}
|
||||
}
|
||||
|
||||
xmlhttpupload.onloadend = function () {
|
||||
filesButton.classList.remove("hide");
|
||||
createDirButton.classList.remove("hide");
|
||||
refreshButton.classList.remove("hide");
|
||||
prgfile.classList.add("hide");
|
||||
prgfiletext.classList.add("hide");
|
||||
filesInput.value = "";
|
||||
if (xmlhttpupload.status === 200) {
|
||||
dispatchFileStatus(xmlhttpupload.responseText);
|
||||
} else if (xmlhttp.status == 401) {
|
||||
loginModal.classList.remove("hide");
|
||||
loginLink.classList.remove("hide");
|
||||
} else uploadError("Error", xmlhttpupload.status);
|
||||
};
|
||||
|
||||
xmlhttpupload.send(formData);
|
||||
}
|
||||
|
||||
function uploadFirmware() {
|
||||
let files = fwInput.files;
|
||||
if (files.length == 0) return;
|
||||
let formData = new FormData();
|
||||
uploadType = 2;
|
||||
firmwareButton.classList.add("hide");
|
||||
prgupdatetext.classList.remove("hide");
|
||||
prgupdate.classList.remove("hide");
|
||||
prgupdate.value = 0;
|
||||
prgupdatetext.innerHTML = "Uploading ...0%";
|
||||
formData.append("path", currentPath);
|
||||
let currentpath = currentPath;
|
||||
if (!currentpath.endsWith("/")) currentpath += "/";
|
||||
for (let i3 = 0; i3 < files.length; i3++) {
|
||||
let file = files[i3];
|
||||
let arg = currentpath + file.name + "S";
|
||||
//append file size first to check updload is complete
|
||||
formData.append(arg, file.size);
|
||||
formData.append("myfiles", file, currentpath + file.name);
|
||||
}
|
||||
xmlhttpupload = new XMLHttpRequest();
|
||||
xmlhttpupload.open("POST", "/updatefw", true);
|
||||
//progress upload event
|
||||
xmlhttpupload.upload.addEventListener("progress", updateProgress, false);
|
||||
//progress function
|
||||
function updateProgress(oEvent) {
|
||||
if (oEvent.lengthComputable) {
|
||||
let percentComplete = (oEvent.loaded / oEvent.total) * 100;
|
||||
prgupdate.value = percentComplete;
|
||||
prgupdatetext.innerHTML =
|
||||
"Uploading ..." + percentComplete.toFixed(0) + "%";
|
||||
} else {
|
||||
// Impossible because size is unknown
|
||||
console.log("oops");
|
||||
}
|
||||
}
|
||||
|
||||
xmlhttpupload.onloadend = function () {
|
||||
firmwareButton.classList.remove("hide");
|
||||
prgupdate.classList.add("hide");
|
||||
fwInput.value = "";
|
||||
if (xmlhttpupload.status === 200) {
|
||||
prgupdatetext.classList.add("hide");
|
||||
firmware.classList.add("hide");
|
||||
consolePanel.classList.add("hide");
|
||||
fileSystem.classList.add("hide");
|
||||
document.getElementById("verLink").classList.add("hide");
|
||||
document.getElementById("espLink").classList.add("hide");
|
||||
restartTime = 40;
|
||||
InfoMSG("<br/>Restarting... please wait 40s");
|
||||
setInterval(function () {
|
||||
restartTime--;
|
||||
InfoMSG("<br/>Restarting... please wait " + restartTime + "s");
|
||||
if (restartTime == 0) location.reload();
|
||||
}, 1000);
|
||||
} else if (xmlhttp.status == 401) {
|
||||
loginModal.classList.remove("hide");
|
||||
loginLink.classList.remove("hide");
|
||||
} else uploadError("Error", xmlhttpupload.status);
|
||||
};
|
||||
|
||||
xmlhttpupload.send(formData);
|
||||
}
|
15
embedded/src/menu.js
Normal file
15
embedded/src/menu.js
Normal file
@ -0,0 +1,15 @@
|
||||
function initMenus() {
|
||||
document.getElementById("FWLink").addEventListener("click", function () {
|
||||
window.open("https://github.com/luc-github/ESP3D/tree/3.0", "_blank");
|
||||
});
|
||||
|
||||
document.getElementById("UiLink").addEventListener("click", function () {
|
||||
window.open("https://github.com/luc-github/ESP3D-WEBUI/tree/3.0", "_blank");
|
||||
});
|
||||
|
||||
document.getElementById("hlpLink").addEventListener("click", function () {
|
||||
window.open("https://github.com/luc-github/ESP3D/wiki", "_blank");
|
||||
});
|
||||
}
|
||||
|
||||
export { initMenus };
|
334
embedded/src/style.css
Normal file
334
embedded/src/style.css
Normal file
@ -0,0 +1,334 @@
|
||||
* {
|
||||
font-family: sans-serif;
|
||||
color: #5755d9;
|
||||
background-color: #eef0f3;
|
||||
-webkit-user-select: none; /* Chrome all / Safari all */
|
||||
-moz-user-select: none; /* Firefox all */
|
||||
-ms-user-select: none; /* IE 10+ */
|
||||
user-select: none;
|
||||
}
|
||||
body {
|
||||
min-width: 360px;
|
||||
}
|
||||
hr {
|
||||
border-top: 1px solid #5755d9;
|
||||
}
|
||||
|
||||
.controlBar {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
padding: 10px;
|
||||
padding-left: 15px;
|
||||
background-color: white;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.cmd {
|
||||
color: #555555;
|
||||
}
|
||||
label {
|
||||
display: block;
|
||||
width: auto;
|
||||
padding: 3px 12px;
|
||||
color: #5755d9;
|
||||
background-color: #ffffff;
|
||||
cursor: pointer;
|
||||
}
|
||||
pre {
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.modal {
|
||||
position: fixed; /* Stay in place */
|
||||
z-index: 10000; /* Sit on top */
|
||||
padding-top: 100px; /* Location of the box */
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%; /* Full width */
|
||||
height: 100%; /* Full height */
|
||||
overflow: auto; /* Enable scroll if needed */
|
||||
background-color: rgb(0, 0, 0); /* Fallback color */
|
||||
background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
|
||||
}
|
||||
|
||||
/* Modal Content */
|
||||
.modal-content {
|
||||
border-top-left-radius: 10px;
|
||||
border-top-right-radius: 10px;
|
||||
border-bottom-left-radius: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
background-color: #5755d9;
|
||||
border: 1px solid #5755d9;
|
||||
position: relative;
|
||||
margin: auto;
|
||||
padding: 0;
|
||||
max-width: 450px;
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
padding: 16px 16px;
|
||||
color: #ffffff;
|
||||
background-color: #5755d9;
|
||||
border-top-left-radius: 10px;
|
||||
border-top-right-radius: 10px;
|
||||
border-bottom: 1px solid #5755d9;
|
||||
height: 2.5rem;
|
||||
line-height: 2.5rem;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
padding: 10px 16px;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
padding: 16px 16px;
|
||||
height: 2.5em;
|
||||
background-color: #ffffff;
|
||||
border-top: 1px solid #5755d9;
|
||||
border-bottom-left-radius: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
display: flex;
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
|
||||
input {
|
||||
display: block;
|
||||
width: auto;
|
||||
height: 1.5rem;
|
||||
padding: 6px 12px;
|
||||
line-height: 1.42857143;
|
||||
border-radius: 4px;
|
||||
color: #5755d9;
|
||||
background-color: #ffffff;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
input {
|
||||
border: 1px solid #5755d9;
|
||||
}
|
||||
|
||||
button {
|
||||
display: block;
|
||||
width: auto;
|
||||
height: 2.4rem;
|
||||
padding: 6px 12px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: middle;
|
||||
cursor: pointer;
|
||||
border: 1px solid black;
|
||||
white-space: nowrap;
|
||||
border-radius: 4px;
|
||||
color: #ffffff;
|
||||
background-color: #5755d9;
|
||||
}
|
||||
|
||||
::-moz-progress-bar {
|
||||
background-color: #5755d9;
|
||||
}
|
||||
|
||||
::-webkit-progress-value {
|
||||
background-color: #5755d9;
|
||||
}
|
||||
|
||||
::-webkit-progress-bar {
|
||||
background-color: #f1f1f1;
|
||||
}
|
||||
|
||||
progress,
|
||||
.progbar {
|
||||
margin-top: 10px;
|
||||
height: 1rem;
|
||||
background-color: #f1f1f1;
|
||||
border: 1px solid #5755d9;
|
||||
}
|
||||
|
||||
.label {
|
||||
height: 2.4rem;
|
||||
padding: 6px 12px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: middle;
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
color: #5755d9;
|
||||
background-color: #ffffff;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.controlBar > button {
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
meter {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
button:active {
|
||||
background-color: #0b0899;
|
||||
}
|
||||
|
||||
ul {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
list-style-type: none;
|
||||
margin: 3px;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin: 10px 10px;
|
||||
min-height: 350px;
|
||||
max-height: 350px;
|
||||
border: 1px solid #5755d9;
|
||||
overflow-y: auto;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
li {
|
||||
padding: 9px 14px;
|
||||
margin: 0px 1rem;
|
||||
border: 1px hidden;
|
||||
}
|
||||
|
||||
.menuspacer {
|
||||
flex-grow: 1;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.panel {
|
||||
margin: 10px 10px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.text-primary {
|
||||
color: #5755d9;
|
||||
}
|
||||
.text-error {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.disabled {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.panel-header {
|
||||
border-top-left-radius: 10px;
|
||||
border-top-right-radius: 10px;
|
||||
background-color: #5755d9;
|
||||
color: white;
|
||||
height: 2rem;
|
||||
line-height: 2rem;
|
||||
padding: 2px 15px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.no-header {
|
||||
border-top-left-radius: 10px;
|
||||
border-top-right-radius: 10px;
|
||||
border-top: 1px solid #5755d9;
|
||||
}
|
||||
|
||||
.no-footer {
|
||||
border-bottom-left-radius: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
border-bottom: 1px solid #5755d9;
|
||||
}
|
||||
|
||||
.panel-footer {
|
||||
border-bottom-left-radius: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
border: 1px solid #5755d9;
|
||||
background-color: white;
|
||||
min-height: 2rem;
|
||||
line-height: 2rem;
|
||||
padding: 2px 15px;
|
||||
margin: 0px 0px;
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
min-height: 50px;
|
||||
background-color: white;
|
||||
border-right: 1px solid #5755d9;
|
||||
border-left: 1px solid #5755d9;
|
||||
}
|
||||
|
||||
.no-header {
|
||||
padding: 10px 10px;
|
||||
}
|
||||
|
||||
.hide {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.table {
|
||||
border: 0px;
|
||||
border-spacing: 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.table th,
|
||||
.table td {
|
||||
white-space: nowrap;
|
||||
padding: 8px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid #5755d9;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
svg {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.fileicon:hover {
|
||||
cursor: pointer;
|
||||
background-color: #5755d9;
|
||||
color: #5755d9;
|
||||
}
|
||||
|
||||
.fileitem:hover,
|
||||
li:active,
|
||||
li:hover {
|
||||
cursor: pointer;
|
||||
background-color: #5755d9;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fileitem:active {
|
||||
background-color: #0b0899;
|
||||
}
|
||||
|
||||
.fileicon:hover > svg {
|
||||
cursor: pointer;
|
||||
background-color: #5755d9;
|
||||
color: #5755d9;
|
||||
}
|
||||
|
||||
button > svg {
|
||||
background-color: #5755d9;
|
||||
text-decoration-color: #ffffff;
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
button:active > svg,
|
||||
.fileicon:active > svg,
|
||||
.fileicon:active {
|
||||
background-color: #0b0899;
|
||||
}
|
||||
|
||||
#MSG {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#monitor_enable_autoscroll {
|
||||
margin: 0px 0px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 600px) {
|
||||
.menuspacer {
|
||||
display: none;
|
||||
}
|
||||
}
|
Binary file not shown.
@ -1,105 +0,0 @@
|
||||
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%; font-size:10px;}
|
||||
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333333;background-color:#ffffff;}
|
||||
table{border:0px;border-spacing:0;max-width:100%;}
|
||||
td{white-space:nowrap; padding:2mm;}
|
||||
th{text-align:left;}
|
||||
.table>thead>tr>th,.table>tbody>tr>th,.table>thead>tr>td,.table>tbody>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd;}
|
||||
.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9;}
|
||||
a{position:relative;display:block;padding:10px 15px;text-decoration:none;color:#cccccc;}
|
||||
.active{color:#ffffff;background-color:#000000;}
|
||||
.active a,a:hover,a:focus{color:#FFFFFF;}
|
||||
.panel{margin-bottom:20px;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05);}
|
||||
.panel-body{padding:15px;}
|
||||
.panel-heading{padding:10px 15px;color:#333333;background-color:#f5f5f5;border-color:#dddddd;border-top-right-radius:3px;border-top-left-radius:3px;border-bottom:1px solid #dddddd;}
|
||||
.form-control{display:block;width:auto;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555555;background-color:#ffffff
|
||||
;background-image:none;border:1px solid #cccccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);
|
||||
* -webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
* transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6);
|
||||
* box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6);}
|
||||
.form-group{margin-bottom:15px;}
|
||||
.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation; touch-action:manipulation;cursor:pointer;
|
||||
background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;
|
||||
* -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
|
||||
.btn-primary{color:#ffffff;background-color:#337ab7;border-color:#2e6da4;}
|
||||
.btn-primary:focus,.btn-primary:active,.btn-primary:hover,.btn-primary.focus,.btn-primary.active,.btn-primary.hover{color:#ffffff;background-color:#286090;border-color:#122b40;}
|
||||
.btnimg {cursor:hand; border-radius:6px ;border:1px solid #FFFFFF;}
|
||||
.btnimg:hover{background-color:#F0F0F0;border-color:#6c6c6c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #808080;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #808080;}
|
||||
.btnroundimg {cursor:hand; border-radius:30px;}
|
||||
.btnroundimg:hover{background-color:#F0F0F0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #808080;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #808080;}
|
||||
.blacklink, .blacklink:active {color:#000000;}
|
||||
.blacklink:hover{color:#000000;}
|
||||
input[type="file"]::-webkit-file-upload-button{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation; touch-action:manipulation;cursor:pointer;
|
||||
background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;
|
||||
* -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none; color: #ffffff;background-color: #5bc0de;border-color: #46b8da;}
|
||||
input[type="file"]::-webkit-file-upload-button:focus{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation; touch-action:manipulation;cursor:pointer;
|
||||
background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;
|
||||
* -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none; color: #ffffff;background-color: #31b0d5;border-color: #1b6d85;}
|
||||
input[type="file"]::-webkit-file-upload-button:hover{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation; touch-action:manipulation;cursor:pointer;
|
||||
background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;
|
||||
* -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none; color: #ffffff;background-color: #31b0d5;border-color: #269abc;}
|
||||
.panel-footer{padding:10px 15px;color:#31708f;background-color:#f5f5f5;border-color:#dddddd;border-top:1px solid #dddddd;}
|
||||
.panel-footer{padding:10px 15px;color:#31708f;background-color:#f5f5f5;border-color:#dddddd;border-top:1px solid #dddddd;}
|
||||
|
||||
.modal {
|
||||
display: none; /* Hidden by default */
|
||||
position: fixed; /* Stay in place */
|
||||
z-index: 10000; /* Sit on top */
|
||||
padding-top: 100px; /* Location of the box */
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%; /* Full width */
|
||||
height: 100%; /* Full height */
|
||||
overflow: auto; /* Enable scroll if needed */
|
||||
background-color: rgb(0,0,0); /* Fallback color */
|
||||
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
|
||||
}
|
||||
|
||||
/* Modal Content */
|
||||
.modal-content {
|
||||
border-top-left-radius: 10px;
|
||||
border-top-right-radius: 10px;
|
||||
border-bottom-left-radius: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
border: 2px solid #337AB7;
|
||||
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
||||
position: relative;
|
||||
margin: auto;
|
||||
padding: 0;
|
||||
background-color: #fefefe;
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
padding: 2px 16px;
|
||||
color: #0f0f0f;
|
||||
background-color: #f2f2f2;
|
||||
border-top-left-radius: 10px;
|
||||
border-top-right-radius: 10px;
|
||||
border-bottom: 1px solid #cfcfcf;
|
||||
}
|
||||
|
||||
.modal-body {padding: 10px 16px;}
|
||||
|
||||
.modal-footer {
|
||||
padding: 16px 16px;
|
||||
height: 4.5em;
|
||||
color: #0f0f0f;
|
||||
background-color: #f2f2f2;
|
||||
border-top: 1px solid #cfcfcf;
|
||||
border-bottom-left-radius: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
}
|
||||
.hide_it {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.modal-content {
|
||||
width: 580px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
.modal-content {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
@ -1,596 +0,0 @@
|
||||
var currentpath = "/";
|
||||
var authentication = false;
|
||||
var webupdate = false;
|
||||
var filesystem = false;
|
||||
var websocket_port = 0;
|
||||
var websocket_IP = "";
|
||||
var async_webcommunication = false;
|
||||
var page_id = "";
|
||||
var ws_source;
|
||||
var log_off =false;
|
||||
var websocket_started =false;
|
||||
var esp_error_message ="";
|
||||
var esp_error_code = 0;
|
||||
var xmlhttpupload;
|
||||
var typeupload = 0;
|
||||
var wifimode = "";
|
||||
var terminal_visible= false;
|
||||
var terminalbody = DGEI('TERMINAL');
|
||||
var wsmsg = "";
|
||||
var Monitor_output = [];
|
||||
|
||||
function toogleConsole(){
|
||||
if (terminal_visible){
|
||||
terminalbody.style.display="none";
|
||||
} else{
|
||||
terminalbody.style.display="block";
|
||||
}
|
||||
terminal_visible= !terminal_visible;
|
||||
}
|
||||
function DGEI(s){
|
||||
return document.getElementById(s);
|
||||
}
|
||||
|
||||
|
||||
function SendCustomCommand(){
|
||||
if (DGEI('custom_cmd_txt').value.length >0){
|
||||
Monitor_output_Update(DGEI('custom_cmd_txt').value + "\n");
|
||||
var xmlhttp = new XMLHttpRequest();
|
||||
xmlhttp.onreadystatechange = function() {
|
||||
if (xmlhttp.readyState == 4 ) {
|
||||
if(xmlhttp.status == 200) {
|
||||
Monitor_output_Update(xmlhttp.responseText);
|
||||
}
|
||||
}
|
||||
};
|
||||
xmlhttp.open("GET", "/command?cmd="+encodeURI(DGEI('custom_cmd_txt').value), true);
|
||||
xmlhttp.send();
|
||||
DGEI('custom_cmd_txt').value="";
|
||||
}
|
||||
}
|
||||
|
||||
function navbar(){
|
||||
var content="<table><tr>";
|
||||
var tlist = currentpath.split("/");
|
||||
var path="/";
|
||||
var nb = 1;
|
||||
content+="<td class='btnimg' onclick=\"currentpath='/'; SendCommand('list','all');\">/</td>";
|
||||
while (nb < (tlist.length-1))
|
||||
{
|
||||
path+=tlist[nb] + "/";
|
||||
content+="<td class='btnimg' onclick=\"currentpath='"+path+"'; SendCommand('list','all');\">"+tlist[nb] +"</td><td>/</td>";
|
||||
nb++;
|
||||
}
|
||||
content+="</tr></table>";
|
||||
return content;
|
||||
}
|
||||
|
||||
function trash_icon(){
|
||||
return "<svg width='24' height='24' viewBox='0 0 128 128'>" +
|
||||
"<rect x='52' y='12' rx='6' ry='6' width='25' height='7' style='fill:red;' />"+
|
||||
"<rect x='52' y='16' width='25' height='2' style='fill:white;' />"+
|
||||
"<rect x='30' y='18' rx='6' ry='6' width='67' height='100' style='fill:red;' />"+
|
||||
"<rect x='20' y='18' rx='10' ry='10' width='87' height='14' style='fill:red;' />"+
|
||||
"<rect x='20' y='29' width='87' height='3' style='fill:white;' />"+
|
||||
"<rect x='40' y='43' rx='7' ry='7' width='7' height='63' style='fill:white;' />"+
|
||||
"<rect x='60' y='43' rx='7' ry='7' width='7' height='63' style='fill:white;' />"+
|
||||
"<rect x='80' y='43' rx='7' ry='7' width='7' height='63' style='fill:white;' /></svg>";
|
||||
}
|
||||
|
||||
function back_icon(){
|
||||
return "<svg width='24' height='24' viewBox='0 0 24 24'><path d='M7,3 L2,8 L7,13 L7,10 L17,10 L18,11 L18,15 L17,16 L10,16 L9,17 L9,19 L10,20 L20,20 L22,18 L22,8 L20,6 L7,6 z' stroke='black' fill='white' /></svg>";
|
||||
}
|
||||
|
||||
function select_dir(directoryname){
|
||||
currentpath+=directoryname + "/";
|
||||
SendCommand('list','all');
|
||||
}
|
||||
|
||||
function compareStrings(a, b) {
|
||||
// case-insensitive comparison
|
||||
a = a.toLowerCase();
|
||||
b = b.toLowerCase();
|
||||
return (a < b) ? -1 : (a > b) ? 1 : 0;
|
||||
}
|
||||
|
||||
function dispatchfilestatus(jsonresponse)
|
||||
{
|
||||
var content ="";
|
||||
var display_message = false;
|
||||
content =" Status: "+jsonresponse.status +
|
||||
" | Total space: "+jsonresponse.total+
|
||||
" | Used space: "+jsonresponse.used+
|
||||
" | Occupation: "+
|
||||
"<meter min='0' max='100' high='90' value='"+jsonresponse.occupation +"'></meter> "+jsonresponse.occupation +"%";
|
||||
DGEI('status').innerHTML=content;
|
||||
content ="";
|
||||
if (currentpath!="/")
|
||||
{
|
||||
var pos = currentpath.lastIndexOf("/",currentpath.length-2);
|
||||
var previouspath = currentpath.slice(0,pos+1);
|
||||
content +="<tr style='cursor:hand;' onclick=\"currentpath='"+previouspath+"'; SendCommand('list','all');\"><td >"+back_icon()+"</td><td colspan='4'> Up..</td></tr>";
|
||||
}
|
||||
jsonresponse.files.sort(function(a, b) {
|
||||
return compareStrings(a.name, b.name);
|
||||
});
|
||||
if (currentpath=="/") {
|
||||
display_message = true;
|
||||
}
|
||||
var display_time =false;
|
||||
for (var i1=0;i1 <jsonresponse.files.length;i1++){
|
||||
//first display files
|
||||
if (String(jsonresponse.files[i1].size) != "-1")
|
||||
{
|
||||
content +="<TR>"+
|
||||
"<td><svg height='24' width='24' viewBox='0 0 24 24' > <path d='M1,2 L1,21 L2,22 L16,22 L17,21 L17,6 L12,6 L12,1 L2,1 z' stroke='black' fill='white' /><line x1='12' y1='1' x2='17' y2='6' stroke='black' stroke-width='1'/>"+
|
||||
"</svg></td>"+
|
||||
"<TD class='btnimg' style=\"padding:0px;\"><a href=\""+jsonresponse.path+jsonresponse.files[i1].name+"\" target=_blank><div class=\"blacklink\">"+
|
||||
jsonresponse.files[i1].name;
|
||||
if ((jsonresponse.files[i1].name == "index.html.gz")||(jsonresponse.files[i1].name == "index.html")){
|
||||
display_message = false;
|
||||
}
|
||||
content +="</div></a></TD><TD>";
|
||||
content +=jsonresponse.files[i1].size;
|
||||
content +="</TD>";
|
||||
if (jsonresponse.files[i1].hasOwnProperty('time')){
|
||||
display_time = true;
|
||||
content +="<TD>"+ jsonresponse.files[i1].time + "</TD>";
|
||||
} else {
|
||||
content +="<TD></TD>";
|
||||
}
|
||||
content +="<TD width='0%'><div class=\"btnimg\" onclick=\"Delete('"+jsonresponse.files[i1].name+"')\">"+
|
||||
trash_icon()+"</div></TD><td></td></TR>";
|
||||
}
|
||||
}
|
||||
//then display directories
|
||||
for (var i2=0;i2 <jsonresponse.files.length;i2++){
|
||||
if (String(jsonresponse.files[i2].size) == "-1")
|
||||
{
|
||||
content+="<TR><td><svg height='24' width='24' viewBox='0 0 24 24' ><path d='M19,11 L19,8 L18,7 L8,7 L8,5 L7,4 L2,4 L1,5 L1,22 L19,22 L20,21 L23,11 L5,11 L2,21 L1,22' stroke='black' fill='white' /></svg></td>"+
|
||||
"<TD class='btnimg blacklink' style='padding:10px 15px;' onclick=\"select_dir('" + jsonresponse.files[i2].name+"');\">"+
|
||||
jsonresponse.files[i2].name+"</TD><TD></TD><TD></TD>";
|
||||
if (typeof jsonresponse.files[i2].hasOwnProperty('time')){
|
||||
display_time = true;
|
||||
}
|
||||
content +="<TD width='0%'><div class=\"btnimg\" onclick=\"Deletedir('"+jsonresponse.files[i2].name+"')\">"+trash_icon()+"</div></TD><td></td></TR>";
|
||||
}
|
||||
}
|
||||
if(display_time){
|
||||
DGEI('FS_time').innerHTML = "";
|
||||
} else {
|
||||
DGEI('FS_time').innerHTML = "Time";
|
||||
}
|
||||
if (display_message) {
|
||||
|
||||
DGEI('MSG').innerHTML = "File index.html.gz is missing, please upload it";
|
||||
} else {
|
||||
DGEI('MSG').innerHTML = "<a href='/' class= 'btn btn-primary'>Go to ESP3D interface</a>";
|
||||
}
|
||||
DGEI('file_list').innerHTML=content;
|
||||
DGEI('path').innerHTML=navbar();}
|
||||
|
||||
function Delete(filename){
|
||||
if (confirm("Confirm deletion of file: " + filename))SendCommand("delete",filename);
|
||||
}
|
||||
|
||||
function Deletedir(filename){
|
||||
if (confirm("Confirm deletion of directory: " + filename))SendCommand("deletedir",filename);
|
||||
}
|
||||
|
||||
function Createdir(){
|
||||
var filename = prompt("Directory name", "");
|
||||
if (filename != null) {
|
||||
SendCommand("createdir",filename.trim());
|
||||
}
|
||||
}
|
||||
|
||||
function isLimitedEnvironment() {
|
||||
var sitesList = [
|
||||
"clients3.google.com", //Android Captive Portal Detection
|
||||
"connectivitycheck.",
|
||||
//Apple iPhone, iPad with iOS 6 Captive Portal Detection
|
||||
"apple.com",
|
||||
".akamaitechnologies.com",
|
||||
//Apple iPhone, iPad with iOS 7, 8, 9 and recent versions of OS X
|
||||
"www.appleiphonecell.com",
|
||||
"www.itools.info",
|
||||
"www.ibook.info",
|
||||
"www.airport.us",
|
||||
"www.thinkdifferent.us",
|
||||
".akamaiedge.net",
|
||||
//Windows
|
||||
".msftncsi.com",
|
||||
"microsoft.com",
|
||||
];
|
||||
if (wifimode != "AP")return false;
|
||||
for (var i = 0; i < sitesList.length; i++) {
|
||||
if (document.location.host.indexOf(sitesList[i]) != -1) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function SendCommand(action,filename){
|
||||
var xmlhttp = new XMLHttpRequest();
|
||||
var url = "/files?action="+action;
|
||||
DGEI('MSG').innerHTML = "Connecting...";
|
||||
url += "&filename="+encodeURI(filename);
|
||||
url += "&path="+encodeURI(currentpath);
|
||||
xmlhttp.onreadystatechange = function() {
|
||||
if (xmlhttp.readyState == 4 ) {
|
||||
if(xmlhttp.status == 200) {
|
||||
var jsonresponse = JSON.parse(xmlhttp.responseText);
|
||||
dispatchfilestatus(jsonresponse);
|
||||
} else {
|
||||
if(xmlhttp.status == 401) {
|
||||
RL ();
|
||||
} else {
|
||||
console.log(xmlhttp.status);
|
||||
FWError();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
xmlhttp.open("GET", url, true);
|
||||
xmlhttp.send();
|
||||
}
|
||||
|
||||
function Sendfile(){
|
||||
var files = DGEI('file-select').files;
|
||||
if (files.length==0)return;
|
||||
DGEI('upload-button').value = "Uploading...";
|
||||
DGEI('prg').style.visibility = "visible";
|
||||
var formData = new FormData();
|
||||
formData.append('path', currentpath);
|
||||
for (var i3 = 0; i3 < files.length; i3++) {
|
||||
var file = files[i3];
|
||||
var arg = currentpath + file.name + "S";
|
||||
//append file size first to check updload is complete
|
||||
formData.append(arg, file.size);
|
||||
formData.append('myfiles[]', file, currentpath+file.name);}
|
||||
xmlhttpupload = new XMLHttpRequest();
|
||||
xmlhttpupload.open('POST', '/files', true);
|
||||
//progress upload event
|
||||
xmlhttpupload.upload.addEventListener("progress", updateProgress, false);
|
||||
//progress function
|
||||
function updateProgress (oEvent) {
|
||||
if (oEvent.lengthComputable) {
|
||||
var percentComplete = (oEvent.loaded / oEvent.total)*100;
|
||||
DGEI('prg').value=percentComplete;
|
||||
DGEI('upload-button').value = "Uploading ..." + percentComplete.toFixed(0)+"%" ;
|
||||
} else {
|
||||
// Impossible because size is unknown
|
||||
}
|
||||
}
|
||||
typeupload = 1;
|
||||
xmlhttpupload.onload = function () {
|
||||
if (xmlhttpupload.status === 200) {
|
||||
DGEI('upload-button').value = 'Upload';
|
||||
DGEI('prg').style.visibility = "hidden";
|
||||
DGEI('file-select').value="";
|
||||
var jsonresponse = JSON.parse(xmlhttpupload.responseText);
|
||||
dispatchfilestatus(jsonresponse);
|
||||
} else uploadError();
|
||||
};
|
||||
|
||||
xmlhttpupload.send(formData);
|
||||
}
|
||||
|
||||
function autoscroll(){
|
||||
if (DGEI('monitor_enable_autoscroll').checked == true) DGEI('cmd_content').scrollTop = DGEI('cmd_content').scrollHeight;
|
||||
}
|
||||
|
||||
function padNumber(num, size) {
|
||||
var s = num.toString();
|
||||
while (s.length < size) s = "0" + s;
|
||||
return s;
|
||||
}
|
||||
function getPCTime(){
|
||||
var d = new Date();
|
||||
return d.getFullYear() + "-" + padNumber(d.getMonth() + 1 ,2) + "-" + padNumber(d.getDate(),2) + "-" + padNumber(d.getHours(),2) + "-" + padNumber(d.getMinutes(),2) + "-" + padNumber(d.getSeconds(),2);
|
||||
}
|
||||
|
||||
function HideAll(msg){
|
||||
//console.log("Hide all:" + msg);
|
||||
log_off = true;
|
||||
if(websocket_started){
|
||||
ws_source.close();
|
||||
}
|
||||
document.title = document.title + "(disconnected)";
|
||||
DGEI('MSG').innerHTML = msg;
|
||||
DGEI('FILESYSTEM').style.display = "none";
|
||||
DGEI('FWUPDATE').style.display = "none";
|
||||
DGEI('CONSOLE').style.display = "none";
|
||||
|
||||
}
|
||||
|
||||
function FWError(){
|
||||
HideAll("Failed to communicate with FW!");
|
||||
}
|
||||
|
||||
function FWOk(){
|
||||
DGEI('MSG').innerHTML = "Connected";
|
||||
DGEI('CONSOLE').style.display = "block";
|
||||
if (filesystem){
|
||||
DGEI('FILESYSTEM').style.display = "block";
|
||||
}
|
||||
if (webupdate){
|
||||
DGEI('FWUPDATE').style.display = "block";
|
||||
}
|
||||
}
|
||||
|
||||
function InitUI(){
|
||||
var xmlhttp = new XMLHttpRequest();
|
||||
var url = "/command?cmd="+encodeURI("[ESP800]"+"time=" + getPCTime());
|
||||
authentication = false;
|
||||
async_webcommunication = false;
|
||||
xmlhttp.onreadystatechange = function() {
|
||||
if (xmlhttp.readyState == 4 ) {
|
||||
var error = false;
|
||||
if(xmlhttp.status == 200) {
|
||||
var jsonresponse = JSON.parse(xmlhttp.responseText);
|
||||
if ((typeof jsonresponse.FWVersion === "undefined")|| (typeof jsonresponse.Hostname === "undefined") || (typeof jsonresponse.WebUpdate === "undefined") || (typeof jsonresponse.WebSocketport === "undefined") || (typeof jsonresponse.WebSocketIP === "undefined") || (typeof jsonresponse.WebCommunication === "undefined") || (typeof jsonresponse.Filesystem === "undefined") || (typeof jsonresponse.Authentication === "undefined")) {
|
||||
error = true;
|
||||
} else {
|
||||
DGEI('FWVERSION').innerHTML = "v"+jsonresponse.FWVersion;
|
||||
if (jsonresponse.Filesystem != "None"){
|
||||
filesystem = true;
|
||||
//console.log(jsonresponse.Filesystem);
|
||||
}
|
||||
|
||||
if (jsonresponse.WebUpdate != "Disabled"){
|
||||
webupdate = true;
|
||||
//console.log(jsonresponse.WebUpdate);
|
||||
}
|
||||
//
|
||||
wifimode = jsonresponse.WiFiMode;
|
||||
//websocket port
|
||||
websocket_port = jsonresponse.WebSocketport;
|
||||
//websocket IP
|
||||
websocket_IP = jsonresponse.WebSocketIP;
|
||||
//console.log(websocket_port);
|
||||
//async communications
|
||||
if (jsonresponse.WebCommunication != "Synchronous") {
|
||||
async_webcommunication = true;
|
||||
//console.log(jsonresponse.WebCommunication);
|
||||
}
|
||||
if (isLimitedEnvironment()){
|
||||
DGEI('InfoMSG').innerHTML="It seems you are in limited environment,<br> please open a browser using<BR>" + websocket_IP + "<br>to get all features working";
|
||||
} else {
|
||||
DGEI('InfoMSG').innerHTML="";
|
||||
}
|
||||
FWOk();
|
||||
startSocket();
|
||||
document.title = jsonresponse.Hostname;
|
||||
if (filesystem)SendCommand('list','all');
|
||||
if (jsonresponse.Authentication != "Disabled"){
|
||||
authentication = true;
|
||||
//console.log(jsonresponse.Authentication);
|
||||
DGEI('loginicon').style.visibility = "visible";
|
||||
} else {
|
||||
DGEI('loginicon').style.visibility = "hidden";
|
||||
}
|
||||
}
|
||||
} else if (xmlhttp.status == 401){
|
||||
RL();
|
||||
} else {
|
||||
error = true;
|
||||
console.log( xmlhttp.status);
|
||||
}
|
||||
if (error) {
|
||||
FWError();
|
||||
}
|
||||
}
|
||||
};
|
||||
xmlhttp.open("GET", url, true);
|
||||
xmlhttp.send();
|
||||
}
|
||||
|
||||
function Monitor_output_Update(message) {
|
||||
if (message) {
|
||||
Monitor_output = Monitor_output.concat(message);
|
||||
Monitor_output = Monitor_output.slice(-300);
|
||||
var output="";
|
||||
for (var i = 0; i < Monitor_output.length; i++) {
|
||||
output+=Monitor_output[i];
|
||||
}
|
||||
DGEI("cmd_content").innerHTML = output;
|
||||
autoscroll();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function startSocket(){
|
||||
if (websocket_started){
|
||||
ws_source.close();
|
||||
}
|
||||
if(async_webcommunication){
|
||||
ws_source = new WebSocket('ws://'+websocket_IP + ':' + websocket_port +'/ws',['arduino']);
|
||||
}
|
||||
else {
|
||||
//console.log("Socket port is :" + websocket_port);
|
||||
ws_source = new WebSocket('ws://'+websocket_IP + ':' + websocket_port,['arduino']);
|
||||
}
|
||||
ws_source.binaryType = "arraybuffer";
|
||||
ws_source.onopen = function(e){
|
||||
console.log("WS");
|
||||
websocket_started = true;
|
||||
};
|
||||
ws_source.onclose = function(e){
|
||||
websocket_started = false;
|
||||
console.log("~WS");
|
||||
//seems sometimes it disconnect so wait 3s and reconnect
|
||||
//if it is not a log off
|
||||
if(!log_off) setTimeout(startSocket, 3000);
|
||||
};
|
||||
ws_source.onerror = function(e){
|
||||
console.log("WS", e);
|
||||
};
|
||||
ws_source.onmessage = function(e){
|
||||
var msg = "";
|
||||
//bin
|
||||
if (e.data instanceof ArrayBuffer) {
|
||||
var bytes = new Uint8Array(e.data);
|
||||
for (var i = 0; i < bytes.length; i++) {
|
||||
msg += String.fromCharCode(bytes[i]);
|
||||
if ((bytes[i] == 10) || (bytes[i] == 13)) {
|
||||
wsmsg += msg;
|
||||
Monitor_output_Update(wsmsg);
|
||||
wsmsg = "";
|
||||
msg = "";
|
||||
}
|
||||
}
|
||||
wsmsg += msg;
|
||||
} else {
|
||||
msg = e.data;
|
||||
var tval = msg.split(":");
|
||||
if (tval.length >= 2) {
|
||||
if (tval[0] == 'currentID') {
|
||||
page_id = tval[1];
|
||||
console.log("ID " + page_id);
|
||||
}
|
||||
if (tval[0] == 'activeID') {
|
||||
if(page_id != tval[1]) {
|
||||
HideAll("It seems you are connect from another location, your are now disconnected");
|
||||
}
|
||||
}
|
||||
if (tval[0] == 'ERROR') {
|
||||
esp_error_message = tval[2];
|
||||
esp_error_code = tval[1];
|
||||
console.log(tval[2] + " code:" + tval[1]);
|
||||
uploadError();
|
||||
xmlhttpupload.abort();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//console.log(msg);
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
window.onload = function() {
|
||||
InitUI();
|
||||
};
|
||||
|
||||
function uploadError()
|
||||
{
|
||||
if (esp_error_code != 0) {
|
||||
alert('Update failed(' + esp_error_code + '): ' + esp_error_message);
|
||||
esp_error_code = 0;
|
||||
} else {
|
||||
alert('Update failed!');
|
||||
}
|
||||
|
||||
if (typeupload == 1) {
|
||||
//location.reload();
|
||||
DGEI('upload-button').value = 'Upload';
|
||||
DGEI('prg').style.visibility = "hidden";
|
||||
DGEI('file-select').value="";
|
||||
SendCommand('list', 'all');
|
||||
} else {
|
||||
location.reload();
|
||||
}
|
||||
}
|
||||
|
||||
function Uploadfile(){
|
||||
if (!confirm("Confirm Firmware Update ?"))return;
|
||||
var files = DGEI('fw-select').files;
|
||||
if (files.length==0)return;
|
||||
DGEI('ubut').style.visibility = 'hidden';
|
||||
DGEI('fw-select').style.visibility = 'hidden';
|
||||
DGEI('msg').style.visibility = "visible";
|
||||
DGEI('msg').innerHTML="";
|
||||
DGEI('MSG').innerHTML="Please wait";
|
||||
DGEI('CONSOLE').style.display = "none";
|
||||
DGEI('FILESYSTEM').style.display = "none";
|
||||
DGEI('prgfw').style.visibility = "visible";
|
||||
var formData = new FormData();
|
||||
for (var i4 = 0; i4 < files.length; i4++) {
|
||||
var file = files[i4];
|
||||
var arg = "/" + file.name + "S";
|
||||
//append file size first to check updload is complete
|
||||
formData.append(arg, file.size);
|
||||
formData.append('myfile[]', file, "/"+file.name);}
|
||||
typeupload = 0;
|
||||
xmlhttpupload = new XMLHttpRequest();
|
||||
xmlhttpupload.open('POST', '/updatefw', true);
|
||||
//progress upload event
|
||||
xmlhttpupload.upload.addEventListener("progress", updateProgress, false);
|
||||
//progress function
|
||||
function updateProgress (oEvent) {
|
||||
if (oEvent.lengthComputable) {
|
||||
var percentComplete = (oEvent.loaded / oEvent.total)*100;
|
||||
DGEI('prgfw').value=percentComplete;
|
||||
DGEI('msg').innerHTML = "Uploading ..." + percentComplete.toFixed(0)+"%" ;
|
||||
} else {
|
||||
// Impossible because size is unknown
|
||||
}
|
||||
}
|
||||
xmlhttpupload.onload = function () {
|
||||
if (xmlhttpupload.status === 200) {
|
||||
DGEI('ubut').value = 'Upload';
|
||||
DGEI('msg').innerHTML="Restarting....";
|
||||
DGEI('counter').style.visibility = "visible";
|
||||
DGEI('ubut').style.visibility = 'hidden';
|
||||
DGEI('ubut').style.width = '0px';
|
||||
DGEI('fw-select').value="";
|
||||
DGEI('fw-select').style.visibility = 'hidden';
|
||||
DGEI('fw-select').style.width = '0px';
|
||||
|
||||
var jsonresponse = JSON.parse(xmlhttpupload.responseText);
|
||||
if (jsonresponse.status=='1' || jsonresponse.status=='4' || jsonresponse.status=='1')uploadError();
|
||||
if (jsonresponse.status=='2')alert('Update canceled!');
|
||||
else if (jsonresponse.status=='3')
|
||||
{
|
||||
var i5 = 0;
|
||||
var interval;
|
||||
var x = DGEI("prgfw");
|
||||
x.max=40;
|
||||
interval = setInterval(function(){
|
||||
i5=i5+1;
|
||||
var x = DGEI("prgfw");
|
||||
x.value=i5;
|
||||
DGEI('counter').innerHTML=41-i5;
|
||||
if (i5>40)
|
||||
{
|
||||
clearInterval(interval);
|
||||
location.reload();
|
||||
}
|
||||
},1000);
|
||||
}
|
||||
else uploadError();
|
||||
} else uploadError();
|
||||
};
|
||||
xmlhttpupload.send(formData);
|
||||
}
|
||||
|
||||
|
||||
function RL(){
|
||||
DGEI('loginpage').style.display='block';
|
||||
}
|
||||
|
||||
function SLR (){
|
||||
DGEI('loginpage').style.display='none';
|
||||
var user = DGEI('lut').value.trim();
|
||||
var password = DGEI('lpt').value.trim();
|
||||
var url = "/login?USER="+encodeURIComponent(user) + "&PASSWORD=" + encodeURIComponent(password) + "&SUBMIT=yes" ;
|
||||
var xmlhttp = new XMLHttpRequest();
|
||||
xmlhttp.onreadystatechange = function() {
|
||||
if (xmlhttp.readyState == 4){
|
||||
if (xmlhttp.status != 200) {
|
||||
if (xmlhttp.status == 401) {
|
||||
RL();
|
||||
} else {
|
||||
FWError();
|
||||
console.log(xmlhttp.status);
|
||||
}
|
||||
} else {
|
||||
InitUI();
|
||||
}
|
||||
}
|
||||
};
|
||||
xmlhttp.open("GET", url, true);
|
||||
xmlhttp.send();
|
||||
}
|
@ -1,166 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<!-- smoosh -->
|
||||
<link href="css/style.css" rel="stylesheet">
|
||||
<!-- endsmoosh -->
|
||||
<title>ESP3D tool page</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="panel">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<a class="btnimg" href="https://www.github.com/luc-github/ESP3D/tree/3.0" target="_blank">
|
||||
<svg width='1em' height='1em' viewBox='0 0 1300 1200'>
|
||||
<g transform='translate(50,1200) scale(1, -1)'>
|
||||
<path d='M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z'></path>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="blacklink">Firmware</span>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="btnimg" href="https://www.github.com/luc-github/ESP3D-WEBUI/tree/3.0" target="_blank">
|
||||
<svg width='1em' height='1em' viewBox='0 0 1300 1200'>
|
||||
<g transform='translate(50,1200) scale(1, -1)'>
|
||||
<path d='M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z'> </path>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="blacklink">Interface</span>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="btnimg" href="https://github.com/luc-github/ESP3D/wiki" target="_blank">
|
||||
<svg width='1em' height='1em' viewBox='0 0 1300 1200'>
|
||||
<g transform='translate(50,1200) scale(1, -1)'>
|
||||
<path d='M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z'> </path>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="blacklink">Help</span></a>
|
||||
</td>
|
||||
<td style="width:100%;"></td>
|
||||
<td onclick='RL();' id="loginicon" style='visibility:hidden'>
|
||||
<a class="btnimg">
|
||||
<svg width='1.3em' height='1.2em' viewBox='0 0 1300 1200'>
|
||||
<g transform='translate(50,1200) scale(1, -1)'>
|
||||
<path fill='black' d='M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z' />
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</td>
|
||||
<td style="text-align:right;">
|
||||
<a href="/config" target="_blank">
|
||||
<span id="FWVERSION" class="blacklink"></span>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="panel">
|
||||
<center><h2 id="MSG"></h2><h2 id="InfoMSG"></h2></center>
|
||||
</div>
|
||||
<div class="panel hide_it" id="CONSOLE">
|
||||
<div class="panel-heading" onclick='toogleConsole()'>Console</div>
|
||||
<div class="panel-body hide_it" id="TERMINAL">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<input class="form-control" autocomplete="off" type="text" value="" id="custom_cmd_txt" placeholder="Send Command..." />
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn btn-primary" onclick="SendCustomCommand();" >Send</button>
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" onclick="autoscroll()" id="monitor_enable_autoscroll" checked />
|
||||
<span>Autoscroll</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div style="overflow-wrap: break-word;">
|
||||
<pre id="cmd_content" style="min-height: 350px; max-height: 350px;border:1px solid black;overflow-y: auto;overflow-wrap: anywhere;"></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel hide_it" id="FILESYSTEM">
|
||||
<div class="panel-heading">Flash Filesystem</div>
|
||||
<div class="panel-body">
|
||||
<input type="file" id="file-select" name="myfiles[]" multiple />
|
||||
<input class="btn btn-primary" type="button" id="upload-button" onclick="Sendfile();" value="Upload"/> <progress style="visibility:hidden;" name='prg' id='prg' max='100'></progress>
|
||||
<br><br>
|
||||
<div class="panel">
|
||||
<div class="panel-body">
|
||||
<table>
|
||||
<tr>
|
||||
<td width="0%">
|
||||
<input class="btn btn-primary" type="button" onclick="SendCommand('list','all');" value="Refresh"/>
|
||||
</td>
|
||||
<td width="0%">
|
||||
<div onclick="Createdir()" class="btnimg"><svg width="40" height="40" viewBox="0 0 40 40"><rect x="5" y="10" width="30" height="20" rx="2" ry="2" fill="#31b0d5" />
|
||||
<rect x="20" y="5" width="15" height="15" rx="2" ry="2" fill="#31b0d5" /><text x="15" y="25" font-size="18" font-weight="800" fill="white">+</text></svg>
|
||||
</div>
|
||||
</td>
|
||||
<td width="100%">
|
||||
<div id="path" class="info" > </div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="table table-striped" style="border:1px;solid #dddddd;margin-bottom:20px;" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th width='0%'>Type</th>
|
||||
<th>Name</th>
|
||||
<th>Size</th>
|
||||
<th id="FS_time">Time</th>
|
||||
<th width='0%'></th>
|
||||
<th width='100%'></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="file_list"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="panel-footer " id="status"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel hide_it" id="FWUPDATE">
|
||||
<div class="panel-heading">Firmware Update</div>
|
||||
<div class="panel-body">
|
||||
<table>
|
||||
<tr>
|
||||
<td><input type="file" id="fw-select" name="myfiles[]" /></td>
|
||||
<td><input class="btn btn-primary" type="button" id="ubut" onclick="Uploadfile();" value="Update"/></td>
|
||||
<td><progress style="visibility:hidden;" name='prgfw' id='prgfw' max='100'></progress></td>
|
||||
<td><span id='msg' style='visibility:hidden;'>Restarting, please wait....</span><span id='counter'></span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div id="loginpage"class="modal">
|
||||
<div class="modal-content" >
|
||||
<div class="modal-header">
|
||||
<h3>Identification</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<span>
|
||||
<span class="modal-text" translate>User:</span>
|
||||
<input class='form-control' type="text" id="lut" style="width:auto"/>
|
||||
</span>
|
||||
<hr>
|
||||
<span>
|
||||
<span class="modal-text" translate>Password:</span>
|
||||
<input class='form-control' type="password" id="lpt" style="width:auto"/>
|
||||
</span>
|
||||
<br>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<input type="button" class="btn btn-primary" onclick="SLR()" value="Submit"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- smoosh -->
|
||||
<script src="js/script.js"></script>
|
||||
<!-- endsmoosh -->
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
#define _VERSION_ESP3D_H
|
||||
|
||||
//version and sources location
|
||||
#define FW_VERSION "3.0.0.a92"
|
||||
#define FW_VERSION "3.0.0.a93"
|
||||
#define REPOSITORY "https://github.com/luc-github/ESP3D/tree/3.0"
|
||||
|
||||
#endif //_VERSION_ESP3D_H
|
||||
|
@ -24,479 +24,389 @@
|
||||
#define __embedded_h
|
||||
/* Generated by bin2c, do not edit manually */
|
||||
|
||||
/* Contents of file tool.html.gz */
|
||||
#define tool_html_gz_size 7528
|
||||
const unsigned char tool_html_gz[7528] PROGMEM = {
|
||||
0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xED, 0x3C, 0x6B, 0x73, 0xDB, 0x38,
|
||||
0x92, 0x7F, 0x85, 0xE1, 0xD6, 0x5A, 0xE2, 0x89, 0x94, 0xF9, 0xD0, 0x5B, 0x96, 0xB3, 0x99, 0xC4,
|
||||
0x99, 0xF8, 0x2A, 0x4E, 0x52, 0x71, 0xB2, 0xB9, 0xAD, 0x4C, 0xCA, 0x45, 0x89, 0x90, 0xC5, 0x0B,
|
||||
0x45, 0xCA, 0x24, 0x64, 0xD9, 0x71, 0x7C, 0xBF, 0xFD, 0xBA, 0x1B, 0x20, 0x09, 0xEA, 0x65, 0x7B,
|
||||
0x76, 0x6A, 0x77, 0x3E, 0xEC, 0x66, 0x6D, 0x92, 0x40, 0xA3, 0xD1, 0x68, 0xF4, 0x1B, 0xF0, 0x1C,
|
||||
0xCD, 0xF8, 0x3C, 0x3A, 0x3E, 0x9A, 0x31, 0x3F, 0x38, 0x3E, 0xCA, 0xF8, 0x6D, 0xC4, 0x8E, 0xB1,
|
||||
0xE5, 0x6E, 0x9A, 0xC4, 0xDC, 0x9A, 0xFA, 0xF3, 0x30, 0xBA, 0x1D, 0x64, 0x7E, 0x9C, 0x59, 0x19,
|
||||
0x4B, 0xC3, 0xE9, 0xD0, 0x9A, 0x67, 0x16, 0x67, 0x37, 0xDC, 0xCA, 0xC2, 0x1F, 0xCC, 0xF2, 0x83,
|
||||
0xFF, 0x5D, 0x66, 0x7C, 0xE0, 0xD8, 0xF6, 0x5F, 0x87, 0xD6, 0x8A, 0x8D, 0xBF, 0x87, 0x7C, 0x47,
|
||||
0x2F, 0xA1, 0xC3, 0x56, 0xF8, 0x5C, 0xDC, 0xDC, 0x8F, 0x93, 0xE0, 0xB6, 0x32, 0x85, 0xFE, 0x86,
|
||||
0x45, 0xD7, 0x8C, 0x87, 0x13, 0x5F, 0x7B, 0xC7, 0x96, 0x4C, 0x37, 0x8B, 0x6F, 0xF3, 0x45, 0x1A,
|
||||
0xFA, 0x91, 0xA9, 0xD0, 0xA0, 0xE0, 0x6A, 0x2D, 0x6E, 0x86, 0x51, 0x18, 0x33, 0x6B, 0xC6, 0xC2,
|
||||
0xCB, 0x19, 0xCC, 0xD5, 0x6C, 0xB9, 0xBD, 0x76, 0xD7, 0x69, 0x79, 0xC3, 0x49, 0x12, 0x25, 0xE9,
|
||||
0xE0, 0x2F, 0x9E, 0xE7, 0x0D, 0xC7, 0xFE, 0xE4, 0xFB, 0x65, 0x9A, 0x2C, 0xE3, 0xC0, 0x92, 0xAD,
|
||||
0xD3, 0xE9, 0xF4, 0x9E, 0xFB, 0xE3, 0x88, 0xDD, 0x8D, 0x93, 0x34, 0x60, 0xE9, 0xC0, 0x1E, 0x8A,
|
||||
0x17, 0x2B, 0x5B, 0xF8, 0x93, 0x30, 0xBE, 0x84, 0x86, 0xB9, 0x7F, 0x63, 0xAD, 0xC2, 0x80, 0xCF,
|
||||
0x68, 0x05, 0xF7, 0x3C, 0xB8, 0x5B, 0xCD, 0x42, 0xCE, 0x08, 0x82, 0x0D, 0xE2, 0x64, 0x95, 0xFA,
|
||||
0x8B, 0xE1, 0xC2, 0x0F, 0x02, 0x04, 0x77, 0xE7, 0xF3, 0x7B, 0x3E, 0xBB, 0xA3, 0xC5, 0xFB, 0x51,
|
||||
0x78, 0x19, 0x0F, 0x22, 0x36, 0xE5, 0xF7, 0x4D, 0x9A, 0xE4, 0x98, 0xE3, 0x7A, 0x8F, 0x79, 0x7A,
|
||||
0xCC, 0x03, 0x73, 0xA3, 0x69, 0x56, 0x34, 0xD1, 0x26, 0x54, 0xA1, 0x8A, 0xA6, 0xD9, 0x5D, 0x3E,
|
||||
0x55, 0x6F, 0xF7, 0x9A, 0xAF, 0x59, 0x8A, 0x2C, 0x8B, 0x24, 0x09, 0x3C, 0x59, 0xE4, 0xCB, 0x82,
|
||||
0xD7, 0x81, 0xB3, 0xB8, 0xD1, 0xB2, 0x24, 0x0A, 0x03, 0xED, 0x2F, 0x41, 0x10, 0x48, 0xDA, 0xAC,
|
||||
0x8C, 0xA7, 0xE1, 0x82, 0x05, 0x05, 0x41, 0x83, 0x98, 0xCF, 0xAC, 0x64, 0x6A, 0xF1, 0xDB, 0x05,
|
||||
0xAB, 0x27, 0x41, 0x60, 0xDC, 0x6D, 0x61, 0x5F, 0x1F, 0xFF, 0xDD, 0xFB, 0x77, 0x8B, 0x24, 0x0B,
|
||||
0x79, 0x98, 0xC4, 0x83, 0x94, 0x45, 0x3E, 0x0F, 0xAF, 0xD9, 0x30, 0x08, 0xB3, 0x45, 0xE4, 0xDF,
|
||||
0x0E, 0xC6, 0x51, 0x32, 0xF9, 0x5E, 0xB0, 0x07, 0x37, 0x5D, 0x73, 0xDA, 0x40, 0x39, 0x71, 0x28,
|
||||
0x60, 0x93, 0x24, 0xF5, 0x69, 0x60, 0x9C, 0xC4, 0x2C, 0xDF, 0xAB, 0xC9, 0x64, 0x72, 0xDF, 0xF4,
|
||||
0x27, 0x88, 0xE7, 0xAE, 0xDC, 0xA8, 0x2D, 0xDB, 0x67, 0xDB, 0x76, 0x0E, 0xA8, 0xF9, 0xA6, 0x3F,
|
||||
0x98, 0x26, 0x93, 0x65, 0x06, 0xCF, 0x59, 0x02, 0x1C, 0x50, 0x86, 0xDE, 0x37, 0x17, 0x7E, 0xCC,
|
||||
0xA2, 0xBB, 0xB9, 0x9F, 0x5E, 0x86, 0xB1, 0x35, 0x4E, 0x38, 0x4F, 0xE6, 0x03, 0x17, 0x88, 0xD9,
|
||||
0x2E, 0x13, 0x92, 0x5B, 0x6B, 0x9C, 0xCA, 0x79, 0x98, 0xFA, 0x41, 0xB8, 0xCC, 0x06, 0x28, 0x73,
|
||||
0xB9, 0xB0, 0x8F, 0x93, 0x1B, 0x2B, 0x9B, 0xF9, 0x41, 0xB2, 0x1A, 0xD8, 0x1A, 0x8E, 0xC2, 0x9F,
|
||||
0xF4, 0x72, 0xEC, 0xD7, 0x6D, 0x13, 0xFF, 0x35, 0xED, 0xB6, 0x31, 0x7C, 0x0C, 0x90, 0xA4, 0xD4,
|
||||
0x22, 0xC5, 0x28, 0xB8, 0x06, 0x0C, 0xCB, 0x3B, 0x50, 0x10, 0xA0, 0xED, 0x6E, 0x93, 0xA3, 0xFB,
|
||||
0x05, 0xBD, 0x8D, 0xFF, 0xF2, 0x15, 0xC8, 0x46, 0x65, 0x4D, 0x20, 0x17, 0x56, 0x8A, 0x62, 0x94,
|
||||
0xAF, 0xCE, 0x43, 0xDE, 0x94, 0x7D, 0x28, 0xC5, 0x5B, 0xBA, 0x24, 0x27, 0xD7, 0x25, 0x6A, 0x9A,
|
||||
0xA4, 0x73, 0x98, 0x24, 0xE6, 0x69, 0x12, 0xDD, 0x55, 0x25, 0x41, 0x68, 0x92, 0xBF, 0xE4, 0xC9,
|
||||
0x50, 0xCA, 0xAD, 0x87, 0x8C, 0xCC, 0x97, 0xD3, 0xC1, 0xD5, 0xB8, 0xD0, 0xF0, 0x24, 0xE5, 0x6E,
|
||||
0xB7, 0xDB, 0xBB, 0x36, 0xB2, 0x6C, 0x0D, 0xE7, 0xFE, 0x25, 0x13, 0x72, 0xB6, 0xB9, 0xBD, 0x20,
|
||||
0x72, 0x8F, 0xDB, 0xDE, 0x30, 0xCE, 0x18, 0xD7, 0x76, 0xEC, 0x5F, 0xB7, 0xBA, 0xCB, 0x0F, 0xC2,
|
||||
0x5A, 0x89, 0xC5, 0x53, 0x30, 0x68, 0x42, 0x77, 0xD4, 0xCD, 0xD1, 0x98, 0x9F, 0x31, 0x0B, 0x64,
|
||||
0x35, 0x59, 0x72, 0xAD, 0xE9, 0xB4, 0x33, 0xB3, 0xC4, 0xBB, 0xD1, 0x57, 0x65, 0xB8, 0xD0, 0x82,
|
||||
0xBB, 0xEA, 0x56, 0x77, 0x3A, 0xFE, 0x94, 0xF5, 0x87, 0x30, 0x02, 0x39, 0x09, 0x56, 0xED, 0x77,
|
||||
0x2C, 0xCD, 0xB4, 0xA1, 0xB3, 0x97, 0x77, 0x38, 0xB6, 0x6B, 0x3A, 0xDD, 0xB6, 0xE9, 0x7A, 0x9E,
|
||||
0xD9, 0xEC, 0x18, 0x92, 0x06, 0xE4, 0xF5, 0x62, 0x4D, 0xCF, 0x84, 0xF8, 0x8E, 0x79, 0x5C, 0x88,
|
||||
0x42, 0x18, 0xD3, 0x7E, 0x0A, 0x89, 0xA8, 0x02, 0xDB, 0x62, 0xE7, 0x57, 0x62, 0xAB, 0x5B, 0xB6,
|
||||
0x3D, 0x54, 0x6C, 0xE9, 0x84, 0xC5, 0x9C, 0xA5, 0xEB, 0xE6, 0x6D, 0x1E, 0x06, 0x41, 0xC4, 0x84,
|
||||
0x4B, 0x4A, 0x96, 0x93, 0x99, 0x85, 0x16, 0x01, 0xF8, 0x39, 0xF7, 0xE3, 0x70, 0xB1, 0x8C, 0xC8,
|
||||
0xBE, 0x0C, 0x77, 0xF7, 0x4C, 0x96, 0x69, 0x06, 0x2C, 0x5A, 0x24, 0x21, 0x21, 0x7F, 0xA4, 0xC4,
|
||||
0xD0, 0xBE, 0x2D, 0xFC, 0x14, 0x28, 0x1A, 0xEE, 0xF1, 0x07, 0x4F, 0x94, 0xE7, 0x2D, 0x22, 0x38,
|
||||
0x4F, 0x7E, 0x58, 0xCB, 0x0C, 0x3D, 0x12, 0x8B, 0xD8, 0x84, 0x0B, 0x72, 0x70, 0xAD, 0x1B, 0x8D,
|
||||
0xEB, 0x0D, 0xC4, 0x73, 0x6B, 0x91, 0xC2, 0x32, 0xD2, 0xDB, 0xFD, 0x86, 0xD4, 0xF3, 0xBA, 0xFE,
|
||||
0xB8, 0xBB, 0x66, 0x1E, 0x5C, 0xD6, 0x09, 0xFC, 0x56, 0x05, 0x8B, 0x34, 0xB6, 0x66, 0xA5, 0x4D,
|
||||
0x58, 0xDD, 0x4A, 0x13, 0x19, 0xE0, 0x4A, 0xD3, 0x60, 0xCB, 0xC8, 0xC1, 0xE6, 0xC8, 0x0D, 0xD3,
|
||||
0xBD, 0x85, 0x58, 0xB7, 0xD7, 0xB1, 0xFB, 0xF6, 0x1A, 0xB1, 0x8E, 0xEB, 0x8E, 0x5B, 0x36, 0x11,
|
||||
0x1B, 0xCE, 0x2F, 0xEF, 0xE4, 0xA6, 0xCE, 0xFC, 0x78, 0xDD, 0x6C, 0x77, 0x0A, 0xEB, 0xA5, 0xEA,
|
||||
0x3F, 0x39, 0x09, 0x31, 0x56, 0x92, 0xB0, 0xC5, 0x9E, 0xD8, 0xF8, 0x6F, 0x6D, 0xDE, 0xCE, 0x04,
|
||||
0xFF, 0xFD, 0x6E, 0x75, 0x42, 0xF9, 0xB8, 0x4C, 0xD9, 0xED, 0x53, 0xCC, 0x46, 0x65, 0x20, 0x51,
|
||||
0x4D, 0x64, 0xEE, 0x5F, 0xB6, 0x67, 0x4B, 0x25, 0xCC, 0x61, 0x1F, 0x5A, 0xE6, 0xBF, 0x73, 0x45,
|
||||
0x11, 0x10, 0x05, 0x1A, 0xF2, 0xDD, 0x2C, 0x5F, 0x07, 0xD5, 0x78, 0x80, 0x3C, 0x7F, 0xD9, 0x59,
|
||||
0x91, 0x1A, 0xEC, 0x0B, 0xE3, 0xC5, 0x92, 0x7F, 0xC5, 0xD8, 0x65, 0x34, 0x0D, 0x23, 0xF6, 0x6D,
|
||||
0x30, 0xC8, 0xD7, 0x83, 0x9F, 0xD6, 0x72, 0x11, 0x25, 0x7E, 0x60, 0x8D, 0x97, 0x60, 0x73, 0xFE,
|
||||
0x63, 0x96, 0xFE, 0xB5, 0x66, 0x69, 0xB8, 0x57, 0xB9, 0xDB, 0xE3, 0x89, 0x1D, 0xB0, 0x35, 0x25,
|
||||
0x6B, 0x75, 0xC6, 0xBD, 0xC0, 0x7F, 0xD2, 0xA6, 0x4A, 0x2F, 0xF8, 0x9F, 0xAD, 0xFD, 0xF3, 0x6C,
|
||||
0xAD, 0xE7, 0x8C, 0xED, 0x60, 0x3D, 0x06, 0x75, 0xC6, 0x9D, 0xA0, 0xD7, 0x7E, 0xDA, 0xD6, 0x0A,
|
||||
0x6D, 0xFF, 0xCF, 0xD6, 0xFE, 0xC9, 0xB7, 0xD6, 0xED, 0xF4, 0xFD, 0xF1, 0x24, 0x4F, 0x5C, 0xA6,
|
||||
0x49, 0x02, 0x1C, 0xD9, 0x93, 0xB7, 0x38, 0x5D, 0xBB, 0xB7, 0x0D, 0xF7, 0x23, 0x52, 0x97, 0x8D,
|
||||
0x04, 0xE4, 0xDF, 0x30, 0xE5, 0x3C, 0x09, 0xFC, 0x32, 0xD9, 0x21, 0x96, 0x15, 0x59, 0xF1, 0x34,
|
||||
0xBC, 0x61, 0xC1, 0xF0, 0x07, 0xC4, 0xEC, 0x01, 0xBB, 0xC1, 0x32, 0x02, 0x48, 0xA2, 0xA4, 0x4A,
|
||||
0xE0, 0xB2, 0x31, 0x15, 0xC5, 0x1C, 0x0B, 0x44, 0x16, 0x1B, 0xEC, 0x61, 0x59, 0x71, 0xC8, 0xF3,
|
||||
0x24, 0x7A, 0x47, 0xC9, 0x9F, 0x46, 0xE0, 0x52, 0x29, 0x83, 0xDA, 0x9A, 0x11, 0x6F, 0xB6, 0xAA,
|
||||
0xEE, 0xB6, 0x65, 0x48, 0x52, 0x29, 0x5D, 0x00, 0x81, 0xBB, 0xDB, 0x91, 0xE5, 0x39, 0x76, 0x35,
|
||||
0x03, 0xAC, 0x64, 0x87, 0x6A, 0xA7, 0xD0, 0xB5, 0x9D, 0x63, 0x65, 0xF7, 0xAE, 0xE1, 0x03, 0xB7,
|
||||
0xE4, 0x63, 0x11, 0x85, 0x2A, 0x79, 0x32, 0xE6, 0x1B, 0x0E, 0x0A, 0xBE, 0x5D, 0x89, 0x1A, 0x5C,
|
||||
0x63, 0xB8, 0x59, 0x73, 0x10, 0xCA, 0x2F, 0x58, 0x93, 0x6F, 0xFA, 0x16, 0x76, 0xFC, 0x65, 0xCA,
|
||||
0xF0, 0x5F, 0xCE, 0x07, 0xCC, 0xA8, 0x15, 0x29, 0x71, 0xE5, 0x84, 0xB9, 0x90, 0x50, 0x34, 0xB4,
|
||||
0x55, 0x48, 0x5C, 0xFC, 0xB7, 0x2B, 0x49, 0x7E, 0x22, 0xFB, 0x2A, 0xB9, 0xE8, 0x14, 0xFF, 0xE5,
|
||||
0xE4, 0x55, 0x2B, 0x01, 0xB6, 0xA4, 0x2E, 0xEF, 0x5D, 0x17, 0xF1, 0x4E, 0x4E, 0xBD, 0x14, 0x9A,
|
||||
0x56, 0xB3, 0xCD, 0xE6, 0x4F, 0x5F, 0xCA, 0x26, 0x39, 0xFF, 0xE4, 0x6E, 0xDF, 0x37, 0x67, 0x61,
|
||||
0xC0, 0x2E, 0x42, 0x5E, 0xD1, 0x90, 0xFB, 0xBF, 0xCD, 0x59, 0x10, 0xFA, 0x5A, 0x7D, 0x0E, 0x36,
|
||||
0x5B, 0x48, 0x7C, 0xB7, 0x03, 0x3B, 0x6E, 0xDC, 0xAD, 0xC9, 0xA8, 0xE8, 0x6B, 0xF7, 0x10, 0x53,
|
||||
0x3E, 0x28, 0x9B, 0xA4, 0x8C, 0xC5, 0x1A, 0x84, 0xBA, 0x30, 0xBE, 0xA8, 0xD1, 0x75, 0x3B, 0xDD,
|
||||
0x9D, 0xE3, 0xA9, 0x7E, 0x77, 0x7F, 0x74, 0x28, 0xCA, 0x9B, 0x47, 0x3C, 0xE4, 0xF0, 0x38, 0x39,
|
||||
0xFF, 0xE0, 0xBD, 0xD2, 0x78, 0x92, 0x44, 0xDA, 0x02, 0x2C, 0xF4, 0xD1, 0xA1, 0x68, 0x3E, 0x3A,
|
||||
0x14, 0xA5, 0x50, 0xAA, 0x86, 0x1D, 0x05, 0xE1, 0xB5, 0x36, 0x89, 0xFC, 0x2C, 0x1B, 0xE9, 0x64,
|
||||
0x5A, 0x74, 0x18, 0x8D, 0x55, 0x33, 0x8D, 0x10, 0x8F, 0x74, 0xC4, 0x8C, 0x6D, 0x29, 0xFC, 0xC0,
|
||||
0x20, 0x3F, 0x07, 0x16, 0x19, 0x85, 0xAE, 0xCD, 0x52, 0x36, 0x1D, 0xE9, 0x33, 0xCE, 0x17, 0xD9,
|
||||
0xE0, 0xF0, 0x70, 0xB5, 0x5A, 0x35, 0x2F, 0x43, 0x3E, 0x5B, 0x8E, 0x9B, 0x93, 0x64, 0x7E, 0x18,
|
||||
0x2D, 0x27, 0x96, 0xF8, 0x3C, 0x24, 0x62, 0x0E, 0x39, 0x2C, 0xEC, 0xD0, 0x6B, 0xDA, 0xBA, 0xC6,
|
||||
0x41, 0xA2, 0x19, 0x1F, 0xE9, 0x17, 0x10, 0xEA, 0xC6, 0xDF, 0x61, 0x86, 0xEC, 0xFA, 0xB2, 0x98,
|
||||
0x93, 0xCD, 0x01, 0x31, 0x6D, 0xB3, 0xFC, 0xB8, 0x0E, 0xD9, 0xEA, 0x97, 0xE4, 0x66, 0xA4, 0x63,
|
||||
0x38, 0xED, 0x78, 0x36, 0xFC, 0x72, 0x6D, 0x1B, 0x46, 0x5D, 0x0A, 0x0F, 0x83, 0x19, 0xFA, 0x48,
|
||||
0xA7, 0x57, 0xD0, 0x18, 0x56, 0x6F, 0xDB, 0x26, 0x02, 0x18, 0xC0, 0x4A, 0x3F, 0x62, 0x75, 0xC7,
|
||||
0xD4, 0x2C, 0xC7, 0x00, 0xF0, 0x85, 0xCF, 0x67, 0x5A, 0x30, 0xD2, 0xCF, 0x3A, 0x88, 0xC2, 0xE9,
|
||||
0xB6, 0xAE, 0x3C, 0x0F, 0x30, 0x76, 0x5B, 0x9A, 0xD5, 0x8E, 0xBC, 0x1E, 0x40, 0xB5, 0xDD, 0xA8,
|
||||
0x0D, 0x8F, 0xAB, 0x56, 0x1F, 0x7E, 0xB7, 0xB4, 0x3E, 0xF4, 0x78, 0x7D, 0x6C, 0x72, 0x23, 0xC7,
|
||||
0x6B, 0x69, 0x3D, 0xFB, 0xAA, 0xE3, 0x68, 0x56, 0xAB, 0xA7, 0x39, 0x36, 0x74, 0x39, 0x76, 0x3B,
|
||||
0xB2, 0x7A, 0x36, 0xBC, 0x78, 0xAD, 0xC8, 0x03, 0x24, 0x57, 0x2E, 0x80, 0xB6, 0x5A, 0x9A, 0x07,
|
||||
0xC3, 0xFB, 0x5E, 0x04, 0xA0, 0x9D, 0x08, 0x70, 0x02, 0x92, 0xDE, 0x15, 0xF6, 0x78, 0x1A, 0xFC,
|
||||
0xEE, 0x7A, 0x57, 0x30, 0xC4, 0xC3, 0x49, 0xE1, 0xA3, 0x15, 0x59, 0x12, 0x02, 0x5E, 0x00, 0xFE,
|
||||
0x0A, 0x3E, 0x01, 0xB2, 0x8F, 0x13, 0x13, 0x12, 0x0B, 0x11, 0x47, 0x72, 0x96, 0x2B, 0x9C, 0xDB,
|
||||
0x42, 0x1A, 0x4A, 0x02, 0x88, 0x30, 0x27, 0x42, 0x6C, 0xDE, 0x15, 0xCE, 0x6E, 0x21, 0x15, 0x92,
|
||||
0x74, 0x8B, 0x68, 0xB7, 0xC4, 0xE2, 0x1C, 0xED, 0x0A, 0x69, 0x10, 0xF3, 0x22, 0xB9, 0x16, 0xAD,
|
||||
0x1F, 0x3F, 0xDA, 0x04, 0x03, 0x20, 0x38, 0xC2, 0xBD, 0x42, 0x02, 0x60, 0xFD, 0x88, 0x45, 0x20,
|
||||
0xF1, 0xC4, 0x3C, 0x56, 0xCF, 0xB9, 0xB2, 0x3A, 0xB6, 0x86, 0x54, 0x20, 0x05, 0x48, 0x40, 0x0F,
|
||||
0xF7, 0xA4, 0x85, 0x74, 0x02, 0x42, 0x98, 0xBA, 0x85, 0x84, 0xF4, 0x34, 0x24, 0xDD, 0xD5, 0x3A,
|
||||
0x11, 0xCD, 0x0B, 0xEB, 0xB7, 0x3A, 0x5A, 0x0B, 0xD6, 0xD9, 0x01, 0x76, 0xC3, 0xFA, 0x61, 0x62,
|
||||
0x78, 0x03, 0x16, 0x51, 0x67, 0x04, 0x80, 0x57, 0x8E, 0x87, 0x68, 0xC5, 0x48, 0x4F, 0x13, 0x9C,
|
||||
0xC5, 0x25, 0xB7, 0xBA, 0x1A, 0x2C, 0x18, 0x66, 0xA2, 0xD9, 0x1C, 0x18, 0x09, 0x3D, 0x11, 0x52,
|
||||
0x09, 0x33, 0xC1, 0x7C, 0x82, 0x46, 0xE8, 0x8D, 0x68, 0x05, 0xD0, 0x8C, 0x6C, 0xC6, 0x35, 0xFD,
|
||||
0xA0, 0x8D, 0xEE, 0x01, 0x43, 0xAF, 0xAC, 0x5E, 0x1F, 0x57, 0x4A, 0xAC, 0xEE, 0x78, 0x1C, 0x7E,
|
||||
0x88, 0x21, 0xCD, 0x36, 0x2F, 0xDF, 0xF2, 0x4E, 0x7C, 0xC2, 0x03, 0x3A, 0x44, 0xBB, 0x55, 0xBE,
|
||||
0x89, 0xAE, 0x1F, 0x20, 0x4B, 0x87, 0x28, 0x4C, 0xF0, 0xB8, 0x84, 0x1F, 0x10, 0xDE, 0x63, 0xED,
|
||||
0x08, 0x42, 0x9B, 0xB8, 0xD0, 0x8F, 0x3C, 0x83, 0xD3, 0x8F, 0x5F, 0x87, 0xE9, 0x7C, 0x05, 0x21,
|
||||
0x10, 0x80, 0x01, 0x00, 0x40, 0xFB, 0xF0, 0x83, 0xCA, 0xF4, 0xCF, 0x2B, 0x94, 0xF5, 0xE5, 0xE4,
|
||||
0x97, 0xCF, 0xA7, 0x7F, 0x32, 0xB5, 0xB2, 0xFB, 0xAD, 0xAB, 0x9E, 0x8B, 0x18, 0x3B, 0x76, 0x13,
|
||||
0xA5, 0xCF, 0x45, 0xD6, 0xB6, 0x80, 0xF9, 0xED, 0x3E, 0x77, 0x9C, 0x0E, 0xB6, 0xF5, 0xB0, 0xAD,
|
||||
0xDF, 0xC2, 0xD7, 0x3E, 0xEC, 0x40, 0x8F, 0x1E, 0x2D, 0xB7, 0xE8, 0x42, 0xD1, 0x6B, 0x77, 0x89,
|
||||
0xE1, 0xC5, 0x1B, 0x0A, 0x2E, 0x75, 0x5A, 0x9D, 0x9E, 0x1C, 0x68, 0x15, 0x28, 0x2C, 0x15, 0xB1,
|
||||
0x95, 0xCF, 0x06, 0xDB, 0xD5, 0x2F, 0x48, 0x90, 0x1F, 0x6E, 0x01, 0x41, 0x00, 0x34, 0x4C, 0x8C,
|
||||
0x22, 0x64, 0xFD, 0x1C, 0x7F, 0x5F, 0x4C, 0x99, 0x23, 0xD4, 0x88, 0x88, 0xFC, 0x49, 0xA4, 0x52,
|
||||
0x17, 0xD0, 0xDE, 0x6F, 0x6B, 0x3C, 0x1F, 0xAB, 0xE0, 0x93, 0x53, 0x08, 0x2E, 0xE0, 0xAC, 0x3F,
|
||||
0xCE, 0x7A, 0xBD, 0x1E, 0xF4, 0xF5, 0x49, 0xC5, 0x51, 0xCB, 0x1D, 0x90, 0x57, 0x97, 0x13, 0x81,
|
||||
0x64, 0x39, 0xDA, 0x5D, 0x94, 0x67, 0x20, 0xAA, 0x8F, 0x16, 0xC2, 0x71, 0x51, 0xDF, 0x80, 0x37,
|
||||
0x2E, 0x00, 0xE1, 0x2F, 0xFC, 0x12, 0x2F, 0xF8, 0x84, 0x1E, 0x78, 0xBD, 0xC2, 0x49, 0x34, 0x17,
|
||||
0x04, 0xD4, 0x01, 0xB6, 0x6B, 0x4E, 0x5F, 0x6B, 0xD1, 0x74, 0x40, 0x73, 0x17, 0x97, 0x0E, 0x10,
|
||||
0x56, 0x17, 0x90, 0x75, 0xD0, 0xA0, 0x75, 0x10, 0x6B, 0x0F, 0x8C, 0x88, 0x83, 0x32, 0xDF, 0xD1,
|
||||
0x84, 0xA9, 0xB1, 0x71, 0x2F, 0xE0, 0x09, 0x24, 0x5E, 0xB9, 0x68, 0x89, 0x40, 0x51, 0xBB, 0x60,
|
||||
0x14, 0x1C, 0x8E, 0x03, 0x7B, 0x2E, 0xEF, 0x8B, 0x8D, 0x71, 0x60, 0x75, 0x68, 0x3C, 0x7A, 0xB8,
|
||||
0x38, 0xCF, 0x23, 0xC6, 0xE2, 0x64, 0xF2, 0xC3, 0x6D, 0x51, 0x3F, 0x75, 0xD3, 0x88, 0x1E, 0x6A,
|
||||
0x4C, 0xD7, 0x16, 0x4F, 0xC0, 0xD8, 0x85, 0x89, 0xAE, 0x1C, 0xD0, 0x64, 0x60, 0x99, 0xD6, 0xCA,
|
||||
0xF9, 0xDA, 0x82, 0xDE, 0x2B, 0xAB, 0x4F, 0xF6, 0x18, 0x89, 0x82, 0x95, 0xF4, 0xFA, 0x3F, 0xCE,
|
||||
0x5A, 0x60, 0x0A, 0xBA, 0x6E, 0x17, 0xAC, 0x0A, 0x5A, 0x13, 0x69, 0x15, 0xE9, 0x87, 0x76, 0xD4,
|
||||
0xC3, 0x59, 0x68, 0xF3, 0x69, 0xBC, 0x07, 0x43, 0x71, 0x27, 0x70, 0x59, 0x0E, 0x58, 0x12, 0x5C,
|
||||
0x9A, 0xA7, 0x79, 0x24, 0x27, 0x8E, 0xC3, 0x3D, 0xDC, 0x14, 0xA7, 0x1B, 0x01, 0x2E, 0xB0, 0x27,
|
||||
0x30, 0x29, 0xF2, 0x1F, 0x49, 0x44, 0xC2, 0x81, 0x8A, 0x8E, 0x7C, 0x25, 0xEB, 0x89, 0x06, 0x14,
|
||||
0x8C, 0x05, 0x90, 0x03, 0x93, 0x12, 0xB5, 0x96, 0x0B, 0xAC, 0xB6, 0xB9, 0xE5, 0xB9, 0xC8, 0xCF,
|
||||
0x27, 0x29, 0xFF, 0x29, 0x66, 0x4B, 0x53, 0x48, 0x79, 0x7E, 0x8F, 0xF6, 0xEF, 0x73, 0xA5, 0xAB,
|
||||
0xF0, 0x7B, 0xF8, 0xE7, 0xD0, 0x77, 0xA7, 0xDB, 0xBD, 0xC2, 0xBD, 0xB3, 0x41, 0xEA, 0x80, 0x75,
|
||||
0xAD, 0x36, 0x8A, 0x47, 0xAF, 0x25, 0x84, 0x0F, 0x8C, 0xA9, 0xEB, 0x91, 0xD0, 0xE1, 0x7E, 0xB5,
|
||||
0x85, 0x32, 0xB6, 0xB8, 0xA5, 0xBC, 0x2A, 0x00, 0x96, 0x32, 0xCE, 0x2A, 0xB1, 0xD1, 0xAB, 0x78,
|
||||
0x13, 0x00, 0xD4, 0x8F, 0xE3, 0xE4, 0x30, 0xC2, 0x86, 0xC8, 0x8A, 0x97, 0xB2, 0xB3, 0x1C, 0x91,
|
||||
0x63, 0xF9, 0x71, 0xD6, 0x06, 0xDD, 0xE9, 0xB7, 0xC0, 0x93, 0xB9, 0xE4, 0x14, 0x40, 0x81, 0xAC,
|
||||
0xB6, 0xB4, 0xF3, 0x96, 0x8B, 0xEA, 0x00, 0x42, 0x2E, 0x65, 0x8C, 0xE4, 0x4B, 0xB8, 0x0C, 0x69,
|
||||
0x61, 0x50, 0xFE, 0x50, 0x3D, 0x41, 0x53, 0x5D, 0x7A, 0xCC, 0x1C, 0xCF, 0xB9, 0xF2, 0x10, 0x8F,
|
||||
0x06, 0x02, 0xE6, 0x38, 0x57, 0x1D, 0xEC, 0x70, 0x49, 0xED, 0x7B, 0x82, 0xA4, 0xDE, 0x95, 0x8B,
|
||||
0x3C, 0xF7, 0x08, 0x97, 0x83, 0x33, 0x38, 0xF4, 0xEA, 0xC2, 0x14, 0x84, 0x0B, 0x26, 0xEE, 0x62,
|
||||
0x4C, 0x00, 0x6B, 0x45, 0xD9, 0x05, 0x6F, 0xE9, 0x90, 0xBB, 0x22, 0x2D, 0x43, 0x26, 0x91, 0xD4,
|
||||
0x93, 0x1D, 0xC4, 0x49, 0x09, 0x85, 0x85, 0xCA, 0xEA, 0x74, 0x91, 0x29, 0x42, 0x17, 0xD1, 0xC4,
|
||||
0x91, 0x72, 0x40, 0x1F, 0xD0, 0xDF, 0x42, 0xAD, 0x01, 0x82, 0x35, 0x6A, 0x44, 0xEA, 0x39, 0x11,
|
||||
0x65, 0x01, 0xF8, 0xCC, 0x81, 0x28, 0x44, 0xEC, 0x99, 0xD6, 0xE3, 0x1E, 0x51, 0xEA, 0xA1, 0xC1,
|
||||
0x68, 0xF5, 0xB8, 0x8B, 0x73, 0x75, 0x91, 0x87, 0x60, 0xCC, 0x6D, 0x20, 0x0F, 0xAD, 0x01, 0x6C,
|
||||
0x70, 0xCF, 0xD3, 0x38, 0x59, 0x09, 0xB0, 0x81, 0xC0, 0x21, 0x84, 0xF2, 0x88, 0xFD, 0x1D, 0x50,
|
||||
0xA8, 0x1E, 0xB6, 0xA0, 0xED, 0x01, 0x9F, 0xDB, 0x05, 0x34, 0xB6, 0x3D, 0x03, 0x6A, 0x6C, 0xA0,
|
||||
0xC0, 0xA6, 0x85, 0x74, 0x0B, 0xFA, 0x85, 0x59, 0x82, 0xDF, 0xD7, 0x04, 0x40, 0xAB, 0xD1, 0x8A,
|
||||
0x46, 0x5E, 0x40, 0xCE, 0xB0, 0x97, 0x46, 0x53, 0x13, 0xF6, 0x75, 0x49, 0x8D, 0x61, 0xA4, 0x18,
|
||||
0xE8, 0xD8, 0x04, 0x48, 0x4D, 0xD2, 0xDE, 0xC1, 0xCF, 0x93, 0xF4, 0xF3, 0x0D, 0x8B, 0x16, 0x5B,
|
||||
0x54, 0x53, 0xA3, 0x48, 0x7A, 0xA4, 0x97, 0xE1, 0xB5, 0x5E, 0xF6, 0x25, 0xF1, 0x24, 0x0A, 0x27,
|
||||
0xDF, 0x47, 0xFA, 0xC7, 0xB7, 0x75, 0x63, 0xA8, 0x6B, 0x21, 0xA8, 0x42, 0x94, 0x40, 0x82, 0x16,
|
||||
0x42, 0x54, 0xAE, 0xE7, 0x43, 0xAF, 0xC3, 0x2C, 0x1C, 0x87, 0x51, 0xC8, 0x6F, 0x07, 0x90, 0x21,
|
||||
0x04, 0x2C, 0xD6, 0x37, 0xF5, 0xBD, 0xAA, 0xAF, 0x4D, 0xAF, 0xA2, 0xB1, 0x4D, 0xF7, 0x0F, 0xD7,
|
||||
0xD9, 0x69, 0x18, 0x45, 0x72, 0xF9, 0x3A, 0x29, 0x70, 0x1F, 0xC3, 0x23, 0xDB, 0xBE, 0x76, 0x69,
|
||||
0x9F, 0x7B, 0xD2, 0xBA, 0x43, 0xE4, 0x27, 0x82, 0x1D, 0x92, 0x7D, 0x6C, 0x99, 0x59, 0x30, 0x33,
|
||||
0xC4, 0x50, 0x2E, 0xED, 0x65, 0xCB, 0x11, 0xDE, 0xB5, 0x4D, 0x41, 0xB2, 0x73, 0x0D, 0x22, 0x89,
|
||||
0xBB, 0x8D, 0x10, 0x2D, 0x12, 0xDB, 0xAE, 0x70, 0xFC, 0x7D, 0x12, 0x52, 0x21, 0xB9, 0x36, 0xEE,
|
||||
0x77, 0x87, 0xA6, 0x41, 0xA0, 0xB2, 0x95, 0x97, 0xC0, 0x33, 0x20, 0xE7, 0x8A, 0x30, 0x50, 0x1B,
|
||||
0x8D, 0x17, 0xC2, 0x88, 0xA3, 0xC5, 0x60, 0x9C, 0xBB, 0x68, 0xE3, 0x56, 0x01, 0x48, 0xF3, 0x83,
|
||||
0xDB, 0x90, 0x0B, 0x12, 0x02, 0xE2, 0x3A, 0x68, 0xE9, 0x3D, 0xD4, 0x6D, 0xD4, 0x4C, 0x90, 0xCE,
|
||||
0x19, 0x90, 0xAA, 0x49, 0x65, 0x44, 0x89, 0x23, 0x0B, 0x41, 0x2A, 0x23, 0xE5, 0x91, 0x56, 0xFA,
|
||||
0x43, 0x3F, 0x54, 0x84, 0x67, 0x9B, 0x60, 0x28, 0xE5, 0x36, 0x4A, 0x09, 0x69, 0x73, 0x85, 0xF5,
|
||||
0x3E, 0x04, 0x29, 0x98, 0x86, 0x97, 0xDB, 0x8C, 0x33, 0xCA, 0x20, 0x4A, 0xCB, 0xEB, 0x2F, 0x7F,
|
||||
0x3F, 0xF9, 0x78, 0x7E, 0xFA, 0xFE, 0x9D, 0xBE, 0x45, 0x24, 0x37, 0xC4, 0xF1, 0x10, 0xB3, 0xAF,
|
||||
0x43, 0x71, 0x5F, 0xE2, 0xE8, 0x10, 0x32, 0xB6, 0xAD, 0x69, 0x9B, 0xA8, 0xFA, 0x1D, 0x1F, 0xCD,
|
||||
0x5C, 0x9A, 0xE2, 0xEC, 0xFC, 0x57, 0x44, 0x35, 0x73, 0x8B, 0x96, 0xD3, 0x78, 0x9A, 0x28, 0xAD,
|
||||
0x87, 0xF9, 0x80, 0xED, 0x18, 0x35, 0x99, 0xD6, 0x0A, 0xF1, 0x7E, 0xF9, 0xFE, 0xDD, 0xF9, 0xFB,
|
||||
0xB7, 0x27, 0xFA, 0x26, 0x5C, 0x7E, 0x6E, 0xAF, 0x97, 0x6A, 0x01, 0x29, 0xE7, 0x65, 0xC4, 0x5E,
|
||||
0x26, 0x31, 0xE4, 0xD9, 0xAC, 0x0E, 0xC2, 0x27, 0x5F, 0x77, 0xCC, 0x44, 0x85, 0x80, 0xEA, 0x74,
|
||||
0x9F, 0x4E, 0x3E, 0x9E, 0x9D, 0xBE, 0x7B, 0xF1, 0x36, 0xCF, 0x46, 0xCB, 0x04, 0x94, 0xCA, 0xA9,
|
||||
0xF9, 0x70, 0xF5, 0x70, 0x58, 0xD7, 0xB0, 0x3A, 0x02, 0xAE, 0x72, 0x11, 0x31, 0x0E, 0x1B, 0x94,
|
||||
0x4C, 0xA7, 0xB0, 0x03, 0x58, 0x76, 0xA5, 0xBD, 0x02, 0x45, 0xF2, 0xA3, 0x25, 0x7C, 0x88, 0x09,
|
||||
0x26, 0xCB, 0x0C, 0xB2, 0xF9, 0x8B, 0xC9, 0x3C, 0xB8, 0xE0, 0xD8, 0x09, 0x89, 0xFB, 0x84, 0xCD,
|
||||
0x92, 0x08, 0x32, 0xFD, 0x91, 0x7E, 0xCE, 0x20, 0xF3, 0x7E, 0x99, 0xCC, 0xE7, 0x90, 0x81, 0x37,
|
||||
0x9B, 0x4D, 0x5D, 0x71, 0xD8, 0xA2, 0x4E, 0xAB, 0x68, 0xB1, 0xA6, 0x1C, 0xF1, 0x29, 0x2C, 0x40,
|
||||
0x14, 0x2F, 0x69, 0x0E, 0x89, 0x07, 0x0D, 0xC5, 0x31, 0xB6, 0x1E, 0x1D, 0x0A, 0x1C, 0x0A, 0x52,
|
||||
0xB1, 0x26, 0x41, 0xEB, 0x64, 0xC6, 0x26, 0xDF, 0xC7, 0xC9, 0x8D, 0x82, 0x0B, 0xD7, 0x95, 0x4D,
|
||||
0x60, 0x89, 0x11, 0xF0, 0x92, 0xA8, 0x9F, 0x27, 0x71, 0xC8, 0x93, 0xF4, 0x82, 0xC5, 0xC8, 0x9C,
|
||||
0x8B, 0x12, 0x00, 0xC4, 0x09, 0xC7, 0xB3, 0x40, 0x22, 0x62, 0x81, 0x2E, 0x4D, 0xDF, 0xF1, 0x8B,
|
||||
0x02, 0xA8, 0x90, 0xAF, 0x0D, 0xD9, 0xC2, 0x9D, 0x91, 0xF2, 0x9D, 0x97, 0xE3, 0x2C, 0xAC, 0xD3,
|
||||
0x0E, 0xC6, 0x29, 0xF3, 0xBF, 0x5B, 0xAB, 0x24, 0x0D, 0xD0, 0x92, 0xA4, 0x4C, 0xF0, 0x10, 0x98,
|
||||
0x27, 0xCB, 0x10, 0x85, 0xD1, 0xC3, 0x72, 0x47, 0x7E, 0xFB, 0xA1, 0x8D, 0xD5, 0x13, 0xAC, 0x5F,
|
||||
0x54, 0x1A, 0x36, 0x4F, 0x28, 0xB1, 0xB2, 0x57, 0x4C, 0x77, 0x2B, 0x8A, 0x5C, 0xD5, 0xE9, 0xFD,
|
||||
0xF8, 0x76, 0x35, 0x63, 0x29, 0x23, 0xC3, 0x9E, 0x16, 0x4A, 0xA0, 0xFE, 0xDE, 0x2F, 0xBE, 0xAF,
|
||||
0x4F, 0xDF, 0x9E, 0x9C, 0xFF, 0xE3, 0xFC, 0xD3, 0xC9, 0xD9, 0x3E, 0x09, 0x3E, 0x7E, 0x0D, 0xAD,
|
||||
0x33, 0xED, 0x75, 0x18, 0xB1, 0xEC, 0x36, 0xE3, 0x6C, 0xBE, 0x4F, 0x60, 0xF5, 0xEA, 0xBE, 0x61,
|
||||
0x31, 0x5F, 0xCC, 0x45, 0x65, 0x7D, 0x51, 0x5F, 0xD6, 0xB5, 0xD8, 0x9F, 0x23, 0x57, 0x6E, 0xB1,
|
||||
0x31, 0xFB, 0xFA, 0x4D, 0xD7, 0xE6, 0xCB, 0x88, 0x87, 0x0B, 0x62, 0x95, 0x7C, 0xC3, 0x1D, 0xAA,
|
||||
0x48, 0xF5, 0x86, 0x54, 0x89, 0x19, 0x84, 0xD8, 0x88, 0x39, 0x2A, 0xA7, 0x06, 0x6B, 0x62, 0x87,
|
||||
0x53, 0x91, 0x5B, 0x92, 0x02, 0xFF, 0x99, 0x60, 0xF5, 0xE3, 0x83, 0x78, 0x9C, 0x2D, 0x86, 0xE2,
|
||||
0x37, 0xEC, 0x61, 0x72, 0x99, 0xB2, 0x2C, 0xDB, 0xED, 0xAC, 0x24, 0xE9, 0x8B, 0xF4, 0x52, 0x4C,
|
||||
0x49, 0x2F, 0xB0, 0x9B, 0x54, 0x12, 0x12, 0x1B, 0x21, 0x50, 0x80, 0x52, 0xA4, 0xE2, 0x67, 0x8B,
|
||||
0x51, 0xDA, 0xC5, 0xBA, 0x8A, 0x56, 0xE7, 0x0E, 0x90, 0x9C, 0xEC, 0x53, 0x58, 0x51, 0x55, 0x37,
|
||||
0xA9, 0x68, 0xB5, 0x28, 0xCC, 0x78, 0xCD, 0xAC, 0xF9, 0x51, 0x54, 0x53, 0xD8, 0xF0, 0x91, 0x4D,
|
||||
0x81, 0xDA, 0x99, 0xE2, 0xC6, 0xD5, 0x59, 0x91, 0xCE, 0x02, 0xDB, 0x4B, 0x90, 0x76, 0xCE, 0x82,
|
||||
0x30, 0x45, 0x7D, 0xDB, 0xE3, 0xB0, 0x5B, 0x76, 0xE9, 0xAD, 0xF1, 0xBD, 0xE2, 0xAA, 0x5B, 0xF8,
|
||||
0x7F, 0x80, 0x4F, 0x41, 0x0E, 0x34, 0x68, 0x6B, 0xEB, 0xDA, 0x2D, 0xF2, 0x4E, 0xCF, 0x47, 0x7B,
|
||||
0xCA, 0x68, 0x17, 0xDE, 0x53, 0x00, 0x72, 0xE1, 0x71, 0x4B, 0x0F, 0xE1, 0xA9, 0xE5, 0xF1, 0x03,
|
||||
0x7A, 0xA3, 0x1C, 0x0F, 0x82, 0xDE, 0x12, 0xBA, 0x3C, 0x6C, 0x68, 0x2B, 0x31, 0x43, 0xFB, 0x41,
|
||||
0x3C, 0x68, 0x0C, 0x11, 0x8F, 0x23, 0x08, 0x72, 0xE1, 0x51, 0x1C, 0xBA, 0x40, 0x6B, 0x4F, 0x7E,
|
||||
0xAE, 0x24, 0x46, 0xF0, 0xA5, 0x39, 0x12, 0x3A, 0xBF, 0xD1, 0x8F, 0x1B, 0xC0, 0x40, 0xC0, 0x51,
|
||||
0xF8, 0x46, 0xA1, 0x84, 0x55, 0x9E, 0xCA, 0x80, 0x09, 0xB9, 0x4A, 0xB2, 0x03, 0xB1, 0x47, 0xC1,
|
||||
0xC9, 0x10, 0xDC, 0x50, 0x2E, 0x8D, 0xEA, 0xE8, 0x8A, 0x25, 0x12, 0x35, 0x48, 0x39, 0x42, 0x7C,
|
||||
0x54, 0x2E, 0xF3, 0x15, 0x06, 0xA7, 0x34, 0x27, 0x28, 0x55, 0xA2, 0xB2, 0x49, 0x52, 0x35, 0x53,
|
||||
0xF7, 0xF7, 0x13, 0x88, 0x0D, 0xE0, 0x9E, 0x61, 0xFB, 0xF1, 0x3B, 0x10, 0xEC, 0xE2, 0xE3, 0x1C,
|
||||
0x96, 0x9D, 0x7F, 0x08, 0x53, 0x71, 0x7E, 0xC1, 0xC3, 0x39, 0xAC, 0xF3, 0x53, 0x58, 0x82, 0x55,
|
||||
0x64, 0x65, 0xAD, 0xAD, 0x08, 0x0E, 0x67, 0xC5, 0x1A, 0x24, 0x19, 0xE4, 0xD7, 0x72, 0x93, 0x70,
|
||||
0x81, 0x62, 0x49, 0x70, 0xA2, 0xF0, 0xBA, 0xDF, 0x9F, 0xCB, 0xF2, 0xB7, 0x50, 0xBD, 0x8C, 0xFB,
|
||||
0x7C, 0x99, 0xE9, 0xDB, 0xCC, 0xDE, 0xA3, 0x8C, 0xDF, 0x97, 0xCF, 0x1F, 0x5E, 0xBD, 0xF8, 0xB4,
|
||||
0xD7, 0x79, 0x17, 0x45, 0x2A, 0xED, 0xF3, 0x22, 0x00, 0xE1, 0x7F, 0xC0, 0xF2, 0x6D, 0x75, 0xCA,
|
||||
0x1B, 0x86, 0x70, 0xB5, 0xD3, 0x0C, 0x6E, 0x38, 0xBF, 0x27, 0x98, 0x3E, 0xF8, 0x50, 0x34, 0x5F,
|
||||
0x58, 0xB7, 0x4D, 0x9B, 0x87, 0x8B, 0x50, 0xA7, 0x79, 0x8A, 0xC1, 0x9B, 0xAE, 0x0A, 0x93, 0x87,
|
||||
0xAF, 0xDB, 0x8D, 0x5E, 0x81, 0xB9, 0x08, 0xEA, 0xE6, 0xD9, 0xE5, 0xBE, 0xE0, 0xFF, 0x23, 0x83,
|
||||
0x7D, 0x4C, 0x39, 0x70, 0xDB, 0x84, 0x70, 0x03, 0x6F, 0xBA, 0x69, 0x2B, 0x3F, 0xE4, 0x10, 0x60,
|
||||
0x34, 0x73, 0x8F, 0x5C, 0xA0, 0x9A, 0x24, 0x4B, 0x8C, 0xCD, 0x94, 0x58, 0x70, 0x47, 0x1C, 0x58,
|
||||
0x6E, 0x53, 0x91, 0x84, 0x60, 0xAD, 0xBF, 0x50, 0x36, 0x3A, 0x2C, 0xA8, 0x6E, 0x7C, 0xE5, 0xFC,
|
||||
0x60, 0x5B, 0x97, 0x38, 0x36, 0x82, 0x9E, 0x99, 0x77, 0x7C, 0x0A, 0xA4, 0xF3, 0x70, 0x1A, 0x4E,
|
||||
0xE8, 0x10, 0x18, 0x02, 0x47, 0x6F, 0x8B, 0xCC, 0x95, 0xC7, 0x39, 0x32, 0xC6, 0x3D, 0xAE, 0x64,
|
||||
0x5B, 0xA2, 0x5B, 0x04, 0x61, 0x45, 0x9E, 0x72, 0xFC, 0x39, 0x03, 0xB5, 0x95, 0xCB, 0xD3, 0xF6,
|
||||
0x85, 0x75, 0x6A, 0x0C, 0x47, 0x8B, 0x5C, 0x96, 0xE1, 0x46, 0x79, 0xE7, 0xB2, 0x64, 0xD5, 0x2C,
|
||||
0x7D, 0x3C, 0x11, 0x1F, 0xA0, 0x0F, 0xA3, 0x9A, 0x27, 0x10, 0xB2, 0x90, 0x43, 0x24, 0x31, 0x8B,
|
||||
0xFD, 0xC4, 0x8C, 0xB7, 0xC5, 0xD7, 0xEA, 0x01, 0xD7, 0x5A, 0x18, 0x91, 0x4B, 0xFA, 0xC3, 0x01,
|
||||
0xE6, 0xDB, 0x8F, 0xE8, 0x9D, 0xA4, 0xBC, 0x9F, 0x2F, 0xC7, 0xF3, 0x90, 0x6F, 0xB5, 0x10, 0x10,
|
||||
0xF3, 0x85, 0x0B, 0x7E, 0x7C, 0xED, 0xA7, 0xDA, 0x2A, 0xBB, 0xC8, 0x92, 0x65, 0x3A, 0x61, 0xE6,
|
||||
0xCD, 0x3C, 0xC2, 0x1A, 0x93, 0x08, 0x23, 0xCC, 0xC9, 0x32, 0xC5, 0x03, 0x7A, 0xB4, 0xD2, 0x90,
|
||||
0xBD, 0xE8, 0x26, 0x2C, 0x61, 0x86, 0xDB, 0x2E, 0x36, 0x7D, 0xF4, 0xCC, 0x31, 0x57, 0x6C, 0xBC,
|
||||
0x24, 0x95, 0xC2, 0x8F, 0x69, 0x11, 0x1F, 0xC9, 0xAE, 0x2C, 0x81, 0x48, 0x93, 0x5F, 0x2C, 0x92,
|
||||
0x94, 0x8F, 0x6C, 0xA5, 0xE1, 0xF4, 0x03, 0x84, 0xDB, 0xA6, 0x9F, 0xDD, 0xC6, 0x93, 0x0B, 0x68,
|
||||
0x85, 0xD8, 0x7C, 0xBE, 0x8C, 0x15, 0xAC, 0x28, 0xA9, 0x17, 0xC8, 0x45, 0xDD, 0x04, 0xC9, 0xBD,
|
||||
0x80, 0x88, 0xBD, 0x8A, 0x90, 0xF4, 0x05, 0x62, 0x59, 0x68, 0x64, 0xD9, 0xE2, 0x82, 0xA5, 0x29,
|
||||
0xC4, 0xBC, 0x73, 0xD0, 0x3E, 0x18, 0x87, 0x83, 0xCA, 0xC6, 0x49, 0x12, 0x30, 0x98, 0x1A, 0x79,
|
||||
0x28, 0xD6, 0x84, 0x74, 0x80, 0xD8, 0xCE, 0xB1, 0x1D, 0x20, 0x81, 0xD1, 0x10, 0x99, 0xFA, 0xD1,
|
||||
0x05, 0xE9, 0x65, 0x44, 0xCB, 0xC8, 0xDB, 0x50, 0x6E, 0x47, 0xAF, 0x7E, 0x3D, 0x39, 0xAD, 0x97,
|
||||
0x69, 0x87, 0x61, 0xAE, 0x32, 0x50, 0x67, 0x1C, 0x7A, 0x26, 0x63, 0xED, 0x64, 0x09, 0xFC, 0xE2,
|
||||
0xA3, 0xAF, 0xDF, 0x86, 0xD3, 0x65, 0x4C, 0xF7, 0x23, 0xB4, 0xB5, 0x3C, 0xE7, 0x4E, 0xC5, 0xD8,
|
||||
0x24, 0xA1, 0x68, 0xCA, 0x33, 0xC1, 0xD1, 0x3A, 0x01, 0xCF, 0x75, 0x3C, 0x25, 0xD4, 0x07, 0x3A,
|
||||
0x5D, 0xEE, 0xD8, 0x46, 0xE0, 0x7A, 0xCB, 0x7D, 0x31, 0x2D, 0xD1, 0xCA, 0x8C, 0xBB, 0x94, 0xF1,
|
||||
0x65, 0x1A, 0x6B, 0x41, 0x32, 0x59, 0xCE, 0x61, 0xBB, 0x9A, 0x90, 0x6B, 0x9E, 0x44, 0x0C, 0x5F,
|
||||
0x7F, 0xB9, 0x3D, 0x0D, 0x00, 0xA2, 0x1C, 0xB2, 0x25, 0x1D, 0xB9, 0x0B, 0xA7, 0x75, 0xFB, 0x48,
|
||||
0xAC, 0x7B, 0x2D, 0x1B, 0x32, 0x9A, 0x24, 0x56, 0xCD, 0x88, 0xC5, 0x97, 0x7C, 0x66, 0xDC, 0x55,
|
||||
0x59, 0x70, 0x21, 0x8C, 0x6B, 0x7D, 0xDF, 0xD0, 0x86, 0xFE, 0x5B, 0xAC, 0x1B, 0x43, 0x14, 0x3A,
|
||||
0x36, 0x8A, 0xD9, 0x4A, 0xFB, 0x9F, 0xB3, 0xB7, 0x6F, 0x40, 0xE0, 0x3E, 0xB2, 0xAB, 0x25, 0x98,
|
||||
0xC1, 0x21, 0x6B, 0x26, 0x31, 0x04, 0x59, 0xC1, 0x2D, 0xBA, 0x36, 0x36, 0x99, 0xF9, 0x31, 0xEC,
|
||||
0x68, 0x4E, 0x2D, 0xD0, 0xD6, 0x1A, 0x8D, 0x58, 0x93, 0x00, 0xCE, 0x11, 0xE0, 0xE0, 0x00, 0xB2,
|
||||
0x76, 0x6C, 0x12, 0x9E, 0xF0, 0xE0, 0x60, 0x3B, 0x45, 0x38, 0x24, 0x5B, 0xC0, 0x76, 0xB0, 0x4F,
|
||||
0xA0, 0xE7, 0xC6, 0xBD, 0x09, 0xD3, 0x2C, 0x58, 0x5C, 0xD7, 0x7F, 0x3D, 0xF9, 0xA4, 0x9B, 0x98,
|
||||
0x97, 0xD3, 0xDA, 0x9F, 0x03, 0xB1, 0x23, 0xBD, 0xC1, 0x62, 0x94, 0x9A, 0xCF, 0x1F, 0x4F, 0xF7,
|
||||
0xAE, 0xC4, 0x30, 0x9F, 0xD9, 0x06, 0x20, 0xCA, 0x18, 0x32, 0xCD, 0xDC, 0x07, 0x0A, 0xD2, 0x72,
|
||||
0x5F, 0xB2, 0x3C, 0xF6, 0xAF, 0xC7, 0x3E, 0x44, 0x90, 0x77, 0x82, 0x09, 0xBA, 0xE2, 0x33, 0x61,
|
||||
0xBB, 0x47, 0x8A, 0xCE, 0x35, 0x41, 0x44, 0x42, 0x5E, 0x07, 0xCD, 0x33, 0xCC, 0x98, 0x14, 0x30,
|
||||
0x1C, 0x39, 0x43, 0xB0, 0x3D, 0x75, 0xD6, 0xC0, 0x71, 0x81, 0xB4, 0x06, 0x35, 0x11, 0x83, 0xD6,
|
||||
0xB4, 0xC2, 0x0A, 0xFC, 0xA6, 0xAB, 0xAA, 0x5B, 0x3B, 0xAC, 0x0D, 0xB5, 0xDD, 0x91, 0xF0, 0x6F,
|
||||
0xFA, 0xF1, 0x21, 0xF9, 0x11, 0x7D, 0x18, 0x1E, 0x71, 0xB9, 0xB9, 0x96, 0x33, 0x34, 0x76, 0xCC,
|
||||
0xB2, 0x63, 0x12, 0xBD, 0x51, 0x8F, 0x1B, 0x23, 0xFE, 0x35, 0xFC, 0xD6, 0x40, 0x8A, 0x1B, 0xFA,
|
||||
0x43, 0x93, 0xEA, 0x0D, 0x01, 0x5C, 0x78, 0x4C, 0x49, 0x85, 0x19, 0x36, 0x1A, 0x43, 0x29, 0xC3,
|
||||
0x44, 0x82, 0xEA, 0xDE, 0xF4, 0x92, 0x91, 0x60, 0xAD, 0xB3, 0xD9, 0x05, 0x96, 0xD6, 0xEA, 0xB9,
|
||||
0xCC, 0xEB, 0x4A, 0x14, 0x5E, 0x73, 0x5B, 0xB5, 0x3C, 0xFE, 0xA5, 0xF7, 0x3C, 0x0A, 0xAF, 0x51,
|
||||
0xC1, 0xCC, 0xC5, 0x13, 0x96, 0x5E, 0xAD, 0x88, 0x9F, 0x6B, 0x6D, 0xB7, 0x06, 0x71, 0x6F, 0xCD,
|
||||
0x81, 0x07, 0x44, 0xCA, 0xB5, 0x4E, 0x0D, 0x23, 0x65, 0x7C, 0xE4, 0xE8, 0xDA, 0x25, 0xBA, 0x6E,
|
||||
0x4D, 0xDA, 0xF6, 0x1A, 0x46, 0xC0, 0x83, 0x94, 0x05, 0xC3, 0x9A, 0x76, 0xB8, 0x89, 0x6B, 0xFB,
|
||||
0x68, 0xB7, 0x3A, 0x9A, 0xC2, 0xE7, 0xEA, 0x78, 0xCF, 0x16, 0xE3, 0x7B, 0x3B, 0x68, 0xE9, 0x74,
|
||||
0x4B, 0x6C, 0x10, 0x80, 0x3C, 0x40, 0x8D, 0x5B, 0xC5, 0xE6, 0xD8, 0x02, 0x1D, 0x3E, 0x25, 0xBE,
|
||||
0x9E, 0x8A, 0xAF, 0xF5, 0x38, 0x74, 0x6E, 0x7F, 0xEB, 0x70, 0xEF, 0xC1, 0xC5, 0xB5, 0xC4, 0xF8,
|
||||
0x96, 0x27, 0xC8, 0xE9, 0x0A, 0x6A, 0xBA, 0x05, 0x36, 0x05, 0x59, 0xE7, 0x61, 0x6C, 0x9D, 0x3F,
|
||||
0x14, 0x5B, 0xEF, 0x0F, 0xC1, 0x46, 0x09, 0x90, 0x22, 0xA9, 0x78, 0xFD, 0xE4, 0xF7, 0x0A, 0xAA,
|
||||
0xDB, 0x82, 0xFF, 0xD7, 0x8A, 0xA3, 0x95, 0xDA, 0x59, 0xD7, 0xF4, 0xB4, 0xB7, 0xAE, 0xD9, 0xD3,
|
||||
0xDE, 0x76, 0x4D, 0xC7, 0xA3, 0xDF, 0xB6, 0xF6, 0xD6, 0x91, 0x8F, 0x9E, 0xE9, 0x38, 0xE2, 0xD1,
|
||||
0x16, 0x8D, 0x1D, 0x78, 0xD8, 0xF4, 0xE8, 0x9B, 0x4E, 0x97, 0x7E, 0xF7, 0xA9, 0xC9, 0x05, 0x70,
|
||||
0x57, 0x3E, 0x5C, 0xD3, 0xE9, 0xD1, 0xA3, 0x47, 0x6D, 0x1D, 0xC4, 0xDA, 0xD1, 0x7E, 0xE0, 0x02,
|
||||
0xD3, 0xE4, 0x3B, 0xAC, 0x90, 0xAA, 0x90, 0x35, 0x91, 0xEF, 0xD5, 0x68, 0xA5, 0x5B, 0x17, 0x2A,
|
||||
0xC2, 0xFA, 0x0B, 0xCC, 0x90, 0xC1, 0x0F, 0x29, 0xE6, 0xA1, 0x31, 0x62, 0x68, 0x15, 0x4C, 0xD5,
|
||||
0x20, 0xE8, 0x94, 0xF8, 0x98, 0x3A, 0x18, 0x04, 0x5D, 0x71, 0x49, 0x58, 0xA9, 0x83, 0x7C, 0xE3,
|
||||
0x1C, 0xF2, 0xB9, 0xF8, 0x32, 0xAB, 0x33, 0x93, 0xE7, 0x4C, 0xAB, 0x33, 0xB0, 0xF4, 0x3C, 0x79,
|
||||
0x9B, 0xAC, 0x58, 0xFA, 0x12, 0xC2, 0xE4, 0xBA, 0x61, 0x1C, 0xD5, 0xF9, 0x88, 0xAF, 0xB5, 0x3D,
|
||||
0xB7, 0x9C, 0x01, 0x3F, 0x62, 0xCF, 0x9D, 0x81, 0x5D, 0x62, 0x45, 0x7F, 0xEB, 0xF3, 0xC9, 0x8C,
|
||||
0x62, 0x14, 0x72, 0x16, 0x48, 0x21, 0x9A, 0x60, 0x8E, 0xCE, 0x1C, 0xC3, 0x8E, 0x21, 0x38, 0x3E,
|
||||
0xF8, 0x50, 0xCB, 0x21, 0xE7, 0x04, 0x39, 0xD0, 0xC0, 0x29, 0x48, 0x17, 0xD3, 0xA8, 0xF4, 0xFF,
|
||||
0x54, 0x3F, 0x3E, 0x25, 0xDC, 0x8F, 0x34, 0x71, 0x8D, 0x91, 0x46, 0x70, 0x6C, 0xD8, 0x33, 0x00,
|
||||
0x22, 0xDD, 0x40, 0x85, 0x5F, 0xC2, 0xF7, 0x1E, 0xF0, 0xF7, 0x93, 0xC9, 0x72, 0x21, 0xFE, 0x74,
|
||||
0x4C, 0x3B, 0x9A, 0x33, 0x88, 0x03, 0x34, 0x08, 0x04, 0x40, 0x4A, 0x6A, 0x94, 0x89, 0x08, 0x43,
|
||||
0x30, 0x03, 0x31, 0x1A, 0xD5, 0xFA, 0xF0, 0x26, 0x5C, 0x4F, 0x0D, 0x11, 0x27, 0xC5, 0x48, 0xB0,
|
||||
0xCA, 0xB0, 0x6B, 0x34, 0x58, 0x66, 0xDA, 0xEB, 0xFD, 0x7F, 0xD5, 0xA5, 0x2F, 0x93, 0xC9, 0xA5,
|
||||
0xD1, 0x0C, 0xE3, 0x98, 0xA5, 0x6F, 0x3E, 0x9D, 0xBD, 0x1D, 0x71, 0x93, 0x98, 0x05, 0x1B, 0xF9,
|
||||
0x4C, 0xF5, 0x53, 0x82, 0x8F, 0x61, 0xC5, 0x75, 0x81, 0xCB, 0xE0, 0xA7, 0x78, 0xF7, 0xEF, 0xFD,
|
||||
0x14, 0x1D, 0x98, 0x59, 0xE9, 0x13, 0x1E, 0xC6, 0x35, 0x86, 0x9C, 0x3C, 0x4C, 0x9A, 0xEB, 0x91,
|
||||
0x7A, 0x97, 0x7F, 0x8F, 0x9F, 0xA9, 0xB8, 0x48, 0x00, 0x61, 0x75, 0x1B, 0x7C, 0x86, 0xF3, 0x08,
|
||||
0x97, 0x83, 0xDE, 0x0C, 0xFC, 0x8E, 0xA2, 0x8F, 0xA5, 0xFB, 0x01, 0xC1, 0x8B, 0x30, 0x36, 0x07,
|
||||
0xED, 0xAF, 0x1D, 0x43, 0xB6, 0x8B, 0xD9, 0x57, 0x9E, 0x5C, 0xE9, 0xF7, 0xAC, 0x49, 0x92, 0xD3,
|
||||
0x04, 0xFA, 0x78, 0xBD, 0x08, 0x48, 0x14, 0xE1, 0xDC, 0x90, 0xDB, 0x26, 0xA6, 0x8D, 0x26, 0xA7,
|
||||
0x87, 0x71, 0x6F, 0x20, 0xD7, 0x46, 0x2A, 0x8B, 0x0E, 0x0E, 0xEA, 0x20, 0x75, 0xB6, 0x41, 0x0E,
|
||||
0x1D, 0x19, 0x98, 0x60, 0xF0, 0x99, 0x8D, 0xEC, 0x61, 0x76, 0x94, 0xCF, 0x26, 0x38, 0x35, 0xCC,
|
||||
0x1A, 0x0D, 0x43, 0xB7, 0x1C, 0xE0, 0xBA, 0xC0, 0x5E, 0x97, 0xFD, 0x5F, 0xB3, 0x6F, 0x4D, 0x2C,
|
||||
0xCF, 0x18, 0x80, 0x8B, 0x58, 0xF9, 0xE9, 0xA3, 0x4C, 0x3D, 0xC1, 0xB8, 0xA8, 0x16, 0x45, 0x31,
|
||||
0x34, 0x5B, 0x8C, 0x8B, 0x76, 0xAC, 0xC1, 0xFF, 0x4A, 0x0B, 0xE3, 0x98, 0x2E, 0x58, 0x08, 0xD3,
|
||||
0x75, 0xD0, 0xCE, 0xB8, 0xF8, 0xDE, 0x11, 0x8F, 0x2E, 0xB5, 0x39, 0x68, 0x1B, 0xDE, 0x3A, 0xAE,
|
||||
0xFC, 0xED, 0x68, 0x08, 0xE6, 0x3C, 0xC2, 0x5A, 0xE0, 0xA5, 0x5D, 0xED, 0xC6, 0x11, 0x3E, 0xF6,
|
||||
0x16, 0x9F, 0x35, 0xED, 0xC6, 0x85, 0x07, 0x58, 0xD5, 0x5B, 0x97, 0xFC, 0xDB, 0x1A, 0x06, 0xF1,
|
||||
0x69, 0x49, 0xF2, 0x9D, 0x5A, 0x6E, 0x72, 0xC4, 0xCE, 0x7C, 0x7A, 0xB5, 0x1E, 0x9A, 0x08, 0x39,
|
||||
0xFA, 0x4D, 0x2F, 0xAE, 0x42, 0x2E, 0x6E, 0x68, 0xDB, 0xE5, 0x09, 0xCC, 0x6F, 0x3A, 0x4A, 0x3B,
|
||||
0xD9, 0x23, 0x85, 0x83, 0xB8, 0x41, 0x8D, 0x5A, 0x71, 0x2A, 0x23, 0x0E, 0x65, 0x2A, 0x79, 0x99,
|
||||
0x72, 0x06, 0x53, 0x5B, 0x1F, 0x69, 0xEA, 0x74, 0xC5, 0xB5, 0x89, 0x7F, 0x3A, 0xDC, 0xBC, 0xFC,
|
||||
0x01, 0x7B, 0xB4, 0x06, 0x70, 0x70, 0xA0, 0x40, 0x6C, 0x76, 0xFF, 0xFC, 0x89, 0x62, 0xE0, 0x18,
|
||||
0x26, 0x6D, 0xA0, 0x4C, 0xD0, 0xF0, 0x80, 0xE7, 0xD3, 0x2B, 0x5C, 0x21, 0xC6, 0x84, 0x8D, 0xD1,
|
||||
0xDA, 0x7E, 0x4B, 0x58, 0xEA, 0x55, 0xBA, 0x66, 0x7E, 0xF6, 0x7E, 0x15, 0x7F, 0x48, 0x21, 0xB6,
|
||||
0x4D, 0xF9, 0x6D, 0x5D, 0xA7, 0x72, 0x95, 0xF1, 0xBC, 0x0E, 0x82, 0x65, 0x8B, 0x21, 0x38, 0x42,
|
||||
0x5D, 0x00, 0x42, 0x34, 0x24, 0x26, 0x63, 0x90, 0x83, 0x48, 0xCC, 0xF2, 0x33, 0x17, 0x1E, 0xFB,
|
||||
0xAF, 0x35, 0x95, 0x29, 0xBF, 0xC9, 0xCA, 0xE7, 0x6F, 0xBA, 0xA2, 0xA8, 0xAF, 0x18, 0x9E, 0xB1,
|
||||
0xD4, 0x6B, 0xFA, 0x06, 0x7F, 0xF5, 0x9A, 0x21, 0x42, 0x3E, 0x25, 0x68, 0x6B, 0x14, 0xEB, 0xC5,
|
||||
0x49, 0x85, 0xAE, 0xE1, 0x2F, 0x90, 0x62, 0xBD, 0x54, 0x0B, 0x1F, 0x34, 0xC2, 0x5F, 0xD7, 0x08,
|
||||
0x5F, 0x6A, 0xC4, 0x68, 0x5D, 0x23, 0xFC, 0x3F, 0x48, 0x23, 0x14, 0x6D, 0xE8, 0x0B, 0x97, 0xDA,
|
||||
0x47, 0xE7, 0x08, 0x8E, 0x15, 0x7C, 0xA8, 0xFC, 0xD5, 0x46, 0x37, 0xD9, 0x42, 0xE9, 0x6F, 0xA1,
|
||||
0xBE, 0xB4, 0x49, 0x69, 0x5C, 0x02, 0xC5, 0x07, 0x3A, 0x57, 0x54, 0x21, 0x8F, 0xC6, 0xB7, 0xE9,
|
||||
0xB7, 0x2B, 0x34, 0x08, 0xFA, 0x1F, 0xE7, 0x5B, 0x0B, 0x41, 0xAF, 0x4A, 0xBA, 0x56, 0x48, 0x64,
|
||||
0x11, 0x83, 0x6C, 0x5E, 0xF9, 0x56, 0x2D, 0xA8, 0xE2, 0x98, 0x95, 0xCD, 0xF1, 0xCB, 0xCD, 0x11,
|
||||
0x01, 0xF9, 0x46, 0x47, 0x21, 0x86, 0xD5, 0x97, 0x52, 0xEC, 0xFC, 0x5D, 0x62, 0x67, 0xAA, 0x52,
|
||||
0xF7, 0x74, 0x19, 0xDA, 0x4D, 0xE9, 0x13, 0xC5, 0x48, 0x38, 0xB3, 0xBC, 0x78, 0xAB, 0x7A, 0xB3,
|
||||
0xE4, 0xB9, 0x0E, 0x79, 0x36, 0x56, 0x73, 0x73, 0x97, 0x87, 0x87, 0xA0, 0x2A, 0x44, 0xFC, 0x5C,
|
||||
0xC7, 0x33, 0x1F, 0xAD, 0xA2, 0xE1, 0x5A, 0x98, 0x81, 0xDF, 0xCD, 0x32, 0xB5, 0x5E, 0x27, 0x6A,
|
||||
0x0B, 0x5A, 0xC8, 0x01, 0x61, 0x6E, 0x6C, 0x20, 0xEB, 0x92, 0xCB, 0xD4, 0x6A, 0x6B, 0xE5, 0x9A,
|
||||
0xDA, 0xF1, 0xAF, 0x89, 0xC6, 0x13, 0x4D, 0x5C, 0xC4, 0x0D, 0xCB, 0x9B, 0x40, 0xFE, 0x71, 0x4E,
|
||||
0x4A, 0x59, 0x19, 0xAE, 0x3A, 0x60, 0xD1, 0x4B, 0x75, 0xF3, 0x0A, 0xA5, 0x32, 0xA9, 0x54, 0x8A,
|
||||
0x01, 0x42, 0x15, 0x31, 0x0C, 0xC3, 0x53, 0xE7, 0x74, 0x5E, 0xD7, 0x5F, 0x8A, 0x17, 0x2D, 0xC0,
|
||||
0x2E, 0x84, 0x49, 0xA6, 0x28, 0x75, 0x22, 0xFA, 0x00, 0x8D, 0xA9, 0x04, 0x67, 0x04, 0x04, 0x9C,
|
||||
0x61, 0x1B, 0x38, 0xF3, 0xE8, 0x6E, 0x1F, 0x5A, 0x80, 0x01, 0x79, 0x4B, 0xD2, 0xDB, 0x3D, 0xB8,
|
||||
0x01, 0xA6, 0x8A, 0x5E, 0x39, 0x5E, 0x91, 0xC9, 0xF1, 0x22, 0x05, 0xA7, 0x0A, 0x19, 0xF0, 0xAB,
|
||||
0x1C, 0x1D, 0xD5, 0x62, 0x21, 0x02, 0x81, 0x8D, 0x8D, 0x97, 0x51, 0x04, 0xD6, 0x74, 0x0D, 0xF5,
|
||||
0x24, 0xC7, 0x81, 0x22, 0x0A, 0xA6, 0x61, 0x0E, 0x01, 0x61, 0x39, 0x43, 0x98, 0xBD, 0x0D, 0xE7,
|
||||
0xA0, 0x60, 0xC1, 0x49, 0x7C, 0x1D, 0xA6, 0x49, 0x8C, 0x35, 0x91, 0x62, 0xB2, 0xAF, 0x3A, 0x88,
|
||||
0x20, 0x34, 0x64, 0x5E, 0xF3, 0x92, 0x0A, 0x38, 0x78, 0xBF, 0x0A, 0xE6, 0x82, 0x85, 0xC6, 0x0C,
|
||||
0xFF, 0x14, 0x2F, 0xE4, 0xB7, 0x74, 0x78, 0xDA, 0xC4, 0xA0, 0x75, 0xB1, 0x28, 0x00, 0x9A, 0xFE,
|
||||
0x77, 0x7F, 0xEE, 0x87, 0x58, 0xAF, 0x88, 0x13, 0x2C, 0xB5, 0x82, 0x9D, 0x12, 0x3D, 0x78, 0x4B,
|
||||
0x93, 0x20, 0xC3, 0xC5, 0x2C, 0x01, 0x24, 0x2C, 0x8A, 0x94, 0x9E, 0x10, 0xAF, 0x60, 0x67, 0x4D,
|
||||
0x3A, 0xF7, 0x90, 0x2D, 0xE3, 0x24, 0xF9, 0xAE, 0x36, 0xF8, 0x61, 0x8A, 0xD5, 0x33, 0x08, 0x0D,
|
||||
0x65, 0x03, 0x9F, 0x81, 0xD2, 0x07, 0xE1, 0x74, 0xCA, 0x30, 0x8E, 0x10, 0xED, 0x72, 0x7E, 0x16,
|
||||
0x5C, 0x42, 0xD0, 0xC1, 0x30, 0xA4, 0x6E, 0xCE, 0xB3, 0x29, 0x8F, 0x27, 0x59, 0x28, 0x67, 0x9B,
|
||||
0x87, 0x93, 0x34, 0xC9, 0x92, 0x29, 0xA7, 0xEF, 0x6F, 0x18, 0xE9, 0xEA, 0x2F, 0x3E, 0x80, 0x33,
|
||||
0xCA, 0x6B, 0x61, 0x86, 0x08, 0x62, 0x9E, 0x39, 0x85, 0xD9, 0xE5, 0x60, 0x76, 0x21, 0x8A, 0xCE,
|
||||
0x0D, 0x2E, 0x07, 0x83, 0x0B, 0xA3, 0x2C, 0xE7, 0xD9, 0xA8, 0xA8, 0x2B, 0x45, 0x89, 0x28, 0xD9,
|
||||
0x35, 0x67, 0x49, 0xC6, 0x9B, 0xA1, 0x8C, 0xF6, 0xD8, 0x57, 0xFE, 0xCD, 0xC8, 0xF1, 0xD9, 0xC3,
|
||||
0x1C, 0xF1, 0x5A, 0xCD, 0x49, 0xEE, 0x17, 0x05, 0x50, 0x38, 0x5D, 0xBC, 0xA5, 0x1A, 0x64, 0x86,
|
||||
0x23, 0xFD, 0x90, 0xF4, 0xFF, 0xB9, 0xF8, 0xC3, 0x23, 0x2C, 0xCE, 0x0C, 0xB7, 0xAB, 0x2A, 0x4A,
|
||||
0x21, 0xED, 0x52, 0x7C, 0x89, 0x27, 0xF3, 0x10, 0x0F, 0x42, 0x24, 0x8F, 0x63, 0x45, 0xF1, 0x5E,
|
||||
0x29, 0xEA, 0x70, 0x43, 0x74, 0x8A, 0xAA, 0xA6, 0xD2, 0xA1, 0x46, 0xB4, 0x66, 0xFC, 0x70, 0x21,
|
||||
0x2A, 0xAE, 0x14, 0xA2, 0xEA, 0x54, 0x89, 0x8A, 0x65, 0x9A, 0xF0, 0x7C, 0x4B, 0xBE, 0xF1, 0xDF,
|
||||
0xE7, 0xEF, 0xDF, 0x41, 0xF0, 0x91, 0x42, 0x92, 0x12, 0x57, 0x0B, 0x52, 0xC6, 0xA0, 0x65, 0x3B,
|
||||
0xCA, 0x60, 0xBC, 0x3E, 0x34, 0xA8, 0x4F, 0x44, 0xFD, 0x10, 0xD8, 0x7C, 0x59, 0xCF, 0xBB, 0x0C,
|
||||
0xF3, 0xF5, 0x97, 0x13, 0xAC, 0x6C, 0x82, 0x58, 0x1B, 0xF7, 0x48, 0x65, 0x59, 0xC7, 0x0A, 0xA9,
|
||||
0x22, 0x15, 0xCB, 0x8A, 0x54, 0x95, 0xDF, 0xE2, 0x1C, 0x44, 0x0A, 0x7A, 0x69, 0x61, 0xF2, 0x73,
|
||||
0x18, 0x43, 0x98, 0x59, 0x94, 0x0B, 0x1B, 0x23, 0x94, 0xBC, 0xC0, 0x27, 0x20, 0xAB, 0x87, 0xCA,
|
||||
0x45, 0x51, 0x4B, 0x9C, 0xB0, 0xE4, 0x0C, 0x97, 0x86, 0x29, 0xBD, 0x04, 0x00, 0x51, 0xE2, 0x2C,
|
||||
0x8F, 0x3A, 0xE4, 0xB1, 0x47, 0xC4, 0xF4, 0xA1, 0x10, 0x2D, 0xDC, 0xEB, 0xD7, 0x49, 0x3A, 0x7F,
|
||||
0xE5, 0x73, 0x7F, 0xC8, 0x51, 0x45, 0x90, 0x66, 0x61, 0xD6, 0xD4, 0x54, 0xA1, 0x8C, 0x02, 0x62,
|
||||
0x10, 0xC7, 0xB8, 0x14, 0xC7, 0x18, 0xC4, 0x51, 0x66, 0x1D, 0xEC, 0x6B, 0xFC, 0x0D, 0x9C, 0x8D,
|
||||
0x9A, 0x6C, 0x86, 0xD2, 0x59, 0x9C, 0xEB, 0x25, 0xF2, 0xC4, 0x0C, 0x45, 0x64, 0x60, 0x96, 0xF3,
|
||||
0x95, 0xE7, 0x4E, 0xC0, 0xBC, 0x4D, 0x04, 0xC6, 0x7D, 0xBD, 0x52, 0x0F, 0xDF, 0x22, 0xA2, 0x86,
|
||||
0xDC, 0x80, 0x0F, 0xEF, 0xCF, 0xA9, 0x92, 0x48, 0xF8, 0x74, 0xDA, 0x88, 0xCA, 0xD0, 0xA6, 0x7C,
|
||||
0x80, 0x93, 0x3E, 0xB9, 0x86, 0x59, 0xDE, 0x82, 0x65, 0x67, 0x20, 0xBB, 0xC8, 0x31, 0x71, 0x70,
|
||||
0xA4, 0x9B, 0x65, 0x56, 0x41, 0x35, 0xD8, 0x7C, 0xAD, 0xA0, 0x2A, 0x8B, 0x25, 0x15, 0xBF, 0xF2,
|
||||
0x7C, 0x15, 0x45, 0xC2, 0x0F, 0x58, 0x70, 0x28, 0x53, 0xCC, 0xFF, 0x82, 0xCC, 0x6F, 0xA8, 0xF2,
|
||||
0x5F, 0x6C, 0x50, 0xEE, 0x2C, 0x1E, 0xDA, 0x3E, 0x0D, 0xF7, 0xAF, 0x81, 0x59, 0xF4, 0x6B, 0xFC,
|
||||
0xA3, 0xAD, 0xBA, 0x6D, 0x60, 0x16, 0x78, 0x7F, 0x6F, 0x52, 0x54, 0x5A, 0x56, 0xCE, 0x9D, 0xB5,
|
||||
0x25, 0x25, 0x31, 0x35, 0x2B, 0x4A, 0x41, 0x2A, 0x30, 0xAA, 0x42, 0x49, 0x91, 0xAE, 0x3F, 0x82,
|
||||
0x96, 0x87, 0x84, 0x48, 0x1E, 0x98, 0x99, 0xDB, 0xE4, 0x37, 0x2F, 0xB4, 0x9A, 0xFB, 0x15, 0xAF,
|
||||
0x4A, 0x5B, 0x55, 0x09, 0x8D, 0x81, 0x68, 0x96, 0xFA, 0x75, 0xBF, 0xB6, 0x5C, 0x52, 0x2B, 0x6E,
|
||||
0x28, 0x95, 0x5C, 0xF5, 0xFE, 0xCD, 0x1D, 0xE8, 0xAF, 0xA0, 0x6B, 0xF7, 0x1D, 0x1C, 0xA3, 0x29,
|
||||
0xEF, 0xDE, 0x80, 0xB5, 0x90, 0xF5, 0x62, 0xE5, 0xA6, 0x0C, 0xAC, 0x98, 0xC0, 0x3E, 0x25, 0x8B,
|
||||
0xD1, 0xEE, 0xDE, 0x37, 0x14, 0xC3, 0x2A, 0xDA, 0x0D, 0x71, 0xDF, 0xBB, 0xE5, 0x7C, 0x0C, 0xA2,
|
||||
0x44, 0xB6, 0xB4, 0xD4, 0x17, 0x14, 0x0E, 0x19, 0x1C, 0x83, 0xB3, 0x94, 0xC2, 0x74, 0xC4, 0x87,
|
||||
0x06, 0x98, 0x51, 0x5B, 0x6F, 0xC4, 0x79, 0x89, 0x35, 0x2E, 0x71, 0x41, 0xFA, 0xF3, 0xE1, 0x25,
|
||||
0x06, 0x44, 0x85, 0xA9, 0x40, 0x89, 0x07, 0x25, 0x65, 0x45, 0x3D, 0x16, 0x0F, 0x13, 0x5E, 0x83,
|
||||
0xE7, 0xFD, 0x07, 0xC3, 0x70, 0xA3, 0xA1, 0x5B, 0x7A, 0x43, 0xA1, 0x00, 0x7B, 0xCF, 0x80, 0xE2,
|
||||
0x19, 0x74, 0x41, 0x90, 0xBB, 0xB5, 0x1F, 0xD1, 0xD5, 0x8D, 0x1D, 0x9D, 0x6F, 0x92, 0x65, 0x9A,
|
||||
0xED, 0xEC, 0x3D, 0x0B, 0xE3, 0x25, 0x67, 0xBB, 0xFB, 0xCF, 0x19, 0xB0, 0x2B, 0x10, 0xFD, 0xE5,
|
||||
0xAA, 0xDE, 0x84, 0x01, 0x7B, 0x01, 0x7B, 0x04, 0xFA, 0x53, 0x9C, 0x26, 0xD9, 0x9B, 0xA7, 0x49,
|
||||
0x07, 0x07, 0xC5, 0x31, 0x58, 0x73, 0x12, 0x25, 0x58, 0x4A, 0x32, 0x0B, 0x57, 0x47, 0x7F, 0x21,
|
||||
0x35, 0xAA, 0x7E, 0x36, 0xF4, 0x3A, 0x08, 0x9B, 0x8C, 0x0E, 0x58, 0x60, 0xEC, 0x8A, 0x22, 0x99,
|
||||
0x6C, 0x57, 0xEE, 0x1A, 0x19, 0x6B, 0xA7, 0x40, 0xE2, 0xD0, 0x27, 0x87, 0xCB, 0x8F, 0xE5, 0xF7,
|
||||
0x42, 0xE5, 0x17, 0xEF, 0xB6, 0x03, 0x95, 0xAB, 0x2F, 0xFC, 0xC5, 0x5D, 0xCE, 0x07, 0xFD, 0xB5,
|
||||
0x0F, 0xBA, 0x11, 0x60, 0x00, 0x5A, 0x9E, 0xBC, 0xE1, 0xDF, 0x75, 0x41, 0xC2, 0xF3, 0xFA, 0xCB,
|
||||
0x33, 0xB5, 0x16, 0xF7, 0xFA, 0xCB, 0xFB, 0xEF, 0xF5, 0xDC, 0x0D, 0xEC, 0x72, 0xB9, 0x2C, 0x78,
|
||||
0x90, 0x26, 0x79, 0x98, 0x55, 0x1E, 0x10, 0x16, 0x1A, 0xB0, 0x8F, 0x29, 0x62, 0x94, 0x51, 0x1E,
|
||||
0x32, 0x96, 0xA3, 0x76, 0xB2, 0x48, 0x8E, 0x29, 0x97, 0x70, 0x0A, 0xDA, 0xF8, 0xF9, 0xB4, 0xBE,
|
||||
0x27, 0xCA, 0x60, 0xA3, 0xDD, 0x27, 0x40, 0xFA, 0x57, 0x88, 0xD1, 0x7B, 0xB6, 0xFD, 0x0D, 0xB3,
|
||||
0x07, 0xE8, 0x51, 0x34, 0xC4, 0x18, 0xEE, 0x38, 0xC0, 0xDC, 0x3C, 0x25, 0x7D, 0x28, 0x98, 0x00,
|
||||
0x6B, 0xBF, 0x16, 0x4F, 0xE4, 0xFA, 0x27, 0xAA, 0x92, 0x95, 0xD0, 0x22, 0xF7, 0x02, 0xBB, 0xC3,
|
||||
0x89, 0xE1, 0x75, 0x12, 0x06, 0x1A, 0x9A, 0x62, 0xDE, 0x7C, 0xFD, 0xE5, 0xEF, 0x2C, 0xCD, 0x60,
|
||||
0x9A, 0x9F, 0x3F, 0x95, 0xD6, 0x37, 0x10, 0xB0, 0x89, 0xE2, 0x83, 0xD2, 0xF8, 0x85, 0x8D, 0xC5,
|
||||
0x79, 0xD9, 0x7A, 0xEB, 0x39, 0xE9, 0x09, 0xC6, 0xA1, 0xDB, 0x7B, 0x4E, 0x3F, 0xAC, 0xB7, 0xBF,
|
||||
0x54, 0x19, 0x52, 0xE9, 0x2C, 0xEF, 0xD0, 0x55, 0x9A, 0x5F, 0x54, 0x78, 0xF6, 0x1C, 0x16, 0x6E,
|
||||
0x0F, 0x8A, 0xBD, 0xCE, 0xAF, 0xC4, 0x56, 0x84, 0xEF, 0x1A, 0x5D, 0x56, 0xB1, 0x3A, 0x53, 0x7F,
|
||||
0x87, 0x62, 0xFF, 0xAC, 0x32, 0x03, 0x88, 0x8B, 0x7A, 0x24, 0x0D, 0x3E, 0x19, 0x12, 0x89, 0x0C,
|
||||
0xAD, 0x72, 0x40, 0x90, 0xC5, 0x82, 0x01, 0x50, 0x39, 0xC8, 0x06, 0xB8, 0xE2, 0x88, 0x18, 0x80,
|
||||
0xC2, 0xD7, 0xE1, 0x19, 0xBC, 0xAE, 0x9F, 0x67, 0xAF, 0x71, 0xA6, 0x7A, 0xBA, 0x5D, 0x61, 0x8E,
|
||||
0xA9, 0x9F, 0x83, 0x9C, 0xCC, 0x20, 0xDD, 0x48, 0x20, 0x5C, 0x7F, 0xB6, 0x85, 0x43, 0x30, 0xFF,
|
||||
0xAE, 0xC3, 0x70, 0x20, 0x66, 0x7B, 0xD2, 0xF2, 0x5C, 0x70, 0x27, 0xBF, 0xBB, 0x5B, 0xE1, 0xCD,
|
||||
0x29, 0xD7, 0x32, 0xC6, 0xE6, 0x99, 0x76, 0x9B, 0x2C, 0x35, 0xBC, 0xBB, 0x13, 0xC6, 0x5A, 0x24,
|
||||
0x70, 0x68, 0xAC, 0x44, 0x62, 0xE2, 0x2D, 0x84, 0x3C, 0x85, 0xC5, 0x38, 0x46, 0xF3, 0xB5, 0x71,
|
||||
0x9A, 0xAC, 0x32, 0x96, 0x6A, 0x4B, 0xCC, 0x6F, 0x8F, 0x7E, 0x81, 0x14, 0xBA, 0xA1, 0xAE, 0x0C,
|
||||
0x72, 0x6D, 0x18, 0x03, 0x96, 0x03, 0x14, 0x41, 0xF3, 0xA3, 0x48, 0x9B, 0x42, 0xBA, 0xB5, 0x04,
|
||||
0xE9, 0xD3, 0x56, 0x49, 0xFA, 0x1D, 0x2F, 0x0C, 0x0D, 0xF6, 0xD0, 0xA5, 0x9B, 0xC2, 0xA0, 0x98,
|
||||
0x64, 0x72, 0x05, 0x7F, 0x36, 0xAD, 0x6C, 0x29, 0x9E, 0x15, 0x83, 0xB1, 0xF3, 0xE8, 0x60, 0x6D,
|
||||
0x57, 0xD7, 0x44, 0xA9, 0xBE, 0xAE, 0x8E, 0xB6, 0x34, 0x56, 0xE5, 0xC5, 0xFC, 0x7D, 0x01, 0xAB,
|
||||
0x31, 0x78, 0x0C, 0xB4, 0x8C, 0x4C, 0x8C, 0x7B, 0x16, 0x01, 0x2B, 0xB7, 0x05, 0xF3, 0x28, 0x57,
|
||||
0xE6, 0xD6, 0x88, 0xDE, 0x18, 0x82, 0xFC, 0x15, 0x56, 0xFA, 0x7E, 0x2D, 0xA8, 0x67, 0x3B, 0x82,
|
||||
0xFA, 0x1D, 0x07, 0xDD, 0x22, 0x72, 0x5C, 0x3F, 0x99, 0x1F, 0xD5, 0xD7, 0xBE, 0xAB, 0x9F, 0x90,
|
||||
0x14, 0xC6, 0xC0, 0x1D, 0x18, 0x67, 0xC8, 0x7A, 0x3A, 0x5E, 0x75, 0x37, 0x94, 0x54, 0x90, 0x4E,
|
||||
0x48, 0x30, 0x00, 0x5F, 0x1B, 0xA8, 0x44, 0xE3, 0xBC, 0xB1, 0x86, 0x15, 0xC2, 0xF2, 0xE1, 0xB6,
|
||||
0x38, 0x46, 0xAD, 0x66, 0xA8, 0x11, 0x94, 0x12, 0x58, 0x55, 0xC4, 0xE3, 0xEE, 0x51, 0x9E, 0xBA,
|
||||
0x5E, 0x34, 0x8D, 0xB6, 0xAB, 0xD2, 0x73, 0xB4, 0xFC, 0x85, 0x56, 0xD6, 0xF5, 0x15, 0xFE, 0x1D,
|
||||
0xD5, 0xBA, 0x70, 0x0F, 0xD4, 0x06, 0x54, 0xEB, 0x86, 0x7E, 0xB8, 0x82, 0xD0, 0xFC, 0xAB, 0xEE,
|
||||
0xA7, 0xC1, 0x32, 0x8C, 0x13, 0xFD, 0x9B, 0x31, 0xF8, 0x5D, 0x88, 0x2A, 0x28, 0x8C, 0xE6, 0x38,
|
||||
0x8C, 0xFD, 0xF4, 0xF6, 0x13, 0x5D, 0xED, 0xF1, 0xD3, 0xD4, 0xBF, 0x1D, 0x2F, 0x31, 0xA5, 0xD7,
|
||||
0xCD, 0x72, 0x65, 0x60, 0x2E, 0x40, 0x0C, 0x46, 0x6A, 0x56, 0xA0, 0xCA, 0x8F, 0xFE, 0xE5, 0x5C,
|
||||
0xB8, 0xC6, 0xF5, 0x3B, 0x31, 0xF6, 0x7D, 0x05, 0x09, 0x31, 0xA8, 0x82, 0x65, 0xEB, 0x3D, 0x9A,
|
||||
0x0A, 0xEA, 0xFF, 0x23, 0xDC, 0x32, 0x58, 0xFA, 0xF9, 0x33, 0x63, 0x1C, 0x5D, 0x1E, 0x6C, 0x6B,
|
||||
0x5D, 0xD9, 0x19, 0xD3, 0x63, 0x9E, 0x51, 0x9D, 0x8B, 0xEE, 0xDC, 0xEC, 0xA5, 0x18, 0xEB, 0x3D,
|
||||
0x95, 0x21, 0xF9, 0xAD, 0x1D, 0x75, 0x50, 0x2E, 0x73, 0x43, 0xCA, 0x82, 0x40, 0xB0, 0x7D, 0x30,
|
||||
0x60, 0x30, 0x73, 0x3C, 0x61, 0xC9, 0x54, 0x7B, 0x81, 0xEC, 0xFA, 0x85, 0xD8, 0xA5, 0x86, 0xBB,
|
||||
0xB8, 0x2B, 0x9F, 0xC3, 0x98, 0xF7, 0xA8, 0x5F, 0x8E, 0x03, 0xE3, 0x09, 0x62, 0x1B, 0x1E, 0xE5,
|
||||
0xE1, 0xEF, 0x30, 0x14, 0x92, 0x2A, 0xE2, 0xE2, 0xE6, 0x34, 0x4D, 0xE6, 0x2F, 0x67, 0x7E, 0xFA,
|
||||
0x12, 0xEC, 0x7B, 0x3D, 0xFE, 0x1A, 0x7E, 0x33, 0x4C, 0x07, 0xF2, 0x5F, 0x7C, 0x3B, 0x38, 0x70,
|
||||
0x3C, 0xF1, 0xF6, 0xF3, 0x67, 0x7D, 0xBB, 0xB2, 0xD1, 0x4D, 0xA0, 0xC6, 0x88, 0x43, 0x92, 0x34,
|
||||
0xCA, 0x6F, 0x05, 0x19, 0xC3, 0xBC, 0x95, 0x4C, 0xC1, 0x9D, 0x38, 0xD7, 0xA9, 0x63, 0xCE, 0x46,
|
||||
0xF4, 0xE4, 0x57, 0x3A, 0x06, 0x00, 0xE9, 0x1E, 0x8D, 0x12, 0x49, 0x17, 0x38, 0x80, 0xFC, 0x90,
|
||||
0xEB, 0xF4, 0x95, 0x3E, 0x1A, 0x25, 0x5F, 0x6D, 0xA0, 0xA0, 0x9E, 0xDF, 0x83, 0x4A, 0xBE, 0x3A,
|
||||
0xDF, 0xAA, 0x3B, 0x74, 0xFA, 0x4A, 0xC3, 0xE8, 0x97, 0xBA, 0x0D, 0xB0, 0x80, 0xE2, 0x3F, 0x15,
|
||||
0xA5, 0x8C, 0x95, 0x7D, 0xCF, 0x68, 0xEC, 0xC1, 0x41, 0x11, 0xFB, 0x6D, 0xB8, 0x06, 0x19, 0xBF,
|
||||
0x6A, 0xC8, 0x0B, 0xCD, 0x8F, 0x13, 0x30, 0x96, 0xA9, 0x96, 0x57, 0x76, 0x4C, 0x04, 0x4B, 0x09,
|
||||
0x2E, 0x4E, 0x56, 0x9A, 0x1A, 0xEE, 0xA2, 0xDD, 0x3D, 0xF9, 0xF8, 0xF1, 0xFD, 0xC7, 0x92, 0xDC,
|
||||
0xCD, 0xBB, 0x58, 0xC9, 0x57, 0xF7, 0xDB, 0xFA, 0x6D, 0xAC, 0x8D, 0xC5, 0x20, 0x50, 0x43, 0xD7,
|
||||
0xB0, 0x13, 0xD4, 0x06, 0xBB, 0x0D, 0xB3, 0x92, 0x89, 0xAD, 0x25, 0x62, 0xFE, 0x18, 0xCF, 0xE0,
|
||||
0xB0, 0xFE, 0xA1, 0x98, 0x8C, 0xCA, 0x80, 0x3B, 0x2C, 0x62, 0x54, 0x66, 0x05, 0x37, 0x10, 0x31,
|
||||
0x18, 0x25, 0x2F, 0x80, 0x6A, 0x53, 0x0A, 0x81, 0xEB, 0x10, 0xEA, 0x55, 0xC0, 0x1A, 0x60, 0xEF,
|
||||
0x35, 0xB5, 0x51, 0x2E, 0xC4, 0xD8, 0xB8, 0x52, 0x66, 0x0C, 0xB6, 0x21, 0x84, 0xE0, 0xD9, 0x04,
|
||||
0xDB, 0x5F, 0x26, 0xCD, 0xFF, 0xBA, 0xBC, 0x77, 0xA7, 0x7B, 0x34, 0x06, 0x45, 0x9D, 0x2E, 0x65,
|
||||
0x38, 0x9D, 0xEA, 0x46, 0xD4, 0x5B, 0xB2, 0xE8, 0x3A, 0x36, 0x8A, 0xBA, 0x6B, 0xD7, 0x7F, 0xB5,
|
||||
0xE7, 0x80, 0xB0, 0x5A, 0x46, 0x5A, 0x3D, 0xB2, 0x88, 0x84, 0xD7, 0x73, 0x1F, 0xB1, 0x3A, 0x05,
|
||||
0xDD, 0x43, 0xB0, 0x78, 0xAF, 0x76, 0x9F, 0xEF, 0xAE, 0x80, 0x55, 0xC2, 0x90, 0x1D, 0x09, 0xCD,
|
||||
0x87, 0xF2, 0xF6, 0xED, 0xE3, 0xD2, 0xAC, 0x27, 0x66, 0x76, 0xE2, 0xDE, 0xF0, 0xDE, 0xFA, 0x58,
|
||||
0xE9, 0x73, 0xD5, 0x1A, 0x99, 0xF9, 0x60, 0xF9, 0x4B, 0x07, 0x17, 0xF4, 0xB4, 0xB2, 0x97, 0xA8,
|
||||
0x7A, 0x95, 0xE3, 0x8C, 0xFB, 0xCA, 0x2D, 0xC9, 0x27, 0x97, 0xBE, 0x44, 0xF8, 0x0C, 0xEB, 0xFB,
|
||||
0xB7, 0x56, 0xBF, 0x88, 0xBF, 0xD5, 0xFA, 0xD7, 0xC6, 0xFE, 0x3F, 0xAE, 0xF2, 0xF5, 0x50, 0xB1,
|
||||
0x2B, 0xCF, 0xCB, 0xB6, 0xD6, 0xBB, 0xD6, 0xA4, 0x7E, 0xAB, 0xBA, 0x6F, 0xD0, 0x55, 0x5E, 0x04,
|
||||
0x6F, 0x2A, 0x25, 0xD5, 0xFC, 0xCA, 0xF7, 0x23, 0x24, 0xFD, 0x91, 0x3A, 0x56, 0x01, 0xCB, 0xFF,
|
||||
0x80, 0x61, 0x71, 0xB3, 0x4D, 0x05, 0x0B, 0xF3, 0xF2, 0x74, 0xED, 0xDC, 0x84, 0x55, 0xA6, 0x92,
|
||||
0x37, 0x40, 0x1F, 0x57, 0x99, 0xA3, 0xE3, 0x0A, 0x87, 0x8E, 0xCE, 0xF3, 0x7B, 0x9E, 0x7A, 0xAB,
|
||||
0xFA, 0xA9, 0xF6, 0xFE, 0xFC, 0x59, 0xF5, 0x1E, 0xBA, 0xAB, 0x97, 0x57, 0x44, 0x8D, 0xAA, 0xD9,
|
||||
0x9E, 0x60, 0x50, 0x21, 0x0C, 0xF7, 0x90, 0x62, 0x77, 0x9C, 0xCA, 0x53, 0xE1, 0x85, 0xD4, 0x91,
|
||||
0x02, 0x56, 0x85, 0x0C, 0xEF, 0xDC, 0xB4, 0x6C, 0xF0, 0xFD, 0x10, 0x1E, 0xD1, 0x1F, 0xF3, 0x03,
|
||||
0xAF, 0xEA, 0x8A, 0x7C, 0xC4, 0x8D, 0x91, 0x63, 0x6E, 0x93, 0xCB, 0x78, 0x63, 0x63, 0x4B, 0x19,
|
||||
0x68, 0x39, 0x56, 0x6C, 0xB6, 0xEC, 0x23, 0x4C, 0x09, 0x27, 0x60, 0x8D, 0xD2, 0x02, 0x33, 0xC7,
|
||||
0x80, 0x6C, 0xCD, 0x8E, 0x43, 0x2C, 0xE5, 0x60, 0x10, 0x46, 0x94, 0x57, 0x8B, 0x97, 0x5B, 0x9A,
|
||||
0x76, 0xD5, 0x33, 0x4B, 0x6F, 0x80, 0xA9, 0xCA, 0x9D, 0x92, 0xEF, 0xD0, 0x5F, 0x0C, 0xEC, 0x28,
|
||||
0xB1, 0x28, 0xE7, 0x0B, 0x78, 0xE3, 0xFC, 0xE1, 0x61, 0x64, 0x08, 0x87, 0xAA, 0xEB, 0x88, 0x4A,
|
||||
0xDD, 0x90, 0x47, 0x75, 0xC0, 0x4D, 0xD9, 0xB5, 0xD8, 0xE8, 0xC2, 0x1B, 0xB0, 0x84, 0xFE, 0xF9,
|
||||
0xE7, 0xF3, 0x93, 0x8F, 0x6A, 0x95, 0x06, 0x6D, 0x04, 0x20, 0x8F, 0x31, 0x83, 0x69, 0xE8, 0x07,
|
||||
0x1F, 0x5E, 0x9C, 0x9F, 0x7F, 0x79, 0xFF, 0xF1, 0xD5, 0x76, 0x10, 0x8E, 0x20, 0xE7, 0x9F, 0x7F,
|
||||
0x39, 0x3B, 0xFD, 0x34, 0xBA, 0xC5, 0x5A, 0x7D, 0xB8, 0xED, 0x1E, 0x72, 0xF8, 0xF0, 0xF1, 0x4F,
|
||||
0xB8, 0x71, 0xFC, 0xF3, 0x0C, 0xDA, 0x64, 0xD2, 0x47, 0x29, 0x60, 0x58, 0x4D, 0x01, 0x8B, 0x1C,
|
||||
0xAF, 0x12, 0xFD, 0x84, 0x45, 0x1E, 0x38, 0xC8, 0x4B, 0x55, 0xB0, 0x55, 0xA1, 0x9A, 0x03, 0xC6,
|
||||
0x64, 0x51, 0xC3, 0x3C, 0x07, 0x5C, 0x85, 0x71, 0x90, 0xAC, 0xB6, 0x58, 0xA4, 0x7C, 0xFC, 0xFD,
|
||||
0xF0, 0xE8, 0x50, 0xDE, 0xEE, 0x3F, 0x3A, 0x94, 0x7F, 0x54, 0x44, 0xFF, 0xAD, 0xFB, 0xFF, 0x07,
|
||||
0x65, 0xE6, 0x36, 0x6D, 0xF2, 0x5E, 0x00, 0x00
|
||||
/* Contents of file C:\Users\User\Documents\GitHub\ESP3D\embedded\dist\index.html.gz */
|
||||
#define tool_html_gz_size 6091
|
||||
const unsigned char tool_html_gz[6091] PROGMEM = {
|
||||
0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0A, 0xED, 0x3C, 0x0D, 0x73, 0xDA, 0xB8,
|
||||
0xB6, 0x7F, 0xC5, 0xD1, 0x9D, 0x4D, 0xCC, 0xC5, 0x18, 0x43, 0x92, 0x6E, 0x0B, 0x31, 0xBD, 0xFD,
|
||||
0x48, 0x36, 0xB9, 0xD3, 0x6C, 0x3B, 0xF9, 0x68, 0xF7, 0x4E, 0x5F, 0x67, 0xC7, 0x60, 0x01, 0xDA,
|
||||
0xD8, 0x96, 0xD7, 0x16, 0x21, 0x94, 0xF2, 0xDF, 0xDF, 0x39, 0x92, 0x6C, 0x6C, 0xC0, 0x84, 0x7E,
|
||||
0xEC, 0xBE, 0x99, 0xF7, 0xDE, 0x74, 0x4A, 0x8C, 0x74, 0xA4, 0x73, 0x74, 0xBE, 0x25, 0x1D, 0x73,
|
||||
0xB2, 0xE7, 0xF3, 0x81, 0x98, 0xC5, 0xD4, 0x18, 0x8B, 0x30, 0xE8, 0x9D, 0xE0, 0xA7, 0x11, 0x78,
|
||||
0xD1, 0xC8, 0x25, 0x34, 0x22, 0xF0, 0x9D, 0x7A, 0x7E, 0xEF, 0x24, 0xA4, 0xC2, 0x33, 0x06, 0x63,
|
||||
0x2F, 0x49, 0xA9, 0x70, 0xC9, 0xED, 0xCD, 0x59, 0xE3, 0x29, 0xD1, 0xAD, 0x63, 0x21, 0xE2, 0x06,
|
||||
0xFD, 0x73, 0xC2, 0xEE, 0x5D, 0xF2, 0x5B, 0xE3, 0xF6, 0x45, 0xE3, 0x15, 0x0F, 0x63, 0x4F, 0xB0,
|
||||
0x7E, 0x40, 0x89, 0x31, 0xE0, 0x91, 0xA0, 0x11, 0x0C, 0xB9, 0x38, 0x75, 0xA9, 0x3F, 0xA2, 0xD9,
|
||||
0xA0, 0xC8, 0x0B, 0xA9, 0x4B, 0xEE, 0x19, 0x9D, 0xC6, 0x3C, 0x11, 0x05, 0xB8, 0x29, 0xF3, 0xC5,
|
||||
0xD8, 0xF5, 0xE9, 0x3D, 0x1B, 0xD0, 0x86, 0xFC, 0x62, 0xB1, 0x88, 0x09, 0xE6, 0x05, 0x8D, 0x74,
|
||||
0xE0, 0x05, 0xD4, 0x6D, 0xC1, 0x14, 0x82, 0x89, 0x80, 0xF6, 0x5E, 0xF3, 0xC1, 0x24, 0x84, 0x41,
|
||||
0x27, 0x4D, 0xF5, 0xFD, 0x24, 0x1D, 0x24, 0x2C, 0x16, 0x86, 0x4F, 0x87, 0x34, 0x71, 0x89, 0xFC,
|
||||
0x43, 0x7A, 0xA6, 0x59, 0x73, 0x7B, 0x73, 0x32, 0x49, 0xA9, 0x91, 0x8A, 0x84, 0x0D, 0x04, 0xE9,
|
||||
0x06, 0x54, 0x18, 0xD4, 0x12, 0x56, 0x64, 0x31, 0x8B, 0x5B, 0x81, 0x95, 0x5A, 0xBE, 0xE5, 0x59,
|
||||
0x89, 0x35, 0xB0, 0x26, 0x56, 0x68, 0xC5, 0xD6, 0xD8, 0x1A, 0x59, 0x43, 0x6B, 0x66, 0x4D, 0xAD,
|
||||
0x37, 0xEE, 0x5E, 0xCB, 0xBA, 0x77, 0xF7, 0x1C, 0xEB, 0xD4, 0xFD, 0xF8, 0xC9, 0xBA, 0xC3, 0xA7,
|
||||
0x3E, 0xB6, 0x5D, 0xE0, 0xC7, 0x4B, 0x97, 0x10, 0xEB, 0x01, 0x9F, 0xAE, 0xF1, 0xE9, 0xDC, 0x25,
|
||||
0x4D, 0x35, 0xF9, 0xA5, 0x75, 0x63, 0xDD, 0x5A, 0x67, 0xD6, 0x3B, 0xEB, 0xB5, 0x75, 0xE5, 0x3A,
|
||||
0xDD, 0xE1, 0x24, 0x1A, 0x08, 0xC6, 0x23, 0xE3, 0x95, 0x09, 0x78, 0x6B, 0xF3, 0x84, 0x8A, 0x49,
|
||||
0x12, 0x19, 0xD4, 0x16, 0xFC, 0x1A, 0x68, 0x8A, 0x46, 0x66, 0xCD, 0x8E, 0x3D, 0xFF, 0x5A, 0x78,
|
||||
0x89, 0x30, 0x85, 0x45, 0x1C, 0x52, 0x5B, 0xE4, 0x63, 0x3E, 0x98, 0xB5, 0xF9, 0xFD, 0xFE, 0xBE,
|
||||
0x49, 0x6D, 0x58, 0x1F, 0x0F, 0x82, 0x1B, 0x1E, 0xBB, 0xD9, 0xF3, 0x39, 0x65, 0xA3, 0xB1, 0x28,
|
||||
0x00, 0xBF, 0x35, 0x69, 0x6D, 0xCE, 0x86, 0xF8, 0x79, 0xEA, 0x9E, 0xDA, 0xC0, 0xD6, 0x81, 0x27,
|
||||
0xE0, 0x9B, 0x85, 0xDF, 0xD2, 0x00, 0x98, 0x6A, 0x36, 0x0E, 0x1D, 0xA7, 0x26, 0xC9, 0x04, 0x76,
|
||||
0x93, 0xEE, 0x90, 0x27, 0xA6, 0x64, 0x08, 0xD0, 0x49, 0x4F, 0x4E, 0xED, 0x80, 0x46, 0x23, 0x31,
|
||||
0xEE, 0xD2, 0x7A, 0xBD, 0x26, 0xEA, 0xEE, 0xE9, 0x47, 0xFA, 0xA9, 0xEB, 0x6B, 0x46, 0xDB, 0x23,
|
||||
0x2A, 0x4E, 0x03, 0x8A, 0x8F, 0x2F, 0x67, 0x17, 0xBE, 0x49, 0x60, 0xFA, 0x94, 0x07, 0xF4, 0x95,
|
||||
0x12, 0x1E, 0xA9, 0xD9, 0x2C, 0x8A, 0x68, 0x72, 0x7E, 0x73, 0xF9, 0xC6, 0x15, 0x16, 0xD0, 0xBD,
|
||||
0x58, 0x12, 0xF6, 0x1E, 0x49, 0x92, 0x48, 0xBB, 0x22, 0x99, 0xCD, 0x85, 0xFB, 0xEF, 0xEB, 0xB7,
|
||||
0xBF, 0xC2, 0xA2, 0x41, 0xA1, 0x90, 0xBC, 0xB7, 0xA6, 0xFC, 0x9E, 0x4A, 0x6E, 0xB0, 0xE1, 0x0C,
|
||||
0xB8, 0x10, 0x4D, 0x82, 0xC0, 0x22, 0x06, 0xA9, 0xD5, 0xC9, 0x7F, 0x45, 0xC0, 0x10, 0x58, 0xC8,
|
||||
0x60, 0x6C, 0x02, 0xF7, 0x60, 0x8D, 0xBA, 0x69, 0x39, 0xFD, 0xEF, 0xD9, 0xF4, 0x5C, 0x4E, 0xCF,
|
||||
0xCB, 0xD3, 0x2F, 0xC7, 0x6A, 0xCE, 0x7F, 0x36, 0xC9, 0x69, 0x92, 0xF0, 0xA4, 0x63, 0xFC, 0x91,
|
||||
0xC2, 0x68, 0xDF, 0x03, 0x95, 0xF4, 0x12, 0x6A, 0xB0, 0x68, 0xC0, 0x93, 0x84, 0x0E, 0xC4, 0xDE,
|
||||
0x49, 0x3F, 0x69, 0xF6, 0x48, 0x1D, 0x48, 0xBB, 0xE7, 0xCC, 0x97, 0x7C, 0x5D, 0x00, 0x5F, 0xB9,
|
||||
0x7D, 0xF6, 0xE1, 0x3D, 0x4D, 0x52, 0xC0, 0x59, 0x9B, 0xCF, 0x15, 0xDF, 0x2A, 0xD9, 0x73, 0x4F,
|
||||
0x93, 0x37, 0x2C, 0xBA, 0x23, 0xB5, 0x2E, 0x2D, 0x70, 0x86, 0xDC, 0x93, 0x7A, 0x61, 0x1A, 0x8B,
|
||||
0xDA, 0x9E, 0xEF, 0x9F, 0xDE, 0xC3, 0xA8, 0x37, 0x2C, 0x05, 0x3E, 0xD2, 0x04, 0x18, 0x0B, 0x92,
|
||||
0xBA, 0x23, 0x96, 0x99, 0xAD, 0xCF, 0xAC, 0x69, 0x5C, 0x11, 0x9D, 0x1A, 0xB7, 0x57, 0x6F, 0x4C,
|
||||
0x82, 0x56, 0xD7, 0x69, 0x36, 0x49, 0x7D, 0xCA, 0x22, 0x9F, 0x4F, 0xED, 0x80, 0xC3, 0x1A, 0x01,
|
||||
0xD2, 0x1E, 0xF3, 0x54, 0xD4, 0x49, 0x13, 0x44, 0x33, 0x64, 0x23, 0x40, 0xAD, 0xFB, 0x79, 0x4C,
|
||||
0x23, 0x50, 0x3E, 0xF2, 0x7B, 0x1F, 0x6C, 0x1B, 0x48, 0x5A, 0xD4, 0xE4, 0x7A, 0x2A, 0x69, 0xA7,
|
||||
0x69, 0xAC, 0x68, 0xFF, 0xF1, 0xD4, 0xAD, 0xD0, 0x84, 0xA4, 0x58, 0xC2, 0x1E, 0x04, 0x5E, 0x9A,
|
||||
0x22, 0x0E, 0x3B, 0xA1, 0x21, 0xBF, 0xA7, 0x30, 0x09, 0xF3, 0x29, 0xA9, 0x59, 0xC0, 0x2B, 0x16,
|
||||
0xD0, 0x74, 0x06, 0xD8, 0xC3, 0xFD, 0x7D, 0xF2, 0x2B, 0x8F, 0x28, 0xD9, 0x73, 0xCB, 0xAD, 0x51,
|
||||
0xF5, 0x70, 0x72, 0x1A, 0x79, 0xE0, 0x8A, 0x7C, 0xE2, 0xC2, 0x98, 0x0F, 0xB4, 0x7F, 0x1B, 0x83,
|
||||
0xB4, 0xE9, 0xFE, 0x3E, 0xDB, 0x86, 0xF1, 0x03, 0x3B, 0x63, 0x97, 0xDC, 0x07, 0x30, 0x39, 0xE6,
|
||||
0x9A, 0x0F, 0xEE, 0xA8, 0xB8, 0x78, 0xB7, 0xBF, 0x9F, 0x2F, 0x39, 0xD3, 0x66, 0xF7, 0x23, 0xB2,
|
||||
0x03, 0xD8, 0x93, 0x1E, 0xDA, 0x23, 0xCE, 0x47, 0x01, 0x05, 0xA3, 0x0B, 0x89, 0x85, 0xB6, 0x11,
|
||||
0x81, 0x22, 0xB1, 0x7B, 0x26, 0x66, 0x83, 0x31, 0x1D, 0xDC, 0xD9, 0xD0, 0xE8, 0xC5, 0x71, 0x0E,
|
||||
0x60, 0x7B, 0x77, 0x5E, 0xE8, 0x31, 0x41, 0x07, 0xE3, 0x88, 0x07, 0x7C, 0xC4, 0x68, 0xAA, 0x7B,
|
||||
0xA6, 0xD3, 0xA9, 0x2D, 0x21, 0x59, 0x3C, 0x86, 0xD5, 0x0E, 0x68, 0x10, 0x14, 0x7A, 0x98, 0xE0,
|
||||
0x3C, 0x48, 0x41, 0xA1, 0x86, 0x3C, 0x6B, 0xE9, 0x73, 0x7E, 0x57, 0x6C, 0xF0, 0x58, 0x82, 0x6E,
|
||||
0xD5, 0x9E, 0xA4, 0xBA, 0x41, 0x8C, 0x41, 0x96, 0x3E, 0x1B, 0x82, 0x47, 0x44, 0x61, 0xCB, 0x76,
|
||||
0x8D, 0x1F, 0xBD, 0xB2, 0x1D, 0x51, 0x81, 0x2D, 0x61, 0x3A, 0x14, 0xD1, 0x20, 0x65, 0x1A, 0x5B,
|
||||
0xC8, 0xC0, 0xC9, 0xA4, 0x7C, 0x28, 0xE4, 0xF7, 0x4F, 0x5D, 0xD0, 0x17, 0xF2, 0xE2, 0x1D, 0x30,
|
||||
0x9F, 0xD6, 0x94, 0x1D, 0xED, 0xB5, 0x56, 0xDC, 0x87, 0x28, 0xBA, 0x0F, 0x00, 0x6F, 0xB4, 0xF6,
|
||||
0x96, 0xE6, 0x51, 0x52, 0x02, 0x20, 0xD7, 0xA7, 0x0F, 0x6F, 0x87, 0xA6, 0x00, 0x0F, 0x53, 0xCB,
|
||||
0xE6, 0x73, 0xBA, 0xD9, 0xC4, 0x0B, 0x73, 0x29, 0x85, 0x5A, 0x6D, 0xFE, 0xAB, 0x49, 0x2E, 0x84,
|
||||
0x91, 0x52, 0x1A, 0xA6, 0xC6, 0x8C, 0x4F, 0xB4, 0xB1, 0x1A, 0x01, 0x0B, 0x81, 0x81, 0xBE, 0x41,
|
||||
0xA3, 0x7B, 0x96, 0xF0, 0x08, 0xD1, 0x58, 0x60, 0xB9, 0x3D, 0x03, 0x98, 0xE7, 0x81, 0xC7, 0x47,
|
||||
0x0D, 0x33, 0x3C, 0xA3, 0x9F, 0xF0, 0x69, 0x4A, 0x13, 0x63, 0x92, 0x82, 0x77, 0x39, 0x79, 0x79,
|
||||
0x05, 0x86, 0x5D, 0xD0, 0xD1, 0x92, 0x88, 0xEB, 0xE6, 0x53, 0xC7, 0x75, 0x57, 0xD5, 0x16, 0xB9,
|
||||
0xF9, 0x9C, 0x90, 0x0E, 0xFC, 0xAB, 0x6F, 0xEA, 0xAB, 0x81, 0x93, 0x42, 0xBC, 0x82, 0x1B, 0x60,
|
||||
0x48, 0x86, 0x17, 0x04, 0xC6, 0x90, 0x7A, 0xB0, 0x12, 0x9A, 0x1A, 0x53, 0x9E, 0xDC, 0x01, 0x5A,
|
||||
0x30, 0x39, 0x6E, 0x9F, 0xC3, 0xCA, 0x31, 0xF4, 0x81, 0x3B, 0xCF, 0xD9, 0x22, 0x83, 0x97, 0xBB,
|
||||
0xEC, 0xAB, 0x59, 0xB9, 0x57, 0xA3, 0xA6, 0x0C, 0x4F, 0xB5, 0xF9, 0xC5, 0xFE, 0xFE, 0x14, 0xF4,
|
||||
0x95, 0x83, 0x37, 0x03, 0xEB, 0x91, 0x76, 0x96, 0xD3, 0x6C, 0x92, 0x69, 0xAA, 0xD6, 0x51, 0x47,
|
||||
0xF2, 0x02, 0x58, 0xDA, 0x8B, 0x74, 0x16, 0x0D, 0xC6, 0xC0, 0x10, 0x0E, 0x92, 0x76, 0xDD, 0xF4,
|
||||
0x39, 0x69, 0x4E, 0x53, 0xE8, 0x04, 0xDD, 0xFE, 0x48, 0xBC, 0xC4, 0x9F, 0xB0, 0x88, 0x93, 0x4F,
|
||||
0x35, 0x6B, 0x6A, 0xF7, 0x59, 0xE4, 0x25, 0xB3, 0x1B, 0x08, 0xFF, 0x2E, 0x74, 0x24, 0xDE, 0xAC,
|
||||
0x3F, 0x41, 0x25, 0x21, 0xD0, 0x05, 0xA3, 0x81, 0x7B, 0x6E, 0x51, 0xE3, 0x21, 0xEA, 0x39, 0x0B,
|
||||
0xD9, 0x25, 0x69, 0x59, 0xF6, 0x09, 0xD9, 0xD7, 0xB2, 0x1E, 0xBE, 0x7C, 0x81, 0x04, 0xE1, 0x86,
|
||||
0x85, 0x94, 0x4F, 0x84, 0x8A, 0xBC, 0xD9, 0x1A, 0x16, 0xD6, 0x21, 0x3D, 0xAC, 0xA9, 0xD1, 0x14,
|
||||
0x7D, 0x6F, 0x69, 0x66, 0xD5, 0x1E, 0xD2, 0x34, 0xF5, 0x46, 0xD4, 0x5D, 0xB5, 0x32, 0x8E, 0x81,
|
||||
0x0A, 0xA3, 0x9A, 0x2D, 0x3D, 0x35, 0x8B, 0x52, 0xE1, 0x45, 0x03, 0xCA, 0x87, 0xC6, 0x0B, 0xA4,
|
||||
0xF9, 0xA5, 0xA4, 0x39, 0x33, 0x48, 0xE9, 0x84, 0x58, 0x24, 0x9E, 0xCA, 0x3E, 0x3D, 0xA6, 0xB6,
|
||||
0x4D, 0x51, 0x79, 0xDD, 0x55, 0x61, 0xD8, 0x1E, 0x26, 0x3C, 0x7C, 0x05, 0x59, 0xCE, 0x2B, 0xD0,
|
||||
0x3A, 0xA5, 0x99, 0x56, 0xCB, 0xD9, 0x73, 0xF1, 0x69, 0x7F, 0xBF, 0x75, 0xA8, 0x9E, 0xBE, 0x7C,
|
||||
0x31, 0x5F, 0xD6, 0x5D, 0x0E, 0x31, 0xEB, 0x65, 0x4D, 0xE5, 0x00, 0x48, 0x5F, 0xAD, 0x8B, 0x8D,
|
||||
0x0B, 0x1A, 0xA4, 0x14, 0xC2, 0x8F, 0xC2, 0x2A, 0xA3, 0x6C, 0x00, 0xB2, 0x4D, 0xE3, 0x80, 0x81,
|
||||
0xA0, 0x3A, 0x00, 0x15, 0x68, 0xCC, 0x3D, 0xB7, 0x0D, 0x5A, 0x40, 0x06, 0x93, 0x04, 0x4D, 0xF2,
|
||||
0xE2, 0x35, 0xC8, 0x29, 0xF8, 0xE8, 0x00, 0x1A, 0xF3, 0x1A, 0x1E, 0x5A, 0x80, 0x99, 0x78, 0xE8,
|
||||
0x3E, 0x68, 0xA1, 0xEB, 0x7A, 0x4F, 0x76, 0x01, 0xCC, 0x03, 0x66, 0x22, 0xB9, 0x4A, 0x58, 0x60,
|
||||
0x1E, 0x32, 0x60, 0xC9, 0x8F, 0x35, 0x43, 0xD1, 0xAE, 0xC8, 0xC0, 0xD5, 0x19, 0x5E, 0xC4, 0xC5,
|
||||
0x18, 0x6C, 0x21, 0xD3, 0x5F, 0x2B, 0x07, 0x8B, 0xF8, 0xD4, 0xF0, 0x59, 0xAA, 0xA1, 0xA9, 0x6F,
|
||||
0x83, 0xBA, 0xAC, 0x68, 0x69, 0xF9, 0x6B, 0x9D, 0x98, 0x45, 0xF8, 0x1A, 0x29, 0xB9, 0x71, 0x88,
|
||||
0x1B, 0xB9, 0x47, 0x65, 0x15, 0xED, 0x51, 0x45, 0xFB, 0xE3, 0x21, 0x75, 0x75, 0x20, 0x10, 0xA2,
|
||||
0xDC, 0x7C, 0x0D, 0x5D, 0xFE, 0xD5, 0xD5, 0xDB, 0xAB, 0x25, 0x43, 0x2F, 0x6D, 0xAF, 0x0F, 0x46,
|
||||
0x0A, 0x7C, 0xFA, 0xC3, 0x0C, 0x3E, 0xB6, 0x3F, 0x59, 0x92, 0xBF, 0x10, 0x00, 0x17, 0xD2, 0xCB,
|
||||
0x2C, 0x8D, 0xDF, 0x2A, 0x7C, 0x43, 0xB3, 0x56, 0xDF, 0x21, 0x9F, 0x0D, 0x27, 0x11, 0x53, 0xEC,
|
||||
0xAA, 0x59, 0xFF, 0x36, 0x49, 0x00, 0x68, 0xD1, 0x9B, 0x07, 0x01, 0x58, 0x35, 0x4A, 0x7C, 0xF7,
|
||||
0x84, 0x62, 0x25, 0xCD, 0xE1, 0x3A, 0xCD, 0x91, 0xBD, 0x90, 0xEB, 0x14, 0x52, 0xB9, 0x3F, 0x54,
|
||||
0xAE, 0x88, 0x2A, 0x14, 0x41, 0xCA, 0x1D, 0x07, 0xDC, 0xF3, 0x8D, 0xA1, 0xC7, 0x70, 0x91, 0x68,
|
||||
0x0C, 0xA8, 0x97, 0xFB, 0xFB, 0x32, 0x3B, 0x81, 0x47, 0x7C, 0x36, 0x23, 0x17, 0x65, 0x42, 0xEA,
|
||||
0x90, 0x00, 0xD4, 0x80, 0x8B, 0x90, 0x2E, 0xC3, 0xAA, 0xA3, 0x3A, 0xD9, 0x83, 0x2F, 0x2D, 0xD7,
|
||||
0xBD, 0xCA, 0xE2, 0xB4, 0xB7, 0x4C, 0x47, 0x20, 0x35, 0xD1, 0xFA, 0xE8, 0x3C, 0xF7, 0x8A, 0x59,
|
||||
0x0A, 0x24, 0xA3, 0x62, 0x92, 0x76, 0x0C, 0x52, 0x87, 0x09, 0xF6, 0xA3, 0x7E, 0x1A, 0xCB, 0x0F,
|
||||
0x48, 0x89, 0xEC, 0x74, 0xD2, 0x57, 0x2B, 0x30, 0x69, 0xEE, 0xC6, 0xC9, 0x17, 0x20, 0xBE, 0x53,
|
||||
0x9C, 0x21, 0x52, 0x9C, 0x69, 0x03, 0x5E, 0x20, 0x2D, 0x4E, 0x46, 0x13, 0x19, 0x79, 0x05, 0x7D,
|
||||
0x10, 0x45, 0xA8, 0xC2, 0x8A, 0x3F, 0xA3, 0xBD, 0xCF, 0x0A, 0x9D, 0xD4, 0x9A, 0x29, 0x39, 0xFF,
|
||||
0x2A, 0xB7, 0x0B, 0x38, 0xB4, 0x21, 0x7D, 0x07, 0x59, 0x0E, 0xFA, 0x75, 0x97, 0x41, 0x71, 0xC2,
|
||||
0x42, 0xF0, 0x73, 0x85, 0x61, 0x2F, 0xBE, 0x25, 0xA5, 0x0A, 0x43, 0x2F, 0xF2, 0x65, 0x3A, 0x97,
|
||||
0x52, 0x2F, 0x19, 0x8C, 0xDF, 0x79, 0x89, 0x17, 0xA6, 0x18, 0xAB, 0x69, 0x84, 0xE9, 0x70, 0xE8,
|
||||
0x83, 0x56, 0x7C, 0x3C, 0xBD, 0x7E, 0xF7, 0xD4, 0x71, 0x3E, 0x09, 0x86, 0xE8, 0xEB, 0x1B, 0x93,
|
||||
0xA4, 0xD7, 0xC0, 0x88, 0x6E, 0xBE, 0x0B, 0x00, 0x25, 0x3F, 0x03, 0x2D, 0xF8, 0x0F, 0xCC, 0x69,
|
||||
0x42, 0x20, 0x69, 0x90, 0x3A, 0xEC, 0x13, 0xB0, 0xF5, 0x12, 0x12, 0xEB, 0x31, 0x34, 0xB5, 0xAC,
|
||||
0x76, 0xA9, 0x1D, 0x87, 0x83, 0x36, 0x97, 0x1B, 0xCF, 0xF9, 0x24, 0x49, 0xD7, 0x5A, 0x2F, 0x59,
|
||||
0x34, 0x11, 0x74, 0xBD, 0xFD, 0x9A, 0x82, 0xDD, 0xFA, 0xAA, 0x7D, 0x61, 0x82, 0xD1, 0xFC, 0x07,
|
||||
0xD4, 0xED, 0xF7, 0x82, 0x30, 0xFE, 0x5D, 0x54, 0xBF, 0x9D, 0x79, 0x34, 0xC4, 0xA4, 0x0C, 0x38,
|
||||
0x14, 0x6D, 0xE6, 0x90, 0x27, 0xE7, 0x26, 0x16, 0x45, 0xD3, 0xDF, 0x08, 0x81, 0x13, 0x60, 0x14,
|
||||
0x04, 0x5F, 0x52, 0x09, 0x03, 0xBB, 0xCB, 0x31, 0x6C, 0xB7, 0x90, 0xE6, 0xC8, 0xFA, 0xA5, 0x40,
|
||||
0xF3, 0x9F, 0x26, 0x85, 0x28, 0x94, 0x65, 0xF9, 0xE4, 0x24, 0xBD, 0x1F, 0x19, 0x0F, 0x61, 0x10,
|
||||
0xA5, 0xEE, 0x81, 0x26, 0x1C, 0x93, 0xA1, 0xE9, 0xA1, 0xCD, 0x93, 0x51, 0xB3, 0xED, 0x38, 0x4E,
|
||||
0x13, 0x20, 0x0E, 0x0C, 0xB5, 0xE7, 0x3C, 0x68, 0x1F, 0x1D, 0x18, 0x63, 0xB9, 0xA1, 0x52, 0xCF,
|
||||
0xB8, 0x3B, 0x7D, 0xC9, 0x1F, 0xDC, 0x03, 0xC7, 0x70, 0x8C, 0xF6, 0x91, 0x81, 0x6D, 0x40, 0x5E,
|
||||
0xE0, 0x1E, 0x44, 0x10, 0xC2, 0x0E, 0x70, 0x3B, 0xC9, 0xEF, 0xA8, 0x7B, 0x00, 0xC9, 0x04, 0x7D,
|
||||
0x4E, 0xA6, 0x63, 0xC8, 0x44, 0xC0, 0xC3, 0x6B, 0x87, 0xFE, 0x0A, 0x52, 0xBA, 0x04, 0xF7, 0x2E,
|
||||
0x19, 0x5C, 0x23, 0xC3, 0x92, 0x37, 0x04, 0x0C, 0xFC, 0xA6, 0x17, 0xBB, 0x07, 0x09, 0x9F, 0x44,
|
||||
0x7E, 0xA9, 0xF9, 0x0F, 0xCE, 0xA2, 0xAC, 0xBD, 0x77, 0x82, 0xEB, 0x35, 0x7C, 0xF7, 0xE0, 0xB2,
|
||||
0x75, 0x68, 0xB4, 0xCF, 0x9F, 0x78, 0x6D, 0xA3, 0x6D, 0x20, 0x4D, 0x4E, 0x03, 0x9E, 0xEE, 0x5B,
|
||||
0x85, 0x06, 0xF8, 0xDB, 0x1E, 0xB7, 0xDA, 0xC5, 0x86, 0x46, 0xFB, 0xFD, 0xB3, 0xCF, 0x30, 0x49,
|
||||
0x13, 0x67, 0x81, 0xB9, 0x78, 0x30, 0x43, 0x0C, 0x46, 0x0C, 0x28, 0x04, 0x30, 0x06, 0xE7, 0x34,
|
||||
0xE0, 0xE3, 0x99, 0xD1, 0x76, 0x8C, 0x67, 0x12, 0x50, 0x83, 0xF4, 0xD4, 0xC2, 0x4E, 0x24, 0xF8,
|
||||
0x43, 0x0B, 0x40, 0x81, 0xF6, 0x19, 0xFE, 0x6D, 0x1D, 0x18, 0x0F, 0x6D, 0xFD, 0x1D, 0xFF, 0xFE,
|
||||
0x8C, 0xC3, 0xE4, 0x90, 0x25, 0xF0, 0x33, 0x0D, 0x7B, 0xA4, 0x61, 0x8F, 0x35, 0xEC, 0x51, 0x0E,
|
||||
0x2B, 0x13, 0x12, 0xC8, 0x9B, 0x50, 0x08, 0xBD, 0x82, 0x69, 0xFE, 0xF6, 0xBF, 0x5C, 0x8A, 0x6D,
|
||||
0xE0, 0xF7, 0xB3, 0x5C, 0x44, 0x2D, 0x14, 0xE2, 0xF9, 0x51, 0xF1, 0x3B, 0x88, 0xEC, 0x78, 0xF9,
|
||||
0x1D, 0x45, 0x38, 0x3E, 0x0E, 0xDA, 0xC6, 0xE1, 0xF8, 0x59, 0xB1, 0xD5, 0x68, 0x2F, 0xC5, 0xFA,
|
||||
0x3F, 0x24, 0xA9, 0x5F, 0xF2, 0x6D, 0x90, 0x15, 0xE1, 0xF9, 0x08, 0x03, 0xB9, 0x6D, 0xDC, 0xDE,
|
||||
0x57, 0x44, 0x16, 0x01, 0x91, 0x10, 0x9F, 0x75, 0x80, 0xE9, 0xAA, 0xCF, 0x2F, 0xC5, 0x2F, 0x37,
|
||||
0x5C, 0x78, 0x81, 0x91, 0xC6, 0xDE, 0x80, 0xAA, 0x11, 0x02, 0x1B, 0xB6, 0x0C, 0xB8, 0x4D, 0x61,
|
||||
0x3F, 0x50, 0x80, 0x9F, 0xC0, 0xF7, 0x2D, 0xE0, 0x6F, 0x07, 0x83, 0x49, 0x2C, 0x5D, 0x58, 0xC7,
|
||||
0xC0, 0xA3, 0x29, 0xC8, 0x8C, 0x42, 0x94, 0x9A, 0x73, 0x60, 0x84, 0x1E, 0x68, 0x4D, 0xCB, 0x81,
|
||||
0xA7, 0x31, 0xA8, 0x13, 0xF0, 0x09, 0x9E, 0xEE, 0xBD, 0x60, 0x22, 0x95, 0x45, 0xD8, 0x3C, 0x1F,
|
||||
0x09, 0xEA, 0x01, 0x9C, 0x92, 0x83, 0x7B, 0x6A, 0xD6, 0xD5, 0xFE, 0x9F, 0x30, 0x35, 0x92, 0xBE,
|
||||
0xD1, 0x4E, 0x31, 0x13, 0x59, 0x6E, 0x9D, 0x8B, 0xE7, 0x41, 0x1B, 0x1B, 0xA9, 0x8B, 0xC7, 0x44,
|
||||
0x6F, 0xF8, 0x94, 0x26, 0xAF, 0x3C, 0x99, 0xEC, 0x09, 0x57, 0xAC, 0xB4, 0x40, 0x3E, 0xFB, 0xBC,
|
||||
0xD1, 0xEA, 0xD0, 0x9E, 0x78, 0xDE, 0xEA, 0x38, 0x0B, 0xF0, 0xF0, 0xE8, 0x42, 0x01, 0xA5, 0xDC,
|
||||
0x4F, 0xC0, 0xFE, 0xBA, 0x5B, 0xCC, 0xA2, 0x2B, 0x93, 0x2B, 0xE9, 0x57, 0x8B, 0x87, 0x38, 0xE7,
|
||||
0x16, 0x69, 0xC2, 0x76, 0xEF, 0x5C, 0x87, 0x2E, 0xC0, 0x7C, 0x6E, 0x43, 0x64, 0x15, 0x17, 0x59,
|
||||
0xD0, 0x6F, 0x62, 0x30, 0x74, 0x61, 0xC3, 0x04, 0xBB, 0xA3, 0x26, 0xE9, 0x9C, 0x17, 0x52, 0x03,
|
||||
0x07, 0x1D, 0xB8, 0x3E, 0x20, 0x82, 0x30, 0x31, 0x32, 0x09, 0x04, 0x11, 0xC4, 0xD0, 0x91, 0xA7,
|
||||
0x2A, 0x90, 0x73, 0x93, 0x13, 0x91, 0x18, 0xBD, 0x13, 0xE1, 0xF7, 0xFE, 0x26, 0x13, 0x2F, 0x1A,
|
||||
0xF5, 0x77, 0x1B, 0xB4, 0xB1, 0xC9, 0x97, 0x82, 0x07, 0x35, 0x5A, 0xC7, 0xC6, 0xD1, 0xBA, 0x2F,
|
||||
0x5D, 0x9A, 0x3F, 0x76, 0x8E, 0x7F, 0xF6, 0x8E, 0x00, 0x4A, 0xB9, 0xE8, 0xA3, 0xC6, 0xD1, 0xFB,
|
||||
0xA3, 0xA5, 0x87, 0x96, 0x46, 0x76, 0xD2, 0x44, 0xB6, 0x08, 0xDF, 0x90, 0x99, 0x8C, 0x7B, 0x80,
|
||||
0xBA, 0x03, 0x9E, 0x29, 0x3C, 0x30, 0x18, 0xCC, 0x01, 0x99, 0x14, 0x4B, 0x0E, 0x7A, 0xC6, 0x6D,
|
||||
0x6C, 0xDB, 0x4B, 0x48, 0x1E, 0x80, 0xDA, 0x03, 0x7D, 0x87, 0x07, 0x7A, 0x78, 0x53, 0x24, 0x3D,
|
||||
0x02, 0x41, 0x34, 0x9E, 0xA4, 0x63, 0x73, 0xAE, 0x62, 0x6F, 0x87, 0xC8, 0xC1, 0xC4, 0x62, 0x7E,
|
||||
0xFE, 0x28, 0xBC, 0x04, 0x54, 0xA1, 0x43, 0x17, 0x10, 0x4A, 0x57, 0x76, 0x49, 0x4A, 0x67, 0x0B,
|
||||
0x7B, 0x25, 0xD2, 0x68, 0x41, 0x62, 0xAD, 0x4F, 0x2D, 0x75, 0x3F, 0xEC, 0x89, 0xEC, 0x94, 0x7D,
|
||||
0xA6, 0x35, 0xC8, 0xF3, 0xB4, 0x5C, 0xA5, 0x58, 0x49, 0xFD, 0x37, 0x53, 0xBA, 0x8D, 0x6D, 0x6B,
|
||||
0x79, 0x0D, 0x14, 0xD4, 0x29, 0x9A, 0x10, 0x1A, 0x4D, 0x3E, 0x1F, 0x6A, 0xEE, 0x72, 0xE8, 0x66,
|
||||
0x7E, 0x80, 0x76, 0x1D, 0x18, 0xD9, 0x24, 0xAF, 0x69, 0xA0, 0xE7, 0xF9, 0x9B, 0xB4, 0x29, 0xA1,
|
||||
0xFE, 0xF7, 0x2B, 0x51, 0xB6, 0x1C, 0xEA, 0xC9, 0x4D, 0x99, 0xFE, 0xDB, 0x10, 0x89, 0x97, 0x8E,
|
||||
0x1B, 0xED, 0x83, 0x0D, 0x3A, 0x76, 0x68, 0x3C, 0x31, 0x8E, 0xE1, 0x7F, 0xBB, 0x65, 0x3C, 0xA9,
|
||||
0xD0, 0xB0, 0xD6, 0x33, 0xE3, 0xC9, 0x7D, 0xEB, 0x68, 0x25, 0xC4, 0xFC, 0xBC, 0x12, 0x62, 0x9E,
|
||||
0x84, 0x87, 0x86, 0xF3, 0xFE, 0x68, 0x25, 0xD0, 0x1C, 0x95, 0x43, 0xCC, 0x7D, 0x7B, 0xA9, 0x98,
|
||||
0xCB, 0xE8, 0xE2, 0xAC, 0x44, 0x17, 0x67, 0x4B, 0x74, 0xC1, 0xB0, 0x52, 0x02, 0x3E, 0x5A, 0x07,
|
||||
0x2E, 0xA9, 0xFC, 0x56, 0xE5, 0xCD, 0x55, 0x57, 0xA9, 0x4D, 0xA6, 0xBA, 0x2B, 0x8A, 0xB3, 0xA8,
|
||||
0x6D, 0x1A, 0xE8, 0x83, 0x86, 0x64, 0x63, 0x95, 0xB6, 0x54, 0x0E, 0x5F, 0x3F, 0x2E, 0xD8, 0x68,
|
||||
0x08, 0x7B, 0x5B, 0x0C, 0x41, 0x79, 0xCE, 0x2F, 0x5F, 0x88, 0xDC, 0x21, 0xD9, 0x78, 0xAD, 0x62,
|
||||
0x8F, 0x3E, 0x43, 0xDB, 0x0A, 0xB2, 0xFD, 0xFD, 0x02, 0xC4, 0x7A, 0xF7, 0x97, 0x2F, 0x26, 0x44,
|
||||
0x55, 0x27, 0x77, 0x98, 0xDA, 0xB0, 0xFE, 0xDC, 0x6E, 0x58, 0xD2, 0x28, 0xF0, 0x80, 0x74, 0x07,
|
||||
0xD3, 0x2A, 0xF5, 0x21, 0xF5, 0x15, 0x13, 0x2F, 0xAD, 0x0D, 0x27, 0xFE, 0x7F, 0x73, 0xFB, 0xBF,
|
||||
0x60, 0x6E, 0x28, 0x78, 0x65, 0x33, 0x5A, 0x99, 0x76, 0x37, 0x38, 0xEC, 0xCF, 0x2D, 0x6E, 0xA9,
|
||||
0x31, 0x5B, 0x4C, 0xAE, 0x32, 0x2F, 0x41, 0x48, 0x3C, 0xE9, 0x29, 0xE5, 0x26, 0x7C, 0xC5, 0x44,
|
||||
0xA3, 0xA2, 0x71, 0xA6, 0x53, 0x86, 0x17, 0x3E, 0x11, 0x4E, 0xAF, 0x08, 0xAA, 0xCD, 0x07, 0x90,
|
||||
0x2B, 0xE9, 0x88, 0xD7, 0xA9, 0x42, 0x25, 0x07, 0x30, 0x7F, 0xC7, 0x4B, 0x8F, 0x73, 0x57, 0xC2,
|
||||
0xAB, 0x15, 0x95, 0x72, 0x9D, 0xF3, 0xF5, 0x63, 0x22, 0x58, 0x60, 0x3F, 0xA1, 0xDE, 0x5D, 0x57,
|
||||
0xD2, 0x21, 0x19, 0xFB, 0x83, 0xC8, 0x28, 0x1C, 0x7B, 0x3E, 0xBE, 0x45, 0x3F, 0x87, 0x4D, 0x3A,
|
||||
0xA9, 0x17, 0xE8, 0x2E, 0xDF, 0xC6, 0x88, 0xD2, 0x0D, 0xD1, 0x2A, 0xC5, 0x28, 0xCF, 0x1F, 0x44,
|
||||
0xB4, 0xBC, 0x9F, 0x4A, 0x42, 0x93, 0xBC, 0x52, 0x0F, 0x06, 0xCC, 0x4D, 0xE5, 0xA6, 0x82, 0x0F,
|
||||
0xD1, 0xFE, 0x65, 0xF6, 0x5E, 0x24, 0x73, 0x7F, 0x1F, 0x38, 0x2A, 0x81, 0x40, 0x23, 0x8B, 0x1D,
|
||||
0x2B, 0x74, 0xFE, 0x48, 0xF9, 0xD6, 0x5D, 0x74, 0xE3, 0xAE, 0x7B, 0x2E, 0xCF, 0xFE, 0x21, 0xD9,
|
||||
0xAD, 0x7F, 0xB3, 0xC0, 0x75, 0xFC, 0xF9, 0x3B, 0xB8, 0x07, 0xA8, 0xE8, 0x40, 0xF0, 0x64, 0xB6,
|
||||
0x85, 0x85, 0x32, 0x8E, 0xAE, 0x70, 0x71, 0xB1, 0x76, 0x4D, 0x2A, 0x0F, 0x17, 0xBF, 0xE2, 0xAE,
|
||||
0x74, 0x31, 0x64, 0x11, 0x2C, 0x7E, 0x36, 0x67, 0xCF, 0x77, 0xB8, 0x58, 0xAC, 0xBA, 0x7F, 0xEB,
|
||||
0x7C, 0xD5, 0xD8, 0xC2, 0xB1, 0x71, 0xE1, 0x3E, 0xF8, 0x3F, 0xAB, 0xA7, 0x57, 0xBF, 0x5D, 0xBE,
|
||||
0x39, 0x07, 0xC3, 0xB8, 0xA2, 0x7F, 0x4E, 0x68, 0x2A, 0xBA, 0x91, 0xCD, 0x23, 0x10, 0x8E, 0x3F,
|
||||
0xC3, 0x0D, 0x28, 0x1D, 0x8C, 0xBD, 0xA8, 0x78, 0xED, 0x50, 0x9B, 0x1F, 0xB9, 0x6E, 0x64, 0x4B,
|
||||
0x00, 0xDC, 0xAD, 0xE2, 0x7D, 0x0D, 0x04, 0x32, 0x6C, 0x53, 0x1B, 0xD6, 0xE7, 0x26, 0x70, 0x85,
|
||||
0xC0, 0x56, 0xCC, 0x44, 0xA8, 0x34, 0x06, 0x4D, 0xA0, 0x37, 0xF4, 0x41, 0xD4, 0x6A, 0x9D, 0x23,
|
||||
0xA7, 0x55, 0x84, 0x7B, 0x5D, 0x7D, 0xCD, 0xF8, 0xAE, 0xB2, 0xAB, 0xD6, 0x31, 0x8B, 0xCA, 0x95,
|
||||
0xCD, 0x56, 0xB3, 0x96, 0xB2, 0xE8, 0x73, 0x2F, 0xF1, 0x0D, 0x9F, 0xD3, 0xD4, 0x88, 0xB8, 0x30,
|
||||
0xBC, 0x28, 0x85, 0xED, 0x20, 0xEC, 0x7C, 0xE3, 0x04, 0xEC, 0x38, 0x09, 0x66, 0x28, 0xFA, 0x6C,
|
||||
0x18, 0x88, 0x16, 0xDC, 0xB3, 0xB4, 0x6F, 0xF2, 0xCB, 0xE9, 0x0D, 0xB1, 0xA8, 0x85, 0x19, 0x05,
|
||||
0x9E, 0xAE, 0x45, 0xBE, 0x59, 0x5B, 0x64, 0x0E, 0x20, 0xC2, 0x23, 0xE6, 0x22, 0x17, 0x84, 0xFB,
|
||||
0xD8, 0xD5, 0xFF, 0x3B, 0x2F, 0x02, 0xAD, 0x86, 0xB9, 0xDC, 0xAD, 0xDE, 0xFB, 0x5A, 0xDE, 0xD3,
|
||||
0xE2, 0x45, 0xC0, 0x36, 0xB8, 0x24, 0x9C, 0x82, 0x62, 0xE1, 0x05, 0xEC, 0xA3, 0x78, 0xCF, 0x41,
|
||||
0x34, 0x34, 0x01, 0xD0, 0xE0, 0x51, 0xD0, 0x97, 0xDC, 0x9F, 0x01, 0x60, 0xBA, 0x0B, 0x85, 0xF9,
|
||||
0xB4, 0xFE, 0x2E, 0xD0, 0x7A, 0x66, 0x6F, 0x3B, 0xAC, 0x2E, 0x6D, 0x39, 0xE3, 0x5C, 0xC8, 0xA9,
|
||||
0x93, 0xC7, 0x59, 0x90, 0x93, 0x31, 0x78, 0x1C, 0x56, 0x13, 0x41, 0xDD, 0x9D, 0xAB, 0x34, 0xAC,
|
||||
0x70, 0x3B, 0xC1, 0xC3, 0x29, 0xC0, 0x4C, 0xB6, 0xC3, 0xA4, 0x00, 0x32, 0xAB, 0x06, 0xB9, 0xBC,
|
||||
0xFE, 0x05, 0x00, 0x6E, 0xAA, 0x01, 0xE2, 0x64, 0x84, 0xD3, 0xE0, 0xE1, 0x3C, 0x00, 0xDE, 0x3E,
|
||||
0x0A, 0xB8, 0xED, 0x4E, 0x68, 0x10, 0xFA, 0x2F, 0x45, 0xF4, 0x75, 0x95, 0x0A, 0xD5, 0x93, 0x4D,
|
||||
0x52, 0xC1, 0xC3, 0x57, 0xA1, 0x7F, 0x83, 0x94, 0xC9, 0x7B, 0x16, 0xD7, 0xA5, 0xB6, 0x3C, 0xF7,
|
||||
0xB1, 0x21, 0xD9, 0x0F, 0xCD, 0x9A, 0x4E, 0x34, 0xF4, 0x9D, 0x75, 0xF7, 0xAB, 0xC2, 0x6F, 0xF1,
|
||||
0x16, 0x41, 0x6C, 0xB9, 0x45, 0x28, 0x63, 0xC4, 0x93, 0x6E, 0x61, 0xBD, 0xC7, 0x32, 0x19, 0x72,
|
||||
0x82, 0x9B, 0xFC, 0x2C, 0x91, 0x05, 0x58, 0x4C, 0xEE, 0xCB, 0xD0, 0xF2, 0xA0, 0x0E, 0x80, 0x7A,
|
||||
0x58, 0x23, 0x93, 0xCD, 0xE4, 0x12, 0x82, 0x75, 0x16, 0x3B, 0xAE, 0x7B, 0x03, 0x2B, 0xEF, 0xE8,
|
||||
0x6C, 0x12, 0x17, 0x59, 0x49, 0x6B, 0xF3, 0xD6, 0xA1, 0x8B, 0xCC, 0x81, 0xAE, 0x57, 0xB2, 0x58,
|
||||
0xE2, 0x71, 0x11, 0x49, 0x81, 0x98, 0xB2, 0xE4, 0x83, 0xEF, 0x26, 0xAF, 0x37, 0xEE, 0xDE, 0x1B,
|
||||
0x2B, 0x00, 0x57, 0x36, 0x03, 0x6F, 0xE8, 0xB3, 0x34, 0x0E, 0xBC, 0x99, 0xFB, 0xE6, 0x39, 0xE9,
|
||||
0x03, 0x63, 0xEF, 0x20, 0x2A, 0xE3, 0x2E, 0x41, 0x2E, 0xED, 0x5D, 0xB5, 0x50, 0xB1, 0xBA, 0x22,
|
||||
0x52, 0x91, 0xC3, 0x7A, 0xFD, 0x08, 0x58, 0xEC, 0x8D, 0x94, 0x73, 0xDE, 0x89, 0xBA, 0x6A, 0xF7,
|
||||
0xBE, 0x95, 0xDB, 0x12, 0x53, 0x7F, 0x22, 0x04, 0xDF, 0x59, 0x6F, 0x5F, 0x6F, 0x8E, 0x79, 0xDD,
|
||||
0x47, 0xF4, 0x59, 0x62, 0xBA, 0x88, 0xE2, 0x09, 0x4A, 0xB5, 0xA8, 0x25, 0xD6, 0x16, 0xE7, 0x1E,
|
||||
0x03, 0xA2, 0x29, 0x4F, 0xFC, 0x8D, 0xE3, 0xBE, 0xE2, 0x36, 0x48, 0x22, 0xAF, 0xBE, 0x0D, 0xBA,
|
||||
0xBD, 0x3E, 0xBD, 0xDA, 0x76, 0x17, 0xF4, 0xEE, 0xC5, 0xF5, 0xF5, 0x87, 0xB7, 0x57, 0xAF, 0xB7,
|
||||
0xDD, 0x05, 0x5D, 0xDF, 0xBE, 0xBC, 0xBC, 0x80, 0x90, 0x46, 0x66, 0xF2, 0xDE, 0x09, 0xB9, 0xC1,
|
||||
0x36, 0x05, 0x7C, 0xF6, 0x78, 0xC0, 0x67, 0x6B, 0x01, 0x7F, 0x0F, 0xDA, 0x74, 0x20, 0x97, 0x61,
|
||||
0x9D, 0xFD, 0xD0, 0xB0, 0xCE, 0xBE, 0x2D, 0xAC, 0xE7, 0xC3, 0x6A, 0x9D, 0x17, 0x26, 0x86, 0x76,
|
||||
0x56, 0x0C, 0xED, 0x91, 0x0C, 0xED, 0x2C, 0x0B, 0xED, 0xA0, 0x84, 0xA3, 0x6A, 0x39, 0x27, 0x74,
|
||||
0x08, 0xD9, 0xCB, 0x18, 0x88, 0x1E, 0xED, 0xA6, 0x84, 0xEB, 0x39, 0xAE, 0x35, 0xAE, 0x9E, 0x7E,
|
||||
0x82, 0x77, 0xD6, 0xF1, 0xD9, 0x07, 0x98, 0x7F, 0xBC, 0xDB, 0xFC, 0x55, 0xB7, 0xC4, 0x84, 0x58,
|
||||
0x61, 0xD1, 0x77, 0xC4, 0x8F, 0x20, 0xF5, 0xCF, 0x74, 0x8C, 0x8A, 0x0B, 0x93, 0xFC, 0x69, 0x22,
|
||||
0x6B, 0xE2, 0xDD, 0x28, 0x99, 0x14, 0xD1, 0x85, 0x9B, 0xC6, 0x48, 0x15, 0x2A, 0x0F, 0x82, 0x68,
|
||||
0x11, 0x2A, 0x63, 0x91, 0xCF, 0x7B, 0x6B, 0x69, 0xFA, 0x99, 0x0E, 0xDA, 0x86, 0xAA, 0x42, 0x33,
|
||||
0x9E, 0x93, 0xAC, 0xF4, 0xC9, 0x28, 0x1D, 0x95, 0xCB, 0x7A, 0x05, 0xA2, 0x6A, 0x0F, 0xB3, 0x29,
|
||||
0x65, 0x8D, 0xC9, 0xDE, 0x5A, 0x24, 0x0B, 0xD5, 0x46, 0x3A, 0x8F, 0x54, 0xEB, 0xC1, 0x89, 0x4B,
|
||||
0x7B, 0x38, 0xE3, 0x49, 0xF8, 0x1A, 0x6B, 0x52, 0xAE, 0xDC, 0x36, 0x88, 0x63, 0x73, 0xDD, 0x45,
|
||||
0x99, 0xFF, 0x95, 0x2A, 0x9E, 0x83, 0xED, 0x02, 0xA2, 0x88, 0x77, 0xAC, 0x4A, 0xD9, 0xAA, 0xD2,
|
||||
0x06, 0x16, 0x8D, 0x0C, 0xDB, 0xB6, 0x9D, 0x9F, 0x08, 0x46, 0x86, 0x95, 0x9B, 0x5E, 0x5D, 0x48,
|
||||
0x73, 0xDE, 0x0D, 0x6C, 0x68, 0x4F, 0x3F, 0x30, 0x31, 0x96, 0x97, 0x0F, 0x5F, 0xBE, 0x98, 0x41,
|
||||
0xDD, 0x95, 0xD7, 0x10, 0xD9, 0x69, 0x80, 0x70, 0x9D, 0xAE, 0x38, 0xC9, 0xF8, 0xD0, 0x15, 0xF5,
|
||||
0x7A, 0xB6, 0x0D, 0xA0, 0x1F, 0x05, 0x5E, 0x51, 0x05, 0x90, 0x18, 0xAB, 0x23, 0xB0, 0x6B, 0xD2,
|
||||
0xCD, 0x51, 0x31, 0x74, 0x30, 0x78, 0x74, 0x57, 0xC0, 0x1E, 0xCE, 0x54, 0xAA, 0x03, 0x46, 0x95,
|
||||
0x0D, 0xAA, 0x2D, 0x2E, 0x37, 0x78, 0x17, 0xEB, 0x52, 0x9B, 0xE0, 0xBB, 0xB7, 0xD7, 0xE8, 0x8B,
|
||||
0x9A, 0x6A, 0xA1, 0x90, 0x48, 0x49, 0x6B, 0xBC, 0xB4, 0x95, 0x52, 0x6E, 0xD0, 0x22, 0xB0, 0xEB,
|
||||
0x11, 0x98, 0x60, 0xBA, 0x12, 0x58, 0x65, 0xAD, 0x93, 0x5A, 0x01, 0x56, 0x53, 0x4F, 0x04, 0xD6,
|
||||
0xB6, 0x64, 0x3B, 0x7D, 0xD4, 0x11, 0xC8, 0x0F, 0xFD, 0x26, 0x55, 0x97, 0x61, 0xFF, 0x6C, 0x39,
|
||||
0x4E, 0x77, 0x95, 0xDF, 0x62, 0x47, 0x7E, 0xAB, 0x2B, 0xB5, 0x33, 0xF6, 0x40, 0x7D, 0xD3, 0xA9,
|
||||
0xE1, 0x4D, 0x95, 0x2A, 0xDB, 0x28, 0xA9, 0x23, 0xE7, 0x71, 0x8A, 0xD6, 0x6E, 0xED, 0xB5, 0x70,
|
||||
0x35, 0x6A, 0xA3, 0x00, 0x2C, 0x2A, 0x3A, 0xD0, 0xF1, 0xD7, 0xA9, 0x4B, 0x51, 0xEB, 0x96, 0x0A,
|
||||
0x6E, 0xC9, 0x5D, 0x96, 0x7B, 0x99, 0xFB, 0xD9, 0x2A, 0x85, 0xDC, 0xA5, 0xB8, 0x48, 0xFC, 0xE5,
|
||||
0x45, 0x47, 0x8F, 0x0D, 0x7C, 0x64, 0xBF, 0x6A, 0x9D, 0xB9, 0x47, 0x4E, 0x5E, 0xBB, 0x75, 0x05,
|
||||
0x8A, 0xE4, 0x25, 0x02, 0xCB, 0xD0, 0x6C, 0x3B, 0x2B, 0x60, 0x9C, 0x7A, 0x4C, 0x18, 0x47, 0x0E,
|
||||
0xBA, 0xB2, 0x94, 0x8A, 0x0B, 0xC8, 0xE0, 0x13, 0xE0, 0x95, 0x59, 0x74, 0x3A, 0x67, 0x8D, 0xC6,
|
||||
0x0E, 0x73, 0x90, 0xFA, 0x59, 0x9D, 0xE0, 0x34, 0xC0, 0xDF, 0xB3, 0xFD, 0xFD, 0x3C, 0x52, 0x27,
|
||||
0x14, 0x65, 0x89, 0x6E, 0xCE, 0x6A, 0xD1, 0xC3, 0x6C, 0xFF, 0xFA, 0x10, 0x06, 0x18, 0xDB, 0xBF,
|
||||
0x37, 0xDC, 0xFD, 0xA1, 0xE3, 0x1A, 0xB1, 0x32, 0x89, 0x42, 0xB8, 0xBA, 0x54, 0xB1, 0x89, 0x63,
|
||||
0xD9, 0xC9, 0x02, 0xBD, 0xEB, 0x64, 0x47, 0xEF, 0x5A, 0x52, 0x49, 0x65, 0x51, 0xB8, 0x51, 0x51,
|
||||
0xCA, 0x53, 0x28, 0xCD, 0xCD, 0x3C, 0xE3, 0xE4, 0x51, 0xCF, 0x28, 0x56, 0x3D, 0x63, 0x0B, 0xC2,
|
||||
0xC3, 0x66, 0x51, 0x0D, 0x2B, 0xDA, 0x47, 0x15, 0xED, 0x37, 0xD5, 0x1C, 0xBB, 0xDD, 0xD6, 0x95,
|
||||
0x79, 0xCB, 0x9B, 0xAD, 0x1E, 0x52, 0x6C, 0xF6, 0x90, 0x11, 0x78, 0xC8, 0x68, 0xCD, 0x43, 0x46,
|
||||
0x2B, 0x1E, 0x92, 0x81, 0x87, 0x64, 0x4B, 0x0F, 0xC9, 0x32, 0x0F, 0xC9, 0xC1, 0x43, 0xB2, 0x4F,
|
||||
0xB0, 0xA3, 0x8E, 0xEA, 0x7C, 0xE9, 0x21, 0x73, 0x54, 0x01, 0x78, 0x46, 0xE5, 0x21, 0xC5, 0xBA,
|
||||
0x87, 0xE4, 0x56, 0x36, 0x68, 0x47, 0x0F, 0xA9, 0xC7, 0xFD, 0x5D, 0xEE, 0xF1, 0x36, 0x77, 0x8B,
|
||||
0x37, 0x7F, 0xBD, 0x2B, 0x8C, 0xAB, 0x05, 0x3C, 0xAC, 0xEE, 0x1A, 0xED, 0xA6, 0x31, 0x55, 0x4A,
|
||||
0x56, 0x6C, 0x9F, 0x54, 0x3A, 0xD4, 0x5F, 0xCC, 0xCB, 0xF2, 0x81, 0xD5, 0xDF, 0x66, 0xEF, 0x42,
|
||||
0xDA, 0xFB, 0xB6, 0x4D, 0x51, 0xC8, 0x23, 0x26, 0x78, 0xF2, 0x3B, 0x95, 0x05, 0xFB, 0xBF, 0x7B,
|
||||
0x13, 0xC1, 0xD5, 0x5B, 0x2E, 0xBB, 0x6E, 0x91, 0xBE, 0x69, 0x66, 0x59, 0x9B, 0x4F, 0xFD, 0xE7,
|
||||
0xA6, 0x7C, 0xCD, 0xE7, 0x03, 0x64, 0xD4, 0x1D, 0x78, 0x6A, 0x21, 0xA5, 0xAB, 0xBB, 0x4E, 0xB5,
|
||||
0xD7, 0xB4, 0xD2, 0xDD, 0xA8, 0xB9, 0x73, 0xF7, 0xEE, 0xAC, 0xBB, 0xE7, 0xA6, 0xBF, 0x3A, 0x8B,
|
||||
0xDA, 0xB9, 0x5A, 0xBE, 0x7E, 0x87, 0x07, 0x9C, 0x3A, 0x7F, 0xCF, 0xE8, 0x14, 0x31, 0xFB, 0x1B,
|
||||
0x31, 0x22, 0x2D, 0xC9, 0x6E, 0x48, 0xFB, 0xEE, 0x5E, 0xDF, 0xEA, 0x3F, 0x37, 0x07, 0x15, 0x48,
|
||||
0x07, 0x1B, 0x90, 0x0E, 0x2A, 0x91, 0x6E, 0xEE, 0xB1, 0x86, 0x5B, 0x8E, 0x4F, 0x60, 0x0B, 0xA5,
|
||||
0x4E, 0x97, 0x51, 0xD7, 0x97, 0x96, 0xF6, 0x9B, 0xCC, 0xBD, 0x87, 0x5F, 0x73, 0x44, 0x03, 0xB6,
|
||||
0x1F, 0xC6, 0xC2, 0xC4, 0xDB, 0x5A, 0x75, 0x9C, 0x6D, 0xA8, 0xBA, 0x40, 0x4C, 0x83, 0xB1, 0x68,
|
||||
0x76, 0xCF, 0x05, 0xA7, 0xBF, 0x72, 0x26, 0xD3, 0x73, 0xE4, 0x19, 0xF7, 0x92, 0x0A, 0x2B, 0x3F,
|
||||
0x42, 0xC1, 0xF5, 0xC0, 0x7E, 0xA9, 0x5A, 0xFD, 0xCE, 0x3E, 0x7C, 0xCD, 0x0B, 0x2F, 0xC5, 0x4B,
|
||||
0x13, 0xB9, 0x0F, 0xC6, 0x1A, 0xFC, 0x11, 0x78, 0xDD, 0x49, 0x1F, 0xDF, 0x96, 0x68, 0x06, 0x93,
|
||||
0x41, 0x43, 0x7D, 0x6D, 0x9E, 0x5E, 0xBF, 0x3B, 0x7C, 0xDD, 0x14, 0x09, 0xA5, 0xCD, 0x43, 0xDB,
|
||||
0x21, 0xA5, 0x1B, 0x96, 0x6A, 0x72, 0x6E, 0xD9, 0x5F, 0x49, 0x4E, 0xE3, 0xC3, 0xE9, 0xCB, 0xDB,
|
||||
0x8B, 0xAF, 0x26, 0x6A, 0x1C, 0xC4, 0x7F, 0x29, 0x93, 0xA6, 0xEC, 0x8E, 0x95, 0x69, 0x81, 0x0C,
|
||||
0xC1, 0xAC, 0x9D, 0x34, 0xD5, 0xAB, 0x7D, 0xBD, 0x13, 0xA9, 0x8F, 0x86, 0x90, 0xEF, 0x2B, 0x60,
|
||||
0x4A, 0xD8, 0x1C, 0x40, 0x70, 0xE8, 0xFD, 0x73, 0x3E, 0xE4, 0x91, 0x68, 0x0C, 0xBD, 0x90, 0x05,
|
||||
0xB3, 0x4E, 0x0A, 0xBB, 0xE6, 0x46, 0x4A, 0x13, 0x36, 0xEC, 0x0E, 0xB0, 0xD4, 0xA7, 0xF3, 0x8F,
|
||||
0xE3, 0x9F, 0x8F, 0x8F, 0xFD, 0x67, 0xDD, 0xBE, 0x37, 0xB8, 0x1B, 0xC9, 0x9B, 0xE0, 0x86, 0xEE,
|
||||
0xA0, 0x74, 0xE8, 0x0C, 0x0F, 0xBB, 0x8D, 0x29, 0xED, 0xDF, 0x31, 0xD1, 0x98, 0xC0, 0x28, 0x18,
|
||||
0x19, 0x80, 0xBE, 0x75, 0x50, 0xD5, 0xBB, 0x8D, 0x90, 0x7F, 0xDE, 0xD4, 0x9A, 0xAE, 0x37, 0xAE,
|
||||
0x36, 0x2C, 0xFA, 0xDC, 0x9F, 0xCD, 0x43, 0x16, 0xA9, 0xDB, 0xEA, 0xCE, 0xE1, 0x13, 0x27, 0x7E,
|
||||
0x58, 0x8C, 0x93, 0x39, 0x6C, 0xED, 0x7C, 0xBC, 0x73, 0xE6, 0x71, 0xA7, 0x15, 0x3F, 0x18, 0x10,
|
||||
0x5A, 0x98, 0x6F, 0x68, 0x12, 0x17, 0xF8, 0xC6, 0x9E, 0x00, 0x03, 0x7D, 0xE9, 0x25, 0x73, 0x6D,
|
||||
0x75, 0x9D, 0x61, 0x40, 0x1F, 0xBA, 0xF8, 0xD1, 0x98, 0x26, 0x5E, 0xDC, 0xC1, 0x8F, 0x6E, 0x0C,
|
||||
0xFC, 0x87, 0xB0, 0xD5, 0x69, 0xC1, 0xA4, 0xD9, 0x97, 0x46, 0x40, 0x87, 0xA2, 0xD3, 0x3A, 0x86,
|
||||
0x96, 0xF5, 0x95, 0x0E, 0x87, 0xC3, 0x6E, 0xE8, 0x25, 0x23, 0xA0, 0xA7, 0xCF, 0x85, 0xE0, 0x61,
|
||||
0xE7, 0x09, 0x90, 0x63, 0x0F, 0x42, 0x7F, 0x9E, 0x31, 0xE9, 0xF8, 0x78, 0x11, 0x78, 0x7D, 0x1A,
|
||||
0xE4, 0x88, 0xA5, 0xCF, 0xE8, 0x2A, 0xF2, 0xD1, 0x67, 0xE6, 0x58, 0x0F, 0x81, 0xEE, 0x56, 0x1B,
|
||||
0xF0, 0x3C, 0xC6, 0x5F, 0xC4, 0x3A, 0x98, 0x24, 0x29, 0x3C, 0xCB, 0x0B, 0x75, 0x9A, 0x2C, 0xE2,
|
||||
0x84, 0xCE, 0x4B, 0x04, 0x1F, 0x17, 0x56, 0x90, 0x60, 0x5D, 0x00, 0xB6, 0x2C, 0xEC, 0x90, 0xFB,
|
||||
0x5E, 0x30, 0x8F, 0x79, 0xCA, 0xE4, 0x7D, 0xF2, 0x10, 0xC3, 0x72, 0xF7, 0x73, 0x43, 0xD6, 0x4A,
|
||||
0xC0, 0xB2, 0x1D, 0xDC, 0xF3, 0xE8, 0x51, 0x92, 0x95, 0x0E, 0x72, 0x42, 0x4E, 0x08, 0xFB, 0x3F,
|
||||
0x68, 0x70, 0x34, 0xE1, 0xD0, 0xF1, 0x53, 0x57, 0x15, 0x1C, 0xA8, 0x67, 0x88, 0x58, 0xC9, 0x30,
|
||||
0xE0, 0x53, 0xB5, 0xA4, 0x75, 0x9A, 0x71, 0xE6, 0xB5, 0xD6, 0x64, 0xD4, 0xF7, 0x4C, 0xC7, 0xC2,
|
||||
0x7F, 0xF6, 0x51, 0x4D, 0x53, 0xD7, 0xD0, 0x47, 0xFB, 0x05, 0x91, 0xCA, 0x25, 0x35, 0x12, 0xC8,
|
||||
0x29, 0x26, 0xA9, 0x12, 0x4E, 0xA1, 0x4F, 0xAE, 0x6E, 0x53, 0xA7, 0x92, 0x48, 0xE5, 0x58, 0xDD,
|
||||
0xBD, 0x61, 0xF8, 0x1A, 0xF1, 0x99, 0x24, 0xE4, 0xC0, 0x75, 0xFD, 0xEA, 0xE6, 0xFC, 0x84, 0xBC,
|
||||
0xDF, 0xC3, 0xB7, 0x4B, 0xB4, 0x52, 0x94, 0xE5, 0xEB, 0x40, 0xEB, 0x83, 0xD6, 0xDB, 0xA3, 0x63,
|
||||
0x27, 0x17, 0x47, 0x63, 0x2C, 0x2F, 0x26, 0xE6, 0xB9, 0xF6, 0x3D, 0x41, 0x45, 0x78, 0xB2, 0x54,
|
||||
0x04, 0x94, 0xF7, 0x23, 0x44, 0x7D, 0x2F, 0x97, 0x36, 0x2C, 0x4A, 0x4B, 0xB7, 0x6D, 0x1F, 0x43,
|
||||
0x42, 0xD2, 0xC5, 0x1A, 0x87, 0x46, 0xB9, 0x49, 0x7A, 0x07, 0xCC, 0x5D, 0x3B, 0x2D, 0xD9, 0x90,
|
||||
0x2D, 0x47, 0x9A, 0x68, 0xD1, 0x94, 0xD4, 0x62, 0x36, 0xEA, 0x71, 0x36, 0x66, 0x28, 0xEF, 0x71,
|
||||
0x36, 0xB0, 0x60, 0x89, 0x12, 0x30, 0x6E, 0x36, 0x85, 0x6D, 0xA6, 0xFF, 0xBD, 0xBA, 0xB0, 0xEE,
|
||||
0x2D, 0xD4, 0x3D, 0xB0, 0x14, 0x36, 0x9F, 0x36, 0x12, 0x0A, 0x7A, 0x9F, 0xD2, 0x05, 0xC3, 0x33,
|
||||
0xDD, 0x6A, 0x13, 0xCF, 0x2C, 0x45, 0x31, 0x2E, 0x5B, 0xE5, 0x93, 0xCC, 0xE0, 0x8B, 0xCC, 0x6D,
|
||||
0xD9, 0x47, 0xED, 0xA7, 0xC7, 0x3F, 0xB7, 0x8E, 0x0E, 0x33, 0xE2, 0x34, 0x3D, 0x47, 0x3B, 0x7A,
|
||||
0x06, 0x3E, 0x11, 0x38, 0x5F, 0xC7, 0xD1, 0x44, 0x55, 0x69, 0xED, 0x42, 0x9D, 0x94, 0x3F, 0x4A,
|
||||
0x74, 0xDB, 0x3E, 0xFA, 0x1A, 0xA2, 0x81, 0x1F, 0x82, 0x0D, 0x40, 0xA4, 0x5E, 0xC0, 0x46, 0x51,
|
||||
0x27, 0x64, 0xBE, 0x1F, 0xD0, 0x15, 0x77, 0xB5, 0xC1, 0x92, 0xD0, 0x3F, 0xC8, 0x32, 0xF1, 0x86,
|
||||
0xAA, 0x32, 0x8E, 0xB8, 0xF4, 0xC8, 0x95, 0x2C, 0xD8, 0x66, 0x13, 0x8B, 0x4E, 0x47, 0x86, 0x98,
|
||||
0x6C, 0x9F, 0xD3, 0xE8, 0x83, 0xDF, 0xDF, 0x06, 0xAC, 0x03, 0x55, 0x0E, 0x2F, 0xF3, 0xFC, 0xAF,
|
||||
0x1A, 0xB1, 0x19, 0xC3, 0xB0, 0x85, 0xFF, 0x16, 0x36, 0x82, 0x01, 0x84, 0x95, 0x81, 0xCF, 0x75,
|
||||
0xCC, 0x50, 0x2E, 0x76, 0xA9, 0xE5, 0xAD, 0x64, 0xB3, 0x92, 0xCB, 0x69, 0x2A, 0xDD, 0xCF, 0xC2,
|
||||
0x56, 0x01, 0xE6, 0x47, 0xCA, 0x2B, 0x53, 0x0A, 0x16, 0xC9, 0x61, 0x6B, 0xBA, 0xB1, 0x93, 0x22,
|
||||
0xEA, 0x90, 0xA0, 0x02, 0xAC, 0x17, 0xCD, 0xA6, 0x63, 0x9A, 0xD0, 0x62, 0x30, 0xEE, 0x69, 0x15,
|
||||
0xD4, 0xEC, 0x50, 0x71, 0x0A, 0x43, 0xED, 0x42, 0x96, 0x7D, 0xCF, 0x37, 0xBB, 0x0C, 0x35, 0xA8,
|
||||
0xA3, 0xDE, 0xE3, 0xDB, 0x00, 0xE3, 0xF4, 0x9D, 0xA7, 0xCF, 0x9E, 0x2D, 0x26, 0xC1, 0xD6, 0x58,
|
||||
0x8F, 0x27, 0xEE, 0x0D, 0x99, 0xF8, 0x34, 0x30, 0xF1, 0x51, 0xE9, 0x86, 0x76, 0xDB, 0x87, 0xCB,
|
||||
0xE0, 0x89, 0xCF, 0x32, 0xBA, 0xEA, 0x2E, 0xE5, 0xCF, 0x50, 0x66, 0x98, 0x84, 0x68, 0x76, 0x1E,
|
||||
0x1E, 0xCB, 0x06, 0xF0, 0xEE, 0xA5, 0x86, 0xCA, 0x78, 0x91, 0x73, 0x66, 0xA6, 0xB8, 0x59, 0xC1,
|
||||
0xA9, 0x80, 0xE5, 0x0E, 0xF1, 0x19, 0x62, 0x3D, 0x92, 0x48, 0x24, 0x19, 0x8E, 0xA1, 0x74, 0x65,
|
||||
0x89, 0x01, 0x76, 0x8B, 0xB0, 0x63, 0x06, 0x7F, 0x4A, 0xA3, 0x89, 0x34, 0xA1, 0x64, 0x2E, 0x57,
|
||||
0x0C, 0xBC, 0x99, 0x76, 0x5A, 0x5D, 0x6D, 0x79, 0x0D, 0x8A, 0xE9, 0x65, 0xAA, 0x72, 0x29, 0x3B,
|
||||
0xC6, 0x3A, 0x83, 0xF5, 0x95, 0x95, 0x8D, 0xAE, 0x25, 0x23, 0x55, 0xF1, 0x85, 0xAF, 0x79, 0xD9,
|
||||
0x1C, 0xEC, 0xE5, 0x1B, 0x64, 0xBA, 0x27, 0xA1, 0xFE, 0xC2, 0xCE, 0xDE, 0x1D, 0x9C, 0x57, 0xA3,
|
||||
0xCE, 0x22, 0xDF, 0xB7, 0xC7, 0xB0, 0xAA, 0xA8, 0x58, 0x50, 0xC3, 0xCC, 0x2C, 0xD6, 0xA2, 0x58,
|
||||
0xD1, 0x4A, 0xDA, 0xB8, 0x76, 0xCC, 0x99, 0x56, 0xF2, 0x2A, 0x3B, 0xE2, 0xDF, 0x4F, 0xE4, 0xD6,
|
||||
0xD4, 0x14, 0x10, 0xE8, 0xE0, 0xF7, 0xBD, 0x69, 0xCB, 0xF6, 0x78, 0x9E, 0xB1, 0xFC, 0x47, 0x22,
|
||||
0xDB, 0x14, 0x6F, 0x37, 0xE7, 0xC8, 0x4B, 0x5B, 0xD9, 0x51, 0x0E, 0xB9, 0x9E, 0x3B, 0x19, 0xE1,
|
||||
0x79, 0xE6, 0xAF, 0xC7, 0x1D, 0x3B, 0x95, 0x29, 0x79, 0xA6, 0xC0, 0xCA, 0x9F, 0x54, 0xE5, 0x04,
|
||||
0x2A, 0xB1, 0xDF, 0x28, 0x91, 0xD5, 0x8C, 0x2C, 0x33, 0x8D, 0x85, 0x8D, 0x87, 0x32, 0xB9, 0x5F,
|
||||
0x51, 0xAA, 0x2C, 0xCF, 0xC9, 0xB2, 0x30, 0xEB, 0x64, 0xB3, 0xA3, 0x0D, 0xAE, 0x66, 0x7D, 0x98,
|
||||
0x29, 0x6B, 0x78, 0x43, 0xF8, 0x56, 0xF6, 0x34, 0x9E, 0x6F, 0x88, 0x7C, 0x19, 0xEE, 0xA7, 0x3B,
|
||||
0xBB, 0x6E, 0x50, 0xB0, 0x47, 0x72, 0xA1, 0x8D, 0xEE, 0x34, 0xBD, 0x1F, 0x55, 0x38, 0x5A, 0x3B,
|
||||
0xAB, 0x50, 0xEE, 0x8C, 0xD1, 0x43, 0xCD, 0x57, 0x83, 0xF8, 0x23, 0xC6, 0x97, 0xF1, 0x33, 0x2B,
|
||||
0xA0, 0x56, 0xB3, 0x58, 0x01, 0xD3, 0xAE, 0x1B, 0x9F, 0xBE, 0x69, 0x62, 0x14, 0xB1, 0xF4, 0x39,
|
||||
0x6A, 0xDD, 0x03, 0xAA, 0x4C, 0x35, 0xC7, 0xF3, 0x58, 0x64, 0x58, 0x59, 0x57, 0x0F, 0x39, 0xF0,
|
||||
0x6D, 0x6B, 0x53, 0xA1, 0xA8, 0xB7, 0x99, 0x85, 0x7A, 0x84, 0xA4, 0xD4, 0xA7, 0x03, 0x9E, 0xC8,
|
||||
0xBB, 0x81, 0xD2, 0x26, 0x2E, 0x7F, 0xDC, 0x63, 0x21, 0xBE, 0x1A, 0xED, 0x45, 0xA2, 0x40, 0x9D,
|
||||
0x66, 0xD3, 0x6A, 0x03, 0xA2, 0xB3, 0x4A, 0x41, 0xB0, 0x82, 0x00, 0xBD, 0xDC, 0x7F, 0x5C, 0x5E,
|
||||
0xFF, 0x32, 0x5F, 0xE7, 0xD7, 0x3F, 0x2A, 0xCF, 0xEF, 0xE6, 0x4B, 0xE3, 0x5B, 0xF5, 0x87, 0xFF,
|
||||
0x0A, 0xA9, 0xCF, 0x3C, 0x03, 0xE0, 0x28, 0xFE, 0x06, 0x44, 0xE4, 0x1B, 0xE6, 0x52, 0xBD, 0x9F,
|
||||
0xE0, 0x6E, 0xB1, 0x36, 0x2F, 0x86, 0xA0, 0x92, 0xA5, 0x2C, 0x4E, 0x9A, 0x32, 0xE0, 0xF6, 0x4E,
|
||||
0x9A, 0xEA, 0xF7, 0x8F, 0xD0, 0xA4, 0x7B, 0x27, 0x3E, 0xBB, 0xEF, 0x9D, 0x4C, 0x02, 0x2C, 0xB7,
|
||||
0xC6, 0x42, 0xF8, 0xEC, 0xC8, 0xA8, 0x97, 0x5D, 0xEB, 0x62, 0x81, 0x75, 0xDE, 0xA9, 0x0F, 0x70,
|
||||
0x7A, 0xF2, 0xD2, 0x66, 0x08, 0x38, 0x4A, 0xBD, 0xD9, 0x49, 0x4A, 0xEF, 0x9C, 0x06, 0x71, 0xA9,
|
||||
0x27, 0xBB, 0x34, 0xD2, 0x35, 0x3E, 0xEA, 0x70, 0xB5, 0x27, 0xCF, 0x47, 0x72, 0x38, 0xDD, 0xB5,
|
||||
0x24, 0x9F, 0xF4, 0x4A, 0x73, 0x2C, 0x0B, 0x5E, 0xCA, 0xB3, 0xBC, 0xC1, 0xF6, 0x12, 0x64, 0x76,
|
||||
0xB7, 0x65, 0x64, 0x41, 0xD0, 0x5D, 0xBE, 0x4A, 0xAF, 0xE7, 0x6C, 0xE2, 0x8A, 0x9B, 0x72, 0xED,
|
||||
0xE3, 0x44, 0x32, 0x41, 0x8E, 0xC4, 0x1A, 0xAF, 0xAC, 0x3D, 0x6B, 0x2B, 0x55, 0x05, 0x66, 0xA8,
|
||||
0xA5, 0x53, 0x34, 0x14, 0x01, 0xAB, 0x90, 0xBA, 0xD2, 0xAD, 0x04, 0xAA, 0x7D, 0x1A, 0xE9, 0xDD,
|
||||
0xD0, 0x24, 0xC4, 0x82, 0xD2, 0xCD, 0x48, 0x64, 0xE1, 0x5B, 0x79, 0x20, 0x4A, 0xC9, 0xC8, 0xC3,
|
||||
0x94, 0xC6, 0xA6, 0x21, 0x96, 0xB9, 0x1C, 0xB4, 0xCB, 0xFD, 0x46, 0xD6, 0x33, 0xE4, 0x49, 0xF8,
|
||||
0x4A, 0xF5, 0x12, 0x03, 0x75, 0x6B, 0xC0, 0xC3, 0x18, 0x6B, 0xD3, 0x5C, 0xC2, 0x87, 0x43, 0x62,
|
||||
0x64, 0x67, 0xE9, 0x0A, 0x79, 0xB1, 0x4E, 0xAA, 0x67, 0x9C, 0x28, 0xED, 0xCE, 0xA6, 0xEA, 0x8B,
|
||||
0x48, 0x83, 0xA9, 0x82, 0xA7, 0xDE, 0x35, 0x8D, 0xFC, 0x93, 0xA6, 0x36, 0xBE, 0x47, 0xC8, 0x51,
|
||||
0xA7, 0x5A, 0xF2, 0x3C, 0xBA, 0xCF, 0x1F, 0xD4, 0x3C, 0xD5, 0x27, 0xD7, 0x86, 0x3E, 0xB8, 0xD6,
|
||||
0x23, 0x50, 0x5C, 0xC6, 0x89, 0x4C, 0xAF, 0x0D, 0x58, 0xD0, 0xB6, 0x91, 0xBD, 0x17, 0xF9, 0x33,
|
||||
0x08, 0x18, 0x47, 0x64, 0x62, 0x54, 0x9F, 0x31, 0x16, 0xF7, 0x2E, 0xF9, 0x9C, 0xD5, 0x0D, 0xE2,
|
||||
0x8B, 0x09, 0x09, 0x2D, 0x83, 0x66, 0x22, 0x29, 0xD4, 0x78, 0x6E, 0x95, 0xFA, 0x5A, 0xA5, 0xE5,
|
||||
0x66, 0xC1, 0x2F, 0x7F, 0xDA, 0xA7, 0x12, 0xCF, 0x0F, 0x93, 0xBE, 0xA4, 0x50, 0xF3, 0x5E, 0x56,
|
||||
0x1A, 0x96, 0xE5, 0xAD, 0xEE, 0xA9, 0x8C, 0x70, 0x12, 0x08, 0x06, 0x4A, 0x01, 0x7C, 0xD5, 0x4F,
|
||||
0x5B, 0x84, 0x9F, 0x95, 0xD5, 0xF4, 0xAE, 0xD4, 0x43, 0xAE, 0x00, 0xD5, 0xEA, 0x92, 0x1F, 0x58,
|
||||
0x1B, 0xEA, 0x87, 0x36, 0xC8, 0x2B, 0xD9, 0xB2, 0xAC, 0xE5, 0x26, 0xBD, 0xFA, 0xE3, 0xD3, 0x14,
|
||||
0x6B, 0x5F, 0xB2, 0x89, 0x26, 0xFA, 0x87, 0x23, 0x64, 0x63, 0x61, 0x92, 0x22, 0x77, 0x94, 0xDA,
|
||||
0x28, 0x4E, 0xE0, 0x3C, 0xC5, 0xEA, 0xCC, 0x9E, 0xF3, 0x53, 0xAE, 0x17, 0x6A, 0x4F, 0x98, 0x73,
|
||||
0x5D, 0xED, 0x15, 0xD7, 0xC7, 0x11, 0xF9, 0xEA, 0x2C, 0x81, 0x1C, 0x22, 0x67, 0xE6, 0xB1, 0xA3,
|
||||
0xF4, 0x47, 0xCD, 0xB0, 0x49, 0x7D, 0xF4, 0x59, 0x5A, 0x59, 0xA6, 0x64, 0x23, 0x4C, 0xBF, 0x5A,
|
||||
0xF6, 0x99, 0x06, 0xAD, 0xAD, 0x4E, 0x13, 0x88, 0xB7, 0xA5, 0xBD, 0xA6, 0x46, 0xAF, 0x92, 0x1A,
|
||||
0x0D, 0xA5, 0x33, 0x1C, 0xFC, 0x6C, 0xE0, 0x2B, 0xAC, 0xB1, 0x74, 0x80, 0x42, 0xB9, 0x7F, 0xF9,
|
||||
0xDE, 0xD5, 0xB8, 0x87, 0xBF, 0x93, 0x73, 0xD2, 0xC4, 0x97, 0x73, 0xE0, 0x3F, 0xFE, 0xBC, 0x44,
|
||||
0xFE, 0xE5, 0x9A, 0x7D, 0xCE, 0xBF, 0xE8, 0x37, 0x9D, 0x88, 0xF3, 0x13, 0xAE, 0xB9, 0xDC, 0x86,
|
||||
0x79, 0x55, 0xD6, 0x8A, 0xAF, 0xDC, 0xE0, 0x93, 0xC2, 0x20, 0x57, 0x90, 0x2D, 0x54, 0xBE, 0xED,
|
||||
0x82, 0x9D, 0x2A, 0xEE, 0x34, 0x25, 0x59, 0x5B, 0xB8, 0xA6, 0x8B, 0x8B, 0xCB, 0x3C, 0xC9, 0xED,
|
||||
0xA0, 0x68, 0xB1, 0x9B, 0xAD, 0x57, 0x57, 0x5E, 0x3F, 0x62, 0xBB, 0xA5, 0xE2, 0xE4, 0x2A, 0xCB,
|
||||
0xD5, 0x05, 0x4E, 0xAA, 0x6A, 0xA3, 0x02, 0xD1, 0xDF, 0x61, 0xBC, 0xDE, 0x60, 0x40, 0x63, 0xE1,
|
||||
0x12, 0xFC, 0x89, 0xA3, 0xA5, 0x29, 0x0F, 0xA7, 0xE4, 0x11, 0xF3, 0xC1, 0x7A, 0x35, 0x70, 0xDB,
|
||||
0x78, 0x8E, 0x6F, 0xA0, 0x25, 0xED, 0x6A, 0x30, 0xCB, 0x32, 0x95, 0xAF, 0x35, 0x19, 0x35, 0x72,
|
||||
0x67, 0xA3, 0x29, 0x7E, 0xF6, 0x0B, 0xF1, 0x78, 0x59, 0xBD, 0x9A, 0xA7, 0x07, 0x78, 0x60, 0x59,
|
||||
0x14, 0x63, 0xB1, 0x3D, 0x3B, 0xBC, 0xDE, 0xD4, 0x95, 0x49, 0xF3, 0x02, 0xF6, 0xE9, 0x82, 0x0D,
|
||||
0xF5, 0x4F, 0xDF, 0x14, 0x84, 0x59, 0x82, 0x96, 0xE6, 0x58, 0x2D, 0xB0, 0x35, 0x4B, 0xEC, 0xDD,
|
||||
0xA6, 0xB0, 0xFD, 0xD0, 0xB3, 0x29, 0x71, 0xE6, 0xF4, 0xAB, 0x8A, 0xD3, 0xD5, 0x74, 0x63, 0xB7,
|
||||
0x69, 0xDF, 0xE9, 0xAA, 0xD5, 0xF2, 0xD4, 0x4A, 0x39, 0xB2, 0x8A, 0xD6, 0xCC, 0x0D, 0x14, 0xEB,
|
||||
0x5B, 0xD7, 0x8D, 0xA2, 0xB4, 0xBC, 0x5C, 0x23, 0xB5, 0xD6, 0xA8, 0x09, 0x75, 0xF1, 0xEE, 0x9A,
|
||||
0x0E, 0x15, 0x2B, 0x7B, 0xB3, 0x74, 0x2B, 0x53, 0xA0, 0x0D, 0x76, 0xA8, 0xED, 0x5B, 0xFE, 0xF4,
|
||||
0xE6, 0x7F, 0x03, 0x98, 0x91, 0xF0, 0xE8, 0x8A, 0x53, 0x00, 0x00
|
||||
};
|
||||
#endif //__embedded_h
|
Loading…
x
Reference in New Issue
Block a user