mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-01-23 12:43:20 -05:00
Add QT GUI install program
This commit is contained in:
parent
dd2411d7d4
commit
d148139227
@ -27,6 +27,33 @@ vtlog "####### $0 $* ########"
|
||||
|
||||
VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
|
||||
|
||||
ventoy_os_install_dmsetup_by_fuse() {
|
||||
vtlog "ventoy_os_install_dmsetup_by_fuse $*"
|
||||
|
||||
mkdir -p $VTOY_PATH/mnt/fuse $VTOY_PATH/mnt/iso $VTOY_PATH/mnt/squashfs
|
||||
|
||||
vtoydm -p -f $VTOY_PATH/ventoy_image_map -d $1 > $VTOY_PATH/ventoy_dm_table
|
||||
vtoy_fuse_iso -f $VTOY_PATH/ventoy_dm_table -m $VTOY_PATH/mnt/fuse
|
||||
|
||||
mount -t iso9660 $VTOY_PATH/mnt/fuse/ventoy.iso $VTOY_PATH/mnt/iso
|
||||
|
||||
sfsfile=$(ls $VTOY_PATH/mnt/iso/*.sfs)
|
||||
|
||||
mount -t squashfs $sfsfile $VTOY_PATH/mnt/squashfs
|
||||
|
||||
kVer=$(uname -r)
|
||||
KoName=$(ls $VTOY_PATH/mnt/squashfs/lib/modules/$kVer/kernel/drivers/md/dm-mod.ko*)
|
||||
vtlog "insmod $KoName"
|
||||
insmod $KoName
|
||||
|
||||
umount $VTOY_PATH/mnt/squashfs
|
||||
umount $VTOY_PATH/mnt/iso
|
||||
umount $VTOY_PATH/mnt/fuse
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
wait_for_usb_disk_ready
|
||||
|
||||
vtdiskname=$(get_ventoy_disk_name)
|
||||
@ -36,6 +63,12 @@ if [ "$vtdiskname" = "unknown" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if grep -q 'device-mapper' /proc/devices; then
|
||||
vtlog "device-mapper module exist"
|
||||
else
|
||||
ventoy_os_install_dmsetup_by_fuse $vtdiskname
|
||||
fi
|
||||
|
||||
ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace"
|
||||
|
||||
if ! [ -e $VTOY_DM_PATH ]; then
|
||||
|
@ -18,8 +18,15 @@
|
||||
#************************************************************************************
|
||||
|
||||
$SED '1 apmedia=usbhd' -i /init
|
||||
$SED "/^ *HAVE_PARTS=/a\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/puppy-disk.sh" -i /init
|
||||
$SED "/^ *HAVE_PARTS=/a\ HAVE_PARTS='ventoy|iso9660'" -i /init
|
||||
|
||||
if $GREP -q 'HAVE_PARTS=' /init; then
|
||||
$SED "/^ *HAVE_PARTS=/a\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/puppy-disk.sh" -i /init
|
||||
$SED "/^ *HAVE_PARTS=/a\ HAVE_PARTS='ventoy|iso9660'" -i /init
|
||||
elif $GREP -q 'LESSPARTS=' /init; then
|
||||
$SED "/^ *LESSPARTS=/a\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/puppy-disk.sh" -i /init
|
||||
$SED "/^ *LESSPARTS=/a\ LESSPARTS='ventoy|iso9660'" -i /init
|
||||
fi
|
||||
|
||||
|
||||
if [ -f /DISTRO_SPECS ]; then
|
||||
if ! [ -d /dev ]; then
|
||||
|
@ -35,7 +35,7 @@ ventoy_get_debian_distro() {
|
||||
fi
|
||||
|
||||
if [ -e /init ]; then
|
||||
if $GREP -q PUPPYSFS /init; then
|
||||
if $EGREP -q 'PUPPYSFS|PUPPYFILE' /init; then
|
||||
if $GREP -q VEKETSFS /init; then
|
||||
echo 'veket'; return
|
||||
else
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -11,6 +11,7 @@
|
||||
<property name="resizable">False</property>
|
||||
<property name="title" translatable="yes">Partition Configuration</property>
|
||||
<property name="modal">True</property>
|
||||
<property name="window_position">center</property>
|
||||
<property name="default_width">460</property>
|
||||
<property name="default_height">270</property>
|
||||
<child>
|
||||
|
Binary file not shown.
BIN
INSTALL/tool/aarch64/Ventoy2Disk.qt5
Normal file
BIN
INSTALL/tool/aarch64/Ventoy2Disk.qt5
Normal file
Binary file not shown.
23
INSTALL/tool/distro_gui_type.json
Normal file
23
INSTALL/tool/distro_gui_type.json
Normal file
@ -0,0 +1,23 @@
|
||||
[
|
||||
{
|
||||
"type": "env",
|
||||
"name": "DESKTOP_SESSION",
|
||||
"condition": "equal",
|
||||
"expression": "deepin",
|
||||
"gui": "qt5"
|
||||
},
|
||||
{
|
||||
"type": "env",
|
||||
"name": "DESKTOP_SESSION",
|
||||
"condition": "equal",
|
||||
"expression": "uos",
|
||||
"gui": "qt5"
|
||||
},
|
||||
{
|
||||
"type": "env",
|
||||
"name": "DESKTOP_SESSION",
|
||||
"condition": "equal",
|
||||
"expression": "ukui",
|
||||
"gui": "gtk3"
|
||||
}
|
||||
]
|
Binary file not shown.
Binary file not shown.
BIN
INSTALL/tool/i386/Ventoy2Disk.qt5
Normal file
BIN
INSTALL/tool/i386/Ventoy2Disk.qt5
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
INSTALL/tool/mips64el/Ventoy2Disk.qt5
Normal file
BIN
INSTALL/tool/mips64el/Ventoy2Disk.qt5
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
INSTALL/tool/x86_64/Ventoy2Disk.qt5
Normal file
BIN
INSTALL/tool/x86_64/Ventoy2Disk.qt5
Normal file
Binary file not shown.
@ -9,6 +9,7 @@ fi
|
||||
dos2unix -q ./tool/ventoy_lib.sh
|
||||
dos2unix -q ./tool/VentoyWorker.sh
|
||||
dos2unix -q ./tool/VentoyGTK.glade
|
||||
dos2unix -q ./tool/distro_gui_type.json
|
||||
|
||||
. ./tool/ventoy_lib.sh
|
||||
|
||||
|
@ -5,7 +5,6 @@
|
||||
3. sh prepare_lib_aarch64.sh /mnt/Packages/
|
||||
|
||||
|
||||
|
||||
====== MIPS64EL ======
|
||||
1. build dpkg for CentOS7
|
||||
download dpkg_1.18.25.tar.xz from internet.
|
||||
@ -15,8 +14,47 @@ make
|
||||
cp -a ./src/dpkg /sbin/
|
||||
cp -a ./dpkg-deb/dpkg-deb /sbin/
|
||||
|
||||
2. download debian 9.x mips64el DVD iso (e.g. debian-9.9.0-mips64el-DVD-1.iso) form internet
|
||||
3. download libgtk-3-dev_3.22.11-1_mips64el.deb from internet
|
||||
4. mount debian-9.9.0-mips64el-DVD-1.iso /mnt
|
||||
5. sh prepare_lib_mips64el.sh /mnt/
|
||||
2. download debian 10.x mips64el DVD iso (e.g. debian-10.9.0-mips64el-DVD-1.iso) form internet
|
||||
3. mount debian-10.9.0-mips64el-DVD-1.iso /mnt
|
||||
4. sh prepare_gtk_lib_mips64el.sh /mnt/
|
||||
5. download the following packages from internet and dpkg -x each of them
|
||||
pool/main/g/gtk+3.0/libgtk-3-dev_3.24.5-1_mips64el.deb
|
||||
pool/main/b/brotli/libbrotli1_1.0.9-2+b2_mips64el.deb
|
||||
pool/main/d/double-conversion/libdouble-conversion3_3.1.5-6.1_mips64el.deb
|
||||
pool/main/d/double-conversion/libdouble-conversion1_3.1.0-3_mips64el.deb
|
||||
pool/main/libg/libglvnd/libgl1_1.3.2-1~bpo10+2_mips64el.deb
|
||||
pool/main/libg/libglvnd/libglvnd0_1.3.2-1~bpo10+2_mips64el.deb
|
||||
pool/main/libg/libglvnd/libglx0_1.3.2-1~bpo10+2_mips64el.deb
|
||||
pool/main/q/qtbase-opensource-src/libqt5concurrent5_5.11.3+dfsg1-1+deb10u4_mips64el.deb
|
||||
pool/main/q/qtbase-opensource-src/libqt5core5a_5.11.3+dfsg1-1+deb10u4_mips64el.deb
|
||||
pool/main/q/qtbase-opensource-src/libqt5dbus5_5.11.3+dfsg1-1+deb10u4_mips64el.deb
|
||||
pool/main/q/qtbase-opensource-src/libqt5gui5_5.11.3+dfsg1-1+deb10u4_mips64el.deb
|
||||
pool/main/q/qtbase-opensource-src/libqt5network5_5.11.3+dfsg1-1+deb10u4_mips64el.deb
|
||||
pool/main/q/qtbase-opensource-src/libqt5opengl5_5.11.3+dfsg1-1+deb10u4_mips64el.deb
|
||||
pool/main/q/qtbase-opensource-src/libqt5opengl5-dev_5.11.3+dfsg1-1+deb10u4_mips64el.deb
|
||||
pool/main/q/qtbase-opensource-src/libqt5widgets5_5.11.3+dfsg1-1+deb10u4_mips64el.deb
|
||||
pool/main/q/qtbase-opensource-src/libqt5xml5_5.11.3+dfsg1-1+deb10u4_mips64el.deb
|
||||
pool/main/q/qtbase-opensource-src/qt5-qmake_5.11.3+dfsg1-1+deb10u4_mips64el.deb
|
||||
pool/main/q/qtbase-opensource-src/qtbase5-dev_5.11.3+dfsg1-1+deb10u4_mips64el.deb
|
||||
pool/main/q/qtbase-opensource-src/qtbase5-dev-tools_5.11.3+dfsg1-1+deb10u4_mips64el.deb
|
||||
pool/main/q/qtbase-opensource-src/qtbase5-examples_5.11.3+dfsg1-1+deb10u4_mips64el.deb
|
||||
pool/main/q/qtbase-opensource-src/qtbase5-private-dev_5.11.3+dfsg1-1+deb10u4_mips64el.deb
|
||||
|
||||
|
||||
==== I386 ===
|
||||
We need a CentOS8 environment
|
||||
Install CentOS 8 x86_64 system.
|
||||
yum update
|
||||
yum install gcc
|
||||
yum install gcc-c++
|
||||
yum install gcc.i686
|
||||
yum install glibc.i686 glibc-devel.i686 glibc-headers.i686 glibc-static.i686 glibc-nss-devel.i686
|
||||
yum install libstdc++.i686
|
||||
yum install harfbuzz.i686
|
||||
yum install zlib.i686
|
||||
yum install mesa-libGL.i686
|
||||
|
||||
pack all /usr /etc directories and extract to /opt/CentOS8/
|
||||
|
||||
|
||||
|
||||
|
@ -1,4 +1,7 @@
|
||||
gtk3-
|
||||
qt5
|
||||
GL
|
||||
icu
|
||||
glib2-
|
||||
pango-
|
||||
cairo-
|
||||
|
28
LinuxGUI/EXLIB/download_lib.sh
Normal file
28
LinuxGUI/EXLIB/download_lib.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "please input url"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -n "$2" ]; then
|
||||
proxy_opt="-x $2"
|
||||
fi
|
||||
|
||||
rm -rf download
|
||||
mkdir -p download
|
||||
cd download
|
||||
|
||||
grep pool ../README.txt | while read line; do
|
||||
a="$line"
|
||||
b=$(basename "$a")
|
||||
echo "downloading $b ..."
|
||||
curl -s $1/debian/"$a" $proxy_opt -o "$b"
|
||||
|
||||
a=$(echo $line | sed "s/mips64el/i386/g")
|
||||
b=$(basename "$a")
|
||||
echo "downloading $b ..."
|
||||
curl -s $1/debian/"$a" $proxy_opt -o "$b"
|
||||
done
|
||||
|
||||
cd ..
|
7
LinuxGUI/EXLIB/i386libs
Normal file
7
LinuxGUI/EXLIB/i386libs
Normal file
@ -0,0 +1,7 @@
|
||||
libmd
|
||||
libzstd
|
||||
libpcre2-16
|
||||
libicu
|
||||
qt5
|
||||
libgpg-error
|
||||
libpng
|
@ -1,3 +1,8 @@
|
||||
libmd
|
||||
libzstd
|
||||
libpcre2-16
|
||||
libicu
|
||||
qt5
|
||||
libglib2
|
||||
libgtk-3
|
||||
libpango
|
||||
|
@ -9,8 +9,8 @@ rm -rf aarch64
|
||||
mkdir aarch64
|
||||
cd aarch64
|
||||
|
||||
cat ../aarch64libs | while read line; do
|
||||
ls -1 $1/${line}* | while read rpm; do
|
||||
cat ../aarch64libs | while read a; do
|
||||
ls -1 $1/*$a* | while read rpm; do
|
||||
echo "extract ${rpm##*/} ..."
|
||||
rpm2cpio $rpm | cpio -idmu --quiet
|
||||
done
|
||||
|
25
LinuxGUI/EXLIB/prepare_lib_i386.sh
Normal file
25
LinuxGUI/EXLIB/prepare_lib_i386.sh
Normal file
@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -d $1/pool ]; then
|
||||
echo "$1/pool not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -rf i386
|
||||
mkdir i386
|
||||
cd i386
|
||||
|
||||
cat ../i386libs | while read line; do
|
||||
find "$1/pool" -name "*${line}*.deb" | while read deb; do
|
||||
echo "extract ${deb##*/} ..."
|
||||
dpkg -x $deb .
|
||||
done
|
||||
done
|
||||
|
||||
ls -1 ../download/*i386.deb | while read line; do
|
||||
echo "extract ${line} ..."
|
||||
dpkg -x "$line" .
|
||||
done
|
||||
|
||||
cd ..
|
||||
|
@ -16,9 +16,10 @@ cat ../mips64ellibs | while read line; do
|
||||
done
|
||||
done
|
||||
|
||||
dpkg -x ../libgtk-3-dev_3.22.11-1_mips64el.deb .
|
||||
ls -1 ../download/*mips64el.deb | while read line; do
|
||||
echo "extract ${line} ..."
|
||||
dpkg -x "$line" .
|
||||
done
|
||||
|
||||
cd ..
|
||||
|
||||
|
||||
|
||||
|
@ -31,9 +31,6 @@
|
||||
#define VTOYEFI_PART_BYTES (32 * 1024 * 1024)
|
||||
#define VTOYEFI_PART_SECTORS 65536
|
||||
|
||||
#define VTOY_LOG_FILE "log.txt"
|
||||
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef struct vtoy_guid
|
||||
|
@ -25,6 +25,8 @@
|
||||
#include <stdarg.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <linux/limits.h>
|
||||
#include <ventoy_define.h>
|
||||
#include <ventoy_util.h>
|
||||
#include <ventoy_json.h>
|
||||
|
@ -26,8 +26,10 @@
|
||||
#include <unistd.h>
|
||||
#include <pthread.h>
|
||||
#include <time.h>
|
||||
#include <linux/limits.h>
|
||||
#include <ventoy_define.h>
|
||||
|
||||
extern char g_log_file[PATH_MAX];
|
||||
static int g_ventoy_log_level = VLOG_DEBUG;
|
||||
static pthread_mutex_t g_log_mutex;
|
||||
|
||||
@ -68,7 +70,7 @@ void ventoy_syslog_newline(int level, const char *Fmt, ...)
|
||||
va_end(arg);
|
||||
|
||||
pthread_mutex_lock(&g_log_mutex);
|
||||
fp = fopen(VTOY_LOG_FILE, "a+");
|
||||
fp = fopen(g_log_file, "a+");
|
||||
if (fp)
|
||||
{
|
||||
fprintf(fp, "[%04u/%02u/%02u %02u:%02u:%02u] %s\n",
|
||||
@ -96,7 +98,7 @@ void ventoy_syslog_printf(const char *Fmt, ...)
|
||||
va_end(arg);
|
||||
|
||||
pthread_mutex_lock(&g_log_mutex);
|
||||
fp = fopen(VTOY_LOG_FILE, "a+");
|
||||
fp = fopen(g_log_file, "a+");
|
||||
if (fp)
|
||||
{
|
||||
fprintf(fp, "[%04u/%02u/%02u %02u:%02u:%02u] %s",
|
||||
@ -129,7 +131,7 @@ void ventoy_syslog(int level, const char *Fmt, ...)
|
||||
va_end(arg);
|
||||
|
||||
pthread_mutex_lock(&g_log_mutex);
|
||||
fp = fopen(VTOY_LOG_FILE, "a+");
|
||||
fp = fopen(g_log_file, "a+");
|
||||
if (fp)
|
||||
{
|
||||
fprintf(fp, "[%04u/%02u/%02u %02u:%02u:%02u] %s",
|
||||
|
@ -20,6 +20,9 @@
|
||||
#ifndef __VENTOY_UTIL_H__
|
||||
#define __VENTOY_UTIL_H__
|
||||
|
||||
extern char g_log_file[PATH_MAX];
|
||||
extern char g_ini_file[PATH_MAX];
|
||||
|
||||
#define check_free(p) if (p) free(p)
|
||||
#define vtoy_safe_close_fd(fd) \
|
||||
{\
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <errno.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include <linux/limits.h>
|
||||
|
||||
#include <ventoy_define.h>
|
||||
#include <ventoy_json.h>
|
||||
@ -300,14 +301,22 @@ void on_part_style_toggled(GtkMenuItem *menuItem, gpointer data)
|
||||
static ventoy_disk *select_active_dev(const char *select, int *activeid)
|
||||
{
|
||||
int i;
|
||||
int alldev;
|
||||
ventoy_disk *cur = NULL;
|
||||
|
||||
alldev = ventoy_code_get_cur_show_all();
|
||||
|
||||
/* find the match one */
|
||||
if (select)
|
||||
{
|
||||
for (i = 0; i < g_disk_num; i++)
|
||||
{
|
||||
cur = g_disk_list + i;
|
||||
if (alldev == 0 && cur->type != VTOY_DEVICE_USB)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (strcmp(cur->disk_name, select) == 0)
|
||||
{
|
||||
*activeid = i;
|
||||
@ -320,6 +329,11 @@ static ventoy_disk *select_active_dev(const char *select, int *activeid)
|
||||
for (i = 0; i < g_disk_num; i++)
|
||||
{
|
||||
cur = g_disk_list + i;
|
||||
if (alldev == 0 && cur->type != VTOY_DEVICE_USB)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (cur->vtoydata.ventoy_valid)
|
||||
{
|
||||
*activeid = i;
|
||||
@ -331,6 +345,11 @@ static ventoy_disk *select_active_dev(const char *select, int *activeid)
|
||||
for (i = 0; i < g_disk_num; i++)
|
||||
{
|
||||
cur = g_disk_list + i;
|
||||
if (alldev == 0 && cur->type != VTOY_DEVICE_USB)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (cur->type == VTOY_DEVICE_USB)
|
||||
{
|
||||
*activeid = i;
|
||||
@ -339,8 +358,19 @@ static ventoy_disk *select_active_dev(const char *select, int *activeid)
|
||||
}
|
||||
|
||||
/* use the first one */
|
||||
*activeid = 0;
|
||||
return g_disk_list;
|
||||
for (i = 0; i < g_disk_num; i++)
|
||||
{
|
||||
cur = g_disk_list + i;
|
||||
if (alldev == 0 && cur->type != VTOY_DEVICE_USB)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
*activeid = i;
|
||||
return cur;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void fill_dev_list(const char *select)
|
||||
@ -613,6 +643,8 @@ static int install_proc(ventoy_disk *cur)
|
||||
void on_button_install_clicked(GtkWidget *widget, gpointer data)
|
||||
{
|
||||
int active;
|
||||
long long size;
|
||||
long long space;
|
||||
ventoy_disk *cur = NULL;
|
||||
|
||||
if (g_thread_run || ventoy_code_is_busy())
|
||||
@ -636,6 +668,27 @@ void on_button_install_clicked(GtkWidget *widget, gpointer data)
|
||||
return;
|
||||
}
|
||||
|
||||
if (g_preserve_space_check)
|
||||
{
|
||||
space = g_preserve_space_number;
|
||||
if (g_preserve_space_unit == 1)
|
||||
{
|
||||
space = space * 1024;
|
||||
}
|
||||
else
|
||||
{
|
||||
space = space;
|
||||
}
|
||||
|
||||
size = cur->size_in_byte / SIZE_1MB;
|
||||
if (size <= space || (size - space) <= (VTOYEFI_PART_BYTES / SIZE_1MB))
|
||||
{
|
||||
msgbox(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "STR_SPACE_VAL_INVALID");
|
||||
vlog("reserved space value too big ...\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (GTK_RESPONSE_CANCEL == msgbox(GTK_MESSAGE_WARNING, GTK_BUTTONS_OK_CANCEL, "STR_INSTALL_TIP"))
|
||||
{
|
||||
return;
|
||||
|
@ -45,8 +45,6 @@ int ventoy_code_get_percent(void);
|
||||
int ventoy_code_get_result(void);
|
||||
int msgbox(GtkMessageType type, GtkButtonsType buttons, const char *strid);
|
||||
|
||||
#define MAX_PARAS 64
|
||||
|
||||
#define VTOY_VER_FMT "<span weight='bold' foreground='red' size='xx-large'>%s</span>"
|
||||
|
||||
#define LANG_LABEL_TEXT(id, str) \
|
||||
|
139
LinuxGUI/Ventoy2Disk/QT/Ventoy2Disk.pro
Normal file
139
LinuxGUI/Ventoy2Disk/QT/Ventoy2Disk.pro
Normal file
@ -0,0 +1,139 @@
|
||||
QT += core gui
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||
|
||||
CONFIG += c++11
|
||||
|
||||
# The following define makes your compiler emit warnings if you use
|
||||
# any Qt feature that has been marked deprecated (the exact warnings
|
||||
# depend on your compiler). Please consult the documentation of the
|
||||
# deprecated API in order to know how to port your code away from it.
|
||||
DEFINES += QT_DEPRECATED_WARNINGS
|
||||
|
||||
# You can also make your code fail to compile if it uses deprecated APIs.
|
||||
# In order to do so, uncomment the following line.
|
||||
# You can also select to disable deprecated APIs only up to a certain version of Qt.
|
||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||
|
||||
SOURCES += \
|
||||
Core/ventoy_crc32.c \
|
||||
Core/ventoy_disk.c \
|
||||
Core/ventoy_json.c \
|
||||
Core/ventoy_log.c \
|
||||
Core/ventoy_md5.c \
|
||||
Core/ventoy_util.c \
|
||||
Lib/exfat/src/libexfat/cluster.c \
|
||||
Lib/exfat/src/libexfat/io.c \
|
||||
Lib/exfat/src/libexfat/lookup.c \
|
||||
Lib/exfat/src/libexfat/mount.c \
|
||||
Lib/exfat/src/libexfat/node.c \
|
||||
Lib/exfat/src/libexfat/repair.c \
|
||||
Lib/exfat/src/libexfat/time.c \
|
||||
Lib/exfat/src/libexfat/utf.c \
|
||||
Lib/exfat/src/libexfat/utils.c \
|
||||
Lib/exfat/src/mkfs/cbm.c \
|
||||
Lib/exfat/src/mkfs/fat.c \
|
||||
Lib/exfat/src/mkfs/mkexfat.c \
|
||||
Lib/exfat/src/mkfs/mkexfat_main.c \
|
||||
Lib/exfat/src/mkfs/rootdir.c \
|
||||
Lib/exfat/src/mkfs/uct.c \
|
||||
Lib/exfat/src/mkfs/uctc.c \
|
||||
Lib/exfat/src/mkfs/vbr.c \
|
||||
Lib/fat_io_lib/fat_access.c \
|
||||
Lib/fat_io_lib/fat_cache.c \
|
||||
Lib/fat_io_lib/fat_filelib.c \
|
||||
Lib/fat_io_lib/fat_format.c \
|
||||
Lib/fat_io_lib/fat_misc.c \
|
||||
Lib/fat_io_lib/fat_string.c \
|
||||
Lib/fat_io_lib/fat_table.c \
|
||||
Lib/fat_io_lib/fat_write.c \
|
||||
Lib/xz-embedded/linux/lib/decompress_unxz.c \
|
||||
QT/refresh_icon_data.c \
|
||||
QT/secure_icon_data.c \
|
||||
QT/ventoy_qt_stub.c \
|
||||
Web/ventoy_http.c \
|
||||
main.cpp \
|
||||
partcfgdialog.cpp \
|
||||
ventoy2diskwindow.cpp
|
||||
|
||||
HEADERS += \
|
||||
Core/ventoy_define.h \
|
||||
Core/ventoy_disk.h \
|
||||
Core/ventoy_json.h \
|
||||
Core/ventoy_util.h \
|
||||
Include/Ventoy2Disk.h \
|
||||
Lib/exfat/src/libexfat/byteorder.h \
|
||||
Lib/exfat/src/libexfat/compiler.h \
|
||||
Lib/exfat/src/libexfat/config.h \
|
||||
Lib/exfat/src/libexfat/exfat.h \
|
||||
Lib/exfat/src/libexfat/exfatfs.h \
|
||||
Lib/exfat/src/libexfat/platform.h \
|
||||
Lib/exfat/src/mkfs/cbm.h \
|
||||
Lib/exfat/src/mkfs/fat.h \
|
||||
Lib/exfat/src/mkfs/mkexfat.h \
|
||||
Lib/exfat/src/mkfs/rootdir.h \
|
||||
Lib/exfat/src/mkfs/uct.h \
|
||||
Lib/exfat/src/mkfs/uctc.h \
|
||||
Lib/exfat/src/mkfs/vbr.h \
|
||||
Lib/fat_io_lib/fat_access.h \
|
||||
Lib/fat_io_lib/fat_cache.h \
|
||||
Lib/fat_io_lib/fat_defs.h \
|
||||
Lib/fat_io_lib/fat_filelib.h \
|
||||
Lib/fat_io_lib/fat_format.h \
|
||||
Lib/fat_io_lib/fat_list.h \
|
||||
Lib/fat_io_lib/fat_misc.h \
|
||||
Lib/fat_io_lib/fat_opts.h \
|
||||
Lib/fat_io_lib/fat_string.h \
|
||||
Lib/fat_io_lib/fat_table.h \
|
||||
Lib/fat_io_lib/fat_types.h \
|
||||
Lib/fat_io_lib/fat_write.h \
|
||||
Lib/libhttp/include/civetweb.h \
|
||||
Lib/libhttp/include/handle_form.inl \
|
||||
Lib/libhttp/include/md5.inl \
|
||||
Lib/libhttp/include/mod_duktape.inl \
|
||||
Lib/libhttp/include/mod_lua.inl \
|
||||
Lib/libhttp/include/timer.inl \
|
||||
QT/ventoy_qt.h \
|
||||
Web/ventoy_http.h \
|
||||
partcfgdialog.h \
|
||||
ventoy2diskwindow.h
|
||||
|
||||
FORMS += \
|
||||
partcfgdialog.ui \
|
||||
ventoy2diskwindow.ui
|
||||
|
||||
# Default rules for deployment.
|
||||
qnx: target.path = /tmp/$${TARGET}/bin
|
||||
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||
!isEmpty(target.path): INSTALLS += target
|
||||
|
||||
DISTFILES += \
|
||||
Lib/fat_io_lib/API.txt \
|
||||
Lib/fat_io_lib/COPYRIGHT.txt \
|
||||
Lib/fat_io_lib/Configuration.txt \
|
||||
Lib/fat_io_lib/History.txt \
|
||||
Lib/fat_io_lib/License.txt \
|
||||
Lib/fat_io_lib/Media Access API.txt \
|
||||
Lib/fat_io_lib/version.txt
|
||||
|
||||
|
||||
INCLUDEPATH +=/home/panda/Ventoy2Disk/Core
|
||||
INCLUDEPATH +=/home/panda/Ventoy2Disk/Web
|
||||
INCLUDEPATH +=/home/panda/Ventoy2Disk/QT
|
||||
INCLUDEPATH +=/home/panda/Ventoy2Disk/Include
|
||||
INCLUDEPATH +=/home/panda/Ventoy2Disk/Lib/libhttp/include
|
||||
INCLUDEPATH +=/home/panda/Ventoy2Disk/Lib/fat_io_lib/include
|
||||
INCLUDEPATH +=/home/panda/Ventoy2Disk/Lib/xz-embedded/linux/include
|
||||
INCLUDEPATH +=/home/panda/Ventoy2Disk/Lib/xz-embedded/linux/include/linux
|
||||
INCLUDEPATH +=/home/panda/Ventoy2Disk/Lib/xz-embedded/userspace
|
||||
INCLUDEPATH +=/home/panda/Ventoy2Disk/Lib/exfat/src/libexfat
|
||||
INCLUDEPATH +=/home/panda/Ventoy2Disk/Lib/fat_io_lib
|
||||
#INCLUDEPATH +=/usr/src/linux-headers-5.10.18-amd64-desktop/include
|
||||
#INCLUDEPATH +=/usr/src/linux-headers-5.10.18-amd64-desktop/arch/x86/include
|
||||
#INCLUDEPATH +=/usr/src/linux-headers-5.10.18-amd64-desktop/arch/x86/include/generated
|
||||
|
||||
|
||||
DEFINES += STATIC=static
|
||||
DEFINES += INIT=
|
||||
|
||||
|
338
LinuxGUI/Ventoy2Disk/QT/Ventoy2Disk.pro.user
Normal file
338
LinuxGUI/Ventoy2Disk/QT/Ventoy2Disk.pro.user
Normal file
@ -0,0 +1,338 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.12.2, 2021-09-10T13:54:00. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{666f325e-a9c7-45d6-a820-626289f99bab}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
|
||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
|
||||
<valuemap type="QVariantMap" key="ClangTools">
|
||||
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||
<value type="int" key="ClangTools.ParallelJobs">2</value>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.12.9 GCC 64bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.12.9 GCC 64bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5129.gcc_64_kit</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="bool">true</value>
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/panda/build-Ventoy2Disk-Desktop_Qt_5_12_9_GCC_64bit-Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/panda/build-Ventoy2Disk-Desktop_Qt_5_12_9_GCC_64bit-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="int" key="QtQuickCompiler">2</value>
|
||||
<value type="int" key="SeparateDebugInfo">2</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="bool">true</value>
|
||||
<value type="int" key="EnableQmlDebugging">2</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/panda/build-Ventoy2Disk-Desktop_Qt_5_12_9_GCC_64bit-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/panda/build-Ventoy2Disk-Desktop_Qt_5_12_9_GCC_64bit-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="SeparateDebugInfo">2</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="bool">true</value>
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/panda/build-Ventoy2Disk-Desktop_Qt_5_12_9_GCC_64bit-Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/panda/build-Ventoy2Disk-Desktop_Qt_5_12_9_GCC_64bit-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="SeparateDebugInfo">0</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
|
||||
<value type="QString">cpu-cycles</value>
|
||||
</valuelist>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
|
||||
<value type="int" key="Analyzer.Perf.Frequency">250</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
|
||||
<value type="QString">-e</value>
|
||||
<value type="QString">cpu-cycles</value>
|
||||
<value type="QString">--call-graph</value>
|
||||
<value type="QString">dwarf,4096</value>
|
||||
<value type="QString">-F</value>
|
||||
<value type="QString">250</value>
|
||||
</valuelist>
|
||||
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/panda/Ventoy2Disk/Ventoy2Disk.pro</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/panda/Ventoy2Disk/Ventoy2Disk.pro</value>
|
||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
||||
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
|
||||
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory">/home/panda/Desktop/ventoy-1.0.52-linux/ventoy-1.0.52</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/panda/build-Ventoy2Disk-Desktop_Qt_5_12_9_GCC_64bit-Debug</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
1760
LinuxGUI/Ventoy2Disk/QT/build/Makefile
Normal file
1760
LinuxGUI/Ventoy2Disk/QT/build/Makefile
Normal file
File diff suppressed because it is too large
Load Diff
124
LinuxGUI/Ventoy2Disk/QT/build/moc_partcfgdialog.cpp
Normal file
124
LinuxGUI/Ventoy2Disk/QT/build/moc_partcfgdialog.cpp
Normal file
@ -0,0 +1,124 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'partcfgdialog.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.9.0)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "../partcfgdialog.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'partcfgdialog.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.9.0. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_PartCfgDialog_t {
|
||||
QByteArrayData data[6];
|
||||
char stringdata0[97];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_PartCfgDialog_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_PartCfgDialog_t qt_meta_stringdata_PartCfgDialog = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 13), // "PartCfgDialog"
|
||||
QT_MOC_LITERAL(1, 14, 23), // "on_pushButtonOK_clicked"
|
||||
QT_MOC_LITERAL(2, 38, 0), // ""
|
||||
QT_MOC_LITERAL(3, 39, 27), // "on_pushButtonCancel_clicked"
|
||||
QT_MOC_LITERAL(4, 67, 24), // "on_checkBox_stateChanged"
|
||||
QT_MOC_LITERAL(5, 92, 4) // "arg1"
|
||||
|
||||
},
|
||||
"PartCfgDialog\0on_pushButtonOK_clicked\0"
|
||||
"\0on_pushButtonCancel_clicked\0"
|
||||
"on_checkBox_stateChanged\0arg1"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_PartCfgDialog[] = {
|
||||
|
||||
// content:
|
||||
7, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
3, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 0, 29, 2, 0x08 /* Private */,
|
||||
3, 0, 30, 2, 0x08 /* Private */,
|
||||
4, 1, 31, 2, 0x08 /* Private */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Int, 5,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void PartCfgDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
PartCfgDialog *_t = static_cast<PartCfgDialog *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->on_pushButtonOK_clicked(); break;
|
||||
case 1: _t->on_pushButtonCancel_clicked(); break;
|
||||
case 2: _t->on_checkBox_stateChanged((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const QMetaObject PartCfgDialog::staticMetaObject = {
|
||||
{ &QDialog::staticMetaObject, qt_meta_stringdata_PartCfgDialog.data,
|
||||
qt_meta_data_PartCfgDialog, qt_static_metacall, nullptr, nullptr}
|
||||
};
|
||||
|
||||
|
||||
const QMetaObject *PartCfgDialog::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *PartCfgDialog::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_PartCfgDialog.stringdata0))
|
||||
return static_cast<void*>(const_cast< PartCfgDialog*>(this));
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int PartCfgDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 3)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 3;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 3)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 3;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
375
LinuxGUI/Ventoy2Disk/QT/build/moc_predefs.h
Normal file
375
LinuxGUI/Ventoy2Disk/QT/build/moc_predefs.h
Normal file
@ -0,0 +1,375 @@
|
||||
#define __DBL_MIN_EXP__ (-1021)
|
||||
#define __FLT32X_MAX_EXP__ 1024
|
||||
#define __cpp_attributes 200809
|
||||
#define __UINT_LEAST16_MAX__ 0xffff
|
||||
#define __ATOMIC_ACQUIRE 2
|
||||
#define __FLT128_MAX_10_EXP__ 4932
|
||||
#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F
|
||||
#define __GCC_IEC_559_COMPLEX 2
|
||||
#define __UINT_LEAST8_TYPE__ unsigned char
|
||||
#define __SIZEOF_FLOAT80__ 16
|
||||
#define __INTMAX_C(c) c ## L
|
||||
#define __CHAR_BIT__ 8
|
||||
#define __UINT8_MAX__ 0xff
|
||||
#define __WINT_MAX__ 0xffffffffU
|
||||
#define __FLT32_MIN_EXP__ (-125)
|
||||
#define __cpp_static_assert 200410
|
||||
#define __ORDER_LITTLE_ENDIAN__ 1234
|
||||
#define __SIZE_MAX__ 0xffffffffffffffffUL
|
||||
#define __WCHAR_MAX__ 0x7fffffff
|
||||
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
||||
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
||||
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
||||
#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)
|
||||
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
||||
#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
|
||||
#define __GCC_IEC_559 2
|
||||
#define __FLT32X_DECIMAL_DIG__ 17
|
||||
#define __FLT_EVAL_METHOD__ 0
|
||||
#define __unix__ 1
|
||||
#define __cpp_binary_literals 201304
|
||||
#define __FLT64_DECIMAL_DIG__ 17
|
||||
#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
|
||||
#define __x86_64 1
|
||||
#define __cpp_variadic_templates 200704
|
||||
#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL
|
||||
#define __SIG_ATOMIC_TYPE__ int
|
||||
#define __DBL_MIN_10_EXP__ (-307)
|
||||
#define __FINITE_MATH_ONLY__ 0
|
||||
#define __GNUC_PATCHLEVEL__ 0
|
||||
#define __FLT32_HAS_DENORM__ 1
|
||||
#define __UINT_FAST8_MAX__ 0xff
|
||||
#define __has_include(STR) __has_include__(STR)
|
||||
#define __DEC64_MAX_EXP__ 385
|
||||
#define __INT8_C(c) c
|
||||
#define __INT_LEAST8_WIDTH__ 8
|
||||
#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL
|
||||
#define __SHRT_MAX__ 0x7fff
|
||||
#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L
|
||||
#define __FLT64X_MAX_10_EXP__ 4932
|
||||
#define __UINT_LEAST8_MAX__ 0xff
|
||||
#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
|
||||
#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128
|
||||
#define __UINTMAX_TYPE__ long unsigned int
|
||||
#define __linux 1
|
||||
#define __DEC32_EPSILON__ 1E-6DF
|
||||
#define __FLT_EVAL_METHOD_TS_18661_3__ 0
|
||||
#define __OPTIMIZE__ 1
|
||||
#define __unix 1
|
||||
#define __UINT32_MAX__ 0xffffffffU
|
||||
#define __GXX_EXPERIMENTAL_CXX0X__ 1
|
||||
#define __LDBL_MAX_EXP__ 16384
|
||||
#define __FLT128_MIN_EXP__ (-16381)
|
||||
#define __WINT_MIN__ 0U
|
||||
#define __linux__ 1
|
||||
#define __FLT128_MIN_10_EXP__ (-4931)
|
||||
#define __INT_LEAST16_WIDTH__ 16
|
||||
#define __SCHAR_MAX__ 0x7f
|
||||
#define __FLT128_MANT_DIG__ 113
|
||||
#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
|
||||
#define __INT64_C(c) c ## L
|
||||
#define __DBL_DIG__ 15
|
||||
#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
|
||||
#define __FLT64X_MANT_DIG__ 64
|
||||
#define __SIZEOF_INT__ 4
|
||||
#define __SIZEOF_POINTER__ 8
|
||||
#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
|
||||
#define __USER_LABEL_PREFIX__
|
||||
#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x
|
||||
#define __STDC_HOSTED__ 1
|
||||
#define __LDBL_HAS_INFINITY__ 1
|
||||
#define __FLT32_DIG__ 6
|
||||
#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F
|
||||
#define __GXX_WEAK__ 1
|
||||
#define __SHRT_WIDTH__ 16
|
||||
#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
|
||||
#define __DEC32_MAX__ 9.999999E96DF
|
||||
#define __cpp_threadsafe_static_init 200806
|
||||
#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x
|
||||
#define __FLT32X_HAS_INFINITY__ 1
|
||||
#define __INT32_MAX__ 0x7fffffff
|
||||
#define __INT_WIDTH__ 32
|
||||
#define __SIZEOF_LONG__ 8
|
||||
#define __STDC_IEC_559__ 1
|
||||
#define __STDC_ISO_10646__ 201706L
|
||||
#define __UINT16_C(c) c
|
||||
#define __PTRDIFF_WIDTH__ 64
|
||||
#define __DECIMAL_DIG__ 21
|
||||
#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64
|
||||
#define __gnu_linux__ 1
|
||||
#define __INTMAX_WIDTH__ 64
|
||||
#define __FLT64_MIN_EXP__ (-1021)
|
||||
#define __has_include_next(STR) __has_include_next__(STR)
|
||||
#define __FLT64X_MIN_10_EXP__ (-4931)
|
||||
#define __LDBL_HAS_QUIET_NAN__ 1
|
||||
#define __FLT64_MANT_DIG__ 53
|
||||
#define __GNUC__ 8
|
||||
#define __GXX_RTTI 1
|
||||
#define __MMX__ 1
|
||||
#define __cpp_delegating_constructors 200604
|
||||
#define __FLT_HAS_DENORM__ 1
|
||||
#define __SIZEOF_LONG_DOUBLE__ 16
|
||||
#define __BIGGEST_ALIGNMENT__ 16
|
||||
#define __STDC_UTF_16__ 1
|
||||
#define __FLT64_MAX_10_EXP__ 308
|
||||
#define __FLT32_HAS_INFINITY__ 1
|
||||
#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)
|
||||
#define __cpp_raw_strings 200710
|
||||
#define __INT_FAST32_MAX__ 0x7fffffffffffffffL
|
||||
#define __DBL_HAS_INFINITY__ 1
|
||||
#define __DEC32_MIN_EXP__ (-94)
|
||||
#define __INTPTR_WIDTH__ 64
|
||||
#define __FLT32X_HAS_DENORM__ 1
|
||||
#define __INT_FAST16_TYPE__ long int
|
||||
#define __LDBL_HAS_DENORM__ 1
|
||||
#define __cplusplus 201103L
|
||||
#define __cpp_ref_qualifiers 200710
|
||||
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
|
||||
#define __INT_LEAST32_MAX__ 0x7fffffff
|
||||
#define __DEC32_MIN__ 1E-95DF
|
||||
#define __DEPRECATED 1
|
||||
#define __cpp_rvalue_references 200610
|
||||
#define __DBL_MAX_EXP__ 1024
|
||||
#define __WCHAR_WIDTH__ 32
|
||||
#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
|
||||
#define __DEC128_EPSILON__ 1E-33DL
|
||||
#define __SSE2_MATH__ 1
|
||||
#define __ATOMIC_HLE_RELEASE 131072
|
||||
#define __PTRDIFF_MAX__ 0x7fffffffffffffffL
|
||||
#define __amd64 1
|
||||
#define __ATOMIC_HLE_ACQUIRE 65536
|
||||
#define __FLT32_HAS_QUIET_NAN__ 1
|
||||
#define __GNUG__ 8
|
||||
#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
|
||||
#define __SIZEOF_SIZE_T__ 8
|
||||
#define __cpp_rvalue_reference 200610
|
||||
#define __cpp_nsdmi 200809
|
||||
#define __FLT64X_MIN_EXP__ (-16381)
|
||||
#define __SIZEOF_WINT_T__ 4
|
||||
#define __LONG_LONG_WIDTH__ 64
|
||||
#define __cpp_initializer_lists 200806
|
||||
#define __FLT32_MAX_EXP__ 128
|
||||
#define __cpp_hex_float 201603
|
||||
#define __GCC_HAVE_DWARF2_CFI_ASM 1
|
||||
#define __GXX_ABI_VERSION 1013
|
||||
#define __FLT128_HAS_INFINITY__ 1
|
||||
#define __FLT_MIN_EXP__ (-125)
|
||||
#define __cpp_lambdas 200907
|
||||
#define __FLT64X_HAS_QUIET_NAN__ 1
|
||||
#define __INT_FAST64_TYPE__ long int
|
||||
#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64
|
||||
#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)
|
||||
#define __LP64__ 1
|
||||
#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x
|
||||
#define __DECIMAL_BID_FORMAT__ 1
|
||||
#define __FLT64_MIN_10_EXP__ (-307)
|
||||
#define __FLT64X_DECIMAL_DIG__ 21
|
||||
#define __DEC128_MIN__ 1E-6143DL
|
||||
#define __REGISTER_PREFIX__
|
||||
#define __UINT16_MAX__ 0xffff
|
||||
#define __DBL_HAS_DENORM__ 1
|
||||
#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
|
||||
#define __UINT8_TYPE__ unsigned char
|
||||
#define __FLT_MANT_DIG__ 24
|
||||
#define __LDBL_DECIMAL_DIG__ 21
|
||||
#define __VERSION__ "8.3.0"
|
||||
#define __UINT64_C(c) c ## UL
|
||||
#define __cpp_unicode_characters 200704
|
||||
#define _STDC_PREDEF_H 1
|
||||
#define __GCC_ATOMIC_INT_LOCK_FREE 2
|
||||
#define __FLT128_MAX_EXP__ 16384
|
||||
#define __FLT32_MANT_DIG__ 24
|
||||
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
|
||||
#define __STDC_IEC_559_COMPLEX__ 1
|
||||
#define __FLT128_HAS_DENORM__ 1
|
||||
#define __FLT128_DIG__ 33
|
||||
#define __SCHAR_WIDTH__ 8
|
||||
#define __INT32_C(c) c
|
||||
#define __DEC64_EPSILON__ 1E-15DD
|
||||
#define __ORDER_PDP_ENDIAN__ 3412
|
||||
#define __DEC128_MIN_EXP__ (-6142)
|
||||
#define __FLT32_MAX_10_EXP__ 38
|
||||
#define __INT_FAST32_TYPE__ long int
|
||||
#define __UINT_LEAST16_TYPE__ short unsigned int
|
||||
#define __FLT64X_HAS_INFINITY__ 1
|
||||
#define unix 1
|
||||
#define __INT16_MAX__ 0x7fff
|
||||
#define __cpp_rtti 199711
|
||||
#define __SIZE_TYPE__ long unsigned int
|
||||
#define __UINT64_MAX__ 0xffffffffffffffffUL
|
||||
#define __FLT64X_DIG__ 18
|
||||
#define __INT8_TYPE__ signed char
|
||||
#define __ELF__ 1
|
||||
#define __GCC_ASM_FLAG_OUTPUTS__ 1
|
||||
#define __FLT_RADIX__ 2
|
||||
#define __INT_LEAST16_TYPE__ short int
|
||||
#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L
|
||||
#define __UINTMAX_C(c) c ## UL
|
||||
#define __GLIBCXX_BITSIZE_INT_N_0 128
|
||||
#define __k8 1
|
||||
#define __SIG_ATOMIC_MAX__ 0x7fffffff
|
||||
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
|
||||
#define __SIZEOF_PTRDIFF_T__ 8
|
||||
#define __FLT32X_MANT_DIG__ 53
|
||||
#define __x86_64__ 1
|
||||
#define __FLT32X_MIN_EXP__ (-1021)
|
||||
#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
|
||||
#define __INT_FAST16_MAX__ 0x7fffffffffffffffL
|
||||
#define __FLT64_DIG__ 15
|
||||
#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL
|
||||
#define __UINT_LEAST64_TYPE__ long unsigned int
|
||||
#define __FLT_HAS_QUIET_NAN__ 1
|
||||
#define __FLT_MAX_10_EXP__ 38
|
||||
#define __LONG_MAX__ 0x7fffffffffffffffL
|
||||
#define __FLT64X_HAS_DENORM__ 1
|
||||
#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
|
||||
#define __FLT_HAS_INFINITY__ 1
|
||||
#define __cpp_unicode_literals 200710
|
||||
#define __UINT_FAST16_TYPE__ long unsigned int
|
||||
#define __DEC64_MAX__ 9.999999999999999E384DD
|
||||
#define __INT_FAST32_WIDTH__ 64
|
||||
#define __CHAR16_TYPE__ short unsigned int
|
||||
#define __PRAGMA_REDEFINE_EXTNAME 1
|
||||
#define __SIZE_WIDTH__ 64
|
||||
#define __SEG_FS 1
|
||||
#define __INT_LEAST16_MAX__ 0x7fff
|
||||
#define __DEC64_MANT_DIG__ 16
|
||||
#define __INT64_MAX__ 0x7fffffffffffffffL
|
||||
#define __UINT_LEAST32_MAX__ 0xffffffffU
|
||||
#define __SEG_GS 1
|
||||
#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32
|
||||
#define __GCC_ATOMIC_LONG_LOCK_FREE 2
|
||||
#define __SIG_ATOMIC_WIDTH__ 32
|
||||
#define __INT_LEAST64_TYPE__ long int
|
||||
#define __INT16_TYPE__ short int
|
||||
#define __INT_LEAST8_TYPE__ signed char
|
||||
#define __DEC32_MAX_EXP__ 97
|
||||
#define __INT_FAST8_MAX__ 0x7f
|
||||
#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128
|
||||
#define __INTPTR_MAX__ 0x7fffffffffffffffL
|
||||
#define linux 1
|
||||
#define __cpp_range_based_for 200907
|
||||
#define __FLT64_HAS_QUIET_NAN__ 1
|
||||
#define __FLT32_MIN_10_EXP__ (-37)
|
||||
#define __SSE2__ 1
|
||||
#define __EXCEPTIONS 1
|
||||
#define __LDBL_MANT_DIG__ 64
|
||||
#define __DBL_HAS_QUIET_NAN__ 1
|
||||
#define __FLT64_HAS_INFINITY__ 1
|
||||
#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x
|
||||
#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
|
||||
#define __code_model_small__ 1
|
||||
#define __k8__ 1
|
||||
#define __INTPTR_TYPE__ long int
|
||||
#define __UINT16_TYPE__ short unsigned int
|
||||
#define __WCHAR_TYPE__ int
|
||||
#define __SIZEOF_FLOAT__ 4
|
||||
#define __UINTPTR_MAX__ 0xffffffffffffffffUL
|
||||
#define __INT_FAST64_WIDTH__ 64
|
||||
#define __DEC64_MIN_EXP__ (-382)
|
||||
#define __cpp_decltype 200707
|
||||
#define __FLT32_DECIMAL_DIG__ 9
|
||||
#define __INT_FAST64_MAX__ 0x7fffffffffffffffL
|
||||
#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
|
||||
#define __FLT_DIG__ 6
|
||||
#define __FLT64X_MAX_EXP__ 16384
|
||||
#define __UINT_FAST64_TYPE__ long unsigned int
|
||||
#define __INT_MAX__ 0x7fffffff
|
||||
#define __amd64__ 1
|
||||
#define __INT64_TYPE__ long int
|
||||
#define __FLT_MAX_EXP__ 128
|
||||
#define __ORDER_BIG_ENDIAN__ 4321
|
||||
#define __DBL_MANT_DIG__ 53
|
||||
#define __cpp_inheriting_constructors 201511
|
||||
#define __SIZEOF_FLOAT128__ 16
|
||||
#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL
|
||||
#define __DEC64_MIN__ 1E-383DD
|
||||
#define __WINT_TYPE__ unsigned int
|
||||
#define __UINT_LEAST32_TYPE__ unsigned int
|
||||
#define __SIZEOF_SHORT__ 2
|
||||
#define __SSE__ 1
|
||||
#define __LDBL_MIN_EXP__ (-16381)
|
||||
#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64
|
||||
#define __WINT_WIDTH__ 32
|
||||
#define __INT_LEAST8_MAX__ 0x7f
|
||||
#define __FLT32X_MAX_10_EXP__ 308
|
||||
#define __SIZEOF_INT128__ 16
|
||||
#define __LDBL_MAX_10_EXP__ 4932
|
||||
#define __ATOMIC_RELAXED 0
|
||||
#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)
|
||||
#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128
|
||||
#define _LP64 1
|
||||
#define __UINT8_C(c) c
|
||||
#define __FLT64_MAX_EXP__ 1024
|
||||
#define __INT_LEAST32_TYPE__ int
|
||||
#define __SIZEOF_WCHAR_T__ 4
|
||||
#define __FLT128_HAS_QUIET_NAN__ 1
|
||||
#define __INT_FAST8_TYPE__ signed char
|
||||
#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x
|
||||
#define __GNUC_STDC_INLINE__ 1
|
||||
#define __FLT64_HAS_DENORM__ 1
|
||||
#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32
|
||||
#define __DBL_DECIMAL_DIG__ 17
|
||||
#define __STDC_UTF_32__ 1
|
||||
#define __INT_FAST8_WIDTH__ 8
|
||||
#define __FXSR__ 1
|
||||
#define __DEC_EVAL_METHOD__ 2
|
||||
#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x
|
||||
#define __cpp_runtime_arrays 198712
|
||||
#define __UINT64_TYPE__ long unsigned int
|
||||
#define __UINT32_C(c) c ## U
|
||||
#define __INTMAX_MAX__ 0x7fffffffffffffffL
|
||||
#define __cpp_alias_templates 200704
|
||||
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
|
||||
#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F
|
||||
#define __INT8_MAX__ 0x7f
|
||||
#define __LONG_WIDTH__ 64
|
||||
#define __UINT_FAST32_TYPE__ long unsigned int
|
||||
#define __CHAR32_TYPE__ unsigned int
|
||||
#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F
|
||||
#define __cpp_constexpr 200704
|
||||
#define __INT32_TYPE__ int
|
||||
#define __SIZEOF_DOUBLE__ 8
|
||||
#define __cpp_exceptions 199711
|
||||
#define __FLT_MIN_10_EXP__ (-37)
|
||||
#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64
|
||||
#define __INT_LEAST32_WIDTH__ 32
|
||||
#define __INTMAX_TYPE__ long int
|
||||
#define __DEC128_MAX_EXP__ 6145
|
||||
#define __FLT32X_HAS_QUIET_NAN__ 1
|
||||
#define __ATOMIC_CONSUME 1
|
||||
#define __GNUC_MINOR__ 3
|
||||
#define __GLIBCXX_TYPE_INT_N_0 __int128
|
||||
#define __INT_FAST16_WIDTH__ 64
|
||||
#define __UINTMAX_MAX__ 0xffffffffffffffffUL
|
||||
#define __DEC32_MANT_DIG__ 7
|
||||
#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x
|
||||
#define __DBL_MAX_10_EXP__ 308
|
||||
#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L
|
||||
#define __INT16_C(c) c
|
||||
#define __STDC__ 1
|
||||
#define __FLT32X_DIG__ 15
|
||||
#define __PTRDIFF_TYPE__ long int
|
||||
#define __ATOMIC_SEQ_CST 5
|
||||
#define __UINT32_TYPE__ unsigned int
|
||||
#define __FLT32X_MIN_10_EXP__ (-307)
|
||||
#define __UINTPTR_TYPE__ long unsigned int
|
||||
#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
|
||||
#define __DEC128_MANT_DIG__ 34
|
||||
#define __LDBL_MIN_10_EXP__ (-4931)
|
||||
#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128
|
||||
#define __SSE_MATH__ 1
|
||||
#define __SIZEOF_LONG_LONG__ 8
|
||||
#define __cpp_user_defined_literals 200809
|
||||
#define __FLT128_DECIMAL_DIG__ 36
|
||||
#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
|
||||
#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x
|
||||
#define __LDBL_DIG__ 18
|
||||
#define __FLT_DECIMAL_DIG__ 9
|
||||
#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL
|
||||
#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
|
||||
#define __INT_LEAST64_WIDTH__ 64
|
||||
#define __UINT_FAST8_TYPE__ unsigned char
|
||||
#define _GNU_SOURCE 1
|
||||
#define __ATOMIC_ACQ_REL 4
|
||||
#define __ATOMIC_RELEASE 3
|
294
LinuxGUI/Ventoy2Disk/QT/build/moc_ventoy2diskwindow.cpp
Normal file
294
LinuxGUI/Ventoy2Disk/QT/build/moc_ventoy2diskwindow.cpp
Normal file
@ -0,0 +1,294 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'ventoy2diskwindow.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.9.0)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "../ventoy2diskwindow.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'ventoy2diskwindow.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.9.0. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_MyQThread_t {
|
||||
QByteArrayData data[5];
|
||||
char stringdata0[33];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_MyQThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_MyQThread_t qt_meta_stringdata_MyQThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 9), // "MyQThread"
|
||||
QT_MOC_LITERAL(1, 10, 12), // "thread_event"
|
||||
QT_MOC_LITERAL(2, 23, 0), // ""
|
||||
QT_MOC_LITERAL(3, 24, 3), // "msg"
|
||||
QT_MOC_LITERAL(4, 28, 4) // "data"
|
||||
|
||||
},
|
||||
"MyQThread\0thread_event\0\0msg\0data"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_MyQThread[] = {
|
||||
|
||||
// content:
|
||||
7, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
1, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 2, 19, 2, 0x06 /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, 3, 4,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void MyQThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
MyQThread *_t = static_cast<MyQThread *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->thread_event((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
void **func = reinterpret_cast<void **>(_a[1]);
|
||||
{
|
||||
typedef void (MyQThread::*_t)(int , int );
|
||||
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&MyQThread::thread_event)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const QMetaObject MyQThread::staticMetaObject = {
|
||||
{ &QThread::staticMetaObject, qt_meta_stringdata_MyQThread.data,
|
||||
qt_meta_data_MyQThread, qt_static_metacall, nullptr, nullptr}
|
||||
};
|
||||
|
||||
|
||||
const QMetaObject *MyQThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *MyQThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_MyQThread.stringdata0))
|
||||
return static_cast<void*>(const_cast< MyQThread*>(this));
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int MyQThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 1)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 1;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 1)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 1;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void MyQThread::thread_event(int _t1, int _t2)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
struct qt_meta_stringdata_Ventoy2DiskWindow_t {
|
||||
QByteArrayData data[19];
|
||||
char stringdata0[367];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_Ventoy2DiskWindow_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_Ventoy2DiskWindow_t qt_meta_stringdata_Ventoy2DiskWindow = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 17), // "Ventoy2DiskWindow"
|
||||
QT_MOC_LITERAL(1, 18, 12), // "thread_event"
|
||||
QT_MOC_LITERAL(2, 31, 0), // ""
|
||||
QT_MOC_LITERAL(3, 32, 3), // "msg"
|
||||
QT_MOC_LITERAL(4, 36, 4), // "data"
|
||||
QT_MOC_LITERAL(5, 41, 23), // "part_style_check_action"
|
||||
QT_MOC_LITERAL(6, 65, 8), // "QAction*"
|
||||
QT_MOC_LITERAL(7, 74, 3), // "act"
|
||||
QT_MOC_LITERAL(8, 78, 17), // "lang_check_action"
|
||||
QT_MOC_LITERAL(9, 96, 24), // "on_ButtonInstall_clicked"
|
||||
QT_MOC_LITERAL(10, 121, 23), // "on_ButtonUpdate_clicked"
|
||||
QT_MOC_LITERAL(11, 145, 24), // "on_ButtonRefresh_clicked"
|
||||
QT_MOC_LITERAL(12, 170, 37), // "on_comboBoxDevice_currentInde..."
|
||||
QT_MOC_LITERAL(13, 208, 5), // "index"
|
||||
QT_MOC_LITERAL(14, 214, 42), // "on_actionPartition_Configurat..."
|
||||
QT_MOC_LITERAL(15, 257, 31), // "on_actionClear_Ventoy_triggered"
|
||||
QT_MOC_LITERAL(16, 289, 33), // "on_actionShow_All_Devices_tog..."
|
||||
QT_MOC_LITERAL(17, 323, 4), // "arg1"
|
||||
QT_MOC_LITERAL(18, 328, 38) // "on_actionSecure_Boot_Support_..."
|
||||
|
||||
},
|
||||
"Ventoy2DiskWindow\0thread_event\0\0msg\0"
|
||||
"data\0part_style_check_action\0QAction*\0"
|
||||
"act\0lang_check_action\0on_ButtonInstall_clicked\0"
|
||||
"on_ButtonUpdate_clicked\0"
|
||||
"on_ButtonRefresh_clicked\0"
|
||||
"on_comboBoxDevice_currentIndexChanged\0"
|
||||
"index\0on_actionPartition_Configuration_triggered\0"
|
||||
"on_actionClear_Ventoy_triggered\0"
|
||||
"on_actionShow_All_Devices_toggled\0"
|
||||
"arg1\0on_actionSecure_Boot_Support_triggered"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_Ventoy2DiskWindow[] = {
|
||||
|
||||
// content:
|
||||
7, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
11, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 2, 69, 2, 0x08 /* Private */,
|
||||
5, 1, 74, 2, 0x08 /* Private */,
|
||||
8, 1, 77, 2, 0x08 /* Private */,
|
||||
9, 0, 80, 2, 0x08 /* Private */,
|
||||
10, 0, 81, 2, 0x08 /* Private */,
|
||||
11, 0, 82, 2, 0x08 /* Private */,
|
||||
12, 1, 83, 2, 0x08 /* Private */,
|
||||
14, 0, 86, 2, 0x08 /* Private */,
|
||||
15, 0, 87, 2, 0x08 /* Private */,
|
||||
16, 1, 88, 2, 0x08 /* Private */,
|
||||
18, 0, 91, 2, 0x08 /* Private */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, 3, 4,
|
||||
QMetaType::Void, 0x80000000 | 6, 7,
|
||||
QMetaType::Void, 0x80000000 | 6, 7,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Int, 13,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Bool, 17,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void Ventoy2DiskWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
Ventoy2DiskWindow *_t = static_cast<Ventoy2DiskWindow *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->thread_event((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
case 1: _t->part_style_check_action((*reinterpret_cast< QAction*(*)>(_a[1]))); break;
|
||||
case 2: _t->lang_check_action((*reinterpret_cast< QAction*(*)>(_a[1]))); break;
|
||||
case 3: _t->on_ButtonInstall_clicked(); break;
|
||||
case 4: _t->on_ButtonUpdate_clicked(); break;
|
||||
case 5: _t->on_ButtonRefresh_clicked(); break;
|
||||
case 6: _t->on_comboBoxDevice_currentIndexChanged((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 7: _t->on_actionPartition_Configuration_triggered(); break;
|
||||
case 8: _t->on_actionClear_Ventoy_triggered(); break;
|
||||
case 9: _t->on_actionShow_All_Devices_toggled((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 10: _t->on_actionSecure_Boot_Support_triggered(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
switch (_id) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 1:
|
||||
switch (*reinterpret_cast<int*>(_a[1])) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 0:
|
||||
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QAction* >(); break;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
switch (*reinterpret_cast<int*>(_a[1])) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 0:
|
||||
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QAction* >(); break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const QMetaObject Ventoy2DiskWindow::staticMetaObject = {
|
||||
{ &QMainWindow::staticMetaObject, qt_meta_stringdata_Ventoy2DiskWindow.data,
|
||||
qt_meta_data_Ventoy2DiskWindow, qt_static_metacall, nullptr, nullptr}
|
||||
};
|
||||
|
||||
|
||||
const QMetaObject *Ventoy2DiskWindow::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *Ventoy2DiskWindow::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_Ventoy2DiskWindow.stringdata0))
|
||||
return static_cast<void*>(const_cast< Ventoy2DiskWindow*>(this));
|
||||
return QMainWindow::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int Ventoy2DiskWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QMainWindow::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 11)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 11;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 11)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 11;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
113
LinuxGUI/Ventoy2Disk/QT/build/ui_partcfgdialog.h
Normal file
113
LinuxGUI/Ventoy2Disk/QT/build/ui_partcfgdialog.h
Normal file
@ -0,0 +1,113 @@
|
||||
/********************************************************************************
|
||||
** Form generated from reading UI file 'partcfgdialog.ui'
|
||||
**
|
||||
** Created by: Qt User Interface Compiler version 5.9.0
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
********************************************************************************/
|
||||
|
||||
#ifndef UI_PARTCFGDIALOG_H
|
||||
#define UI_PARTCFGDIALOG_H
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QAction>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QButtonGroup>
|
||||
#include <QtWidgets/QCheckBox>
|
||||
#include <QtWidgets/QComboBox>
|
||||
#include <QtWidgets/QDialog>
|
||||
#include <QtWidgets/QGroupBox>
|
||||
#include <QtWidgets/QHeaderView>
|
||||
#include <QtWidgets/QLineEdit>
|
||||
#include <QtWidgets/QPushButton>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class Ui_PartCfgDialog
|
||||
{
|
||||
public:
|
||||
QPushButton *pushButtonOK;
|
||||
QPushButton *pushButtonCancel;
|
||||
QGroupBox *groupBox;
|
||||
QCheckBox *checkBox;
|
||||
QGroupBox *groupBox_2;
|
||||
QLineEdit *lineEdit;
|
||||
QGroupBox *groupBox_3;
|
||||
QComboBox *comboBox;
|
||||
QGroupBox *groupBox_4;
|
||||
QCheckBox *checkBox_2;
|
||||
|
||||
void setupUi(QDialog *PartCfgDialog)
|
||||
{
|
||||
if (PartCfgDialog->objectName().isEmpty())
|
||||
PartCfgDialog->setObjectName(QStringLiteral("PartCfgDialog"));
|
||||
PartCfgDialog->resize(420, 258);
|
||||
pushButtonOK = new QPushButton(PartCfgDialog);
|
||||
pushButtonOK->setObjectName(QStringLiteral("pushButtonOK"));
|
||||
pushButtonOK->setGeometry(QRect(90, 210, 90, 30));
|
||||
pushButtonCancel = new QPushButton(PartCfgDialog);
|
||||
pushButtonCancel->setObjectName(QStringLiteral("pushButtonCancel"));
|
||||
pushButtonCancel->setGeometry(QRect(230, 210, 90, 30));
|
||||
groupBox = new QGroupBox(PartCfgDialog);
|
||||
groupBox->setObjectName(QStringLiteral("groupBox"));
|
||||
groupBox->setGeometry(QRect(10, 0, 400, 61));
|
||||
checkBox = new QCheckBox(groupBox);
|
||||
checkBox->setObjectName(QStringLiteral("checkBox"));
|
||||
checkBox->setGeometry(QRect(10, 20, 381, 41));
|
||||
checkBox->setAutoRepeatInterval(0);
|
||||
groupBox_2 = new QGroupBox(PartCfgDialog);
|
||||
groupBox_2->setObjectName(QStringLiteral("groupBox_2"));
|
||||
groupBox_2->setGeometry(QRect(10, 60, 200, 61));
|
||||
lineEdit = new QLineEdit(groupBox_2);
|
||||
lineEdit->setObjectName(QStringLiteral("lineEdit"));
|
||||
lineEdit->setGeometry(QRect(10, 30, 181, 26));
|
||||
lineEdit->setMaxLength(14);
|
||||
groupBox_3 = new QGroupBox(PartCfgDialog);
|
||||
groupBox_3->setObjectName(QStringLiteral("groupBox_3"));
|
||||
groupBox_3->setGeometry(QRect(210, 60, 200, 60));
|
||||
comboBox = new QComboBox(groupBox_3);
|
||||
comboBox->setObjectName(QStringLiteral("comboBox"));
|
||||
comboBox->setGeometry(QRect(10, 30, 181, 26));
|
||||
groupBox_4 = new QGroupBox(PartCfgDialog);
|
||||
groupBox_4->setObjectName(QStringLiteral("groupBox_4"));
|
||||
groupBox_4->setGeometry(QRect(10, 120, 401, 61));
|
||||
checkBox_2 = new QCheckBox(groupBox_4);
|
||||
checkBox_2->setObjectName(QStringLiteral("checkBox_2"));
|
||||
checkBox_2->setGeometry(QRect(10, 30, 381, 24));
|
||||
checkBox_2->setChecked(true);
|
||||
|
||||
retranslateUi(PartCfgDialog);
|
||||
|
||||
comboBox->setCurrentIndex(1);
|
||||
|
||||
|
||||
QMetaObject::connectSlotsByName(PartCfgDialog);
|
||||
} // setupUi
|
||||
|
||||
void retranslateUi(QDialog *PartCfgDialog)
|
||||
{
|
||||
PartCfgDialog->setWindowTitle(QApplication::translate("PartCfgDialog", "Partition Configuration", Q_NULLPTR));
|
||||
pushButtonOK->setText(QApplication::translate("PartCfgDialog", "OK", Q_NULLPTR));
|
||||
pushButtonCancel->setText(QApplication::translate("PartCfgDialog", "Cancel", Q_NULLPTR));
|
||||
groupBox->setTitle(QString());
|
||||
checkBox->setText(QApplication::translate("PartCfgDialog", "Preserve some space at the end of the disk", Q_NULLPTR));
|
||||
groupBox_2->setTitle(QString());
|
||||
groupBox_3->setTitle(QString());
|
||||
comboBox->clear();
|
||||
comboBox->insertItems(0, QStringList()
|
||||
<< QApplication::translate("PartCfgDialog", "MB", Q_NULLPTR)
|
||||
<< QApplication::translate("PartCfgDialog", "GB", Q_NULLPTR)
|
||||
);
|
||||
groupBox_4->setTitle(QString());
|
||||
checkBox_2->setText(QApplication::translate("PartCfgDialog", "Align partitions with 4KB", Q_NULLPTR));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class PartCfgDialog: public Ui_PartCfgDialog {};
|
||||
} // namespace Ui
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // UI_PARTCFGDIALOG_H
|
202
LinuxGUI/Ventoy2Disk/QT/build/ui_ventoy2diskwindow.h
Normal file
202
LinuxGUI/Ventoy2Disk/QT/build/ui_ventoy2diskwindow.h
Normal file
@ -0,0 +1,202 @@
|
||||
/********************************************************************************
|
||||
** Form generated from reading UI file 'ventoy2diskwindow.ui'
|
||||
**
|
||||
** Created by: Qt User Interface Compiler version 5.9.0
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
********************************************************************************/
|
||||
|
||||
#ifndef UI_VENTOY2DISKWINDOW_H
|
||||
#define UI_VENTOY2DISKWINDOW_H
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QAction>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QButtonGroup>
|
||||
#include <QtWidgets/QComboBox>
|
||||
#include <QtWidgets/QGroupBox>
|
||||
#include <QtWidgets/QHeaderView>
|
||||
#include <QtWidgets/QLabel>
|
||||
#include <QtWidgets/QMainWindow>
|
||||
#include <QtWidgets/QMenu>
|
||||
#include <QtWidgets/QMenuBar>
|
||||
#include <QtWidgets/QProgressBar>
|
||||
#include <QtWidgets/QPushButton>
|
||||
#include <QtWidgets/QWidget>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class Ui_Ventoy2DiskWindow
|
||||
{
|
||||
public:
|
||||
QAction *actionSecure_Boot_Support;
|
||||
QAction *actionMBR;
|
||||
QAction *actionGPT;
|
||||
QAction *actionPartition_Configuration;
|
||||
QAction *actionClear_Ventoy;
|
||||
QAction *actionShow_All_Devices;
|
||||
QWidget *centralwidget;
|
||||
QGroupBox *groupBoxDevice;
|
||||
QComboBox *comboBoxDevice;
|
||||
QPushButton *ButtonRefresh;
|
||||
QGroupBox *groupBoxVentoyLocal;
|
||||
QLabel *labelVentoyLocalVer;
|
||||
QLabel *labelVentoyLocalPartStyle;
|
||||
QLabel *labelVentoyLocalSecure;
|
||||
QGroupBox *groupBoxVentoyDevice;
|
||||
QLabel *labelVentoyDeviceVer;
|
||||
QLabel *labelVentoyDevicePartStyle;
|
||||
QLabel *labelVentoyDeviceSecure;
|
||||
QGroupBox *groupBoxStatus;
|
||||
QProgressBar *progressBar;
|
||||
QPushButton *ButtonInstall;
|
||||
QPushButton *ButtonUpdate;
|
||||
QMenuBar *menubar;
|
||||
QMenu *menuOption;
|
||||
QMenu *menuPartition_Style;
|
||||
QMenu *menuLanguage;
|
||||
|
||||
void setupUi(QMainWindow *Ventoy2DiskWindow)
|
||||
{
|
||||
if (Ventoy2DiskWindow->objectName().isEmpty())
|
||||
Ventoy2DiskWindow->setObjectName(QStringLiteral("Ventoy2DiskWindow"));
|
||||
Ventoy2DiskWindow->resize(441, 367);
|
||||
actionSecure_Boot_Support = new QAction(Ventoy2DiskWindow);
|
||||
actionSecure_Boot_Support->setObjectName(QStringLiteral("actionSecure_Boot_Support"));
|
||||
actionSecure_Boot_Support->setCheckable(true);
|
||||
actionMBR = new QAction(Ventoy2DiskWindow);
|
||||
actionMBR->setObjectName(QStringLiteral("actionMBR"));
|
||||
actionMBR->setCheckable(true);
|
||||
actionGPT = new QAction(Ventoy2DiskWindow);
|
||||
actionGPT->setObjectName(QStringLiteral("actionGPT"));
|
||||
actionGPT->setCheckable(true);
|
||||
actionPartition_Configuration = new QAction(Ventoy2DiskWindow);
|
||||
actionPartition_Configuration->setObjectName(QStringLiteral("actionPartition_Configuration"));
|
||||
actionClear_Ventoy = new QAction(Ventoy2DiskWindow);
|
||||
actionClear_Ventoy->setObjectName(QStringLiteral("actionClear_Ventoy"));
|
||||
actionShow_All_Devices = new QAction(Ventoy2DiskWindow);
|
||||
actionShow_All_Devices->setObjectName(QStringLiteral("actionShow_All_Devices"));
|
||||
actionShow_All_Devices->setCheckable(true);
|
||||
centralwidget = new QWidget(Ventoy2DiskWindow);
|
||||
centralwidget->setObjectName(QStringLiteral("centralwidget"));
|
||||
groupBoxDevice = new QGroupBox(centralwidget);
|
||||
groupBoxDevice->setObjectName(QStringLiteral("groupBoxDevice"));
|
||||
groupBoxDevice->setGeometry(QRect(10, 10, 421, 80));
|
||||
comboBoxDevice = new QComboBox(groupBoxDevice);
|
||||
comboBoxDevice->setObjectName(QStringLiteral("comboBoxDevice"));
|
||||
comboBoxDevice->setGeometry(QRect(10, 40, 361, 26));
|
||||
ButtonRefresh = new QPushButton(groupBoxDevice);
|
||||
ButtonRefresh->setObjectName(QStringLiteral("ButtonRefresh"));
|
||||
ButtonRefresh->setGeometry(QRect(380, 37, 30, 30));
|
||||
QIcon icon;
|
||||
icon.addFile(QStringLiteral("../refresh.ico"), QSize(), QIcon::Normal, QIcon::Off);
|
||||
ButtonRefresh->setIcon(icon);
|
||||
ButtonRefresh->setIconSize(QSize(24, 24));
|
||||
groupBoxVentoyLocal = new QGroupBox(centralwidget);
|
||||
groupBoxVentoyLocal->setObjectName(QStringLiteral("groupBoxVentoyLocal"));
|
||||
groupBoxVentoyLocal->setGeometry(QRect(10, 100, 205, 80));
|
||||
groupBoxVentoyLocal->setAlignment(Qt::AlignCenter);
|
||||
labelVentoyLocalVer = new QLabel(groupBoxVentoyLocal);
|
||||
labelVentoyLocalVer->setObjectName(QStringLiteral("labelVentoyLocalVer"));
|
||||
labelVentoyLocalVer->setGeometry(QRect(30, 30, 135, 41));
|
||||
labelVentoyLocalVer->setAlignment(Qt::AlignCenter);
|
||||
labelVentoyLocalPartStyle = new QLabel(groupBoxVentoyLocal);
|
||||
labelVentoyLocalPartStyle->setObjectName(QStringLiteral("labelVentoyLocalPartStyle"));
|
||||
labelVentoyLocalPartStyle->setGeometry(QRect(172, 60, 31, 18));
|
||||
labelVentoyLocalSecure = new QLabel(groupBoxVentoyLocal);
|
||||
labelVentoyLocalSecure->setObjectName(QStringLiteral("labelVentoyLocalSecure"));
|
||||
labelVentoyLocalSecure->setGeometry(QRect(12, 36, 21, 31));
|
||||
labelVentoyLocalSecure->setPixmap(QPixmap(QString::fromUtf8("../secure.ico")));
|
||||
groupBoxVentoyDevice = new QGroupBox(centralwidget);
|
||||
groupBoxVentoyDevice->setObjectName(QStringLiteral("groupBoxVentoyDevice"));
|
||||
groupBoxVentoyDevice->setGeometry(QRect(225, 100, 205, 80));
|
||||
groupBoxVentoyDevice->setAlignment(Qt::AlignCenter);
|
||||
labelVentoyDeviceVer = new QLabel(groupBoxVentoyDevice);
|
||||
labelVentoyDeviceVer->setObjectName(QStringLiteral("labelVentoyDeviceVer"));
|
||||
labelVentoyDeviceVer->setGeometry(QRect(30, 30, 135, 41));
|
||||
labelVentoyDeviceVer->setAlignment(Qt::AlignCenter);
|
||||
labelVentoyDevicePartStyle = new QLabel(groupBoxVentoyDevice);
|
||||
labelVentoyDevicePartStyle->setObjectName(QStringLiteral("labelVentoyDevicePartStyle"));
|
||||
labelVentoyDevicePartStyle->setGeometry(QRect(172, 60, 31, 18));
|
||||
labelVentoyDeviceSecure = new QLabel(groupBoxVentoyDevice);
|
||||
labelVentoyDeviceSecure->setObjectName(QStringLiteral("labelVentoyDeviceSecure"));
|
||||
labelVentoyDeviceSecure->setGeometry(QRect(12, 36, 21, 31));
|
||||
labelVentoyDeviceSecure->setPixmap(QPixmap(QString::fromUtf8("../secure.ico")));
|
||||
groupBoxStatus = new QGroupBox(centralwidget);
|
||||
groupBoxStatus->setObjectName(QStringLiteral("groupBoxStatus"));
|
||||
groupBoxStatus->setGeometry(QRect(10, 190, 421, 61));
|
||||
progressBar = new QProgressBar(groupBoxStatus);
|
||||
progressBar->setObjectName(QStringLiteral("progressBar"));
|
||||
progressBar->setGeometry(QRect(10, 30, 401, 23));
|
||||
progressBar->setValue(0);
|
||||
progressBar->setTextVisible(false);
|
||||
ButtonInstall = new QPushButton(centralwidget);
|
||||
ButtonInstall->setObjectName(QStringLiteral("ButtonInstall"));
|
||||
ButtonInstall->setGeometry(QRect(90, 275, 101, 41));
|
||||
ButtonUpdate = new QPushButton(centralwidget);
|
||||
ButtonUpdate->setObjectName(QStringLiteral("ButtonUpdate"));
|
||||
ButtonUpdate->setGeometry(QRect(250, 275, 101, 41));
|
||||
Ventoy2DiskWindow->setCentralWidget(centralwidget);
|
||||
menubar = new QMenuBar(Ventoy2DiskWindow);
|
||||
menubar->setObjectName(QStringLiteral("menubar"));
|
||||
menubar->setGeometry(QRect(0, 0, 441, 23));
|
||||
menuOption = new QMenu(menubar);
|
||||
menuOption->setObjectName(QStringLiteral("menuOption"));
|
||||
menuPartition_Style = new QMenu(menuOption);
|
||||
menuPartition_Style->setObjectName(QStringLiteral("menuPartition_Style"));
|
||||
menuLanguage = new QMenu(menubar);
|
||||
menuLanguage->setObjectName(QStringLiteral("menuLanguage"));
|
||||
Ventoy2DiskWindow->setMenuBar(menubar);
|
||||
|
||||
menubar->addAction(menuOption->menuAction());
|
||||
menubar->addAction(menuLanguage->menuAction());
|
||||
menuOption->addAction(actionSecure_Boot_Support);
|
||||
menuOption->addAction(menuPartition_Style->menuAction());
|
||||
menuOption->addAction(actionPartition_Configuration);
|
||||
menuOption->addAction(actionClear_Ventoy);
|
||||
menuOption->addAction(actionShow_All_Devices);
|
||||
menuPartition_Style->addAction(actionMBR);
|
||||
menuPartition_Style->addAction(actionGPT);
|
||||
|
||||
retranslateUi(Ventoy2DiskWindow);
|
||||
|
||||
QMetaObject::connectSlotsByName(Ventoy2DiskWindow);
|
||||
} // setupUi
|
||||
|
||||
void retranslateUi(QMainWindow *Ventoy2DiskWindow)
|
||||
{
|
||||
Ventoy2DiskWindow->setWindowTitle(QApplication::translate("Ventoy2DiskWindow", "Ventoy2Disk", Q_NULLPTR));
|
||||
actionSecure_Boot_Support->setText(QApplication::translate("Ventoy2DiskWindow", "Secure Boot Support", Q_NULLPTR));
|
||||
actionMBR->setText(QApplication::translate("Ventoy2DiskWindow", "MBR", Q_NULLPTR));
|
||||
actionGPT->setText(QApplication::translate("Ventoy2DiskWindow", "GPT", Q_NULLPTR));
|
||||
actionPartition_Configuration->setText(QApplication::translate("Ventoy2DiskWindow", "Partition Configuration", Q_NULLPTR));
|
||||
actionClear_Ventoy->setText(QApplication::translate("Ventoy2DiskWindow", "Clear Ventoy", Q_NULLPTR));
|
||||
actionShow_All_Devices->setText(QApplication::translate("Ventoy2DiskWindow", "Show All Devices", Q_NULLPTR));
|
||||
groupBoxDevice->setTitle(QApplication::translate("Ventoy2DiskWindow", "Device", Q_NULLPTR));
|
||||
ButtonRefresh->setText(QString());
|
||||
groupBoxVentoyLocal->setTitle(QApplication::translate("Ventoy2DiskWindow", "Ventoy In Package", Q_NULLPTR));
|
||||
labelVentoyLocalVer->setText(QApplication::translate("Ventoy2DiskWindow", "<html><head/><body><p><span style=\" font-size:20pt; font-weight:600; color:#ff0000;\">1.0.53</span></p></body></html>", Q_NULLPTR));
|
||||
labelVentoyLocalPartStyle->setText(QApplication::translate("Ventoy2DiskWindow", "<html><head/><body><p>MBR</p></body></html>", Q_NULLPTR));
|
||||
labelVentoyLocalSecure->setText(QString());
|
||||
groupBoxVentoyDevice->setTitle(QApplication::translate("Ventoy2DiskWindow", "Ventoy In Device", Q_NULLPTR));
|
||||
labelVentoyDeviceVer->setText(QApplication::translate("Ventoy2DiskWindow", "<html><head/><body><p><span style=\" font-size:20pt; font-weight:600; color:#ff0000;\">1.0.52</span></p></body></html>", Q_NULLPTR));
|
||||
labelVentoyDevicePartStyle->setText(QApplication::translate("Ventoy2DiskWindow", "<html><head/><body><p>GPT</p></body></html>", Q_NULLPTR));
|
||||
labelVentoyDeviceSecure->setText(QString());
|
||||
groupBoxStatus->setTitle(QApplication::translate("Ventoy2DiskWindow", "Status: REDAY", Q_NULLPTR));
|
||||
progressBar->setFormat(QString());
|
||||
ButtonInstall->setText(QApplication::translate("Ventoy2DiskWindow", "Install", Q_NULLPTR));
|
||||
ButtonUpdate->setText(QApplication::translate("Ventoy2DiskWindow", "Update", Q_NULLPTR));
|
||||
menuOption->setTitle(QApplication::translate("Ventoy2DiskWindow", "Option", Q_NULLPTR));
|
||||
menuPartition_Style->setTitle(QApplication::translate("Ventoy2DiskWindow", "Partition Style", Q_NULLPTR));
|
||||
menuLanguage->setTitle(QApplication::translate("Ventoy2DiskWindow", "Language", Q_NULLPTR));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class Ventoy2DiskWindow: public Ui_Ventoy2DiskWindow {};
|
||||
} // namespace Ui
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // UI_VENTOY2DISKWINDOW_H
|
95
LinuxGUI/Ventoy2Disk/QT/main.cpp
Normal file
95
LinuxGUI/Ventoy2Disk/QT/main.cpp
Normal file
@ -0,0 +1,95 @@
|
||||
#include "ventoy2diskwindow.h"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QMessageBox>
|
||||
#include <QFileInfo>
|
||||
#include <QStyle>
|
||||
#include <QDesktopWidget>
|
||||
#include <QPixmap>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
extern "C" {
|
||||
#include "ventoy_define.h"
|
||||
#include "ventoy_util.h"
|
||||
#include "ventoy_qt.h"
|
||||
}
|
||||
|
||||
using namespace std;
|
||||
|
||||
char g_log_file[4096];
|
||||
char g_ini_file[4096];
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int ret;
|
||||
QApplication a(argc, argv);
|
||||
Ventoy2DiskWindow w;
|
||||
|
||||
#ifdef QT_CHECK_EUID
|
||||
if (geteuid() != 0)
|
||||
{
|
||||
QMessageBox::critical(NULL, "Error", "Permission denied!\nPlease run with root privileges.");
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!QFileInfo::exists("./boot/boot.img"))
|
||||
{
|
||||
QMessageBox::critical(NULL, "Error", "Please run under the correct directory.");
|
||||
return 1;
|
||||
}
|
||||
|
||||
ventoy_log_init();
|
||||
|
||||
snprintf(g_log_file, sizeof(g_log_file), "./log.txt");
|
||||
snprintf(g_ini_file, sizeof(g_ini_file), "./Ventoy2Disk.ini");
|
||||
for (int i = 0; i < argc; i++)
|
||||
{
|
||||
if (argv[i] && argv[i + 1] && strcmp(argv[i], "-l") == 0)
|
||||
{
|
||||
snprintf(g_log_file, sizeof(g_log_file), "%s", argv[i + 1]);
|
||||
}
|
||||
else if (argv[i] && argv[i + 1] && strcmp(argv[i], "-i") == 0)
|
||||
{
|
||||
snprintf(g_ini_file, sizeof(g_ini_file), "%s", argv[i + 1]);
|
||||
}
|
||||
}
|
||||
|
||||
vlog("===================================================\n");
|
||||
vlog("===== Ventoy2Disk %s powered by QT %s =====\n", ventoy_get_local_version(), qVersion());
|
||||
vlog("===================================================\n");
|
||||
|
||||
ventoy_disk_init();
|
||||
ventoy_http_init();
|
||||
|
||||
w.setGeometry(QStyle::alignedRect(Qt::LeftToRight,
|
||||
Qt::AlignCenter,
|
||||
w.size(),
|
||||
a.desktop()->availableGeometry()));
|
||||
|
||||
QPixmap pix;
|
||||
QIcon icon;
|
||||
int len;
|
||||
const uchar *data;
|
||||
|
||||
data = (const uchar *)get_window_icon_raw_data(&len);
|
||||
pix.loadFromData(data, len);
|
||||
icon.addPixmap(pix);
|
||||
w.setWindowIcon(icon);
|
||||
|
||||
w.show();
|
||||
w.setFixedSize(w.size());
|
||||
|
||||
ret = a.exec();
|
||||
|
||||
ventoy_disk_exit();
|
||||
ventoy_http_exit();
|
||||
|
||||
vlog("######## Ventoy2Disk QT %s exit ########\n", ventoy_get_local_version());
|
||||
|
||||
/* log exit must at the end */
|
||||
ventoy_log_exit();
|
||||
|
||||
return ret;
|
||||
}
|
101
LinuxGUI/Ventoy2Disk/QT/partcfgdialog.cpp
Normal file
101
LinuxGUI/Ventoy2Disk/QT/partcfgdialog.cpp
Normal file
@ -0,0 +1,101 @@
|
||||
#include "partcfgdialog.h"
|
||||
#include "ui_partcfgdialog.h"
|
||||
#include <QDebug>
|
||||
#include <QMessageBox>
|
||||
|
||||
PartCfgDialog::PartCfgDialog(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::PartCfgDialog)
|
||||
{
|
||||
reserve = false;
|
||||
unit = 1;
|
||||
align = true;
|
||||
valuestr = "";
|
||||
resvalue = 0;
|
||||
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->lineEdit->setEnabled(false);
|
||||
ui->comboBox->setEnabled(false);
|
||||
}
|
||||
|
||||
PartCfgDialog::~PartCfgDialog()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void PartCfgDialog::update_ui_status()
|
||||
{
|
||||
ui->checkBox->setChecked(reserve);
|
||||
ui->lineEdit->setEnabled(reserve);
|
||||
ui->comboBox->setEnabled(reserve);
|
||||
ui->checkBox_2->setChecked(align);
|
||||
}
|
||||
|
||||
void PartCfgDialog::update_language_ui(QJsonObject &obj)
|
||||
{
|
||||
ui->checkBox->setText(_LANG_STR("STR_PRESERVE_SPACE"));
|
||||
ui->checkBox_2->setText(_LANG_STR("STR_PART_ALIGN_4KB"));
|
||||
ui->pushButtonOK->setText(_LANG_STR("STR_BTN_OK"));
|
||||
ui->pushButtonCancel->setText(_LANG_STR("STR_BTN_CANCEL"));
|
||||
|
||||
invalid_value = _LANG_STR("STR_SPACE_VAL_INVALID");
|
||||
err_title = _LANG_STR("STR_ERROR");
|
||||
}
|
||||
|
||||
void PartCfgDialog::on_pushButtonOK_clicked()
|
||||
{
|
||||
if (ui->checkBox->isChecked())
|
||||
{
|
||||
QString str = ui->lineEdit->text();
|
||||
|
||||
if (str.isEmpty())
|
||||
{
|
||||
QMessageBox::critical(NULL, err_title, invalid_value);
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = 0; i < str.size(); i++)
|
||||
{
|
||||
if (str[i] < '0' || str[i] > '9')
|
||||
{
|
||||
QMessageBox::critical(NULL, err_title, invalid_value);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
valuestr = str;
|
||||
resvalue = str.toLongLong();
|
||||
reserve = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
reserve = false;
|
||||
}
|
||||
|
||||
align = ui->checkBox_2->isChecked();
|
||||
unit = ui->comboBox->currentIndex();
|
||||
|
||||
accept();
|
||||
}
|
||||
|
||||
void PartCfgDialog::on_pushButtonCancel_clicked()
|
||||
{
|
||||
reject();
|
||||
}
|
||||
|
||||
void PartCfgDialog::on_checkBox_stateChanged(int arg1)
|
||||
{
|
||||
(void)arg1;
|
||||
|
||||
if (ui->checkBox->isChecked())
|
||||
{
|
||||
ui->lineEdit->setEnabled(true);
|
||||
ui->comboBox->setEnabled(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->lineEdit->setEnabled(false);
|
||||
ui->comboBox->setEnabled(false);
|
||||
}
|
||||
}
|
44
LinuxGUI/Ventoy2Disk/QT/partcfgdialog.h
Normal file
44
LinuxGUI/Ventoy2Disk/QT/partcfgdialog.h
Normal file
@ -0,0 +1,44 @@
|
||||
#ifndef PARTCFGDIALOG_H
|
||||
#define PARTCFGDIALOG_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <QJsonObject>
|
||||
|
||||
namespace Ui {
|
||||
class PartCfgDialog;
|
||||
}
|
||||
|
||||
class PartCfgDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
||||
bool reserve;
|
||||
int unit;
|
||||
bool align;
|
||||
QString valuestr;
|
||||
qint64 resvalue;
|
||||
|
||||
QString invalid_value;
|
||||
QString err_title;
|
||||
void update_ui_status();
|
||||
void update_language_ui(QJsonObject &obj);
|
||||
|
||||
explicit PartCfgDialog(QWidget *parent = nullptr);
|
||||
~PartCfgDialog();
|
||||
|
||||
private slots:
|
||||
void on_pushButtonOK_clicked();
|
||||
|
||||
void on_pushButtonCancel_clicked();
|
||||
|
||||
void on_checkBox_stateChanged(int arg1);
|
||||
|
||||
private:
|
||||
Ui::PartCfgDialog *ui;
|
||||
};
|
||||
|
||||
#define _LANG_STR(id) obj.value(id).toString()
|
||||
|
||||
#endif // PARTCFGDIALOG_H
|
165
LinuxGUI/Ventoy2Disk/QT/partcfgdialog.ui
Normal file
165
LinuxGUI/Ventoy2Disk/QT/partcfgdialog.ui
Normal file
@ -0,0 +1,165 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>PartCfgDialog</class>
|
||||
<widget class="QDialog" name="PartCfgDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>420</width>
|
||||
<height>258</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Partition Configuration</string>
|
||||
</property>
|
||||
<widget class="QPushButton" name="pushButtonOK">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>90</x>
|
||||
<y>210</y>
|
||||
<width>90</width>
|
||||
<height>30</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>OK</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pushButtonCancel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>230</x>
|
||||
<y>210</y>
|
||||
<width>90</width>
|
||||
<height>30</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>400</width>
|
||||
<height>51</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<widget class="QCheckBox" name="checkBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>381</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Preserve some space at the end of the disk</string>
|
||||
</property>
|
||||
<property name="autoRepeatInterval">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>60</y>
|
||||
<width>200</width>
|
||||
<height>60</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<widget class="QLineEdit" name="lineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>20</y>
|
||||
<width>181</width>
|
||||
<height>26</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>14</number>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>210</x>
|
||||
<y>60</y>
|
||||
<width>200</width>
|
||||
<height>60</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<widget class="QComboBox" name="comboBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>20</y>
|
||||
<width>181</width>
|
||||
<height>26</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>MB</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>GB</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBox_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>130</y>
|
||||
<width>401</width>
|
||||
<height>51</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<widget class="QCheckBox" name="checkBox_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>18</y>
|
||||
<width>381</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Align partitions with 4KB</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
300
LinuxGUI/Ventoy2Disk/QT/refresh_icon_data.c
Normal file
300
LinuxGUI/Ventoy2Disk/QT/refresh_icon_data.c
Normal file
@ -0,0 +1,300 @@
|
||||
/******************************************************************************
|
||||
* refresh_icon_data.c
|
||||
*
|
||||
* Copyright (c) 2021, longpanda <admin@ventoy.net>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program 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
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
static unsigned char refresh_icon_hexData[4286] = {
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x20, 0x20, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0xA8, 0x10,
|
||||
0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x27,
|
||||
0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x0C, 0xA6, 0xBE,
|
||||
0x32, 0x2D, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x81, 0xA6, 0xBE,
|
||||
0x32, 0x81, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0x2D, 0xA6, 0xBE,
|
||||
0x32, 0x0C, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0xBF, 0xA6, 0xBE,
|
||||
0x32, 0xEB, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0xEB, 0xA6, 0xBE,
|
||||
0x32, 0xBF, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x10, 0xA6, 0xBE,
|
||||
0x32, 0x71, 0xA6, 0xBE, 0x32, 0xD9, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xDA, 0xA6, 0xBE, 0x32, 0x71, 0xA6, 0xBE,
|
||||
0x32, 0x10, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x29, 0xA6, 0xBE, 0x32, 0xB2, 0xA6, 0xBE,
|
||||
0x32, 0xFE, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA5, 0xBD,
|
||||
0x2F, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFE, 0xA6, 0xBE,
|
||||
0x32, 0xB2, 0xA6, 0xBE, 0x32, 0x29, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x35, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA5, 0xBE,
|
||||
0x31, 0xFF, 0xAC, 0xC3, 0x40, 0xFF, 0xB7, 0xCA, 0x59, 0xFF, 0xBF, 0xD0, 0x6B, 0xFF, 0xC0, 0xD1,
|
||||
0x6E, 0xFF, 0xBA, 0xCD, 0x60, 0xFF, 0xAF, 0xC5, 0x48, 0xFF, 0xA7, 0xBF, 0x34, 0xFF, 0xA5, 0xBD,
|
||||
0x2F, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0x35, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x29, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xB5, 0xC9, 0x54, 0xFF, 0xD4, 0xE0,
|
||||
0x9D, 0xFF, 0xED, 0xF2, 0xD6, 0xFF, 0xF9, 0xFB, 0xF1, 0xFF, 0xFD, 0xFD, 0xFA, 0xFF, 0xFD, 0xFE,
|
||||
0xFB, 0xFF, 0xFB, 0xFC, 0xF5, 0xFF, 0xF2, 0xF6, 0xE1, 0xFF, 0xDD, 0xE6, 0xB1, 0xFF, 0xBD, 0xCF,
|
||||
0x67, 0xFF, 0xA7, 0xBF, 0x35, 0xFF, 0xA5, 0xBE, 0x30, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0x29, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x10, 0xA6, 0xBE,
|
||||
0x32, 0xB2, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x31, 0xFF, 0xA8, 0xC0, 0x37, 0xFF, 0xCB, 0xD9, 0x87, 0xFF, 0xF4, 0xF7, 0xE6, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xFB,
|
||||
0xF4, 0xFF, 0xD9, 0xE4, 0xA8, 0xFF, 0xAF, 0xC4, 0x46, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xB2, 0xA6, 0xBE,
|
||||
0x32, 0x10, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x71, 0xA6, 0xBE,
|
||||
0x32, 0xFE, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA9, 0xC0,
|
||||
0x38, 0xFF, 0xD5, 0xE0, 0x9D, 0xFF, 0xFD, 0xFE, 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE,
|
||||
0xFD, 0xFF, 0xEE, 0xF3, 0xD9, 0xFF, 0xD9, 0xE3, 0xA8, 0xFF, 0xCC, 0xDA, 0x8A, 0xFF, 0xCA, 0xD8,
|
||||
0x85, 0xFF, 0xD3, 0xDF, 0x99, 0xFF, 0xE6, 0xEC, 0xC4, 0xFF, 0xFA, 0xFB, 0xF3, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xED, 0xC7, 0xFF, 0xB1, 0xC6, 0x4C, 0xFF, 0xA5, 0xBD,
|
||||
0x30, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFE, 0xA6, 0xBE,
|
||||
0x32, 0x71, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0xDA, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xCD, 0xDB,
|
||||
0x8C, 0xFF, 0xFD, 0xFE, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0xF7, 0xE7, 0xFF, 0xCB, 0xD9,
|
||||
0x87, 0xFF, 0xAE, 0xC3, 0x43, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA4, 0xBD, 0x2F, 0xFF, 0xA4, 0xBD,
|
||||
0x2E, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA9, 0xC0, 0x38, 0xFF, 0xBD, 0xCF, 0x66, 0xFF, 0xE8, 0xEE,
|
||||
0xC9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xEB, 0xC1, 0xFF, 0xAD, 0xC3,
|
||||
0x41, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xDA, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBD,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA4, 0xBC, 0x2D, 0xFF, 0xB8, 0xCB, 0x5C, 0xFF, 0xF6, 0xF9,
|
||||
0xEB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0xF5, 0xDF, 0xFF, 0xBA, 0xCD, 0x60, 0xFF, 0xA4, 0xBD,
|
||||
0x2E, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xAE, 0xC4,
|
||||
0x44, 0xFF, 0xE2, 0xE9, 0xBB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xD6,
|
||||
0x7E, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x0C, 0xA6, 0xBE, 0x32, 0xC0, 0xA6, 0xBE, 0x32, 0xFF, 0xA9, 0xC0,
|
||||
0x39, 0xFF, 0xC8, 0xD7, 0x80, 0xFF, 0xD0, 0xDC, 0x92, 0xFF, 0xE7, 0xEE, 0xC8, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0xED, 0xC5, 0xFF, 0xCC, 0xDA, 0x8A, 0xFF, 0xB0, 0xC5,
|
||||
0x49, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD,
|
||||
0x30, 0xFF, 0xB0, 0xC6, 0x4A, 0xFF, 0xE3, 0xEA, 0xBE, 0xFF, 0xEA, 0xEF, 0xCE, 0xFF, 0xB8, 0xCB,
|
||||
0x5C, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xBF, 0xA6, 0xBE, 0x32, 0x0C, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x2E, 0xA6, 0xBE, 0x32, 0xEB, 0xA6, 0xBE, 0x32, 0xFF, 0xA8, 0xC0,
|
||||
0x37, 0xFF, 0xE0, 0xE8, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xF6, 0xE3, 0xFF, 0xB3, 0xC7,
|
||||
0x4F, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xAA, 0xC1, 0x3A, 0xFF, 0xAB, 0xC1, 0x3D, 0xFF, 0xA6, 0xBE,
|
||||
0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xEB, 0xA6, 0xBE, 0x32, 0x2D, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD,
|
||||
0x30, 0xFF, 0xB6, 0xCA, 0x58, 0xFF, 0xF4, 0xF7, 0xE6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFE, 0xFB, 0xFF, 0xC9, 0xD8, 0x84, 0xFF, 0xA5, 0xBD,
|
||||
0x30, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA5, 0xBE, 0x30, 0xFF, 0xCD, 0xDB, 0x8C, 0xFF, 0xFE, 0xFE, 0xFD, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0xEA, 0xBC, 0xFF, 0xAA, 0xC1, 0x3A, 0xFF, 0xA6, 0xBE,
|
||||
0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xAB, 0xC2, 0x3E, 0xFF, 0xBB, 0xCE, 0x63, 0xFF, 0xA7, 0xBF,
|
||||
0x35, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x81, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xAB, 0xC2, 0x3E, 0xFF, 0xE6, 0xED, 0xC5, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xF5, 0xF8, 0xE8, 0xFF, 0xB7, 0xCB, 0x5A, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xCE, 0xDB, 0x8F, 0xFF, 0xF7, 0xF9, 0xEC, 0xFF, 0xBD, 0xCF,
|
||||
0x67, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0x81, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x81, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xBB, 0xCD, 0x63, 0xFF, 0xF6, 0xF8,
|
||||
0xEA, 0xFF, 0xCE, 0xDB, 0x8F, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD,
|
||||
0x30, 0xFF, 0xB7, 0xCB, 0x5A, 0xFF, 0xF5, 0xF8, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xEE,
|
||||
0xC9, 0xFF, 0xAC, 0xC2, 0x40, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0x81, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA7, 0xBF, 0x34, 0xFF, 0xBA, 0xCD,
|
||||
0x60, 0xFF, 0xAB, 0xC2, 0x3E, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xAA, 0xC1,
|
||||
0x3A, 0xFF, 0xE2, 0xEA, 0xBC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFE, 0xFF, 0xCF, 0xDC, 0x90, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD,
|
||||
0x2F, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xC9, 0xD8,
|
||||
0x84, 0xFF, 0xFD, 0xFE, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xF5, 0xF8, 0xE9, 0xFF, 0xB8, 0xCB, 0x5B, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x2E, 0xA6, 0xBE, 0x32, 0xEB, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA9, 0xC0,
|
||||
0x38, 0xFF, 0xA8, 0xBF, 0x37, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xB2, 0xC7, 0x4F, 0xFF, 0xF2, 0xF6,
|
||||
0xE2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0xE9, 0xBB, 0xFF, 0xA9, 0xC0, 0x38, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xEB, 0xA6, 0xBE, 0x32, 0x2D, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x0C, 0xA6, 0xBE, 0x32, 0xC0, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xB5, 0xC9, 0x54, 0xFF, 0xE4, 0xEB,
|
||||
0xC1, 0xFF, 0xDF, 0xE8, 0xB5, 0xFF, 0xAF, 0xC5, 0x47, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xAF, 0xC5, 0x47, 0xFF, 0xCA, 0xD8,
|
||||
0x85, 0xFF, 0xE2, 0xE9, 0xBB, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xEF,
|
||||
0xCD, 0xFF, 0xCE, 0xDB, 0x8F, 0xFF, 0xC7, 0xD6, 0x7E, 0xFF, 0xA9, 0xC0, 0x39, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xBF, 0xA6, 0xBE, 0x32, 0x0C, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBD,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x73, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xC6, 0xD6, 0x7C, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xE8, 0xB5, 0xFF, 0xAC, 0xC3, 0x40, 0xFF, 0xA5, 0xBD,
|
||||
0x2F, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA4, 0xBD, 0x2E, 0xFF, 0xB5, 0xC9,
|
||||
0x55, 0xFF, 0xED, 0xF2, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFB, 0xF1, 0xFF, 0xBC, 0xCE,
|
||||
0x65, 0xFF, 0xA4, 0xBC, 0x2C, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0xDA, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xAE, 0xC4, 0x44, 0xFF, 0xE6, 0xED,
|
||||
0xC6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xEB, 0xC1, 0xFF, 0xB9, 0xCC,
|
||||
0x5E, 0xFF, 0xA7, 0xBF, 0x35, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA4, 0xBD, 0x2E, 0xFF, 0xA4, 0xBD,
|
||||
0x2E, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xAB, 0xC1, 0x3D, 0xFF, 0xC5, 0xD5, 0x79, 0xFF, 0xF1, 0xF5,
|
||||
0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xD3, 0xDF, 0x99, 0xFF, 0xA7, 0xBE,
|
||||
0x33, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xDA, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE,
|
||||
0x32, 0xFE, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xB3, 0xC8,
|
||||
0x51, 0xFF, 0xE9, 0xEF, 0xCD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFA,
|
||||
0xEE, 0xFF, 0xE1, 0xE9, 0xBA, 0xFF, 0xCD, 0xDB, 0x8C, 0xFF, 0xC4, 0xD4, 0x78, 0xFF, 0xC6, 0xD6,
|
||||
0x7C, 0xFF, 0xD3, 0xDF, 0x9A, 0xFF, 0xE9, 0xEF, 0xCD, 0xFF, 0xFC, 0xFD, 0xF9, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xDB, 0xE4, 0xAB, 0xFF, 0xAA, 0xC1, 0x3C, 0xFF, 0xA6, 0xBE,
|
||||
0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFE, 0xA6, 0xBE,
|
||||
0x32, 0x71, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x10, 0xA6, 0xBE,
|
||||
0x32, 0xB3, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD,
|
||||
0x30, 0xFF, 0xB1, 0xC6, 0x4B, 0xFF, 0xDD, 0xE6, 0xB2, 0xFF, 0xFC, 0xFD, 0xF8, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF,
|
||||
0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFA,
|
||||
0xEE, 0xFF, 0xD1, 0xDE, 0x96, 0xFF, 0xAA, 0xC1, 0x3C, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xB2, 0xA6, 0xBE,
|
||||
0x32, 0x10, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x29, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA9, 0xC0, 0x38, 0xFF, 0xC1, 0xD2, 0x71, 0xFF, 0xE2, 0xEA,
|
||||
0xBC, 0xFF, 0xF5, 0xF8, 0xE9, 0xFF, 0xFD, 0xFD, 0xFA, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF,
|
||||
0xFE, 0xFF, 0xFB, 0xFC, 0xF7, 0xFF, 0xF2, 0xF5, 0xE1, 0xFF, 0xDB, 0xE5, 0xAC, 0xFF, 0xB9, 0xCC,
|
||||
0x5F, 0xFF, 0xA6, 0xBE, 0x33, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0x29, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x35, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA8, 0xBF,
|
||||
0x36, 0xFF, 0xB3, 0xC7, 0x4F, 0xFF, 0xBF, 0xD0, 0x6B, 0xFF, 0xC5, 0xD5, 0x7A, 0xFF, 0xC4, 0xD4,
|
||||
0x78, 0xFF, 0xBC, 0xCE, 0x64, 0xFF, 0xB0, 0xC5, 0x48, 0xFF, 0xA6, 0xBE, 0x33, 0xFF, 0xA5, 0xBD,
|
||||
0x30, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0x35, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x29, 0xA6, 0xBE, 0x32, 0xB2, 0xA6, 0xBE,
|
||||
0x32, 0xFE, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA4, 0xBD, 0x2E, 0xFF, 0xA4, 0xBD,
|
||||
0x2E, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFE, 0xA6, 0xBE,
|
||||
0x32, 0xB3, 0xA6, 0xBE, 0x32, 0x29, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x10, 0xA6, 0xBE,
|
||||
0x32, 0x71, 0xA6, 0xBE, 0x32, 0xDA, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xDA, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE,
|
||||
0x32, 0x10, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0xBF, 0xA6, 0xBE,
|
||||
0x32, 0xEB, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0xEB, 0xA6, 0xBE,
|
||||
0x32, 0xC0, 0xA6, 0xBE, 0x32, 0x73, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x0C, 0xA6, 0xBE,
|
||||
0x32, 0x2D, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x81, 0xA6, 0xBE,
|
||||
0x32, 0x81, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0x2E, 0xA6, 0xBE,
|
||||
0x32, 0x0C, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBD, 0x31, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80,
|
||||
0x01, 0xFF, 0xFE, 0x00, 0x00, 0x7F, 0xF8, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x0F, 0xE0, 0x00,
|
||||
0x00, 0x07, 0xC0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00,
|
||||
0x00, 0x01, 0xC0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x07, 0xF0, 0x00,
|
||||
0x00, 0x0F, 0xF8, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x7F, 0xFF, 0x80, 0x01, 0xFF
|
||||
};
|
||||
|
||||
void *get_refresh_icon_raw_data(int *len)
|
||||
{
|
||||
*len = (int)sizeof(refresh_icon_hexData);
|
||||
return refresh_icon_hexData;
|
||||
}
|
||||
|
91
LinuxGUI/Ventoy2Disk/QT/secure_icon_data.c
Normal file
91
LinuxGUI/Ventoy2Disk/QT/secure_icon_data.c
Normal file
@ -0,0 +1,91 @@
|
||||
/******************************************************************************
|
||||
* secure_icon_data.c
|
||||
*
|
||||
* Copyright (c) 2021, longpanda <admin@ventoy.net>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program 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
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
static unsigned char secure_icon_hexData[958] = {
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xA8, 0x03,
|
||||
0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x20, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00, 0x46, 0x5C,
|
||||
0x00, 0x00, 0x46, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C,
|
||||
0xFB, 0x01, 0x00, 0x8C, 0xFB, 0x2E, 0x00, 0x8C, 0xFB, 0x52, 0x00, 0x8C, 0xFB, 0x53, 0x00, 0x8C,
|
||||
0xFB, 0x53, 0x00, 0x8C, 0xFB, 0x53, 0x00, 0x8C, 0xFB, 0x53, 0x00, 0x8C, 0xFB, 0x53, 0x00, 0x8C,
|
||||
0xFB, 0x53, 0x00, 0x8C, 0xFB, 0x53, 0x00, 0x8C, 0xFB, 0x52, 0x00, 0x8C, 0xFB, 0x2E, 0x00, 0x8C,
|
||||
0xFB, 0x01, 0x00, 0x8C, 0xFB, 0x3E, 0x00, 0x8C, 0xFB, 0xDA, 0x00, 0x8C, 0xFB, 0xF8, 0x00, 0x8C,
|
||||
0xFB, 0xF7, 0x00, 0x8C, 0xFB, 0xF7, 0x00, 0x8C, 0xFB, 0xF7, 0x00, 0x8C, 0xFB, 0xF7, 0x00, 0x8C,
|
||||
0xFB, 0xF7, 0x00, 0x8C, 0xFB, 0xF7, 0x00, 0x8C, 0xFB, 0xF7, 0x00, 0x8C, 0xFB, 0xF8, 0x00, 0x8C,
|
||||
0xFB, 0xDA, 0x00, 0x8C, 0xFB, 0x3E, 0x00, 0x8C, 0xFB, 0x78, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0x78, 0x00, 0x8C, 0xFB, 0x7B, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0x7B, 0x00, 0x8C,
|
||||
0xFB, 0x7A, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x86, 0xF1, 0xFF, 0x00, 0x7C, 0xDF, 0xFF, 0x00, 0x86, 0xF1, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0x7A, 0x00, 0x8C, 0xFB, 0x7A, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFC, 0xFF, 0x00, 0x7C, 0xDF, 0xFF, 0x00, 0x6C, 0xC4, 0xFF, 0x00, 0x7C,
|
||||
0xDF, 0xFF, 0x00, 0x8C, 0xFC, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0x7A, 0x00, 0x8C, 0xFB, 0x7A, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x87, 0xF2, 0xFF, 0x00, 0x7D,
|
||||
0xE1, 0xFF, 0x00, 0x87, 0xF2, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0x7A, 0x00, 0x8C, 0xFB, 0x7B, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFC, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0x7B, 0x00, 0x8C,
|
||||
0xFB, 0x77, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||
0xFB, 0x77, 0x00, 0x8C, 0xFB, 0x3A, 0x00, 0x8C, 0xFB, 0xD4, 0x01, 0x8B, 0xF9, 0xF7, 0x03, 0x89,
|
||||
0xF3, 0xFF, 0x01, 0x8B, 0xF8, 0xF8, 0x00, 0x8C, 0xFB, 0xF4, 0x00, 0x8C, 0xFB, 0xF4, 0x00, 0x8C,
|
||||
0xFB, 0xF4, 0x01, 0x8B, 0xF8, 0xF8, 0x03, 0x89, 0xF3, 0xFF, 0x01, 0x8B, 0xF9, 0xF7, 0x00, 0x8C,
|
||||
0xFB, 0xD4, 0x00, 0x8C, 0xFB, 0x3A, 0x00, 0x8C, 0xFB, 0x00, 0x00, 0x93, 0xFF, 0x1E, 0x1D, 0x6B,
|
||||
0xA9, 0x6B, 0x32, 0x54, 0x6F, 0xF6, 0x22, 0x65, 0x9A, 0x7D, 0x00, 0x90, 0xFF, 0x39, 0x00, 0x8C,
|
||||
0xFB, 0x3C, 0x00, 0x90, 0xFF, 0x39, 0x22, 0x65, 0x9A, 0x7D, 0x32, 0x54, 0x6F, 0xF6, 0x1D, 0x6B,
|
||||
0xA9, 0x6B, 0x00, 0x93, 0xFF, 0x1E, 0x00, 0x8C, 0xFB, 0x00, 0x00, 0x8C, 0xFB, 0x00, 0x2A, 0x5D,
|
||||
0x85, 0x00, 0x46, 0x3D, 0x36, 0x3A, 0x43, 0x41, 0x3F, 0xF3, 0x45, 0x3F, 0x3A, 0x58, 0x26, 0x62,
|
||||
0x91, 0x00, 0x00, 0x8D, 0xFD, 0x00, 0x26, 0x62, 0x91, 0x00, 0x45, 0x3F, 0x3A, 0x58, 0x43, 0x41,
|
||||
0x3F, 0xF3, 0x46, 0x3D, 0x36, 0x3A, 0x2A, 0x5D, 0x85, 0x00, 0x00, 0x8C, 0xFB, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x42, 0x42, 0x42, 0x00, 0x42, 0x42, 0x42, 0x27, 0x42, 0x42, 0x42, 0xE9, 0x42, 0x42,
|
||||
0x42, 0x94, 0x42, 0x42, 0x42, 0x01, 0x42, 0x42, 0x42, 0x00, 0x42, 0x42, 0x42, 0x01, 0x42, 0x42,
|
||||
0x42, 0x94, 0x42, 0x42, 0x42, 0xE9, 0x42, 0x42, 0x42, 0x27, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x00, 0x42, 0x42, 0x42, 0x04, 0x42, 0x42,
|
||||
0x42, 0x96, 0x42, 0x42, 0x42, 0xF5, 0x42, 0x42, 0x42, 0x8E, 0x42, 0x42, 0x42, 0x53, 0x42, 0x42,
|
||||
0x42, 0x8E, 0x42, 0x42, 0x42, 0xF5, 0x42, 0x42, 0x42, 0x96, 0x42, 0x42, 0x42, 0x04, 0x42, 0x42,
|
||||
0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x00, 0x42, 0x42,
|
||||
0x42, 0x00, 0x42, 0x42, 0x42, 0x16, 0x42, 0x42, 0x42, 0x96, 0x42, 0x42, 0x42, 0xE9, 0x42, 0x42,
|
||||
0x42, 0xF3, 0x42, 0x42, 0x42, 0xE9, 0x42, 0x42, 0x42, 0x96, 0x42, 0x42, 0x42, 0x16, 0x42, 0x42,
|
||||
0x42, 0x00, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42,
|
||||
0x42, 0x00, 0x42, 0x42, 0x42, 0x00, 0x42, 0x42, 0x42, 0x00, 0x42, 0x42, 0x42, 0x05, 0x42, 0x42,
|
||||
0x42, 0x31, 0x42, 0x42, 0x42, 0x4B, 0x42, 0x42, 0x42, 0x31, 0x42, 0x42, 0x42, 0x05, 0x42, 0x42,
|
||||
0x42, 0x00, 0x42, 0x42, 0x42, 0x00, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x08,
|
||||
0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00
|
||||
};
|
||||
|
||||
void *get_secure_icon_raw_data(int *len)
|
||||
{
|
||||
*len = (int)sizeof(secure_icon_hexData);
|
||||
return secure_icon_hexData;
|
||||
}
|
881
LinuxGUI/Ventoy2Disk/QT/ventoy2diskwindow.cpp
Normal file
881
LinuxGUI/Ventoy2Disk/QT/ventoy2diskwindow.cpp
Normal file
@ -0,0 +1,881 @@
|
||||
#include "ventoy2diskwindow.h"
|
||||
#include "ui_ventoy2diskwindow.h"
|
||||
#include "partcfgdialog.h"
|
||||
|
||||
#include <QMessageBox>
|
||||
|
||||
extern "C" {
|
||||
#include "ventoy_define.h"
|
||||
#include "ventoy_util.h"
|
||||
#include "ventoy_disk.h"
|
||||
#include "ventoy_json.h"
|
||||
#include "ventoy_http.h"
|
||||
#include "ventoy_qt.h"
|
||||
}
|
||||
|
||||
MyQThread::MyQThread(QObject *parent) : QThread(parent)
|
||||
{
|
||||
m_index = -1;
|
||||
m_type = 0;
|
||||
m_running = false;
|
||||
}
|
||||
|
||||
void MyQThread::install_run()
|
||||
{
|
||||
int ret = 0;
|
||||
int pos = 0;
|
||||
int buflen = 0;
|
||||
int percent = 0;
|
||||
char buf[1024];
|
||||
char dec[64];
|
||||
char out[256];
|
||||
char disk_name[32];
|
||||
ventoy_disk *cur;
|
||||
|
||||
vlog("install run %d ...\n", m_index);
|
||||
|
||||
cur = g_disk_list + m_index;
|
||||
snprintf(disk_name, sizeof(disk_name), "%s", cur->disk_name);
|
||||
snprintf(dec, sizeof(dec), "%llu", (unsigned long long)m_reserve_space);
|
||||
|
||||
buflen = sizeof(buf);
|
||||
VTOY_JSON_FMT_BEGIN(pos, buf, buflen);
|
||||
VTOY_JSON_FMT_OBJ_BEGIN();
|
||||
VTOY_JSON_FMT_STRN("method", "install");
|
||||
VTOY_JSON_FMT_STRN("disk", disk_name);
|
||||
VTOY_JSON_FMT_STRN("reserve_space", dec);
|
||||
VTOY_JSON_FMT_UINT("partstyle", ventoy_code_get_cur_part_style());
|
||||
VTOY_JSON_FMT_UINT("secure_boot", m_secureboot);
|
||||
VTOY_JSON_FMT_UINT("align_4kb", m_align4K);
|
||||
VTOY_JSON_FMT_OBJ_END();
|
||||
VTOY_JSON_FMT_END(pos);
|
||||
|
||||
out[0] = 0;
|
||||
ventoy_func_handler(buf, out, sizeof(out));
|
||||
vlog("func handler install <%s>\n", out);
|
||||
|
||||
if (strstr(out, "success"))
|
||||
{
|
||||
while (percent != 100)
|
||||
{
|
||||
percent = ventoy_code_get_percent();
|
||||
emit thread_event(THREAD_MSG_PROGRESS_BAR, percent);
|
||||
msleep(50);
|
||||
}
|
||||
|
||||
ret = ventoy_code_get_result();
|
||||
ventoy_code_refresh_device();
|
||||
cur = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = 1;
|
||||
}
|
||||
|
||||
emit thread_event(THREAD_MSG_INSTALL_FINISH, ret);
|
||||
m_running = false;
|
||||
}
|
||||
|
||||
void MyQThread::update_run()
|
||||
{
|
||||
int ret = 0;
|
||||
int percent = 0;
|
||||
char buf[1024];
|
||||
char out[256];
|
||||
char disk_name[32];
|
||||
ventoy_disk *cur;
|
||||
|
||||
vlog("install run %d ...\n", m_index);
|
||||
|
||||
cur = g_disk_list + m_index;
|
||||
snprintf(disk_name, sizeof(disk_name), "%s", cur->disk_name);
|
||||
snprintf(buf, sizeof(buf), "{\"method\":\"update\",\"disk\":\"%s\",\"secure_boot\":%d}", disk_name, m_secureboot);
|
||||
|
||||
out[0] = 0;
|
||||
ventoy_func_handler(buf, out, sizeof(out));
|
||||
vlog("func handler update <%s>\n", out);
|
||||
|
||||
if (strstr(out, "success"))
|
||||
{
|
||||
while (percent != 100)
|
||||
{
|
||||
percent = ventoy_code_get_percent();
|
||||
emit thread_event(THREAD_MSG_PROGRESS_BAR, percent);
|
||||
msleep(50);
|
||||
}
|
||||
|
||||
ret = ventoy_code_get_result();
|
||||
ventoy_code_refresh_device();
|
||||
cur = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = 1;
|
||||
}
|
||||
|
||||
emit thread_event(THREAD_MSG_UPDATE_FINISH, ret);
|
||||
m_running = false;
|
||||
}
|
||||
|
||||
void MyQThread::run()
|
||||
{
|
||||
if (THREAD_TYPE_INSTALL == m_type)
|
||||
{
|
||||
install_run();
|
||||
}
|
||||
else if (THREAD_TYPE_UPDATE == m_type)
|
||||
{
|
||||
update_run();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Ventoy2DiskWindow::Ventoy2DiskWindow(QWidget *parent)
|
||||
: QMainWindow(parent)
|
||||
, ui(new Ui::Ventoy2DiskWindow)
|
||||
{
|
||||
m_partcfg = new PartCfgDialog();
|
||||
m_part_group = new QActionGroup(this);
|
||||
m_lang_group = new QActionGroup(this);
|
||||
m_thread = new MyQThread(this);
|
||||
|
||||
ui->setupUi(this);
|
||||
}
|
||||
|
||||
Ventoy2DiskWindow::~Ventoy2DiskWindow()
|
||||
{
|
||||
delete m_partcfg;
|
||||
delete m_part_group;
|
||||
delete m_lang_group;
|
||||
delete m_thread;
|
||||
delete ui;
|
||||
}
|
||||
|
||||
bool LangCompare(const QString &s1, const QString &s2)
|
||||
{
|
||||
if (true == s1.startsWith("Chinese Simplified") && false == s2.startsWith("Chinese Simplified"))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (false == s1.startsWith("Chinese Simplified") && true == s2.startsWith("Chinese Simplified"))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return s1 < s2;
|
||||
}
|
||||
}
|
||||
|
||||
int Ventoy2DiskWindow::lang_string(const QString &id, QString &str)
|
||||
{
|
||||
QString cur = ventoy_code_get_cur_language();
|
||||
|
||||
for (QJsonArray::iterator p = m_lang_array.begin(); p != m_lang_array.end(); p++)
|
||||
{
|
||||
if (p->toObject().value("name") == cur)
|
||||
{
|
||||
str = p->toObject().value(id).toString();
|
||||
str = str.replace("#@", "\r\n");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::update_ui_language()
|
||||
{
|
||||
QString dev;
|
||||
QJsonObject obj;
|
||||
QString cur = ventoy_code_get_cur_language();
|
||||
|
||||
for (QJsonArray::iterator p = m_lang_array.begin(); p != m_lang_array.end(); p++)
|
||||
{
|
||||
if (p->toObject().value("name") == cur)
|
||||
{
|
||||
obj = p->toObject();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
ui->menuOption->setTitle(_LANG_STR("STR_MENU_OPTION"));
|
||||
ui->actionSecure_Boot_Support->setText(_LANG_STR("STR_MENU_SECURE_BOOT"));
|
||||
ui->menuPartition_Style->setTitle(_LANG_STR("STR_MENU_PART_STYLE"));
|
||||
ui->actionPartition_Configuration->setText(_LANG_STR("STR_MENU_PART_CFG"));
|
||||
ui->actionClear_Ventoy->setText(_LANG_STR("STR_MENU_CLEAR"));
|
||||
ui->actionShow_All_Devices->setText(_LANG_STR("STR_SHOW_ALL_DEV"));
|
||||
|
||||
dev = _LANG_STR("STR_DEVICE");
|
||||
if (m_partcfg->reserve)
|
||||
{
|
||||
QString str;
|
||||
str.sprintf(" [ -%lld%s ]", (long long)m_partcfg->resvalue, m_partcfg->unit ? "GB" : "MB");
|
||||
ui->groupBoxDevice->setTitle(dev + str);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->groupBoxDevice->setTitle(dev);
|
||||
}
|
||||
|
||||
ui->groupBoxVentoyLocal->setTitle(_LANG_STR("STR_LOCAL_VER"));
|
||||
ui->groupBoxVentoyDevice->setTitle(_LANG_STR("STR_DISK_VER"));
|
||||
ui->groupBoxStatus->setTitle(_LANG_STR("STR_STATUS"));
|
||||
ui->ButtonInstall->setText(_LANG_STR("STR_INSTALL"));
|
||||
ui->ButtonUpdate->setText(_LANG_STR("STR_UPDATE"));
|
||||
m_partcfg->update_language_ui(obj);
|
||||
m_partcfg->setWindowTitle(_LANG_STR("STR_MENU_PART_CFG"));
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::lang_check_action(QAction *act)
|
||||
{
|
||||
ventoy_code_set_cur_language(act->text().toStdString().c_str());
|
||||
update_ui_language();
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::LoadLanguages()
|
||||
{
|
||||
QString curlang = ventoy_code_get_cur_language();
|
||||
if (curlang.isEmpty())
|
||||
{
|
||||
QString LANG = qgetenv("LANG");
|
||||
if (LANG.startsWith("zh_CN"))
|
||||
{
|
||||
ventoy_code_set_cur_language("Chinese Simplified (简体中文)");
|
||||
}
|
||||
else
|
||||
{
|
||||
ventoy_code_set_cur_language("English (English)");
|
||||
}
|
||||
curlang = ventoy_code_get_cur_language();
|
||||
}
|
||||
|
||||
|
||||
QFile inFile("./tool/languages.json");
|
||||
inFile.open(QIODevice::ReadOnly|QIODevice::Text);
|
||||
QByteArray data = inFile.readAll();
|
||||
inFile.close();
|
||||
|
||||
QJsonParseError errorPtr;
|
||||
QJsonDocument doc = QJsonDocument::fromJson(data, &errorPtr);
|
||||
|
||||
m_lang_array = doc.array();
|
||||
QVector<QString> List;
|
||||
for (QJsonArray::iterator p = m_lang_array.begin(); p != m_lang_array.end(); p++)
|
||||
{
|
||||
List.push_back(p->toObject().value("name").toString());
|
||||
}
|
||||
|
||||
connect(m_lang_group, SIGNAL(triggered(QAction *)), this, SLOT(lang_check_action(QAction *)));
|
||||
|
||||
std::sort(List.begin(), List.end(), LangCompare);
|
||||
|
||||
for (QVector<QString>::iterator p = List.begin(); p != List.end(); p++)
|
||||
{
|
||||
QAction *action = new QAction(*p, m_lang_group);
|
||||
action->setCheckable(true);
|
||||
|
||||
if (p->compare(curlang) == 0)
|
||||
{
|
||||
action->setChecked(true);
|
||||
m_lang_group->triggered(action);
|
||||
}
|
||||
|
||||
ui->menuLanguage->addAction(action);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::part_style_check_action(QAction *action)
|
||||
{
|
||||
int style = 0;
|
||||
|
||||
if (action->text() == "MBR")
|
||||
{
|
||||
style = 0;
|
||||
ui->labelVentoyLocalPartStyle->setText("MBR");
|
||||
}
|
||||
else
|
||||
{
|
||||
style = 1;
|
||||
ui->labelVentoyLocalPartStyle->setText("GPT");
|
||||
}
|
||||
|
||||
if (style != ventoy_code_get_cur_part_style())
|
||||
{
|
||||
ventoy_code_set_cur_part_style(style);
|
||||
}
|
||||
}
|
||||
|
||||
static ventoy_disk *select_active_dev(const QString &select, int *activeid)
|
||||
{
|
||||
int i;
|
||||
int alldev = ventoy_code_get_cur_show_all();
|
||||
ventoy_disk *cur = NULL;
|
||||
|
||||
/* find the match one */
|
||||
if (!select.isEmpty())
|
||||
{
|
||||
for (i = 0; i < g_disk_num; i++)
|
||||
{
|
||||
cur = g_disk_list + i;
|
||||
if (alldev == 0 && cur->type != VTOY_DEVICE_USB)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (select.compare(cur->disk_name) == 0)
|
||||
{
|
||||
*activeid = i;
|
||||
return cur;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* find the first one that installed with Ventoy */
|
||||
for (i = 0; i < g_disk_num; i++)
|
||||
{
|
||||
cur = g_disk_list + i;
|
||||
if (alldev == 0 && cur->type != VTOY_DEVICE_USB)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (cur->vtoydata.ventoy_valid)
|
||||
{
|
||||
*activeid = i;
|
||||
return cur;
|
||||
}
|
||||
}
|
||||
|
||||
/* find the first USB interface device */
|
||||
for (i = 0; i < g_disk_num; i++)
|
||||
{
|
||||
cur = g_disk_list + i;
|
||||
if (alldev == 0 && cur->type != VTOY_DEVICE_USB)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (cur->type == VTOY_DEVICE_USB)
|
||||
{
|
||||
*activeid = i;
|
||||
return cur;
|
||||
}
|
||||
}
|
||||
|
||||
/* use the first one */
|
||||
for (i = 0; i < g_disk_num; i++)
|
||||
{
|
||||
cur = g_disk_list + i;
|
||||
if (alldev == 0 && cur->type != VTOY_DEVICE_USB)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
*activeid = i;
|
||||
return cur;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
void Ventoy2DiskWindow::FillDeviceList(const QString &select)
|
||||
{
|
||||
int active;
|
||||
int count = 0;
|
||||
int alldev = ventoy_code_get_cur_show_all();
|
||||
ventoy_disk *cur;
|
||||
|
||||
ui->comboBoxDevice->clear();
|
||||
|
||||
for (int i = 0; i < g_disk_num; i++)
|
||||
{
|
||||
cur = g_disk_list + i;
|
||||
|
||||
if (alldev == 0 && cur->type != VTOY_DEVICE_USB)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
QString item;
|
||||
item.sprintf("%s [%s] %s", cur->disk_name, cur->human_readable_size, cur->disk_model);
|
||||
ui->comboBoxDevice->addItem(item);
|
||||
count++;
|
||||
}
|
||||
|
||||
cur = select_active_dev(select, &active);
|
||||
if (cur)
|
||||
{
|
||||
vlog("combox count:%d, active:%s id:%d\n", count, cur->disk_name, active);
|
||||
ui->ButtonInstall->setEnabled(true);
|
||||
ui->ButtonUpdate->setEnabled(cur->vtoydata.ventoy_valid);
|
||||
ui->comboBoxDevice->setCurrentIndex(active);
|
||||
}
|
||||
else
|
||||
{
|
||||
vlog("combox count:%d, no active id\n", count);
|
||||
ui->ButtonInstall->setEnabled(false);
|
||||
ui->ButtonUpdate->setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Ventoy2DiskWindow::OnInitWindow(void)
|
||||
{
|
||||
int len;
|
||||
const uchar *data;
|
||||
QIcon icon;
|
||||
QPixmap pix1;
|
||||
QPixmap pix2;
|
||||
char ver[512];
|
||||
|
||||
ui->labelVentoyLocalSecure->hide();
|
||||
|
||||
m_part_group->addAction(ui->actionMBR);
|
||||
m_part_group->addAction(ui->actionGPT);
|
||||
connect(m_part_group, SIGNAL(triggered(QAction *)), this, SLOT(part_style_check_action(QAction *)));
|
||||
|
||||
if (ventoy_code_get_cur_part_style())
|
||||
{
|
||||
ui->actionGPT->setChecked(true);
|
||||
m_part_group->triggered(ui->actionGPT);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->actionMBR->setChecked(true);
|
||||
m_part_group->triggered(ui->actionMBR);
|
||||
}
|
||||
|
||||
snprintf(ver, sizeof(ver), VERSION_FMT, ventoy_get_local_version());
|
||||
ui->labelVentoyLocalVer->setText(QApplication::translate("Ventoy2DiskWindow", ver, nullptr));
|
||||
|
||||
LoadLanguages();
|
||||
|
||||
data = (const uchar *)get_refresh_icon_raw_data(&len);
|
||||
pix1.loadFromData(data, len);
|
||||
icon.addPixmap(pix1);
|
||||
ui->ButtonRefresh->setIcon(icon);
|
||||
|
||||
data = (const uchar *)get_secure_icon_raw_data(&len);
|
||||
pix2.loadFromData(data, len);
|
||||
ui->labelVentoyLocalSecure->setPixmap(pix2);
|
||||
ui->labelVentoyDeviceSecure->setPixmap(pix2);
|
||||
|
||||
ui->labelVentoyDeviceSecure->setHidden(true);
|
||||
ui->labelVentoyDeviceVer->setText("");
|
||||
ui->labelVentoyDevicePartStyle->setText("");
|
||||
|
||||
ui->actionShow_All_Devices->setChecked(ventoy_code_get_cur_show_all());
|
||||
|
||||
connect(m_thread, &MyQThread::thread_event, this, &Ventoy2DiskWindow::thread_event);
|
||||
|
||||
FillDeviceList("");
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::showEvent(QShowEvent *ev)
|
||||
{
|
||||
QMainWindow::showEvent(ev);
|
||||
OnInitWindow();
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::on_ButtonInstall_clicked()
|
||||
{
|
||||
int index;
|
||||
quint64 size = 0, space = 0;
|
||||
ventoy_disk *cur;
|
||||
QString title_warn, title_err, msg;
|
||||
|
||||
lang_string("STR_ERROR", title_err);
|
||||
lang_string("STR_WARNING", title_warn);
|
||||
|
||||
if (m_thread->m_running || ventoy_code_is_busy())
|
||||
{
|
||||
lang_string("STR_WAIT_PROCESS", msg);
|
||||
QMessageBox::warning(NULL, title_warn, msg);
|
||||
return;
|
||||
}
|
||||
|
||||
index = ui->comboBoxDevice->currentIndex();
|
||||
if (index < 0 || index > g_disk_num)
|
||||
{
|
||||
vlog("Invalid combobox current index %d\n", index);
|
||||
return;
|
||||
}
|
||||
|
||||
cur = g_disk_list + index;
|
||||
if (ventoy_code_get_cur_part_style() == 0 && cur->size_in_byte > 2199023255552ULL)
|
||||
{
|
||||
lang_string("STR_DISK_2TB_MBR_ERROR", msg);
|
||||
QMessageBox::critical(NULL, title_err, msg);
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_partcfg->reserve)
|
||||
{
|
||||
size = cur->size_in_byte / SIZE_1MB;
|
||||
space = m_partcfg->resvalue;
|
||||
if (m_partcfg->unit == 1)
|
||||
{
|
||||
space = m_partcfg->resvalue * 1024;
|
||||
}
|
||||
|
||||
if (size <= space || (size - space) <= VTOYEFI_PART_BYTES / SIZE_1MB)
|
||||
{
|
||||
lang_string("STR_SPACE_VAL_INVALID", msg);
|
||||
QMessageBox::critical(NULL, title_err, msg);
|
||||
vlog("reserved space too big.\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
lang_string("STR_INSTALL_TIP", msg);
|
||||
if (QMessageBox::Yes != QMessageBox::warning(NULL, title_warn, msg, QMessageBox::Yes | QMessageBox::No, QMessageBox::No))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
lang_string("STR_INSTALL_TIP2", msg);
|
||||
if (QMessageBox::Yes != QMessageBox::warning(NULL, title_warn, msg, QMessageBox::Yes | QMessageBox::No, QMessageBox::No))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
ui->ButtonRefresh->setEnabled(false);
|
||||
ui->ButtonInstall->setEnabled(false);
|
||||
ui->ButtonRefresh->setEnabled(false);
|
||||
|
||||
m_thread->m_type = THREAD_TYPE_INSTALL;
|
||||
m_thread->m_index = index;
|
||||
m_thread->m_reserve_space = space * SIZE_1MB;
|
||||
m_thread->m_secureboot = ui->actionSecure_Boot_Support->isChecked();
|
||||
m_thread->m_align4K = m_partcfg->align;
|
||||
m_thread->m_running = true;
|
||||
|
||||
m_thread->start();
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::on_ButtonUpdate_clicked()
|
||||
{
|
||||
int index;
|
||||
ventoy_disk *cur;
|
||||
QString title_info, title_warn, title_err, msg;
|
||||
|
||||
lang_string("STR_ERROR", title_err);
|
||||
lang_string("STR_WARNING", title_warn);
|
||||
lang_string("STR_INFO", title_info);
|
||||
|
||||
if (m_thread->m_running || ventoy_code_is_busy())
|
||||
{
|
||||
lang_string("STR_WAIT_PROCESS", msg);
|
||||
QMessageBox::warning(NULL, title_warn, msg);
|
||||
return;
|
||||
}
|
||||
|
||||
index = ui->comboBoxDevice->currentIndex();
|
||||
if (index < 0 || index > g_disk_num)
|
||||
{
|
||||
vlog("Invalid combobox current index %d\n", index);
|
||||
return;
|
||||
}
|
||||
|
||||
cur = g_disk_list + index;
|
||||
if (cur->vtoydata.ventoy_valid == 0)
|
||||
{
|
||||
vlog("invalid ventoy version");
|
||||
return;
|
||||
}
|
||||
|
||||
lang_string("STR_UPDATE_TIP", msg);
|
||||
if (QMessageBox::Yes != QMessageBox::information(NULL, title_info, msg, QMessageBox::Yes | QMessageBox::No, QMessageBox::No))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
ui->ButtonRefresh->setEnabled(false);
|
||||
ui->ButtonInstall->setEnabled(false);
|
||||
ui->ButtonRefresh->setEnabled(false);
|
||||
|
||||
m_thread->m_type = THREAD_TYPE_UPDATE;
|
||||
m_thread->m_index = index;
|
||||
m_thread->m_secureboot = ui->actionSecure_Boot_Support->isChecked();
|
||||
|
||||
m_thread->m_running = true;
|
||||
m_thread->start();
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::on_ButtonRefresh_clicked()
|
||||
{
|
||||
QString title_warn, msg;
|
||||
|
||||
if (m_thread->m_running || ventoy_code_is_busy())
|
||||
{
|
||||
lang_string("STR_WARNING", title_warn);
|
||||
lang_string("STR_WAIT_PROCESS", msg);
|
||||
QMessageBox::warning(NULL, title_warn, msg);
|
||||
return;
|
||||
}
|
||||
|
||||
ventoy_code_refresh_device();
|
||||
FillDeviceList("");
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::on_comboBoxDevice_currentIndexChanged(int index)
|
||||
{
|
||||
char ver[512];
|
||||
ventoy_disk *cur;
|
||||
|
||||
ui->labelVentoyDeviceSecure->setHidden(true);
|
||||
ui->labelVentoyDeviceVer->setText("");
|
||||
ui->labelVentoyDevicePartStyle->setText("");
|
||||
|
||||
if (index < 0 || index > g_disk_num)
|
||||
{
|
||||
vlog("invalid combobox index %d\n", index);
|
||||
return;
|
||||
}
|
||||
|
||||
cur = g_disk_list + index;
|
||||
if (cur->vtoydata.ventoy_valid)
|
||||
{
|
||||
if (cur->vtoydata.secure_boot_flag)
|
||||
{
|
||||
ui->labelVentoyDeviceSecure->setHidden(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->labelVentoyDeviceSecure->setHidden(true);
|
||||
}
|
||||
|
||||
if ((int)(ui->actionSecure_Boot_Support->isChecked()) != cur->vtoydata.secure_boot_flag)
|
||||
{
|
||||
ui->actionSecure_Boot_Support->trigger();
|
||||
}
|
||||
|
||||
snprintf(ver, sizeof(ver), VERSION_FMT, cur->vtoydata.ventoy_ver);
|
||||
ui->labelVentoyDeviceVer->setText(QApplication::translate("Ventoy2DiskWindow", ver, nullptr));
|
||||
ui->labelVentoyDevicePartStyle->setText(cur->vtoydata.partition_style ? "GPT" : "MBR");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ui->actionSecure_Boot_Support->isChecked())
|
||||
{
|
||||
ui->actionSecure_Boot_Support->trigger();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::on_actionPartition_Configuration_triggered()
|
||||
{
|
||||
m_partcfg->update_ui_status();
|
||||
if (QDialog::Accepted == m_partcfg->exec())
|
||||
{
|
||||
QString str;
|
||||
QString dev;
|
||||
lang_string("STR_DEVICE", dev);
|
||||
|
||||
if (m_partcfg->reserve)
|
||||
{
|
||||
str.sprintf(" [ -%lld%s ]", (long long)m_partcfg->resvalue, m_partcfg->unit ? "GB" : "MB");
|
||||
ui->groupBoxDevice->setTitle(dev + str);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->groupBoxDevice->setTitle(dev);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::on_actionClear_Ventoy_triggered()
|
||||
{
|
||||
int ret;
|
||||
int index;
|
||||
ventoy_disk *cur;
|
||||
QString title_err, title_warn, title_info, msg;
|
||||
char disk_name[64];
|
||||
char buf[256];
|
||||
char out[256];
|
||||
|
||||
lang_string("STR_ERROR", title_err);
|
||||
lang_string("STR_WARNING", title_warn);
|
||||
lang_string("STR_INFO", title_info);
|
||||
|
||||
if (m_thread->m_running || ventoy_code_is_busy())
|
||||
{
|
||||
lang_string("STR_WAIT_PROCESS", msg);
|
||||
QMessageBox::warning(NULL, title_warn, msg);
|
||||
return;
|
||||
}
|
||||
|
||||
index = ui->comboBoxDevice->currentIndex();
|
||||
if (index < 0 || index > g_disk_num)
|
||||
{
|
||||
vlog("Invalid combobox current index %d\n", index);
|
||||
return;
|
||||
}
|
||||
|
||||
cur = g_disk_list + index;
|
||||
|
||||
lang_string("STR_INSTALL_TIP", msg);
|
||||
if (QMessageBox::Yes != QMessageBox::warning(NULL, title_warn, msg, QMessageBox::Yes | QMessageBox::No, QMessageBox::No))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
lang_string("STR_INSTALL_TIP2", msg);
|
||||
if (QMessageBox::Yes != QMessageBox::warning(NULL, title_warn, msg, QMessageBox::Yes | QMessageBox::No, QMessageBox::No))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
snprintf(disk_name, sizeof(disk_name), "%s", cur->disk_name);
|
||||
snprintf(buf, sizeof(buf), "{\"method\":\"clean\",\"disk\":\"%s\"}", disk_name);
|
||||
|
||||
out[0] = 0;
|
||||
ventoy_func_handler(buf, out, sizeof(out));
|
||||
vlog("func handler clean <%s>\n", out);
|
||||
|
||||
if (strstr(out, "success"))
|
||||
{
|
||||
ret = ventoy_code_get_result();
|
||||
ventoy_code_refresh_device();
|
||||
cur = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = 1;
|
||||
}
|
||||
|
||||
if (ret == 0)
|
||||
{
|
||||
lang_string("STR_CLEAR_SUCCESS", msg);
|
||||
QMessageBox::information(NULL, title_info, msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
lang_string("STR_CLEAR_FAILED", msg);
|
||||
QMessageBox::critical(NULL, title_err, msg);
|
||||
}
|
||||
|
||||
FillDeviceList(disk_name);
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::on_actionShow_All_Devices_toggled(bool arg1)
|
||||
{
|
||||
ventoy_code_set_cur_show_all(arg1);
|
||||
FillDeviceList("");
|
||||
}
|
||||
|
||||
|
||||
void Ventoy2DiskWindow::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
vlog("On closeEvent ...\n");
|
||||
|
||||
if (m_thread->m_running)
|
||||
{
|
||||
QString title;
|
||||
QString msg;
|
||||
|
||||
lang_string("STR_WARNING", title);
|
||||
lang_string("STR_WAIT_PROCESS", msg);
|
||||
QMessageBox::warning(NULL, title, msg);
|
||||
|
||||
event->ignore();
|
||||
return;
|
||||
}
|
||||
|
||||
ventoy_code_save_cfg();
|
||||
|
||||
event->accept();
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::on_actionSecure_Boot_Support_triggered()
|
||||
{
|
||||
ui->labelVentoyLocalSecure->setHidden(!(ui->actionSecure_Boot_Support->isChecked()));
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::set_percent(int percent)
|
||||
{
|
||||
int index;
|
||||
QString status, radio;
|
||||
|
||||
ui->progressBar->setValue(percent);
|
||||
|
||||
lang_string("STR_STATUS", status);
|
||||
|
||||
if (percent == 0)
|
||||
{
|
||||
ui->groupBoxStatus->setTitle(status);
|
||||
}
|
||||
else
|
||||
{
|
||||
index = status.indexOf("-");
|
||||
radio.sprintf("%d%%", percent);
|
||||
ui->groupBoxStatus->setTitle(status.left(index + 2) + radio);
|
||||
}
|
||||
}
|
||||
|
||||
void Ventoy2DiskWindow::thread_event(int msg, int data)
|
||||
{
|
||||
char disk_name[32];
|
||||
QString title_err, title_info, tipmsg;
|
||||
|
||||
if (msg == THREAD_MSG_PROGRESS_BAR)
|
||||
{
|
||||
set_percent(data);
|
||||
}
|
||||
else if (msg == THREAD_MSG_INSTALL_FINISH)
|
||||
{
|
||||
lang_string("STR_ERROR", title_err);
|
||||
lang_string("STR_INFO", title_info);
|
||||
|
||||
if (data == 0)
|
||||
{
|
||||
lang_string("STR_INSTALL_SUCCESS", tipmsg);
|
||||
QMessageBox::information(NULL, title_info, tipmsg);
|
||||
}
|
||||
else
|
||||
{
|
||||
lang_string("STR_INSTALL_FAILED", tipmsg);
|
||||
QMessageBox::critical(NULL, title_err, tipmsg);
|
||||
}
|
||||
|
||||
set_percent(0);
|
||||
ui->ButtonRefresh->setEnabled(true);
|
||||
ui->ButtonInstall->setEnabled(true);
|
||||
ui->ButtonRefresh->setEnabled(true);
|
||||
|
||||
snprintf(disk_name, sizeof(disk_name), "%s", g_disk_list[m_thread->m_index].disk_name);
|
||||
FillDeviceList(disk_name);
|
||||
}
|
||||
else if (msg == THREAD_MSG_UPDATE_FINISH)
|
||||
{
|
||||
lang_string("STR_ERROR", title_err);
|
||||
lang_string("STR_INFO", title_info);
|
||||
|
||||
if (data == 0)
|
||||
{
|
||||
lang_string("STR_UPDATE_SUCCESS", tipmsg);
|
||||
QMessageBox::information(NULL, title_info, tipmsg);
|
||||
}
|
||||
else
|
||||
{
|
||||
lang_string("STR_UPDATE_FAILED", tipmsg);
|
||||
QMessageBox::critical(NULL, title_err, tipmsg);
|
||||
}
|
||||
|
||||
set_percent(0);
|
||||
ui->ButtonRefresh->setEnabled(true);
|
||||
ui->ButtonInstall->setEnabled(true);
|
||||
ui->ButtonRefresh->setEnabled(true);
|
||||
|
||||
snprintf(disk_name, sizeof(disk_name), "%s", g_disk_list[m_thread->m_index].disk_name);
|
||||
FillDeviceList(disk_name);
|
||||
}
|
||||
}
|
105
LinuxGUI/Ventoy2Disk/QT/ventoy2diskwindow.h
Normal file
105
LinuxGUI/Ventoy2Disk/QT/ventoy2diskwindow.h
Normal file
@ -0,0 +1,105 @@
|
||||
#ifndef VENTOY2DISKWINDOW_H
|
||||
#define VENTOY2DISKWINDOW_H
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QActionGroup>
|
||||
#include <QJsonDocument>
|
||||
#include <QFile>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonArray>
|
||||
#include <QVector>
|
||||
#include <QtGlobal>
|
||||
#include <QDebug>
|
||||
#include <QCloseEvent>
|
||||
#include <QThread>
|
||||
#include "partcfgdialog.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace Ui { class Ventoy2DiskWindow; }
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#define THREAD_TYPE_INSTALL 1
|
||||
#define THREAD_TYPE_UPDATE 2
|
||||
|
||||
#define THREAD_MSG_PROGRESS_BAR 1
|
||||
#define THREAD_MSG_INSTALL_FINISH 2
|
||||
#define THREAD_MSG_UPDATE_FINISH 3
|
||||
|
||||
class MyQThread : public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
quint64 m_reserve_space;
|
||||
int m_index;
|
||||
int m_type;
|
||||
int m_secureboot;
|
||||
int m_align4K;
|
||||
bool m_running;
|
||||
void install_run();
|
||||
void update_run();
|
||||
|
||||
explicit MyQThread(QObject *parent = nullptr);
|
||||
protected:
|
||||
void run();
|
||||
signals:
|
||||
void thread_event(int msg, int data);
|
||||
public slots:
|
||||
};
|
||||
|
||||
|
||||
class Ventoy2DiskWindow : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
Ventoy2DiskWindow(QWidget *parent = nullptr);
|
||||
~Ventoy2DiskWindow();
|
||||
|
||||
QActionGroup *m_part_group;
|
||||
QActionGroup *m_lang_group;
|
||||
QJsonArray m_lang_array;
|
||||
PartCfgDialog *m_partcfg;
|
||||
MyQThread *m_thread;
|
||||
|
||||
void FillDeviceList(const QString &select);
|
||||
void OnInitWindow(void);
|
||||
void LoadLanguages();
|
||||
int lang_string(const QString &id, QString &str);
|
||||
void update_ui_language();
|
||||
void set_percent(int percent);
|
||||
protected:
|
||||
void showEvent(QShowEvent *ev);
|
||||
void closeEvent(QCloseEvent *event);
|
||||
|
||||
private slots:
|
||||
|
||||
void thread_event(int msg, int data);
|
||||
void part_style_check_action(QAction *act);
|
||||
void lang_check_action(QAction *act);
|
||||
|
||||
void on_ButtonInstall_clicked();
|
||||
|
||||
void on_ButtonUpdate_clicked();
|
||||
|
||||
void on_ButtonRefresh_clicked();
|
||||
|
||||
void on_comboBoxDevice_currentIndexChanged(int index);
|
||||
|
||||
void on_actionPartition_Configuration_triggered();
|
||||
|
||||
void on_actionClear_Ventoy_triggered();
|
||||
|
||||
void on_actionShow_All_Devices_toggled(bool arg1);
|
||||
|
||||
void on_actionSecure_Boot_Support_triggered();
|
||||
|
||||
private:
|
||||
Ui::Ventoy2DiskWindow *ui;
|
||||
|
||||
|
||||
};
|
||||
|
||||
#define _LANG_STR(id) obj.value(id).toString()
|
||||
#define VERSION_FMT "<html><head/><body><p><span style=\" font-size:20pt; font-weight:600; color:#ff0000;\">%s</span></p></body></html>"
|
||||
|
||||
#endif // VENTOY2DISKWINDOW_H
|
323
LinuxGUI/Ventoy2Disk/QT/ventoy2diskwindow.ui
Normal file
323
LinuxGUI/Ventoy2Disk/QT/ventoy2diskwindow.ui
Normal file
@ -0,0 +1,323 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Ventoy2DiskWindow</class>
|
||||
<widget class="QMainWindow" name="Ventoy2DiskWindow">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>441</width>
|
||||
<height>367</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Ventoy2Disk</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<widget class="QGroupBox" name="groupBoxDevice">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>421</width>
|
||||
<height>80</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Device</string>
|
||||
</property>
|
||||
<widget class="QComboBox" name="comboBoxDevice">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>40</y>
|
||||
<width>361</width>
|
||||
<height>26</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="ButtonRefresh">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>380</x>
|
||||
<y>37</y>
|
||||
<width>30</width>
|
||||
<height>30</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<normaloff>../refresh.ico</normaloff>../refresh.ico</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>24</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBoxVentoyLocal">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>100</y>
|
||||
<width>205</width>
|
||||
<height>80</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Ventoy In Package</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<widget class="QLabel" name="labelVentoyLocalVer">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>30</y>
|
||||
<width>135</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-size:20pt; font-weight:600; color:#ff0000;">1.0.53</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="labelVentoyLocalPartStyle">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>172</x>
|
||||
<y>60</y>
|
||||
<width>31</width>
|
||||
<height>18</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p>MBR</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="labelVentoyLocalSecure">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>12</x>
|
||||
<y>36</y>
|
||||
<width>21</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap>../secure.ico</pixmap>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBoxVentoyDevice">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>225</x>
|
||||
<y>100</y>
|
||||
<width>205</width>
|
||||
<height>80</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Ventoy In Device</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<widget class="QLabel" name="labelVentoyDeviceVer">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>30</y>
|
||||
<width>135</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-size:20pt; font-weight:600; color:#ff0000;">1.0.52</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="labelVentoyDevicePartStyle">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>172</x>
|
||||
<y>60</y>
|
||||
<width>31</width>
|
||||
<height>18</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p>GPT</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="labelVentoyDeviceSecure">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>12</x>
|
||||
<y>36</y>
|
||||
<width>21</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap>../secure.ico</pixmap>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="groupBoxStatus">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>190</y>
|
||||
<width>421</width>
|
||||
<height>61</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Status: REDAY</string>
|
||||
</property>
|
||||
<widget class="QProgressBar" name="progressBar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>30</y>
|
||||
<width>401</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="textVisible">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="format">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="ButtonInstall">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>90</x>
|
||||
<y>275</y>
|
||||
<width>101</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Install</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="ButtonUpdate">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>250</x>
|
||||
<y>275</y>
|
||||
<width>101</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Update</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QMenuBar" name="menubar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>441</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuOption">
|
||||
<property name="title">
|
||||
<string>Option</string>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuPartition_Style">
|
||||
<property name="title">
|
||||
<string>Partition Style</string>
|
||||
</property>
|
||||
<addaction name="actionMBR"/>
|
||||
<addaction name="actionGPT"/>
|
||||
</widget>
|
||||
<addaction name="actionSecure_Boot_Support"/>
|
||||
<addaction name="menuPartition_Style"/>
|
||||
<addaction name="actionPartition_Configuration"/>
|
||||
<addaction name="actionClear_Ventoy"/>
|
||||
<addaction name="actionShow_All_Devices"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuLanguage">
|
||||
<property name="title">
|
||||
<string>Language</string>
|
||||
</property>
|
||||
</widget>
|
||||
<addaction name="menuOption"/>
|
||||
<addaction name="menuLanguage"/>
|
||||
</widget>
|
||||
<action name="actionSecure_Boot_Support">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Secure Boot Support</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionMBR">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>MBR</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionGPT">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>GPT</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionPartition_Configuration">
|
||||
<property name="text">
|
||||
<string>Partition Configuration</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionClear_Ventoy">
|
||||
<property name="text">
|
||||
<string>Clear Ventoy</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionShow_All_Devices">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Show All Devices</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
47
LinuxGUI/Ventoy2Disk/QT/ventoy_qt.h
Normal file
47
LinuxGUI/Ventoy2Disk/QT/ventoy_qt.h
Normal file
@ -0,0 +1,47 @@
|
||||
/******************************************************************************
|
||||
* ventoy_qt.h
|
||||
*
|
||||
* Copyright (c) 2021, longpanda <admin@ventoy.net>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program 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
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
#ifndef __VENTOY_QT_H__
|
||||
#define __VENTOY_QT_H__
|
||||
|
||||
int ventoy_disk_init(void);
|
||||
void ventoy_disk_exit(void);
|
||||
int ventoy_http_init(void);
|
||||
void ventoy_http_exit(void);
|
||||
int ventoy_log_init(void);
|
||||
void ventoy_log_exit(void);
|
||||
void *get_refresh_icon_raw_data(int *len);
|
||||
void *get_secure_icon_raw_data(int *len);
|
||||
void *get_window_icon_raw_data(int *len);
|
||||
int ventoy_func_handler(const char *jsonstr, char *jsonbuf, int buflen);
|
||||
const char * ventoy_code_get_cur_language(void);
|
||||
int ventoy_code_get_cur_part_style(void);
|
||||
void ventoy_code_set_cur_part_style(int style);
|
||||
int ventoy_code_get_cur_show_all(void);
|
||||
void ventoy_code_set_cur_show_all(int show_all);
|
||||
void ventoy_code_set_cur_language(const char *lang);
|
||||
void ventoy_code_save_cfg(void);
|
||||
void ventoy_code_refresh_device(void);
|
||||
int ventoy_code_is_busy(void);
|
||||
int ventoy_code_get_percent(void);
|
||||
int ventoy_code_get_result(void);
|
||||
|
||||
#endif /* __VENTOY_QT_H__ */
|
||||
|
||||
|
600
LinuxGUI/Ventoy2Disk/QT/ventoy_qt_stub.c
Normal file
600
LinuxGUI/Ventoy2Disk/QT/ventoy_qt_stub.c
Normal file
@ -0,0 +1,600 @@
|
||||
/******************************************************************************
|
||||
* ventoy_qt_stub.c
|
||||
*
|
||||
* Copyright (c) 2021, longpanda <admin@ventoy.net>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program 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
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
#include <errno.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include <linux/limits.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#include <ventoy_define.h>
|
||||
#include <ventoy_json.h>
|
||||
#include <ventoy_util.h>
|
||||
#include <ventoy_disk.h>
|
||||
#include <ventoy_http.h>
|
||||
|
||||
struct mg_context *
|
||||
mg_start(const struct mg_callbacks *callbacks,
|
||||
void *user_data,
|
||||
const char **options)
|
||||
{
|
||||
(void)callbacks;
|
||||
(void)user_data;
|
||||
(void)options;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void mg_stop(struct mg_context *ctx)
|
||||
{
|
||||
(void)ctx;
|
||||
}
|
||||
|
||||
int mg_read(struct mg_connection *conn, void *buf, size_t len)
|
||||
{
|
||||
(void)conn;
|
||||
(void)buf;
|
||||
(void)len;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
const struct mg_request_info * mg_get_request_info(const struct mg_connection *conn)
|
||||
{
|
||||
(void)conn;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int mg_start_thread(mg_thread_func_t func, void *param)
|
||||
{
|
||||
pthread_t thread_id;
|
||||
pthread_attr_t attr;
|
||||
int result;
|
||||
|
||||
(void)pthread_attr_init(&attr);
|
||||
(void)pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
|
||||
|
||||
#if defined(USE_STACK_SIZE) && (USE_STACK_SIZE > 1)
|
||||
/* Compile-time option to control stack size,
|
||||
* e.g. -DUSE_STACK_SIZE=16384 */
|
||||
(void)pthread_attr_setstacksize(&attr, USE_STACK_SIZE);
|
||||
#endif /* defined(USE_STACK_SIZE) && (USE_STACK_SIZE > 1) */
|
||||
|
||||
result = pthread_create(&thread_id, &attr, func, param);
|
||||
pthread_attr_destroy(&attr);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int mg_printf(struct mg_connection *conn, const char *fmt, ...)
|
||||
{
|
||||
(void)conn;
|
||||
(void)fmt;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static unsigned char window_icon_hexData[] = {
|
||||
0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52,
|
||||
0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x08, 0x06, 0x00, 0x00, 0x00, 0xAA, 0x69, 0x71,
|
||||
0xDE, 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4D, 0x41, 0x00, 0x00, 0xAF, 0xC8, 0x37, 0x05, 0x8A,
|
||||
0xE9, 0x00, 0x00, 0x00, 0x20, 0x63, 0x48, 0x52, 0x4D, 0x00, 0x00, 0x7A, 0x26, 0x00, 0x00, 0x80,
|
||||
0x84, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00, 0x80, 0xE8, 0x00, 0x00, 0x75, 0x30, 0x00, 0x00, 0xEA,
|
||||
0x60, 0x00, 0x00, 0x3A, 0x98, 0x00, 0x00, 0x17, 0x70, 0x9C, 0xBA, 0x51, 0x3C, 0x00, 0x00, 0x00,
|
||||
0x06, 0x62, 0x4B, 0x47, 0x44, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xA0, 0xBD, 0xA7, 0x93, 0x00,
|
||||
0x00, 0x00, 0x07, 0x74, 0x49, 0x4D, 0x45, 0x07, 0xE4, 0x03, 0x17, 0x04, 0x10, 0x05, 0xF6, 0xCE,
|
||||
0xA8, 0xC0, 0x00, 0x00, 0x1C, 0x68, 0x49, 0x44, 0x41, 0x54, 0x78, 0xDA, 0xCD, 0x9B, 0x79, 0x94,
|
||||
0x1D, 0x57, 0x7D, 0xE7, 0x3F, 0xF7, 0xDE, 0xAA, 0x7A, 0xFB, 0xEB, 0xD7, 0xBB, 0xA4, 0x56, 0xCB,
|
||||
0xDA, 0x6C, 0x59, 0xB6, 0x64, 0x83, 0x91, 0x17, 0xBC, 0xE1, 0x0D, 0x2F, 0x04, 0x1B, 0xB0, 0x43,
|
||||
0x3C, 0x40, 0x32, 0x43, 0x4E, 0x38, 0x19, 0x87, 0x43, 0x26, 0x03, 0x84, 0x98, 0xC9, 0x1C, 0x98,
|
||||
0x93, 0x70, 0x48, 0x72, 0x66, 0x58, 0x86, 0x81, 0x10, 0x0E, 0x06, 0xC6, 0x21, 0xC1, 0x83, 0xC1,
|
||||
0x36, 0x18, 0xDB, 0x6C, 0xC6, 0x60, 0xB0, 0x65, 0xBC, 0x1B, 0x5B, 0x8B, 0x6D, 0x59, 0x92, 0xB5,
|
||||
0x75, 0x5B, 0x52, 0xAB, 0xD7, 0xB7, 0x56, 0xD5, 0x5D, 0xE6, 0x8F, 0xAA, 0xF7, 0xF4, 0xBA, 0xD5,
|
||||
0xF2, 0xC2, 0x92, 0x99, 0x3A, 0xE7, 0xD7, 0xF5, 0x96, 0x7A, 0x75, 0x7F, 0xDF, 0xEF, 0x6F, 0xB9,
|
||||
0xBF, 0xFB, 0xBB, 0xD5, 0x82, 0xDF, 0xD1, 0x61, 0x8C, 0x45, 0x7D, 0x70, 0x9A, 0xFD, 0x7F, 0x57,
|
||||
0x61, 0x57, 0xD5, 0x31, 0x17, 0x39, 0x9C, 0x83, 0xD8, 0xC1, 0xEF, 0xAF, 0x1A, 0xE6, 0xC9, 0x23,
|
||||
0x13, 0x41, 0x55, 0xA3, 0xB4, 0x75, 0xD2, 0x93, 0xB8, 0xBC, 0x27, 0xCC, 0xA6, 0x7E, 0x19, 0xDD,
|
||||
0xBA, 0x5B, 0xBB, 0xBC, 0x07, 0x02, 0x28, 0x78, 0x82, 0xD1, 0xA2, 0x60, 0x6D, 0x59, 0x52, 0x8F,
|
||||
0x1D, 0xC5, 0x40, 0xFE, 0xD6, 0xF5, 0x14, 0xBF, 0xED, 0x1B, 0x3E, 0xBC, 0x67, 0x92, 0x3C, 0x9A,
|
||||
0x03, 0xAE, 0x44, 0x84, 0xC7, 0xDB, 0x56, 0xFA, 0x3C, 0x3A, 0x61, 0x7A, 0x26, 0x43, 0x96, 0x59,
|
||||
0xEB, 0xD6, 0x6A, 0xC7, 0x09, 0x16, 0x46, 0x05, 0xF4, 0x03, 0x79, 0x01, 0xBE, 0x03, 0x03, 0x34,
|
||||
0x81, 0x19, 0x21, 0x18, 0xF3, 0x05, 0x7B, 0x95, 0x10, 0xBB, 0x8A, 0x3E, 0xFB, 0xCE, 0x1B, 0x56,
|
||||
0xD3, 0x77, 0xEC, 0x89, 0x4D, 0x5E, 0x5A, 0xFA, 0x5C, 0x9D, 0x59, 0xF2, 0xAC, 0x72, 0x87, 0x39,
|
||||
0x71, 0xD5, 0x09, 0xFF, 0x7F, 0x11, 0xF0, 0xD3, 0x17, 0x67, 0xC9, 0xA1, 0x99, 0xB0, 0x39, 0xBE,
|
||||
0x19, 0xE6, 0x78, 0x5F, 0xA1, 0xD1, 0x17, 0x4B, 0xFF, 0x8C, 0x96, 0x11, 0x17, 0x59, 0xC7, 0xD9,
|
||||
0xC6, 0xB1, 0xCE, 0x41, 0x9F, 0x14, 0xE4, 0x3C, 0x89, 0x54, 0x02, 0x94, 0x48, 0x14, 0x70, 0x80,
|
||||
0x75, 0x60, 0x8E, 0x4A, 0x53, 0xC0, 0x9C, 0x27, 0xD8, 0x2D, 0x04, 0x8F, 0x67, 0x24, 0xF7, 0x07,
|
||||
0xE8, 0x47, 0x2E, 0x52, 0xDF, 0x19, 0xBF, 0x3B, 0xBC, 0xD6, 0x55, 0x44, 0xC8, 0x6E, 0xBF, 0xCC,
|
||||
0x99, 0xCD, 0x3D, 0x9C, 0xB2, 0x76, 0xD5, 0xFF, 0x5B, 0x02, 0x7E, 0xBE, 0x6B, 0x92, 0x3E, 0xD1,
|
||||
0x64, 0x8F, 0xA9, 0x70, 0xF5, 0x89, 0x05, 0xBE, 0xBF, 0xBB, 0xB1, 0xAA, 0xE5, 0xD4, 0xD5, 0x06,
|
||||
0xF1, 0x76, 0xE3, 0xC4, 0xEB, 0x8D, 0xA3, 0x22, 0x05, 0xE4, 0x3C, 0x41, 0xD1, 0x83, 0xAC, 0x27,
|
||||
0x08, 0x24, 0xC8, 0x14, 0x7C, 0x9B, 0x80, 0x36, 0x09, 0xDA, 0x41, 0x4B, 0x3B, 0xEA, 0x1A, 0x1A,
|
||||
0xDA, 0x61, 0x1C, 0x28, 0x41, 0xC3, 0x13, 0xEE, 0x79, 0x0F, 0xEE, 0xC9, 0x48, 0x73, 0xC7, 0x3A,
|
||||
0x6F, 0x66, 0xCB, 0x56, 0x3D, 0xA0, 0x4F, 0xC8, 0x69, 0xE6, 0xB4, 0xE4, 0xFC, 0x91, 0xEC, 0xBF,
|
||||
0x3D, 0x01, 0x8F, 0xFE, 0x6A, 0x2B, 0xBB, 0x4B, 0xEB, 0xA9, 0x98, 0x39, 0x76, 0xDB, 0x0A, 0xAB,
|
||||
0xBC, 0xEA, 0xB2, 0x3A, 0xFE, 0xBB, 0x0D, 0xF2, 0xDF, 0x6B, 0xCB, 0x29, 0x91, 0x75, 0x4A, 0x20,
|
||||
0xA8, 0x64, 0x04, 0xBD, 0x19, 0x41, 0xCE, 0x13, 0x2C, 0x16, 0xC1, 0xEE, 0x38, 0x8A, 0x38, 0x20,
|
||||
0x34, 0x30, 0x1B, 0x39, 0xA6, 0x42, 0x8B, 0x76, 0x90, 0x91, 0x10, 0x48, 0xF6, 0x79, 0xC2, 0xDD,
|
||||
0x9E, 0xF7, 0xF8, 0xCA, 0xE5, 0x37, 0xFB, 0xDB, 0xEF, 0x7B, 0x6F, 0xCC, 0x25, 0xA3, 0x9A, 0xA7,
|
||||
0x0E, 0x29, 0xCE, 0x58, 0x92, 0xFB, 0xB7, 0x21, 0xE0, 0x91, 0xFD, 0x73, 0x9C, 0x55, 0xAE, 0xF2,
|
||||
0x9D, 0xC3, 0x15, 0x86, 0x5D, 0x35, 0xFB, 0x12, 0xA5, 0xAB, 0x62, 0x27, 0x3F, 0xA8, 0x11, 0xE7,
|
||||
0xB6, 0x0C, 0x2A, 0x32, 0x8E, 0x9E, 0x40, 0xB0, 0xAC, 0xA0, 0x28, 0x78, 0xA2, 0x33, 0x8A, 0x7B,
|
||||
0x8D, 0xE3, 0xB4, 0x95, 0x0B, 0x8D, 0xE3, 0x50, 0xD3, 0x72, 0xA4, 0x65, 0x51, 0x42, 0x50, 0xF0,
|
||||
0xC0, 0x97, 0xE2, 0xD9, 0x8C, 0x74, 0xFF, 0x34, 0x98, 0x71, 0xDF, 0xD8, 0xDF, 0x10, 0x53, 0xEB,
|
||||
0x8A, 0x9A, 0x99, 0x58, 0x72, 0xD1, 0x8A, 0xFC, 0xEF, 0x96, 0x80, 0x7B, 0x76, 0xD6, 0xE9, 0x0F,
|
||||
0x0C, 0x4F, 0xCD, 0x78, 0xAC, 0xC8, 0x9B, 0xD1, 0xAA, 0x96, 0x1F, 0x8E, 0x91, 0xEF, 0x6D, 0x69,
|
||||
0xD7, 0x53, 0xD7, 0x09, 0xC4, 0xD1, 0xA2, 0x62, 0x28, 0x2F, 0x51, 0x42, 0xBC, 0x66, 0xD0, 0xC7,
|
||||
0x3F, 0x1C, 0xD3, 0xA1, 0x63, 0x6F, 0xD5, 0x10, 0x19, 0x47, 0xD1, 0x97, 0xE4, 0x7D, 0x11, 0x65,
|
||||
0x25, 0xDF, 0xCF, 0x7A, 0x7C, 0xE2, 0xA1, 0xC9, 0xE0, 0xC9, 0x2B, 0x07, 0x1A, 0xB4, 0x2C, 0xBC,
|
||||
0x79, 0x55, 0xF1, 0x77, 0x43, 0xC0, 0x3D, 0xCF, 0xCF, 0x90, 0x55, 0xF0, 0xAB, 0x39, 0x9F, 0x35,
|
||||
0x25, 0x77, 0x66, 0x4D, 0x8B, 0x7F, 0x88, 0x0C, 0x17, 0xD7, 0x62, 0x27, 0x1A, 0xDA, 0xE1, 0x2B,
|
||||
0xC1, 0xEA, 0x1E, 0x45, 0x7F, 0x4E, 0x26, 0xC0, 0x7F, 0x7B, 0xE8, 0x13, 0x65, 0x05, 0xD4, 0x63,
|
||||
0xC7, 0xAE, 0x19, 0x43, 0x2D, 0x76, 0xE4, 0x3D, 0x41, 0x29, 0x10, 0xE4, 0x3D, 0xB1, 0xBD, 0xA0,
|
||||
0xDC, 0xC7, 0x2E, 0xAC, 0x34, 0xEE, 0x7C, 0x6A, 0xCE, 0x37, 0xA1, 0x15, 0x5C, 0xBE, 0xA6, 0xFC,
|
||||
0xDB, 0x25, 0xE0, 0x7B, 0xCF, 0xCD, 0x90, 0x53, 0x8E, 0xB7, 0x6C, 0xAF, 0xF0, 0x8D, 0x75, 0xF5,
|
||||
0x37, 0x37, 0x0D, 0x9F, 0x69, 0x6A, 0xB7, 0xA1, 0x1A, 0x39, 0x5A, 0xC6, 0xE1, 0x29, 0xC1, 0x89,
|
||||
0x15, 0x8F, 0xFE, 0x9C, 0xE4, 0x77, 0x80, 0xBD, 0x73, 0x48, 0xA0, 0x16, 0x3B, 0x76, 0x4C, 0x6B,
|
||||
0xEA, 0xDA, 0x91, 0x51, 0x82, 0x1E, 0x5F, 0x52, 0x0A, 0xC4, 0xE1, 0x82, 0xE7, 0xFE, 0xE6, 0x94,
|
||||
0x5C, 0xFD, 0xA6, 0xFD, 0x61, 0x10, 0x87, 0x16, 0xAE, 0x5A, 0x5B, 0xF9, 0xED, 0x10, 0x70, 0xCF,
|
||||
0x73, 0x53, 0x64, 0x14, 0xFC, 0x7C, 0xAA, 0xC0, 0x86, 0x52, 0x78, 0x45, 0xC3, 0x88, 0x2F, 0xD4,
|
||||
0x22, 0xB7, 0x76, 0x2E, 0xB2, 0xC4, 0xD6, 0x81, 0x10, 0xAC, 0x2C, 0x7B, 0x8C, 0x94, 0xD4, 0xEF,
|
||||
0x08, 0xF6, 0x02, 0xA5, 0x05, 0x4C, 0xB5, 0x2C, 0x3B, 0xA6, 0x35, 0xDA, 0x3A, 0x7C, 0x29, 0x28,
|
||||
0x07, 0x92, 0xDE, 0xAC, 0x9C, 0x2B, 0x2A, 0xF7, 0xF1, 0x8D, 0xF9, 0xD9, 0x7F, 0xDC, 0xD3, 0xCA,
|
||||
0xE9, 0xD8, 0x49, 0xAE, 0x3C, 0xF1, 0xE5, 0x49, 0x78, 0x45, 0x02, 0x7E, 0xB6, 0x65, 0x0F, 0x85,
|
||||
0x5C, 0x86, 0x87, 0x66, 0x0A, 0x0C, 0xE7, 0x38, 0xAF, 0x1E, 0xBB, 0x9B, 0x6A, 0x91, 0x5D, 0x3F,
|
||||
0x1B, 0x3A, 0x62, 0xE7, 0x70, 0x40, 0x5F, 0xCE, 0x63, 0x5D, 0x9F, 0x8F, 0xFA, 0xED, 0x17, 0x6A,
|
||||
0xC7, 0x1C, 0xCE, 0xB9, 0x8E, 0xD2, 0x7B, 0xAB, 0x86, 0x03, 0x55, 0x8D, 0x00, 0x3C, 0x29, 0xE8,
|
||||
0xC9, 0x48, 0xFA, 0xB2, 0x72, 0xAA, 0xE8, 0xF1, 0x97, 0xEF, 0x28, 0xEF, 0xBB, 0xF9, 0xFE, 0xFA,
|
||||
0x52, 0x67, 0x10, 0x5C, 0xB6, 0xB6, 0xF7, 0xD7, 0x27, 0xC0, 0x39, 0xF8, 0xCA, 0xD3, 0x73, 0xF4,
|
||||
0xA8, 0xE8, 0xD4, 0xD9, 0xD8, 0xBB, 0xB9, 0x1A, 0xD9, 0x4D, 0x33, 0x2D, 0x43, 0xEC, 0x12, 0x37,
|
||||
0xF7, 0x94, 0xE0, 0xA4, 0xBE, 0x80, 0xBE, 0xAC, 0x24, 0x75, 0x86, 0xDF, 0x00, 0xDD, 0x02, 0x8D,
|
||||
0x1C, 0xB8, 0xF6, 0x24, 0xE2, 0xC0, 0x5A, 0x43, 0xD6, 0x4B, 0x94, 0x0A, 0x2D, 0x84, 0x56, 0xF2,
|
||||
0xEC, 0x64, 0x4C, 0x33, 0x76, 0x08, 0x01, 0x9E, 0x84, 0xDE, 0xAC, 0xA2, 0x3F, 0xA7, 0xC6, 0xCB,
|
||||
0x9E, 0xFD, 0x8F, 0x7B, 0x9B, 0xFE, 0xDD, 0x67, 0x97, 0xE6, 0x88, 0x1B, 0x35, 0x2E, 0x38, 0xED,
|
||||
0xC4, 0xD7, 0x4E, 0xC0, 0x37, 0x9F, 0x3C, 0x08, 0x52, 0x92, 0x51, 0xF4, 0x1F, 0x89, 0xBC, 0x2F,
|
||||
0x57, 0x43, 0x7B, 0xED, 0x54, 0xD3, 0x10, 0xA6, 0x48, 0x9D, 0x80, 0xBE, 0xAC, 0xE2, 0xA4, 0xBE,
|
||||
0x00, 0x29, 0x39, 0xFE, 0xA4, 0xFE, 0x5A, 0x80, 0x2F, 0x76, 0x0F, 0x07, 0xD6, 0x6A, 0x7A, 0x02,
|
||||
0x38, 0x7D, 0xB8, 0x40, 0x64, 0x0C, 0x4F, 0xBD, 0x54, 0x25, 0x72, 0x1E, 0xFB, 0xEB, 0x30, 0x56,
|
||||
0x35, 0x9D, 0xCB, 0x7D, 0x29, 0x18, 0xC8, 0x4B, 0x06, 0x72, 0xEA, 0xE9, 0x5E, 0xCF, 0xFC, 0x61,
|
||||
0x9D, 0xCC, 0xD6, 0xEB, 0x4F, 0x2E, 0x1C, 0xD7, 0x32, 0xC7, 0x55, 0xF5, 0xAE, 0x87, 0xB6, 0x60,
|
||||
0x72, 0x15, 0xCE, 0x29, 0x4F, 0xC9, 0x7B, 0xA6, 0x47, 0x6E, 0x9C, 0x0D, 0xED, 0xDF, 0x4E, 0x36,
|
||||
0xB4, 0xD7, 0xD0, 0xC9, 0xAF, 0x84, 0x4C, 0x7E, 0xBA, 0xB2, 0x12, 0xB0, 0xA4, 0xE8, 0xFD, 0x06,
|
||||
0x66, 0xEF, 0xC2, 0xED, 0x1C, 0xCE, 0x5A, 0x04, 0x0E, 0x87, 0x40, 0xC8, 0x34, 0xA1, 0x9A, 0x98,
|
||||
0xC1, 0xBC, 0xE4, 0x75, 0x4B, 0x0B, 0xE4, 0x14, 0x78, 0x4A, 0xB1, 0x7F, 0xA6, 0xC9, 0xD3, 0x2F,
|
||||
0x55, 0x99, 0x8C, 0x3C, 0x76, 0xCC, 0x58, 0x8C, 0x13, 0x1D, 0x40, 0x19, 0x4F, 0xB0, 0xA4, 0xE0,
|
||||
0x31, 0x90, 0x93, 0xB7, 0x0C, 0xFB, 0xD1, 0x0D, 0x4D, 0x2B, 0xAB, 0x9E, 0x89, 0xB8, 0x72, 0xE3,
|
||||
0xC8, 0x31, 0xE3, 0x1E, 0x37, 0x6A, 0xDF, 0xAA, 0x7F, 0xCA, 0x78, 0x5C, 0xE0, 0x47, 0x53, 0x43,
|
||||
0x6F, 0xAC, 0x85, 0xF6, 0xFD, 0xD3, 0xF5, 0xD8, 0xAB, 0xB6, 0x34, 0xDA, 0x18, 0x8C, 0xB5, 0x68,
|
||||
0x63, 0xC1, 0x39, 0x32, 0x0A, 0xB4, 0x71, 0xC4, 0xDA, 0xFE, 0x46, 0x12, 0x45, 0x31, 0x26, 0x0E,
|
||||
0x59, 0x5E, 0x70, 0x9C, 0x36, 0xE8, 0x51, 0x10, 0x21, 0xAD, 0x56, 0x83, 0x28, 0x6C, 0xB2, 0xB4,
|
||||
0x20, 0xD8, 0xB4, 0xAC, 0x40, 0xC9, 0x97, 0x6C, 0xDD, 0x77, 0x80, 0x7D, 0x13, 0x47, 0x58, 0x51,
|
||||
0xC9, 0xB1, 0x7E, 0x30, 0x4F, 0xC6, 0x85, 0x48, 0x13, 0xA1, 0xB5, 0xC6, 0x18, 0x83, 0x36, 0x86,
|
||||
0x46, 0xA8, 0x99, 0xA8, 0x45, 0xCC, 0xB6, 0xEC, 0x3B, 0x26, 0x63, 0x75, 0xFD, 0x77, 0xF4, 0x00,
|
||||
0x81, 0x6D, 0xBD, 0x7A, 0x0F, 0xF8, 0xC1, 0x63, 0xDB, 0x99, 0xB2, 0x25, 0xF2, 0x52, 0x17, 0xC7,
|
||||
0xE3, 0xDC, 0x57, 0x26, 0x6B, 0xFA, 0xFA, 0x89, 0xBA, 0x26, 0xC6, 0x21, 0xA4, 0x44, 0xC8, 0xA4,
|
||||
0xC0, 0xC9, 0xF9, 0x92, 0x93, 0x07, 0x32, 0x04, 0xF2, 0x37, 0x5B, 0x52, 0x58, 0x6B, 0xC8, 0x49,
|
||||
0xCD, 0xE9, 0x4B, 0x72, 0xAC, 0xEA, 0xCB, 0xE3, 0x49, 0xC1, 0x74, 0x23, 0xE2, 0xA9, 0x03, 0xD3,
|
||||
0x14, 0x32, 0x3E, 0xA7, 0x8F, 0x54, 0x08, 0x54, 0xB2, 0x72, 0x98, 0x6B, 0xB6, 0x70, 0xCE, 0x51,
|
||||
0x29, 0xE4, 0x70, 0x08, 0xB6, 0x1F, 0x9C, 0xE5, 0xB6, 0x2D, 0x87, 0x99, 0x8C, 0x33, 0x48, 0xCF,
|
||||
0x4F, 0x6D, 0xEA, 0xF0, 0x84, 0x60, 0xB0, 0xE0, 0x31, 0x52, 0xF2, 0x7F, 0x35, 0xE0, 0xC7, 0xD7,
|
||||
0xC5, 0x4E, 0xEE, 0x56, 0x71, 0x9D, 0xB7, 0x6F, 0x5A, 0xFD, 0xCA, 0x1E, 0x30, 0x68, 0x27, 0x19,
|
||||
0x0B, 0xB3, 0x4C, 0x84, 0xEA, 0xD2, 0x6A, 0x53, 0xBF, 0x65, 0xAA, 0x1E, 0xD2, 0x8C, 0x35, 0xDA,
|
||||
0xD8, 0x84, 0x65, 0x9D, 0x88, 0xB3, 0x16, 0x63, 0x1D, 0x91, 0xB1, 0xBF, 0xB6, 0xB4, 0xA2, 0x88,
|
||||
0x2C, 0x11, 0x67, 0x2E, 0xCD, 0xB1, 0xBA, 0x37, 0x07, 0xCE, 0x11, 0x6B, 0x43, 0x29, 0x50, 0x9C,
|
||||
0x73, 0x42, 0x1F, 0xA7, 0x2D, 0x2D, 0xA3, 0x70, 0x98, 0x74, 0xEC, 0x42, 0xE0, 0x53, 0xCA, 0x66,
|
||||
0x98, 0xAB, 0x37, 0xA9, 0x37, 0x5B, 0x9C, 0x3C, 0x54, 0xE2, 0xCC, 0x65, 0x79, 0x6C, 0x73, 0x96,
|
||||
0x38, 0x0C, 0xD1, 0x5A, 0xA3, 0xB5, 0x25, 0x8C, 0x0D, 0x93, 0xF5, 0x88, 0x99, 0xA6, 0x3E, 0xBD,
|
||||
0xAA, 0xE5, 0xBB, 0xAF, 0x7D, 0xF6, 0x1A, 0xA1, 0xCC, 0xB1, 0x5E, 0x70, 0x8C, 0xE9, 0xA6, 0x1B,
|
||||
0x31, 0xF7, 0x3E, 0x77, 0x84, 0xDE, 0x9C, 0x2A, 0x6E, 0x3B, 0x14, 0x7E, 0xFD, 0xE0, 0x5C, 0xF4,
|
||||
0x8E, 0x89, 0x5A, 0x8C, 0x41, 0x20, 0x94, 0x48, 0x62, 0x5F, 0x08, 0x1C, 0x82, 0x52, 0x46, 0x72,
|
||||
0x62, 0x7F, 0x8E, 0x5F, 0xCF, 0x01, 0x1C, 0xC6, 0x68, 0x7A, 0x7C, 0xC3, 0x79, 0x2B, 0x4A, 0x8C,
|
||||
0xF4, 0xE4, 0xB0, 0xCE, 0xE1, 0x52, 0xE9, 0x56, 0x31, 0x36, 0x1A, 0x29, 0x25, 0x9E, 0x94, 0x38,
|
||||
0xE7, 0x90, 0x52, 0x72, 0x60, 0x72, 0x8A, 0x17, 0xC6, 0x0E, 0x72, 0xEE, 0x29, 0xEB, 0x90, 0x42,
|
||||
0xF0, 0xBD, 0xAD, 0xE3, 0xDC, 0xFF, 0x62, 0x1D, 0x82, 0x22, 0x88, 0xA4, 0x1E, 0x51, 0x02, 0x06,
|
||||
0x0B, 0x3E, 0x2B, 0x2B, 0xC1, 0xF6, 0x01, 0x3F, 0xBE, 0x26, 0x76, 0x62, 0x97, 0x98, 0x1D, 0xE3,
|
||||
0x0F, 0x2E, 0x3D, 0xFB, 0xF8, 0x1E, 0xD0, 0x9B, 0xBF, 0x86, 0xC3, 0x35, 0xCD, 0x4B, 0x35, 0x73,
|
||||
0x66, 0xB5, 0x19, 0x5F, 0x38, 0x53, 0x0D, 0x09, 0x23, 0xDD, 0xB1, 0xBA, 0xD6, 0x36, 0x15, 0x43,
|
||||
0x14, 0x1B, 0xC2, 0x58, 0x13, 0xC5, 0xE6, 0x35, 0x8A, 0xA6, 0x15, 0x86, 0xE4, 0x08, 0x39, 0x67,
|
||||
0x24, 0xCF, 0xD2, 0x72, 0x06, 0x6D, 0x0C, 0xD6, 0xDA, 0x8E, 0x98, 0xF4, 0xBD, 0xB3, 0x06, 0x09,
|
||||
0x34, 0x5A, 0x2D, 0x9A, 0x61, 0x88, 0x73, 0x0E, 0xA3, 0x35, 0x4B, 0x2A, 0x3D, 0xAC, 0x18, 0x1A,
|
||||
0x24, 0xD6, 0x1A, 0xE1, 0x2C, 0x67, 0x8E, 0x56, 0x28, 0xAA, 0x98, 0x28, 0x6C, 0xA5, 0x5E, 0x60,
|
||||
0x08, 0x63, 0xC3, 0x54, 0x3D, 0x64, 0xBA, 0x19, 0xAF, 0x6B, 0x38, 0xEF, 0xF7, 0x0E, 0xAC, 0x18,
|
||||
0x81, 0xB0, 0x3E, 0x0F, 0xEF, 0x31, 0xA5, 0xDB, 0xE3, 0x7B, 0x9F, 0xE0, 0x6D, 0xA7, 0x0D, 0xCA,
|
||||
0x5F, 0xBC, 0x30, 0xF5, 0x81, 0xC3, 0x33, 0xAD, 0x4B, 0x27, 0x6B, 0x11, 0xB1, 0x4D, 0x0A, 0x1E,
|
||||
0xE7, 0x1C, 0xB6, 0x2D, 0xD6, 0x82, 0x75, 0x94, 0x32, 0x49, 0xCC, 0x69, 0x6B, 0x31, 0xAF, 0x52,
|
||||
0xE2, 0x58, 0x93, 0x17, 0x11, 0xE7, 0x9F, 0x50, 0x62, 0xB4, 0x92, 0xEF, 0x58, 0xBE, 0x9B, 0x80,
|
||||
0xB6, 0x27, 0xB4, 0xBF, 0x53, 0x42, 0xD2, 0x88, 0x22, 0xAC, 0x73, 0x28, 0x29, 0xB1, 0xC6, 0xD0,
|
||||
0x57, 0xCA, 0x03, 0x82, 0x5D, 0x07, 0x8F, 0xD0, 0x88, 0x2D, 0x4F, 0xEE, 0x9D, 0xA2, 0x6E, 0x14,
|
||||
0x4E, 0x48, 0xAC, 0x75, 0x29, 0x91, 0x16, 0x4F, 0x08, 0x59, 0x0C, 0x84, 0xBF, 0x7C, 0xF2, 0xC0,
|
||||
0x5D, 0x3A, 0xD7, 0xD7, 0x3A, 0xE3, 0xC4, 0xE5, 0xDC, 0xF7, 0x93, 0x9F, 0x00, 0x30, 0x6F, 0xFE,
|
||||
0xAA, 0xB6, 0x34, 0x77, 0x3E, 0x7D, 0x88, 0x83, 0x73, 0xE1, 0x92, 0x5A, 0x23, 0xBA, 0x64, 0xA6,
|
||||
0x16, 0xD2, 0x0A, 0x63, 0x9C, 0x92, 0x08, 0x27, 0x3B, 0x09, 0xB0, 0x3D, 0xA7, 0x5A, 0x63, 0xA9,
|
||||
0xB5, 0x62, 0x8A, 0x19, 0x85, 0x7B, 0x95, 0xC5, 0xBF, 0xB3, 0x86, 0x9C, 0x88, 0x79, 0xE3, 0xCA,
|
||||
0x32, 0x2B, 0x2A, 0x39, 0x8C, 0xB5, 0xC9, 0xE7, 0x29, 0x01, 0xC7, 0x86, 0x40, 0x5A, 0xFD, 0x09,
|
||||
0x41, 0xDE, 0x0F, 0x68, 0xE9, 0x98, 0x50, 0x08, 0x02, 0x25, 0xA9, 0xB7, 0x22, 0xB6, 0x1F, 0x38,
|
||||
0x48, 0x23, 0x76, 0x6C, 0xDE, 0x35, 0xC9, 0x44, 0xCD, 0x21, 0xB2, 0x60, 0xB5, 0x49, 0xA2, 0xDB,
|
||||
0x81, 0xC1, 0x31, 0x5D, 0x83, 0x5A, 0x5E, 0xBD, 0x3E, 0xEF, 0xAB, 0x0D, 0xDA, 0x8A, 0x07, 0x97,
|
||||
0xAE, 0xDF, 0xD4, 0xB9, 0xF7, 0x3C, 0x02, 0x4A, 0xD9, 0xA5, 0x7C, 0xFE, 0xBE, 0x47, 0x30, 0xC6,
|
||||
0x9E, 0x36, 0x5B, 0x0F, 0xD7, 0xD4, 0x1A, 0x21, 0x51, 0x6C, 0x91, 0x4E, 0x21, 0x9C, 0x03, 0xE9,
|
||||
0xD2, 0xF9, 0xBF, 0xDD, 0xC7, 0x11, 0xCC, 0xD4, 0x05, 0x81, 0x08, 0x5E, 0xD5, 0xE2, 0xC7, 0x59,
|
||||
0x43, 0x40, 0xC4, 0xD9, 0xAB, 0x4B, 0xAC, 0xEE, 0xCF, 0x77, 0x80, 0xB5, 0xDD, 0x5F, 0x00, 0xDA,
|
||||
0x18, 0x62, 0xAD, 0xF1, 0x3D, 0x6F, 0x1E, 0x78, 0x21, 0x04, 0xCE, 0x19, 0x7C, 0x21, 0xF0, 0x94,
|
||||
0x62, 0xA6, 0xD1, 0xE4, 0xC1, 0x67, 0x77, 0xD3, 0x34, 0x8A, 0xC7, 0xF6, 0xCE, 0xF2, 0x52, 0x1D,
|
||||
0xBC, 0x6C, 0x19, 0x61, 0x00, 0x6B, 0x8E, 0xA6, 0x37, 0xE7, 0xA8, 0x3A, 0xCB, 0x6C, 0xC3, 0xEF,
|
||||
0xAB, 0x54, 0x32, 0xE7, 0xE9, 0x33, 0x56, 0x3E, 0x68, 0x6F, 0x7F, 0x72, 0x71, 0x02, 0x76, 0x1E,
|
||||
0xDE, 0xC3, 0xDA, 0xB5, 0x9F, 0xE6, 0x33, 0xDF, 0x7E, 0xD7, 0x59, 0xD5, 0x7A, 0x58, 0x6A, 0x34,
|
||||
0x23, 0x34, 0x02, 0x89, 0x43, 0x38, 0x09, 0x52, 0x22, 0x84, 0x9C, 0xD7, 0xE0, 0x98, 0xAE, 0x59,
|
||||
0x8A, 0xBE, 0x40, 0xBD, 0x42, 0x26, 0x74, 0xD6, 0xA2, 0x6C, 0xC4, 0xA6, 0x55, 0x45, 0x4E, 0x19,
|
||||
0x2E, 0xE2, 0xAC, 0xE5, 0x70, 0xB5, 0xCE, 0xC1, 0xA9, 0x19, 0x96, 0x0F, 0xF6, 0x91, 0xF5, 0x3C,
|
||||
0xF6, 0x1F, 0x99, 0x62, 0xC7, 0xD8, 0x21, 0xF2, 0x19, 0x9F, 0xB3, 0xD7, 0xAD, 0x86, 0x2E, 0xF0,
|
||||
0x6D, 0x32, 0xA4, 0x94, 0x60, 0x0C, 0xB3, 0xF5, 0x26, 0xFB, 0xA7, 0x1A, 0xEC, 0x98, 0x74, 0x1C,
|
||||
0x6A, 0x2A, 0x94, 0x9F, 0xC7, 0x38, 0x0F, 0x8C, 0x65, 0xDE, 0x5A, 0xD4, 0x39, 0x9A, 0x06, 0x66,
|
||||
0x1A, 0xA1, 0x18, 0xCA, 0x8B, 0xB3, 0x46, 0x1E, 0xFE, 0x65, 0xBE, 0xB6, 0x6C, 0x6D, 0x63, 0xD1,
|
||||
0x24, 0xB8, 0xEB, 0x50, 0x95, 0xDD, 0xBB, 0x3F, 0x9C, 0x0B, 0xC3, 0xF8, 0xB4, 0x6A, 0xAD, 0x45,
|
||||
0x2B, 0x8C, 0x3A, 0x09, 0x25, 0x8E, 0x0D, 0x3A, 0xD6, 0xC9, 0xFB, 0x38, 0x11, 0x13, 0x6B, 0xAA,
|
||||
0x8D, 0x88, 0xC9, 0x6A, 0x8B, 0x28, 0xD6, 0x84, 0xD1, 0xF1, 0x24, 0x26, 0x6C, 0x35, 0xD8, 0x30,
|
||||
0xE4, 0xF3, 0xFA, 0x91, 0x12, 0xCE, 0x59, 0xB4, 0xB5, 0xFC, 0xEC, 0x99, 0xE7, 0xF8, 0x97, 0xFB,
|
||||
0x1F, 0xE7, 0xB1, 0x1D, 0xFB, 0x88, 0xB4, 0xE6, 0xBE, 0x67, 0x76, 0x72, 0xFF, 0x73, 0x63, 0x84,
|
||||
0x5A, 0xE0, 0x8C, 0xC1, 0xA6, 0x9E, 0x91, 0xE8, 0xA0, 0x3B, 0x7A, 0x5A, 0x6B, 0x29, 0xE7, 0x72,
|
||||
0x28, 0x95, 0xE1, 0x70, 0x55, 0x63, 0x45, 0x06, 0xE3, 0x64, 0x92, 0x9C, 0xDB, 0x7A, 0xB6, 0x45,
|
||||
0x27, 0x3A, 0xCC, 0xD5, 0x43, 0x42, 0xED, 0x4E, 0xCE, 0x0D, 0xAD, 0xEE, 0x0F, 0xCA, 0x83, 0x8B,
|
||||
0x7B, 0xC0, 0xBE, 0x23, 0x75, 0xE6, 0x9A, 0x71, 0xB9, 0xDE, 0x8C, 0x56, 0xD7, 0x9B, 0x11, 0x51,
|
||||
0xAC, 0xC1, 0x3A, 0xA4, 0x73, 0x08, 0xA5, 0x40, 0x0A, 0x84, 0xB4, 0x2C, 0x9C, 0x3D, 0x27, 0xE6,
|
||||
0x42, 0x3C, 0x01, 0xFE, 0x22, 0xCB, 0x41, 0xE7, 0x1C, 0x56, 0x87, 0x6C, 0x18, 0xF6, 0x39, 0x6F,
|
||||
0x55, 0x05, 0x81, 0xC3, 0x68, 0x8B, 0x13, 0x82, 0x6C, 0x90, 0x65, 0xC3, 0xAA, 0x13, 0x58, 0xBD,
|
||||
0x64, 0x80, 0x83, 0x33, 0x55, 0x7C, 0x3F, 0xE0, 0xCC, 0xB5, 0x2B, 0x58, 0xD6, 0x57, 0xC6, 0xA4,
|
||||
0x6E, 0xEC, 0x52, 0xE0, 0x5E, 0x1A, 0x12, 0x52, 0x0A, 0x0E, 0x4C, 0x4E, 0xF3, 0xC4, 0xCE, 0xFD,
|
||||
0xBC, 0xFE, 0x84, 0x11, 0x9E, 0x3A, 0xD0, 0xE0, 0x70, 0x2B, 0x46, 0xFA, 0x92, 0x45, 0xEB, 0xBA,
|
||||
0x34, 0xA7, 0xD4, 0x9A, 0x50, 0x6F, 0xC5, 0x4B, 0xAC, 0x63, 0xD4, 0x58, 0xB7, 0x3F, 0xD2, 0x86,
|
||||
0xC0, 0x53, 0xF3, 0x09, 0x68, 0x45, 0x31, 0x51, 0x20, 0x07, 0xEA, 0xAD, 0x78, 0xB8, 0xD1, 0x8C,
|
||||
0x88, 0x63, 0x8D, 0x74, 0x0E, 0x9B, 0xDE, 0xA8, 0x93, 0x04, 0x17, 0x0C, 0xA4, 0xB5, 0xE1, 0xB0,
|
||||
0x70, 0x0C, 0x14, 0x03, 0x04, 0xDD, 0x6D, 0x30, 0x87, 0xD1, 0x11, 0xAB, 0x7A, 0x04, 0x97, 0xAC,
|
||||
0xED, 0xC5, 0x17, 0x0E, 0xAD, 0x93, 0xE5, 0xAB, 0x76, 0x50, 0xCC, 0x7A, 0x5C, 0xBC, 0x71, 0x2D,
|
||||
0x47, 0xE6, 0x6A, 0xFC, 0x62, 0xEB, 0x6E, 0xCE, 0x5D, 0xB7, 0x92, 0x91, 0x4A, 0x21, 0x99, 0x51,
|
||||
0x8C, 0xED, 0xB8, 0xBC, 0x52, 0xAA, 0x13, 0x0A, 0x5B, 0x5F, 0x1C, 0xE3, 0xD1, 0x1D, 0xBB, 0x39,
|
||||
0xFF, 0xD4, 0x93, 0x18, 0x1D, 0x2A, 0x53, 0x50, 0x86, 0x28, 0x6C, 0xE1, 0x09, 0x6F, 0x71, 0x02,
|
||||
0x70, 0x38, 0xEB, 0x68, 0x86, 0x8E, 0x46, 0x18, 0xE7, 0x6B, 0xAD, 0x68, 0xB4, 0x15, 0xE9, 0x4E,
|
||||
0xD2, 0x9E, 0x47, 0x80, 0xB3, 0x0E, 0x9C, 0x1B, 0x6C, 0x85, 0x51, 0x3E, 0x0C, 0x23, 0x74, 0x6C,
|
||||
0x69, 0xF3, 0x2A, 0x9C, 0x4A, 0x92, 0xA0, 0x68, 0xCF, 0x02, 0xF3, 0xD3, 0xDE, 0x74, 0xD5, 0x60,
|
||||
0x8D, 0xA5, 0x27, 0xE7, 0xA7, 0x39, 0xD2, 0x61, 0x4D, 0xCC, 0x70, 0xCE, 0x72, 0xF9, 0xBA, 0x61,
|
||||
0x8A, 0x3E, 0x44, 0x71, 0xDC, 0x89, 0x67, 0x84, 0xC0, 0x13, 0x82, 0xF1, 0xA9, 0x59, 0x1E, 0x7A,
|
||||
0x76, 0x37, 0x67, 0x9D, 0x74, 0x02, 0x4B, 0x7A, 0x0A, 0x84, 0x5A, 0x23, 0x21, 0x99, 0xEE, 0x94,
|
||||
0x42, 0x4A, 0x89, 0x94, 0x02, 0x63, 0x2D, 0x0F, 0x6C, 0xDD, 0xC1, 0xF6, 0x7D, 0x2F, 0x71, 0xF9,
|
||||
0x1B, 0x36, 0xB0, 0x7A, 0xA8, 0x97, 0xF1, 0xD9, 0x1A, 0x47, 0x66, 0xAB, 0x18, 0x53, 0x80, 0xD8,
|
||||
0x2C, 0xA2, 0x97, 0xE8, 0x10, 0xD0, 0xC2, 0xD2, 0x0C, 0x75, 0x50, 0x6F, 0xE9, 0xC1, 0xBD, 0x13,
|
||||
0xB5, 0xCE, 0xE2, 0x70, 0x1E, 0x01, 0x49, 0xB9, 0xE9, 0x7A, 0x1A, 0xCD, 0xD8, 0x8F, 0xA2, 0x18,
|
||||
0x6D, 0xDC, 0xD1, 0xFE, 0xBD, 0x03, 0xA4, 0x4D, 0x93, 0xE0, 0xD1, 0x59, 0xA0, 0x9B, 0xE9, 0xC9,
|
||||
0xAA, 0x49, 0xCA, 0xD8, 0xAC, 0x87, 0xB3, 0x9A, 0xA2, 0x8C, 0xB8, 0xFC, 0xA4, 0x41, 0x86, 0xF2,
|
||||
0x8A, 0x28, 0xD6, 0x1D, 0xF0, 0xD6, 0x5A, 0x02, 0xDF, 0xA3, 0x11, 0xC5, 0xDC, 0xFD, 0xE8, 0x36,
|
||||
0xAE, 0xDA, 0x74, 0x2A, 0xFD, 0xA5, 0x1C, 0x5F, 0xFA, 0xE1, 0x66, 0x7A, 0xF3, 0x19, 0xAE, 0x3D,
|
||||
0xF7, 0x74, 0x02, 0xA5, 0x10, 0x29, 0xF8, 0x7A, 0x2B, 0xE2, 0x07, 0x8F, 0x6D, 0xE1, 0xF0, 0x4C,
|
||||
0x8D, 0xB7, 0x9D, 0xFB, 0x3A, 0x46, 0xFA, 0xCA, 0xEC, 0x99, 0x98, 0xE5, 0xAB, 0x3F, 0x7D, 0x9A,
|
||||
0xF1, 0x19, 0x8D, 0xCC, 0x95, 0x70, 0xC6, 0x1C, 0xA3, 0x4F, 0x32, 0x15, 0x3A, 0x9C, 0xB3, 0xC4,
|
||||
0x56, 0xD0, 0x0A, 0x63, 0xA9, 0xB5, 0xE9, 0xFD, 0xFB, 0x3B, 0xB7, 0xF2, 0xD7, 0xD7, 0x9C, 0x7A,
|
||||
0x2C, 0x01, 0x61, 0xA4, 0xD1, 0xC6, 0x64, 0xA7, 0xE7, 0x1A, 0xAA, 0x5E, 0x6F, 0xE1, 0x94, 0x4A,
|
||||
0x3C, 0xC0, 0x81, 0xB0, 0x0E, 0x94, 0x44, 0x08, 0x97, 0x8E, 0xB3, 0xB8, 0xBB, 0x4D, 0x6A, 0x4D,
|
||||
0xA3, 0x29, 0xE8, 0xCD, 0x68, 0x2E, 0xDE, 0xD8, 0xC7, 0xEA, 0xFE, 0x0C, 0xB1, 0x8E, 0x3B, 0xD7,
|
||||
0x0B, 0x21, 0xF0, 0x3C, 0x45, 0x23, 0xB6, 0x6C, 0xD9, 0x73, 0x08, 0x27, 0x3D, 0xEA, 0x51, 0xCC,
|
||||
0xB6, 0xAD, 0xE3, 0x4C, 0xD7, 0x22, 0x7A, 0x8B, 0x05, 0x3C, 0xCF, 0x47, 0x4A, 0x81, 0x92, 0x92,
|
||||
0xC3, 0xB3, 0x55, 0x6E, 0x7F, 0xE0, 0x71, 0x10, 0x8A, 0x3F, 0xB8, 0xF0, 0x0D, 0xF4, 0x17, 0xF3,
|
||||
0x3C, 0xB1, 0x73, 0x8C, 0xAF, 0xFD, 0xF4, 0x57, 0xEC, 0x99, 0x15, 0xF8, 0x85, 0x41, 0x9C, 0x93,
|
||||
0xA0, 0xCD, 0x22, 0x3A, 0x25, 0x5D, 0x1B, 0xE7, 0x2C, 0x42, 0xC0, 0x6C, 0x3D, 0xA4, 0x15, 0xE9,
|
||||
0x7C, 0xF4, 0xF5, 0x2F, 0xE3, 0xBE, 0x7A, 0xFD, 0xB1, 0x04, 0xE0, 0x2C, 0x38, 0x27, 0xC3, 0x48,
|
||||
0x73, 0x64, 0xA6, 0x4E, 0xA1, 0x90, 0x21, 0x48, 0xEF, 0x23, 0xAC, 0x43, 0xD8, 0xA4, 0x18, 0x7A,
|
||||
0xB9, 0xB6, 0x8F, 0x73, 0x96, 0xA8, 0xDE, 0xE4, 0xE2, 0x0D, 0x15, 0x36, 0xAD, 0x28, 0xA7, 0x45,
|
||||
0xCD, 0x51, 0xF0, 0x8D, 0x48, 0xF3, 0xE3, 0x87, 0xB7, 0x70, 0x70, 0xAE, 0xC5, 0x29, 0x2B, 0x47,
|
||||
0x58, 0xB3, 0x74, 0x80, 0x6A, 0xA3, 0xC9, 0x8A, 0xC1, 0x5E, 0xCE, 0x3B, 0x65, 0x35, 0xF9, 0xC0,
|
||||
0x43, 0x09, 0x90, 0x42, 0xB0, 0x63, 0xEC, 0x10, 0xB7, 0xFE, 0xEC, 0x51, 0x46, 0x06, 0xFB, 0xB8,
|
||||
0xEE, 0xFC, 0x33, 0x08, 0x3C, 0xC9, 0x77, 0x1F, 0xDE, 0xCA, 0x37, 0x1F, 0x7A, 0x9E, 0x19, 0x93,
|
||||
0xC7, 0xCF, 0xF7, 0x63, 0x44, 0x90, 0xEC, 0xA7, 0x61, 0x8E, 0xA7, 0x10, 0xCE, 0x5A, 0xEA, 0xA1,
|
||||
0xA6, 0x9A, 0xF7, 0xB0, 0xCE, 0x49, 0xD8, 0xDF, 0x89, 0x14, 0x6F, 0xE1, 0xC5, 0x02, 0x17, 0x49,
|
||||
0x9C, 0x0D, 0xC3, 0x88, 0x56, 0x6C, 0xE8, 0xED, 0x15, 0xF8, 0x90, 0x14, 0x42, 0x4E, 0x21, 0xE4,
|
||||
0xCB, 0xF4, 0xBD, 0x9C, 0xC5, 0xC4, 0x2D, 0xCE, 0x5D, 0x99, 0xE3, 0x9A, 0xD7, 0x2D, 0x45, 0x89,
|
||||
0x24, 0x61, 0x4A, 0x29, 0x13, 0xCB, 0x2B, 0xC5, 0x0B, 0x2F, 0x1D, 0xE1, 0xAE, 0x47, 0xB6, 0x93,
|
||||
0x2F, 0xF4, 0xF0, 0xEE, 0x8B, 0xCF, 0x66, 0x49, 0xC9, 0xC7, 0x51, 0x42, 0x2A, 0xD5, 0xF1, 0x5A,
|
||||
0x21, 0x24, 0x9B, 0xB7, 0xEE, 0xE0, 0xB6, 0x5F, 0x3C, 0xCE, 0xB9, 0xA7, 0x9E, 0xC4, 0x35, 0x6F,
|
||||
0x3C, 0x8D, 0xD9, 0x7A, 0x93, 0xAF, 0xFC, 0xE8, 0x49, 0xEE, 0xDD, 0x32, 0x86, 0x0E, 0xFA, 0xF0,
|
||||
0xB2, 0x3D, 0x18, 0x82, 0x14, 0xF7, 0xE2, 0xE0, 0x93, 0x54, 0xE4, 0xA8, 0x37, 0x23, 0xC2, 0x30,
|
||||
0x06, 0x5B, 0x40, 0x38, 0x17, 0x52, 0xBE, 0x36, 0x8D, 0xE9, 0x85, 0x04, 0xE0, 0x10, 0x82, 0x9A,
|
||||
0x12, 0x4E, 0x0B, 0x2C, 0xCD, 0x96, 0x66, 0x7A, 0x56, 0x50, 0x2E, 0x83, 0x9F, 0xF1, 0x93, 0x30,
|
||||
0x90, 0xB2, 0xD3, 0xA9, 0x59, 0xF8, 0x5B, 0x1D, 0x87, 0x9C, 0x3C, 0xA8, 0xF8, 0xE3, 0xF3, 0x57,
|
||||
0xD1, 0x5B, 0xCC, 0x62, 0xEC, 0xD1, 0x84, 0x24, 0x84, 0xC0, 0x5A, 0xCB, 0xCA, 0xE1, 0x01, 0xDE,
|
||||
0x79, 0xE1, 0x26, 0xF2, 0xF9, 0x1C, 0x7D, 0x85, 0x00, 0xEB, 0x1C, 0x52, 0x29, 0x84, 0x48, 0xE2,
|
||||
0x3D, 0xD2, 0x86, 0x6F, 0xDF, 0xFF, 0x4B, 0xEE, 0x7D, 0x62, 0x3B, 0xEF, 0xBA, 0xF4, 0x8D, 0x5C,
|
||||
0xF6, 0xFA, 0x93, 0xD9, 0xBA, 0x67, 0x9C, 0x2F, 0xFF, 0xF0, 0x31, 0x9E, 0x19, 0xAF, 0xA3, 0x72,
|
||||
0x03, 0x48, 0xBF, 0x84, 0xC1, 0x7B, 0x79, 0xCB, 0xA7, 0xE0, 0x9B, 0xA1, 0xA6, 0xDA, 0x08, 0xC9,
|
||||
0x28, 0xF0, 0xA4, 0x73, 0x52, 0x30, 0x77, 0xD5, 0x47, 0x2E, 0x46, 0xA4, 0x5E, 0x79, 0x8C, 0x07,
|
||||
0x38, 0xEB, 0x26, 0x03, 0x4F, 0x46, 0xCA, 0x39, 0x30, 0x9A, 0x30, 0x0C, 0x99, 0xAD, 0x42, 0xC1,
|
||||
0xE6, 0x08, 0x32, 0x3E, 0x42, 0x2A, 0x90, 0xB6, 0x8B, 0xE3, 0x24, 0x49, 0x58, 0x1D, 0x33, 0x98,
|
||||
0x33, 0xFC, 0xE9, 0xC5, 0xEB, 0x58, 0x31, 0x58, 0x46, 0x1B, 0x8B, 0x27, 0xE7, 0x13, 0x04, 0x82,
|
||||
0xA2, 0xE7, 0x71, 0xED, 0x79, 0x1B, 0xD3, 0x69, 0x2D, 0xB1, 0xB6, 0x10, 0x49, 0xBC, 0x4F, 0x57,
|
||||
0xEB, 0x7C, 0xE9, 0xCE, 0x9F, 0xF0, 0xFC, 0xFE, 0x43, 0xFC, 0xC5, 0x75, 0x57, 0xB0, 0x71, 0xF5,
|
||||
0x08, 0x77, 0x3F, 0xBC, 0x95, 0xFF, 0xFD, 0x93, 0xA7, 0x38, 0xD4, 0xF4, 0xF1, 0xF3, 0x43, 0x38,
|
||||
0x2F, 0x8F, 0x71, 0x32, 0xA9, 0xF8, 0xDC, 0xC2, 0x9A, 0x24, 0x19, 0x43, 0x08, 0xB0, 0xD6, 0xD1,
|
||||
0x8C, 0x74, 0xB2, 0x96, 0x31, 0x06, 0x25, 0x15, 0x81, 0x14, 0x71, 0xA0, 0xC4, 0x91, 0x37, 0x9D,
|
||||
0xBA, 0x94, 0xB6, 0x0D, 0xE7, 0x11, 0x90, 0xF1, 0x15, 0xD9, 0x40, 0x4D, 0xE4, 0x33, 0x6A, 0xCA,
|
||||
0x97, 0x0C, 0x38, 0xA3, 0x41, 0x0B, 0xE2, 0x50, 0x50, 0x75, 0x90, 0x33, 0x96, 0x20, 0xE3, 0x27,
|
||||
0xE5, 0x68, 0x57, 0x18, 0x58, 0x6B, 0xC8, 0x8A, 0x16, 0x7F, 0xF2, 0xA6, 0xF5, 0xBC, 0x61, 0xF5,
|
||||
0x10, 0xC6, 0x3A, 0x3C, 0x71, 0x14, 0xBD, 0x58, 0x10, 0x32, 0xF3, 0xE6, 0x76, 0x40, 0x29, 0xC5,
|
||||
0xCE, 0x03, 0x07, 0xF9, 0xEC, 0xAD, 0xF7, 0x20, 0xA4, 0xC7, 0x27, 0xDE, 0xF7, 0x4E, 0x0A, 0x19,
|
||||
0x9F, 0xCF, 0xDE, 0xFE, 0x33, 0xBE, 0xF7, 0xD8, 0x6E, 0x22, 0x59, 0xC6, 0xCB, 0x55, 0x30, 0x22,
|
||||
0x9B, 0xD4, 0xFA, 0x2F, 0x63, 0x75, 0x00, 0xE3, 0x1C, 0xAD, 0xC8, 0x10, 0xC7, 0x1A, 0x67, 0x1D,
|
||||
0xCE, 0x1A, 0x3C, 0x5F, 0x90, 0xF3, 0x65, 0xAB, 0xB7, 0x10, 0x8C, 0x6B, 0x63, 0x16, 0xAF, 0x03,
|
||||
0x86, 0x2B, 0x39, 0x56, 0x0E, 0xF7, 0xCC, 0x94, 0x72, 0xC1, 0xBE, 0x8C, 0x2F, 0x4F, 0x12, 0x46,
|
||||
0xE3, 0x84, 0xC0, 0x49, 0x81, 0x89, 0x05, 0x0D, 0xE7, 0x88, 0x8D, 0x21, 0x13, 0xF8, 0x48, 0x25,
|
||||
0x93, 0xA2, 0xC7, 0x59, 0x9C, 0x6E, 0xF2, 0xCE, 0x37, 0xAD, 0xE2, 0xF7, 0x36, 0xAD, 0x4A, 0x00,
|
||||
0x09, 0xD7, 0x01, 0xBD, 0x10, 0x7C, 0x1B, 0x78, 0xFB, 0x3B, 0x01, 0x6C, 0x7E, 0xE6, 0x59, 0x3E,
|
||||
0xFF, 0xED, 0x1F, 0xB2, 0x61, 0xCD, 0x4A, 0xDE, 0x7F, 0xED, 0x9B, 0xD9, 0x77, 0x68, 0x92, 0xBF,
|
||||
0xF9, 0xFA, 0x0F, 0x79, 0x62, 0xCF, 0x0C, 0x32, 0xDB, 0x87, 0x0C, 0x4A, 0x18, 0xFC, 0xE3, 0xBA,
|
||||
0x7C, 0x77, 0x43, 0x39, 0x36, 0x96, 0x58, 0x1B, 0xAC, 0x4D, 0x57, 0x95, 0xD6, 0x82, 0x31, 0x64,
|
||||
0x94, 0x4F, 0x39, 0xE7, 0xCF, 0x64, 0x7C, 0x6F, 0x6F, 0xE0, 0x29, 0x02, 0x4F, 0x1D, 0x4B, 0xC0,
|
||||
0x89, 0xCB, 0x7A, 0xD9, 0x74, 0xE2, 0x50, 0xF5, 0x8E, 0x9F, 0xFB, 0xCF, 0x16, 0x73, 0xFE, 0x65,
|
||||
0xC2, 0x59, 0xAC, 0x8E, 0x71, 0x32, 0x5D, 0x8D, 0x09, 0x88, 0xA3, 0xA4, 0x5E, 0xF0, 0x3C, 0x85,
|
||||
0xE7, 0x49, 0x4C, 0xDC, 0xE2, 0x8A, 0x8D, 0x43, 0xFC, 0xC9, 0x65, 0x1B, 0x08, 0x3C, 0x0F, 0xEB,
|
||||
0xE6, 0x83, 0x6F, 0x2F, 0x6D, 0x93, 0x82, 0xE6, 0xA8, 0x57, 0x48, 0x29, 0x89, 0xA2, 0x98, 0xDB,
|
||||
0xEE, 0xDB, 0xCC, 0x37, 0x7E, 0xFC, 0x20, 0xD7, 0x5D, 0xFC, 0x46, 0xAE, 0xBD, 0xF8, 0x2C, 0x7E,
|
||||
0xF4, 0xE8, 0x36, 0xBE, 0xF8, 0xBD, 0x87, 0x19, 0xAB, 0x82, 0x9F, 0x1B, 0xC4, 0x79, 0x79, 0x2C,
|
||||
0xAA, 0x03, 0xFE, 0x38, 0x5D, 0x73, 0xAC, 0x75, 0xC4, 0xC6, 0xA6, 0x79, 0xC7, 0xB5, 0xC3, 0x39,
|
||||
0x69, 0xA8, 0x58, 0x4B, 0x7F, 0x31, 0xA0, 0x9C, 0x95, 0x2F, 0xCE, 0x4E, 0x8C, 0x1F, 0x6E, 0x36,
|
||||
0x8F, 0x92, 0x38, 0x8F, 0x80, 0x4D, 0x27, 0x0E, 0xF1, 0xC7, 0xFF, 0xE3, 0xFB, 0x76, 0xDD, 0x8A,
|
||||
0xFE, 0xC7, 0x2B, 0xC5, 0x6C, 0xE4, 0x09, 0x02, 0xA3, 0x35, 0x4E, 0x26, 0xE0, 0x3B, 0x2E, 0xEF,
|
||||
0x1C, 0x91, 0xB5, 0xB4, 0x9A, 0x11, 0xA7, 0x8D, 0x16, 0xF9, 0xD0, 0x3B, 0x36, 0xD1, 0x5B, 0xCC,
|
||||
0x26, 0x71, 0xDF, 0x65, 0xF1, 0x76, 0x29, 0xDB, 0x9E, 0x05, 0x3A, 0x5E, 0x20, 0x25, 0xD3, 0xB3,
|
||||
0x73, 0x7C, 0xF1, 0xB6, 0xEF, 0xF3, 0xD0, 0x96, 0x17, 0xF8, 0x8B, 0xEB, 0xDF, 0xCA, 0xC6, 0x35,
|
||||
0xA3, 0xFC, 0xCF, 0x6F, 0xDD, 0xC7, 0xB7, 0x1F, 0x7C, 0x8E, 0x96, 0x28, 0xE2, 0x65, 0x2B, 0x58,
|
||||
0x99, 0x41, 0x58, 0x12, 0x2B, 0x2E, 0x38, 0x5C, 0x97, 0x2E, 0xD6, 0xBA, 0xA3, 0xC0, 0xA1, 0x33,
|
||||
0xF7, 0x63, 0x2D, 0xCE, 0x18, 0xF2, 0x81, 0x62, 0xA4, 0xBF, 0x40, 0x3E, 0x90, 0x4F, 0x7E, 0xEB,
|
||||
0x3F, 0x9F, 0x3B, 0xBB, 0xE6, 0xDD, 0x9F, 0x5A, 0x9C, 0x80, 0xC3, 0x33, 0x4D, 0x36, 0xAE, 0x1A,
|
||||
0x64, 0xA8, 0xAF, 0xF0, 0xC4, 0x40, 0x6F, 0xE1, 0x60, 0x36, 0x50, 0x2B, 0xC2, 0x30, 0xC2, 0xC5,
|
||||
0x02, 0x8B, 0x40, 0x72, 0x74, 0x1D, 0x60, 0x75, 0x4C, 0x7F, 0xC1, 0x71, 0xE3, 0x75, 0x67, 0xB2,
|
||||
0x7A, 0xA8, 0x27, 0xA9, 0xF1, 0x3B, 0xEB, 0xF6, 0xF9, 0x56, 0x5F, 0x08, 0x7E, 0xF7, 0x81, 0x71,
|
||||
0x3E, 0xFD, 0xF5, 0x3B, 0x98, 0x6D, 0x84, 0x7C, 0xF2, 0xCF, 0xDE, 0x4D, 0x6C, 0x1C, 0x1F, 0xFA,
|
||||
0xC7, 0x3B, 0xF8, 0xE5, 0x8E, 0x09, 0x44, 0xB6, 0x17, 0x15, 0x94, 0x92, 0x29, 0xCE, 0x42, 0xFA,
|
||||
0xE7, 0x18, 0xF4, 0x36, 0x2D, 0x71, 0xAD, 0x5B, 0xE4, 0xCB, 0xB6, 0xF5, 0x8D, 0xC1, 0x17, 0x8E,
|
||||
0x25, 0x3D, 0x39, 0xFA, 0x8B, 0x99, 0x66, 0x5F, 0xB9, 0xF8, 0xD0, 0x45, 0xFF, 0xF0, 0xA4, 0xDD,
|
||||
0xF7, 0xF0, 0x77, 0x17, 0x27, 0x60, 0xB8, 0x37, 0xCF, 0x77, 0x36, 0xEF, 0x60, 0xD3, 0xFA, 0xE5,
|
||||
0xBB, 0x1F, 0xDD, 0xBA, 0xFF, 0x91, 0x4A, 0x29, 0xB7, 0x62, 0x6E, 0xAE, 0x8E, 0xD5, 0x71, 0x52,
|
||||
0x55, 0x76, 0x7A, 0x0C, 0x86, 0x40, 0x69, 0xFE, 0xFC, 0xAD, 0x67, 0x73, 0xC1, 0xA9, 0xCB, 0x89,
|
||||
0xD3, 0x15, 0x5B, 0x27, 0xE6, 0x84, 0x40, 0x76, 0xAD, 0xE1, 0x9D, 0x4B, 0xAA, 0x47, 0x29, 0x04,
|
||||
0x8F, 0x3E, 0xB3, 0x9D, 0x4F, 0xFD, 0xEB, 0x77, 0x59, 0xB3, 0x7C, 0x29, 0x1F, 0x7C, 0xCF, 0xDB,
|
||||
0xF9, 0xE5, 0xB6, 0x17, 0xF9, 0x5F, 0xDF, 0xD9, 0xCC, 0xFE, 0x19, 0x83, 0x9F, 0x1B, 0x40, 0xB4,
|
||||
0x5D, 0x7E, 0xA1, 0xD5, 0xD3, 0xAD, 0x38, 0x97, 0xEE, 0x47, 0x1E, 0xFD, 0x23, 0xBA, 0x92, 0x80,
|
||||
0xEB, 0xAC, 0xFE, 0x9C, 0xB1, 0xF8, 0xD2, 0x31, 0x50, 0xCC, 0x30, 0x50, 0xCE, 0xD0, 0x5B, 0xCC,
|
||||
0xEC, 0x2A, 0x17, 0x82, 0x47, 0x85, 0x08, 0xF1, 0x8B, 0x95, 0xC5, 0x09, 0x00, 0xB8, 0xE2, 0x0D,
|
||||
0xAB, 0xB8, 0xEA, 0xC6, 0x5B, 0x9A, 0x97, 0x9F, 0xB9, 0xE6, 0x9E, 0xE1, 0x81, 0xD2, 0x35, 0x07,
|
||||
0x0F, 0x4E, 0x66, 0x9A, 0x51, 0x04, 0xC2, 0x75, 0xDC, 0xCE, 0xC4, 0x96, 0x6B, 0x2E, 0x58, 0xC3,
|
||||
0x1F, 0x5E, 0xB2, 0x01, 0x1D, 0xC7, 0xA9, 0x15, 0x5C, 0x7B, 0x12, 0x4A, 0x9E, 0x80, 0xEA, 0x02,
|
||||
0xDF, 0xF6, 0x8A, 0x1F, 0x3C, 0xF0, 0x18, 0x37, 0xDF, 0x79, 0x2F, 0x57, 0x5C, 0x70, 0x16, 0x6F,
|
||||
0x3A, 0x63, 0x03, 0x37, 0xDD, 0xFD, 0x10, 0xB7, 0xFE, 0x7C, 0x1B, 0x4D, 0x97, 0xC7, 0xCB, 0xF6,
|
||||
0x63, 0x65, 0x16, 0x61, 0x45, 0xE2, 0xBA, 0x8B, 0xB9, 0xFC, 0xF1, 0x1E, 0x3A, 0xE8, 0x5E, 0x03,
|
||||
0xB9, 0xD4, 0xF2, 0x0A, 0xFA, 0x0B, 0x19, 0xCA, 0x59, 0x45, 0x5F, 0x29, 0x4B, 0x4F, 0x21, 0xF3,
|
||||
0x93, 0xF7, 0x5C, 0xBC, 0x7E, 0xEC, 0xB6, 0x5F, 0xEC, 0xE0, 0xCF, 0xFE, 0xDB, 0x87, 0x8E, 0x4F,
|
||||
0xC0, 0xBE, 0xC3, 0x73, 0xFC, 0xFE, 0x9B, 0x4E, 0x61, 0xA0, 0x52, 0xB8, 0x6F, 0x74, 0xB8, 0xB2,
|
||||
0xED, 0xC5, 0x3D, 0xD9, 0x33, 0x5A, 0x47, 0x5A, 0x10, 0x77, 0x0F, 0x6D, 0x38, 0x30, 0x7E, 0x88,
|
||||
0xC3, 0xD3, 0x73, 0x0C, 0x57, 0x0A, 0x49, 0xB3, 0x22, 0xB5, 0xBA, 0x50, 0x2A, 0x59, 0x09, 0x76,
|
||||
0x85, 0x41, 0x18, 0xC5, 0xDC, 0x72, 0xCF, 0x7D, 0xFC, 0xE2, 0x89, 0xAD, 0xBC, 0xFF, 0xFA, 0xAB,
|
||||
0xC9, 0x64, 0x73, 0xFC, 0xD5, 0x97, 0xEE, 0xE4, 0xE1, 0xE7, 0x0F, 0x23, 0x32, 0x15, 0x54, 0xA6,
|
||||
0x88, 0x13, 0xFE, 0xD1, 0xD8, 0x7D, 0xAD, 0x47, 0x1A, 0x07, 0x6D, 0x0F, 0xCC, 0x7A, 0x92, 0xBE,
|
||||
0x62, 0x40, 0xCE, 0x13, 0x94, 0x32, 0x1E, 0x83, 0x3D, 0xB9, 0x89, 0x4A, 0x31, 0xFB, 0x9D, 0x4F,
|
||||
0x7F, 0xFB, 0x51, 0xF3, 0xF5, 0x9F, 0x1F, 0x9C, 0xF7, 0xD3, 0x63, 0x4A, 0xBA, 0x93, 0x57, 0xF4,
|
||||
0xB3, 0x62, 0xB8, 0xC2, 0xBB, 0x2E, 0x39, 0xE5, 0xC0, 0xC8, 0x50, 0xCF, 0xAD, 0x23, 0x4B, 0x7A,
|
||||
0x6D, 0xE0, 0x49, 0x9C, 0x8E, 0xB1, 0x71, 0x8C, 0x8B, 0x23, 0x84, 0x73, 0x3C, 0xBC, 0x65, 0x2F,
|
||||
0x9F, 0xFC, 0xDA, 0xF7, 0xA9, 0x35, 0x93, 0x56, 0xB5, 0x6B, 0x2B, 0x61, 0x8F, 0x6E, 0x62, 0x00,
|
||||
0xCC, 0x56, 0x6B, 0x7C, 0xE1, 0x5F, 0xEF, 0x60, 0xE7, 0xBE, 0x71, 0x3E, 0xFA, 0xBE, 0x7F, 0xC7,
|
||||
0xD8, 0x54, 0x9D, 0x0F, 0x7C, 0xEE, 0x76, 0x36, 0x3F, 0x37, 0x89, 0xCC, 0xF6, 0x23, 0xFD, 0x12,
|
||||
0x4E, 0x78, 0x09, 0x78, 0x6B, 0xE7, 0x09, 0xAF, 0x20, 0xDD, 0xD7, 0x38, 0x63, 0xC0, 0x18, 0x8A,
|
||||
0x81, 0x64, 0xB0, 0x14, 0x90, 0x55, 0xE0, 0x0B, 0x47, 0x7F, 0x4F, 0x8E, 0x81, 0x9E, 0xFC, 0x8F,
|
||||
0xD7, 0x2C, 0xEB, 0x7D, 0x6C, 0xB0, 0x27, 0xC7, 0x27, 0xDE, 0xB3, 0x7E, 0x1E, 0xDE, 0x45, 0x9F,
|
||||
0x68, 0x78, 0xDB, 0x7B, 0x6E, 0xE0, 0xEC, 0x2B, 0xDF, 0xC3, 0x60, 0x6F, 0x71, 0xAC, 0xD6, 0x08,
|
||||
0x2F, 0x9A, 0x98, 0x9C, 0x5D, 0x5A, 0xAF, 0x37, 0xD2, 0x8D, 0xCB, 0xA4, 0x06, 0x12, 0x52, 0xF2,
|
||||
0xC2, 0x9E, 0x71, 0xB0, 0x31, 0xE7, 0x9C, 0xB6, 0x16, 0x29, 0x8E, 0xBA, 0xBC, 0x73, 0x16, 0xA5,
|
||||
0x14, 0x63, 0x87, 0x27, 0xF9, 0xD2, 0xAD, 0x77, 0xB1, 0x6C, 0x68, 0x80, 0x6B, 0x2F, 0xBF, 0x88,
|
||||
0x7F, 0xFE, 0xFE, 0xC3, 0x7C, 0xEE, 0xF6, 0xCD, 0x4C, 0xB5, 0x02, 0xFC, 0x6C, 0x2F, 0x42, 0x65,
|
||||
0x93, 0x4D, 0x0C, 0x77, 0x34, 0x7E, 0x5F, 0xB3, 0xA4, 0x44, 0x28, 0x1C, 0xBD, 0x85, 0x80, 0xDE,
|
||||
0x82, 0x8F, 0x87, 0x45, 0x3A, 0x43, 0x4F, 0x21, 0x60, 0xF5, 0x48, 0xFF, 0xC4, 0xE8, 0x70, 0xE5,
|
||||
0xBF, 0xEE, 0x1A, 0x9B, 0x7A, 0xE1, 0x5D, 0x97, 0xAC, 0xE7, 0x8C, 0x13, 0x97, 0xBD, 0xBC, 0x07,
|
||||
0x00, 0xBC, 0xEB, 0xD2, 0x53, 0x39, 0x61, 0x49, 0x85, 0xF7, 0xFF, 0xF9, 0x97, 0xF7, 0xAC, 0x1C,
|
||||
0xE9, 0xFF, 0xA7, 0x55, 0xA3, 0x43, 0xAD, 0x5C, 0xC6, 0x07, 0x13, 0xE3, 0x74, 0x84, 0x8B, 0x63,
|
||||
0x30, 0x60, 0xC8, 0x72, 0xD3, 0x9D, 0x8F, 0x70, 0xF3, 0x5D, 0x9B, 0x41, 0xC8, 0xD4, 0xF2, 0x1A,
|
||||
0x29, 0x24, 0xDB, 0x76, 0xED, 0xE5, 0x96, 0xBB, 0x7F, 0xC2, 0x65, 0xE7, 0x9E, 0xC9, 0xC6, 0x53,
|
||||
0x4E, 0xE6, 0x23, 0x9F, 0xBF, 0x9D, 0xAF, 0xFE, 0xE0, 0x57, 0x84, 0xA2, 0x8C, 0x97, 0xE9, 0x01,
|
||||
0x19, 0x24, 0xC1, 0xFB, 0x2A, 0xAD, 0x8D, 0x4D, 0x4A, 0x5F, 0xD7, 0x65, 0x7D, 0x67, 0x4C, 0xD2,
|
||||
0x66, 0xF7, 0x04, 0xC3, 0x3D, 0x59, 0x2A, 0x39, 0x0F, 0x65, 0x0D, 0xC2, 0x18, 0xB2, 0x9E, 0x60,
|
||||
0x49, 0x5F, 0x89, 0xA1, 0x4A, 0xF1, 0xD6, 0xD3, 0x4F, 0x5C, 0xFA, 0xE0, 0xE8, 0x50, 0x99, 0x07,
|
||||
0xB6, 0x8C, 0x1D, 0x83, 0xF5, 0xB8, 0xCF, 0xB4, 0x5C, 0xF1, 0xCE, 0xF7, 0x71, 0xE9, 0xA5, 0x1B,
|
||||
0x59, 0x39, 0xD2, 0xBF, 0xAB, 0xD6, 0x08, 0xD7, 0xCF, 0xCC, 0xD5, 0x4F, 0x99, 0x9B, 0xAD, 0x61,
|
||||
0x8D, 0xE9, 0x2C, 0x71, 0x85, 0x90, 0xC4, 0x16, 0x1E, 0xDF, 0xF6, 0x02, 0xA5, 0xBC, 0xCF, 0xE9,
|
||||
0x27, 0xAD, 0x40, 0x08, 0xC1, 0xA3, 0x5B, 0x9F, 0x67, 0xDB, 0xCE, 0x3D, 0x5C, 0x7D, 0xE9, 0x05,
|
||||
0x3C, 0xBB, 0x77, 0x82, 0xBF, 0xFE, 0xE2, 0x77, 0xD9, 0xB6, 0x7F, 0x0E, 0x2F, 0xD7, 0x8B, 0xF4,
|
||||
0xF2, 0x20, 0xD5, 0xC2, 0xCC, 0xB6, 0xE0, 0x38, 0x4E, 0x93, 0xBD, 0x63, 0xF9, 0x84, 0x80, 0x40,
|
||||
0x0A, 0x7A, 0x0B, 0x01, 0x7D, 0xC5, 0x0C, 0x19, 0x05, 0xC2, 0x1A, 0xB0, 0x06, 0x5F, 0x3A, 0x06,
|
||||
0x7B, 0x0B, 0xAC, 0x5A, 0x3E, 0xF0, 0xCC, 0x09, 0x4B, 0x7B, 0xFF, 0x6A, 0xEF, 0x4B, 0xD3, 0x87,
|
||||
0x8E, 0xCC, 0x35, 0xF8, 0xD3, 0xAB, 0xDF, 0x70, 0xCC, 0x2D, 0x5F, 0xB6, 0x97, 0xED, 0x9C, 0xE3,
|
||||
0x23, 0x5F, 0xF8, 0x01, 0xC3, 0xFD, 0xE5, 0x33, 0x1E, 0x7B, 0x66, 0xF7, 0x2D, 0x0F, 0x3F, 0xF1,
|
||||
0xDC, 0xBA, 0x89, 0x89, 0x69, 0xAC, 0x13, 0xA0, 0x14, 0x42, 0x79, 0x08, 0x4F, 0x62, 0x6D, 0x4C,
|
||||
0xCE, 0x0B, 0xB9, 0xE1, 0xBA, 0xF3, 0x39, 0xF3, 0x94, 0x15, 0xF8, 0x9E, 0x60, 0x74, 0x64, 0x19,
|
||||
0x37, 0xDD, 0xFE, 0x33, 0x6E, 0xB9, 0xF7, 0x49, 0x42, 0x0A, 0xA8, 0x6C, 0x19, 0x21, 0x03, 0xE8,
|
||||
0xB4, 0xD5, 0x5F, 0xE5, 0x86, 0x62, 0x17, 0x49, 0xED, 0xFA, 0xC2, 0x93, 0x82, 0x62, 0xCE, 0xA7,
|
||||
0x9C, 0x0B, 0x08, 0x94, 0x40, 0xB8, 0xC4, 0x3B, 0x84, 0xB5, 0x28, 0x61, 0xA9, 0x14, 0x73, 0xAC,
|
||||
0x5D, 0xB9, 0x64, 0x76, 0xDD, 0xCA, 0xA1, 0x1B, 0x3E, 0xFD, 0xAD, 0x27, 0xBF, 0x79, 0xEB, 0xC7,
|
||||
0xAF, 0xE2, 0xE0, 0xAC, 0xE6, 0xDA, 0x0B, 0x4F, 0x7E, 0xF5, 0x1E, 0x00, 0xB0, 0xF6, 0xDC, 0x6B,
|
||||
0x19, 0x19, 0xAC, 0x70, 0xC3, 0xF5, 0x7F, 0xFB, 0xD2, 0x75, 0xEF, 0xB9, 0x6C, 0x3A, 0x36, 0xF6,
|
||||
0x92, 0xE9, 0xE9, 0x6A, 0x36, 0x6C, 0xB6, 0xDA, 0xFD, 0xC3, 0x64, 0xEA, 0x13, 0x8A, 0xD8, 0x08,
|
||||
0x1E, 0x79, 0x66, 0x27, 0xE3, 0x47, 0xA6, 0x59, 0x35, 0x3A, 0xC2, 0xA7, 0x6E, 0xBE, 0x9B, 0xEF,
|
||||
0x6D, 0x7E, 0x0E, 0xEB, 0xF5, 0x20, 0xFD, 0x22, 0x42, 0xFA, 0xB4, 0x5B, 0x54, 0x9D, 0x95, 0xC8,
|
||||
0xAB, 0x88, 0xEF, 0x76, 0x43, 0x03, 0xE7, 0xF0, 0xA4, 0xA0, 0x94, 0xF3, 0x18, 0x28, 0x65, 0x29,
|
||||
0x67, 0x3D, 0x3C, 0xE1, 0x10, 0x2E, 0xB1, 0xBA, 0xB0, 0x06, 0xE9, 0x0C, 0xA5, 0x5C, 0xC0, 0x8A,
|
||||
0x91, 0x7E, 0xBD, 0x72, 0xD9, 0xC0, 0x67, 0x2F, 0xD9, 0xB4, 0xE6, 0x4B, 0xAF, 0x5B, 0x3B, 0x60,
|
||||
0x9A, 0x91, 0xE6, 0xBA, 0x8B, 0x4E, 0x5D, 0x14, 0xE3, 0xCB, 0x12, 0xF0, 0x82, 0x38, 0x95, 0xB7,
|
||||
0x9F, 0xBF, 0x9E, 0xF3, 0xAF, 0x3C, 0x9B, 0x2B, 0xCE, 0x3B, 0xF5, 0xB9, 0x83, 0x93, 0x73, 0x26,
|
||||
0x36, 0xF6, 0xDC, 0xD9, 0xD9, 0xAA, 0x1F, 0x85, 0x61, 0x92, 0x14, 0xD3, 0x82, 0x45, 0x08, 0x09,
|
||||
0xD2, 0x63, 0xFF, 0xA1, 0x59, 0xEE, 0x7D, 0x78, 0x3B, 0x7B, 0x0F, 0xD7, 0xF1, 0x82, 0x12, 0xB2,
|
||||
0x93, 0xE8, 0x5C, 0x32, 0x5D, 0x39, 0x9B, 0x36, 0x57, 0xEC, 0xCB, 0x82, 0x4F, 0x4A, 0x59, 0x87,
|
||||
0xC4, 0x91, 0xF5, 0x25, 0x3D, 0xF9, 0xC4, 0xD5, 0x4B, 0x59, 0x2F, 0x59, 0x66, 0xBB, 0x04, 0xB4,
|
||||
0xE8, 0x80, 0xB7, 0x14, 0xB2, 0x3E, 0xA3, 0xCB, 0xFA, 0xDD, 0xE8, 0xB2, 0xFE, 0x7F, 0x1E, 0xEA,
|
||||
0x2F, 0xFF, 0x8D, 0xD1, 0xB6, 0xFE, 0xF4, 0xCE, 0x43, 0x7C, 0xF2, 0x5F, 0x1E, 0x60, 0xE4, 0x8C,
|
||||
0xB7, 0x52, 0x5C, 0x77, 0x19, 0xB3, 0xCF, 0xFE, 0xF8, 0xD5, 0x11, 0xD0, 0x73, 0xE5, 0x27, 0x31,
|
||||
0xD6, 0x32, 0x35, 0x53, 0xE7, 0xC7, 0x8F, 0xEF, 0xE2, 0xE3, 0xFF, 0xE1, 0x02, 0xBB, 0x7D, 0xFF,
|
||||
0xF4, 0x93, 0xBE, 0x92, 0xBE, 0xC5, 0x9D, 0x3D, 0x3B, 0x57, 0xF3, 0xA2, 0x56, 0x88, 0xB3, 0xA6,
|
||||
0xCB, 0xAA, 0x02, 0x21, 0x14, 0x0E, 0x0F, 0xA9, 0x32, 0x20, 0xD2, 0x32, 0xA3, 0x03, 0xD6, 0x76,
|
||||
0x48, 0xC0, 0x76, 0xC5, 0x73, 0x97, 0xE0, 0x2C, 0x12, 0x4B, 0xA0, 0x24, 0xC5, 0xAC, 0x47, 0x6F,
|
||||
0x21, 0xA0, 0x27, 0x1F, 0x90, 0x0B, 0x54, 0x62, 0x71, 0x6B, 0xBB, 0xC0, 0x5B, 0xB0, 0x1A, 0x89,
|
||||
0xA3, 0x90, 0xF5, 0x59, 0xBE, 0xB4, 0x8F, 0xE5, 0x4B, 0xFB, 0xEF, 0x40, 0x79, 0x37, 0x7E, 0xF4,
|
||||
0x8F, 0x2E, 0x3C, 0xFC, 0xC3, 0x83, 0x23, 0xF2, 0xF1, 0xE7, 0xC7, 0xC8, 0x67, 0x7C, 0x96, 0x0F,
|
||||
0x94, 0x78, 0xF1, 0xE0, 0x2C, 0x76, 0xF4, 0x42, 0xEC, 0x9E, 0xFB, 0x5F, 0x3E, 0x07, 0x8C, 0xBC,
|
||||
0xFD, 0xBF, 0x13, 0xC6, 0x86, 0xD8, 0x58, 0x02, 0x4F, 0x89, 0x30, 0xD2, 0x38, 0x10, 0xD5, 0x47,
|
||||
0x76, 0x8A, 0xF7, 0x7F, 0xFC, 0xBA, 0x12, 0x71, 0xF4, 0xD1, 0x67, 0x77, 0xEC, 0xFB, 0x4F, 0xDB,
|
||||
0x9F, 0x7B, 0x31, 0x37, 0x3B, 0x53, 0x4D, 0x16, 0x22, 0x52, 0xA5, 0x9B, 0x27, 0x5D, 0x67, 0xA9,
|
||||
0x40, 0x76, 0x6F, 0xA9, 0xB5, 0x5B, 0xEA, 0x47, 0x37, 0x58, 0x45, 0x5A, 0x40, 0x29, 0x25, 0xF1,
|
||||
0x3D, 0x45, 0x26, 0x50, 0x64, 0x03, 0x8F, 0xC0, 0x53, 0x28, 0x99, 0x36, 0x4D, 0xD2, 0x90, 0x11,
|
||||
0x38, 0x84, 0x73, 0x08, 0x12, 0x42, 0x85, 0xB3, 0x28, 0x01, 0xC5, 0x7C, 0x86, 0x91, 0xA5, 0x03,
|
||||
0x6E, 0xC9, 0x70, 0xDF, 0x9D, 0x73, 0x4D, 0x7D, 0xE3, 0x97, 0xBF, 0x76, 0xFF, 0xDE, 0xE2, 0x09,
|
||||
0x03, 0x90, 0x2C, 0x24, 0xAC, 0x00, 0x2B, 0xA5, 0x64, 0x76, 0xAE, 0xE1, 0xCE, 0x58, 0xBF, 0x9C,
|
||||
0xFE, 0x9E, 0x1C, 0xF7, 0x7E, 0xF6, 0xBD, 0xC7, 0xF7, 0x80, 0x81, 0x8D, 0x57, 0xB2, 0xB4, 0xAF,
|
||||
0xC8, 0x4C, 0x2D, 0x14, 0xAD, 0x48, 0x0B, 0x92, 0xE9, 0xD2, 0x0B, 0x46, 0xFA, 0x82, 0xCD, 0xCF,
|
||||
0xEC, 0xC5, 0xCF, 0x66, 0x9F, 0x3A, 0x69, 0xC5, 0x60, 0x54, 0x2C, 0x64, 0x4F, 0x0B, 0xC3, 0x28,
|
||||
0x17, 0xB6, 0x42, 0x9C, 0xD1, 0x47, 0x2D, 0x6B, 0xDB, 0x96, 0xB2, 0x88, 0xD4, 0xE5, 0x85, 0x4B,
|
||||
0xF6, 0x18, 0x14, 0xC9, 0xE3, 0x6C, 0x81, 0x92, 0xE4, 0x03, 0x45, 0x21, 0xA3, 0x28, 0xE5, 0x7C,
|
||||
0xCA, 0x39, 0x9F, 0x52, 0xC6, 0x23, 0xEB, 0x2B, 0x7C, 0x49, 0xBA, 0x1F, 0x69, 0x13, 0x4B, 0xBB,
|
||||
0x64, 0x5E, 0x17, 0xCE, 0x20, 0xAC, 0xEE, 0xC4, 0x7B, 0x20, 0x05, 0xBD, 0xE5, 0x02, 0xA3, 0xCB,
|
||||
0x06, 0xA3, 0x9E, 0x4A, 0xE9, 0xDB, 0x5B, 0xF6, 0x4C, 0xFE, 0xFD, 0x6D, 0x3F, 0x7F, 0xF6, 0x48,
|
||||
0x71, 0xA0, 0x94, 0xCE, 0xB1, 0x47, 0x0D, 0x6C, 0xAD, 0x25, 0x97, 0x0B, 0xB8, 0xEA, 0x9C, 0x93,
|
||||
0x68, 0x86, 0x9A, 0x0F, 0xDF, 0xF8, 0x5F, 0xB8, 0xEB, 0xFF, 0xDC, 0xB4, 0x88, 0x07, 0x9C, 0xFF,
|
||||
0x31, 0x0A, 0xD9, 0x00, 0x29, 0x05, 0xCE, 0x39, 0x91, 0xEA, 0xAC, 0x00, 0x1F, 0xC8, 0x00, 0x39,
|
||||
0x6D, 0x6C, 0xA6, 0x98, 0xCF, 0xE4, 0x2F, 0xDA, 0xB8, 0xFC, 0x2A, 0x11, 0x87, 0x37, 0xEC, 0xDD,
|
||||
0x3B, 0xBE, 0x6A, 0x7C, 0x7C, 0x82, 0x66, 0xB3, 0x99, 0xF6, 0x03, 0x12, 0xEB, 0x0B, 0x25, 0x91,
|
||||
0x4A, 0xCD, 0x93, 0xF6, 0x66, 0x87, 0x52, 0xE9, 0x76, 0x7B, 0xBB, 0x84, 0xEE, 0xB4, 0xC8, 0x44,
|
||||
0x47, 0x73, 0x21, 0xDA, 0x0F, 0x45, 0xBA, 0xA4, 0x35, 0x8F, 0x43, 0xE0, 0x50, 0x02, 0xB2, 0xD9,
|
||||
0x80, 0x81, 0xBE, 0x1E, 0x06, 0x06, 0x7B, 0xA7, 0x5B, 0x56, 0xDE, 0xF6, 0xC0, 0xD6, 0x03, 0xDF,
|
||||
0x7A, 0x69, 0xB2, 0x36, 0xE3, 0x7B, 0x32, 0x22, 0xF9, 0xEF, 0x93, 0x56, 0x7A, 0x0E, 0x81, 0x18,
|
||||
0xD0, 0x4A, 0x0A, 0x7B, 0xCE, 0xA9, 0xA3, 0xEE, 0x47, 0x9F, 0xF9, 0xA6, 0xBB, 0xEB, 0xA1, 0xCF,
|
||||
0x72, 0xF5, 0xB9, 0x27, 0x2F, 0xE2, 0x01, 0xA3, 0x17, 0x12, 0xCF, 0x35, 0x50, 0x59, 0x5F, 0xC8,
|
||||
0x64, 0x1D, 0xAB, 0x80, 0x00, 0xC8, 0x02, 0x45, 0xA0, 0x2C, 0xA5, 0xE8, 0x8D, 0xB5, 0xED, 0xDB,
|
||||
0x31, 0x36, 0x3D, 0xE3, 0x67, 0x33, 0x2F, 0xAE, 0x1C, 0x19, 0x2C, 0xF4, 0xF5, 0x14, 0x87, 0x04,
|
||||
0x78, 0xCE, 0x18, 0x04, 0x16, 0x25, 0x93, 0xAC, 0xED, 0x49, 0x50, 0x42, 0xA0, 0x64, 0xD2, 0x29,
|
||||
0x92, 0x24, 0x22, 0x52, 0x0B, 0xCB, 0xD4, 0xA5, 0x85, 0x33, 0xF3, 0x2C, 0x9E, 0x48, 0x12, 0xE7,
|
||||
0xC2, 0x26, 0xF7, 0x94, 0x58, 0xB2, 0xBE, 0x47, 0x6F, 0xA5, 0xC8, 0xB2, 0xA5, 0x03, 0xA6, 0x50,
|
||||
0x2E, 0xBD, 0xB0, 0xF3, 0x70, 0xED, 0xF6, 0x9F, 0x3D, 0xBD, 0xEF, 0xF1, 0x5A, 0x33, 0xCA, 0x78,
|
||||
0x4A, 0x16, 0x52, 0x23, 0xB5, 0x9F, 0x96, 0x4A, 0xD8, 0x4B, 0x43, 0xC1, 0x5A, 0xE7, 0xC2, 0x48,
|
||||
0xBB, 0xBF, 0xFC, 0xE8, 0x3B, 0xF9, 0xE5, 0x96, 0xFD, 0x3C, 0x75, 0xDF, 0xAD, 0xC7, 0x12, 0x50,
|
||||
0x38, 0xF9, 0xCD, 0x54, 0x7A, 0x8B, 0x44, 0xDA, 0x08, 0x29, 0x84, 0x24, 0x59, 0x30, 0x05, 0x40,
|
||||
0x1E, 0x28, 0x03, 0xBD, 0x40, 0xBF, 0x10, 0x0C, 0x48, 0x21, 0x06, 0x0F, 0x4D, 0x37, 0xBC, 0x03,
|
||||
0x53, 0x8D, 0x03, 0x95, 0x9E, 0xE2, 0xDC, 0x8A, 0x65, 0x03, 0xA5, 0x9E, 0x52, 0xBE, 0x20, 0x85,
|
||||
0x94, 0xAE, 0xAB, 0x7A, 0x4B, 0x2C, 0x67, 0x3B, 0xC0, 0x65, 0x1A, 0xCB, 0x12, 0xDB, 0x05, 0xD6,
|
||||
0xCE, 0x07, 0x9E, 0x82, 0x97, 0x24, 0x44, 0x66, 0x03, 0x9F, 0xDE, 0x9E, 0x22, 0x4B, 0x87, 0xFB,
|
||||
0xE9, 0x1B, 0xE8, 0x9D, 0x3E, 0xDC, 0x30, 0x8F, 0x6D, 0x7E, 0xEE, 0xE0, 0x43, 0xBB, 0xC6, 0x67,
|
||||
0x66, 0x85, 0xA0, 0x24, 0x84, 0x28, 0xA4, 0x46, 0x0A, 0xBA, 0x42, 0xDB, 0x92, 0xF4, 0xD0, 0x34,
|
||||
0x60, 0x85, 0x10, 0xB6, 0x15, 0x6A, 0xFA, 0x4A, 0x39, 0xB7, 0xEB, 0xC0, 0x24, 0xFB, 0x1E, 0xBF,
|
||||
0xEB, 0x58, 0x02, 0xD6, 0x5F, 0x70, 0x1D, 0x2B, 0x86, 0x7B, 0x38, 0x3C, 0x5D, 0x97, 0x2E, 0x8D,
|
||||
0xFD, 0x94, 0xD5, 0x36, 0x01, 0x15, 0xA0, 0xAF, 0x2D, 0x52, 0x88, 0x5E, 0xAD, 0x6D, 0x79, 0x7C,
|
||||
0xAA, 0xD6, 0x3C, 0x52, 0x8B, 0x0F, 0xF6, 0xF4, 0x94, 0x1A, 0xCB, 0x96, 0xF4, 0x65, 0x06, 0x7A,
|
||||
0xCB, 0x99, 0x6C, 0x36, 0x90, 0x2A, 0xDD, 0x5D, 0x92, 0x0B, 0xAC, 0xDF, 0x26, 0xA1, 0x9D, 0xD4,
|
||||
0xDA, 0x16, 0x4E, 0xBC, 0x24, 0x79, 0x04, 0x37, 0x1B, 0xF8, 0x14, 0x8B, 0x39, 0x06, 0xFA, 0x7A,
|
||||
0x18, 0x1E, 0xEE, 0xB7, 0xA5, 0x4A, 0xCF, 0xDC, 0x74, 0xC4, 0xCE, 0x27, 0x76, 0x4F, 0x3E, 0xB3,
|
||||
0x6D, 0xEF, 0xE4, 0xC1, 0x30, 0xD2, 0x9E, 0x94, 0x22, 0x9F, 0xEA, 0x17, 0xA4, 0xBA, 0xB6, 0x9F,
|
||||
0x59, 0x35, 0xA9, 0xEB, 0x47, 0xED, 0x10, 0x20, 0xE9, 0x9C, 0xB9, 0xB1, 0x23, 0x73, 0xEE, 0xE0,
|
||||
0x74, 0x83, 0xE6, 0x0B, 0xF7, 0x1D, 0xBB, 0x1C, 0x56, 0x69, 0x5C, 0x2E, 0xD8, 0x67, 0x6C, 0x27,
|
||||
0x42, 0x95, 0x0E, 0xE2, 0xA7, 0x03, 0x06, 0x40, 0x46, 0x08, 0x32, 0x02, 0x91, 0x99, 0xA9, 0x35,
|
||||
0x79, 0xF4, 0x85, 0xE6, 0xDE, 0x52, 0x3E, 0x33, 0x31, 0x3A, 0x50, 0x1C, 0x58, 0x32, 0xB4, 0x64,
|
||||
0xC9, 0xE0, 0x12, 0xD7, 0x6F, 0xA2, 0xB0, 0xD0, 0x6A, 0xB6, 0xBC, 0x56, 0x2B, 0x24, 0x8A, 0x22,
|
||||
0x74, 0x6C, 0xB0, 0xF6, 0x68, 0x67, 0x56, 0x4A, 0x81, 0x54, 0x12, 0xDF, 0xF3, 0x08, 0x02, 0x9F,
|
||||
0x4C, 0x26, 0x20, 0x9B, 0xCD, 0x90, 0xCB, 0x65, 0x8D, 0xF4, 0xFD, 0x56, 0xD3, 0x30, 0xB3, 0x6F,
|
||||
0xA6, 0x75, 0x68, 0xCF, 0xC4, 0xF4, 0x91, 0xA9, 0xB9, 0x56, 0xDD, 0xE1, 0xAC, 0x14, 0x22, 0x07,
|
||||
0x22, 0x4E, 0xC1, 0xB5, 0x5D, 0x3D, 0xEE, 0xD2, 0xCB, 0x4B, 0xF5, 0x95, 0xA9, 0x74, 0xF2, 0x9D,
|
||||
0x36, 0x4E, 0xD8, 0x74, 0xBD, 0x7E, 0x0C, 0x01, 0xA6, 0xF3, 0x9C, 0xCE, 0xBC, 0x8F, 0xDB, 0x71,
|
||||
0xD4, 0xCD, 0x6A, 0x98, 0x4A, 0x7B, 0x5F, 0xDA, 0x09, 0x21, 0xAC, 0x00, 0xAF, 0xD6, 0x88, 0xEC,
|
||||
0xB6, 0xBD, 0x93, 0x8D, 0xE7, 0x95, 0x1C, 0xAB, 0x14, 0x32, 0xB9, 0xC1, 0x9E, 0x5C, 0xB9, 0xBF,
|
||||
0x58, 0xAE, 0x94, 0xCB, 0xB2, 0xE4, 0x4B, 0xF2, 0x9E, 0x20, 0x27, 0x70, 0x7E, 0xB2, 0xA9, 0x97,
|
||||
0xF4, 0x4B, 0xA4, 0x94, 0x0E, 0x21, 0x63, 0xED, 0x68, 0xC5, 0x96, 0x66, 0x2B, 0xB6, 0xF5, 0xF1,
|
||||
0xE9, 0x70, 0xF6, 0xD0, 0xCC, 0xDC, 0xDC, 0x74, 0xAD, 0xD5, 0x88, 0x62, 0xA3, 0x11, 0x38, 0x29,
|
||||
0x84, 0x15, 0x49, 0x73, 0xBC, 0xAD, 0x4B, 0x9C, 0xEA, 0xD1, 0xEA, 0xD2, 0xA9, 0x93, 0xF8, 0xDA,
|
||||
0xF1, 0xDF, 0x6D, 0xCE, 0xC0, 0x57, 0xAE, 0xFD, 0xF6, 0x18, 0x02, 0x76, 0x8D, 0x4F, 0x93, 0xCF,
|
||||
0xD4, 0x88, 0x8D, 0x71, 0x4A, 0xCA, 0x36, 0x70, 0x9D, 0x82, 0x6E, 0x74, 0x25, 0x19, 0xD2, 0x41,
|
||||
0x9A, 0x69, 0xEC, 0x65, 0xD3, 0xCF, 0x93, 0xC7, 0x78, 0x84, 0xF0, 0x9C, 0x73, 0x72, 0xAA, 0xDA,
|
||||
0x94, 0x47, 0xE6, 0x9A, 0x07, 0x85, 0x40, 0x7A, 0x4A, 0xAA, 0x8C, 0xEF, 0x79, 0xB9, 0x8C, 0xE7,
|
||||
0x67, 0x7D, 0x15, 0x28, 0x21, 0x54, 0xBA, 0x45, 0xE3, 0xAC, 0xC5, 0x46, 0xDA, 0xE8, 0x46, 0x18,
|
||||
0xC7, 0xAD, 0xC8, 0xC4, 0xDA, 0x58, 0x6B, 0x9D, 0xB3, 0x49, 0x57, 0x5E, 0x38, 0x29, 0x85, 0x65,
|
||||
0x7E, 0x4C, 0xEB, 0x2E, 0xBD, 0xDA, 0x04, 0x34, 0x80, 0x2A, 0x30, 0x9B, 0x9E, 0x1B, 0xE9, 0x77,
|
||||
0x6D, 0x22, 0x9C, 0xA7, 0x04, 0x6F, 0x39, 0x7B, 0x2D, 0xBB, 0xC7, 0xA6, 0xF8, 0xE9, 0x62, 0x04,
|
||||
0xD4, 0x1B, 0x21, 0xF5, 0x23, 0x73, 0xE4, 0xFA, 0x8A, 0xDD, 0x96, 0x6F, 0x03, 0x6D, 0x67, 0x56,
|
||||
0x9D, 0xBE, 0xAF, 0x02, 0xB9, 0x14, 0x7C, 0x9B, 0x98, 0xB6, 0x78, 0x80, 0x12, 0x42, 0x28, 0x95,
|
||||
0xFC, 0xC3, 0x98, 0xB4, 0xD6, 0xC9, 0x46, 0x2B, 0x16, 0xF5, 0x56, 0x24, 0xE9, 0xD8, 0xE0, 0xA8,
|
||||
0x6B, 0x0A, 0x91, 0xB4, 0xD4, 0x84, 0x48, 0xB6, 0x23, 0x94, 0xE8, 0x80, 0xEE, 0x06, 0xDF, 0x4D,
|
||||
0x40, 0xDB, 0x1B, 0x23, 0x8E, 0x4E, 0x7B, 0x0D, 0xA0, 0x96, 0xEA, 0x56, 0x4D, 0x3F, 0x8B, 0x01,
|
||||
0xE3, 0x9C, 0x73, 0xC3, 0xBD, 0x25, 0xF7, 0xBA, 0x93, 0x96, 0x52, 0xC8, 0x07, 0x8B, 0x13, 0x80,
|
||||
0x10, 0xE4, 0xFB, 0x4B, 0x48, 0x21, 0x3A, 0x2D, 0xC0, 0x54, 0xC9, 0xB0, 0x2B, 0xB9, 0x84, 0xE9,
|
||||
0x20, 0x6D, 0xCB, 0xB7, 0xE3, 0xAE, 0x1B, 0x7C, 0x3B, 0x06, 0xDB, 0x71, 0xA8, 0x20, 0x9D, 0xF2,
|
||||
0x11, 0xB2, 0xB3, 0x39, 0x37, 0x9F, 0x04, 0xD7, 0x75, 0xB6, 0x5D, 0xE7, 0xE3, 0x59, 0x7F, 0x31,
|
||||
0x12, 0x42, 0xE6, 0xD7, 0x01, 0xED, 0x24, 0x68, 0x00, 0xE7, 0xFB, 0xCA, 0x7D, 0xE0, 0xBA, 0x73,
|
||||
0x78, 0x70, 0xCB, 0x5E, 0x3E, 0xB7, 0x28, 0x01, 0x0F, 0x7E, 0x02, 0xF9, 0xE6, 0x4F, 0x2C, 0x8C,
|
||||
0x7F, 0xDD, 0xA5, 0x8C, 0x4E, 0x6F, 0xEE, 0x2F, 0x22, 0x0B, 0x81, 0x77, 0x13, 0xD0, 0x9D, 0x8C,
|
||||
0xDA, 0x49, 0xF5, 0x78, 0xC7, 0xF1, 0x08, 0x68, 0x8F, 0x6F, 0xBA, 0xA4, 0x1D, 0xEB, 0x71, 0x97,
|
||||
0x44, 0x5D, 0x9F, 0xB5, 0xAF, 0x77, 0x80, 0xDB, 0xB6, 0x65, 0x3F, 0x1B, 0xFE, 0xE8, 0xF3, 0x8C,
|
||||
0x4D, 0xCC, 0xC1, 0xA2, 0x04, 0x1C, 0xAB, 0x48, 0xFB, 0xDC, 0x4D, 0x40, 0xDC, 0x65, 0xD5, 0xC5,
|
||||
0xC0, 0x76, 0xBF, 0x6E, 0x17, 0x53, 0x62, 0x81, 0xBC, 0x12, 0x01, 0xDD, 0x63, 0x2E, 0x46, 0x84,
|
||||
0x59, 0x40, 0x48, 0x77, 0x88, 0x98, 0x45, 0xAE, 0x47, 0x08, 0xE1, 0x0A, 0x03, 0x45, 0x76, 0x8D,
|
||||
0x4D, 0x71, 0xFD, 0x25, 0x1B, 0xE7, 0xB9, 0xDE, 0x31, 0x47, 0x71, 0xBE, 0x17, 0x74, 0x5F, 0xDB,
|
||||
0x0D, 0xA0, 0xFB, 0xB5, 0x5C, 0xE4, 0xBB, 0xEE, 0xCF, 0xBA, 0x85, 0x45, 0xCE, 0x0B, 0x09, 0x5F,
|
||||
0x48, 0xC4, 0x42, 0x42, 0x16, 0x92, 0xB3, 0xF0, 0xBC, 0xF0, 0xF7, 0x9D, 0xA3, 0x76, 0xEF, 0xC7,
|
||||
0x8E, 0x01, 0xF5, 0x6A, 0x49, 0x58, 0x4C, 0xF1, 0x85, 0xC4, 0x74, 0xBF, 0x7E, 0x25, 0xC0, 0xAF,
|
||||
0x74, 0x1C, 0x8F, 0x90, 0xC5, 0xC8, 0xE1, 0x65, 0xCE, 0x8B, 0x82, 0x07, 0xF8, 0xBF, 0xBC, 0x7A,
|
||||
0x38, 0x97, 0x7C, 0xD1, 0xFC, 0xA1, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61,
|
||||
0x74, 0x65, 0x3A, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x32, 0x30, 0x2D, 0x30,
|
||||
0x33, 0x2D, 0x31, 0x39, 0x54, 0x31, 0x30, 0x3A, 0x35, 0x30, 0x3A, 0x35, 0x38, 0x2B, 0x30, 0x30,
|
||||
0x3A, 0x30, 0x30, 0x62, 0x40, 0x28, 0xF1, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64,
|
||||
0x61, 0x74, 0x65, 0x3A, 0x6D, 0x6F, 0x64, 0x69, 0x66, 0x79, 0x00, 0x32, 0x30, 0x31, 0x39, 0x2D,
|
||||
0x30, 0x31, 0x2D, 0x30, 0x38, 0x54, 0x31, 0x35, 0x3A, 0x35, 0x34, 0x3A, 0x32, 0x33, 0x2B, 0x30,
|
||||
0x30, 0x3A, 0x30, 0x30, 0x8A, 0xEF, 0xF9, 0x19, 0x00, 0x00, 0x00, 0x20, 0x74, 0x45, 0x58, 0x74,
|
||||
0x73, 0x6F, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F,
|
||||
0x2F, 0x69, 0x6D, 0x61, 0x67, 0x65, 0x6D, 0x61, 0x67, 0x69, 0x63, 0x6B, 0x2E, 0x6F, 0x72, 0x67,
|
||||
0xBC, 0xCF, 0x1D, 0x9D, 0x00, 0x00, 0x00, 0x18, 0x74, 0x45, 0x58, 0x74, 0x54, 0x68, 0x75, 0x6D,
|
||||
0x62, 0x3A, 0x3A, 0x44, 0x6F, 0x63, 0x75, 0x6D, 0x65, 0x6E, 0x74, 0x3A, 0x3A, 0x50, 0x61, 0x67,
|
||||
0x65, 0x73, 0x00, 0x31, 0xA7, 0xFF, 0xBB, 0x2F, 0x00, 0x00, 0x00, 0x18, 0x74, 0x45, 0x58, 0x74,
|
||||
0x54, 0x68, 0x75, 0x6D, 0x62, 0x3A, 0x3A, 0x49, 0x6D, 0x61, 0x67, 0x65, 0x3A, 0x3A, 0x48, 0x65,
|
||||
0x69, 0x67, 0x68, 0x74, 0x00, 0x31, 0x32, 0x38, 0x43, 0x7C, 0x41, 0x80, 0x00, 0x00, 0x00, 0x17,
|
||||
0x74, 0x45, 0x58, 0x74, 0x54, 0x68, 0x75, 0x6D, 0x62, 0x3A, 0x3A, 0x49, 0x6D, 0x61, 0x67, 0x65,
|
||||
0x3A, 0x3A, 0x57, 0x69, 0x64, 0x74, 0x68, 0x00, 0x31, 0x32, 0x38, 0xD0, 0x8D, 0x11, 0xDD, 0x00,
|
||||
0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x54, 0x68, 0x75, 0x6D, 0x62, 0x3A, 0x3A, 0x4D, 0x69,
|
||||
0x6D, 0x65, 0x74, 0x79, 0x70, 0x65, 0x00, 0x69, 0x6D, 0x61, 0x67, 0x65, 0x2F, 0x70, 0x6E, 0x67,
|
||||
0x3F, 0xB2, 0x56, 0x4E, 0x00, 0x00, 0x00, 0x17, 0x74, 0x45, 0x58, 0x74, 0x54, 0x68, 0x75, 0x6D,
|
||||
0x62, 0x3A, 0x3A, 0x4D, 0x54, 0x69, 0x6D, 0x65, 0x00, 0x31, 0x35, 0x34, 0x36, 0x39, 0x36, 0x32,
|
||||
0x38, 0x36, 0x33, 0x1F, 0x1E, 0xB3, 0x01, 0x00, 0x00, 0x00, 0x12, 0x74, 0x45, 0x58, 0x74, 0x54,
|
||||
0x68, 0x75, 0x6D, 0x62, 0x3A, 0x3A, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x31, 0x39, 0x32, 0x37, 0x34,
|
||||
0x42, 0x0A, 0x19, 0xAB, 0x42, 0x00, 0x00, 0x00, 0x56, 0x74, 0x45, 0x58, 0x74, 0x54, 0x68, 0x75,
|
||||
0x6D, 0x62, 0x3A, 0x3A, 0x55, 0x52, 0x49, 0x00, 0x66, 0x69, 0x6C, 0x65, 0x3A, 0x2F, 0x2F, 0x2F,
|
||||
0x64, 0x61, 0x74, 0x61, 0x2F, 0x77, 0x77, 0x77, 0x72, 0x6F, 0x6F, 0x74, 0x2F, 0x77, 0x77, 0x77,
|
||||
0x2E, 0x65, 0x61, 0x73, 0x79, 0x69, 0x63, 0x6F, 0x6E, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x63, 0x64,
|
||||
0x6E, 0x2D, 0x69, 0x6D, 0x67, 0x2E, 0x65, 0x61, 0x73, 0x79, 0x69, 0x63, 0x6F, 0x6E, 0x2E, 0x63,
|
||||
0x6E, 0x2F, 0x66, 0x69, 0x6C, 0x65, 0x73, 0x2F, 0x32, 0x2F, 0x32, 0x39, 0x31, 0x36, 0x35, 0x2E,
|
||||
0x70, 0x6E, 0x67, 0xBF, 0x98, 0x5F, 0xE5, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4E, 0x44, 0xAE,
|
||||
0x42, 0x60, 0x82
|
||||
};
|
||||
|
||||
void *get_window_icon_raw_data(int *len)
|
||||
{
|
||||
*len = (int)sizeof(window_icon_hexData);
|
||||
return window_icon_hexData;
|
||||
}
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/mount.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/limits.h>
|
||||
#include <dirent.h>
|
||||
#include <pthread.h>
|
||||
#include <ventoy_define.h>
|
||||
@ -160,9 +161,10 @@ static int ventoy_http_save_cfg(void)
|
||||
{
|
||||
FILE *fp;
|
||||
|
||||
fp = fopen("./Ventoy2Disk.ini", "w");
|
||||
fp = fopen(g_ini_file, "w");
|
||||
if (!fp)
|
||||
{
|
||||
vlog("Failed to open %s code:%d\n", g_ini_file, errno);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -180,7 +182,7 @@ static int ventoy_http_load_cfg(void)
|
||||
char line[256];
|
||||
FILE *fp;
|
||||
|
||||
fp = fopen("./Ventoy2Disk.ini", "r");
|
||||
fp = fopen(g_ini_file, "r");
|
||||
if (!fp)
|
||||
{
|
||||
return 0;
|
||||
@ -1499,7 +1501,7 @@ int ventoy_http_start(const char *ip, const char *port)
|
||||
{
|
||||
"listening_ports", "24680",
|
||||
"document_root", "WebUI",
|
||||
"error_log_file", VTOY_LOG_FILE,
|
||||
"error_log_file", g_log_file,
|
||||
"request_timeout_ms", "10000",
|
||||
NULL
|
||||
};
|
||||
|
@ -8,10 +8,15 @@
|
||||
#include <errno.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <linux/limits.h>
|
||||
#include <ventoy_define.h>
|
||||
#include <ventoy_util.h>
|
||||
#include "ventoy_gtk.h"
|
||||
|
||||
char g_log_file[PATH_MAX];
|
||||
char g_ini_file[PATH_MAX];
|
||||
|
||||
static int set_image_from_pixbuf(GtkBuilder *pBuilder, const char *id, const void *pData, int len)
|
||||
{
|
||||
GtkImage *pImage = NULL;
|
||||
@ -53,6 +58,7 @@ int early_msgbox(GtkMessageType type, GtkButtonsType buttons, const char *str)
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int i;
|
||||
int len;
|
||||
const void *pData = NULL;
|
||||
GtkWidget *pWidget = NULL;
|
||||
@ -74,6 +80,20 @@ int main(int argc, char *argv[])
|
||||
return 1;
|
||||
}
|
||||
|
||||
snprintf(g_log_file, sizeof(g_log_file), "log.txt");
|
||||
snprintf(g_ini_file, sizeof(g_ini_file), "./Ventoy2Disk.ini");
|
||||
for (i = 0; i < argc; i++)
|
||||
{
|
||||
if (argv[i] && argv[i + 1] && strcmp(argv[i], "-l") == 0)
|
||||
{
|
||||
snprintf(g_log_file, sizeof(g_log_file), "%s", argv[i + 1]);
|
||||
}
|
||||
else if (argv[i] && argv[i + 1] && strcmp(argv[i], "-i") == 0)
|
||||
{
|
||||
snprintf(g_ini_file, sizeof(g_ini_file), "%s", argv[i + 1]);
|
||||
}
|
||||
}
|
||||
|
||||
ventoy_log_init();
|
||||
|
||||
vlog("================================================\n");
|
||||
@ -113,6 +133,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
on_init_window(pBuilder);
|
||||
g_signal_connect(G_OBJECT(pWidget), "delete_event", G_CALLBACK(on_exit_window), NULL);
|
||||
g_signal_connect(G_OBJECT(pWidget), "destroy", G_CALLBACK(gtk_main_quit), NULL);
|
||||
|
||||
gtk_main();
|
||||
|
||||
|
@ -7,12 +7,17 @@
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/types.h>
|
||||
#include <linux/limits.h>
|
||||
#include <ventoy_define.h>
|
||||
#include <ventoy_util.h>
|
||||
#include <ventoy_json.h>
|
||||
#include <ventoy_disk.h>
|
||||
#include <ventoy_http.h>
|
||||
|
||||
char g_log_file[PATH_MAX];
|
||||
char g_ini_file[PATH_MAX];
|
||||
|
||||
int ventoy_log_init(void);
|
||||
void ventoy_log_exit(void);
|
||||
|
||||
@ -30,6 +35,7 @@ void ventoy_signal_stop(int sig)
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int i;
|
||||
int rc;
|
||||
const char *ip = "127.0.0.1";
|
||||
const char *port = "24680";
|
||||
@ -50,6 +56,20 @@ int main(int argc, char **argv)
|
||||
port = argv[2];
|
||||
}
|
||||
|
||||
snprintf(g_log_file, sizeof(g_log_file), "log.txt");
|
||||
snprintf(g_ini_file, sizeof(g_ini_file), "./Ventoy2Disk.ini");
|
||||
for (i = 0; i < argc; i++)
|
||||
{
|
||||
if (argv[i] && argv[i + 1] && strcmp(argv[i], "-l") == 0)
|
||||
{
|
||||
snprintf(g_log_file, sizeof(g_log_file), "%s", argv[i + 1]);
|
||||
}
|
||||
else if (argv[i] && argv[i + 1] && strcmp(argv[i], "-i") == 0)
|
||||
{
|
||||
snprintf(g_ini_file, sizeof(g_ini_file), "%s", argv[i + 1]);
|
||||
}
|
||||
}
|
||||
|
||||
ventoy_log_init();
|
||||
|
||||
vlog("===============================================\n");
|
||||
|
@ -9,9 +9,11 @@
|
||||
#include <dirent.h>
|
||||
#include <sys/utsname.h>
|
||||
#include <sys/types.h>
|
||||
#include <linux/limits.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/fcntl.h>
|
||||
#include <sys/mman.h>
|
||||
#include "ventoy_json.h"
|
||||
|
||||
#define LIB_FLAG_GTK2 (1 << 0)
|
||||
#define LIB_FLAG_GTK3 (1 << 1)
|
||||
@ -31,6 +33,7 @@
|
||||
#define LD_CACHE_FILE "/etc/ld.so.cache"
|
||||
#define INT2STR_YN(a) ((a) == 0 ? "NO" : "YES")
|
||||
|
||||
static char g_log_file[PATH_MAX];
|
||||
static char *g_log_buf = NULL;
|
||||
extern char ** environ;
|
||||
|
||||
@ -78,7 +81,9 @@ struct cache_file_new
|
||||
(((addr) + __alignof__ (struct cache_file_new) -1) \
|
||||
& (~(__alignof__ (struct cache_file_new) - 1)))
|
||||
|
||||
static void vlog(const char *Fmt, ...)
|
||||
#define vlog(fmt, args...) ventoy_syslog(0, fmt, ##args)
|
||||
|
||||
void ventoy_syslog(int level, const char *Fmt, ...)
|
||||
{
|
||||
int buflen;
|
||||
char *buf = NULL;
|
||||
@ -87,6 +92,8 @@ static void vlog(const char *Fmt, ...)
|
||||
time_t stamp;
|
||||
struct tm ttm;
|
||||
FILE *fp;
|
||||
|
||||
(void)level;
|
||||
|
||||
time(&stamp);
|
||||
localtime_r(&stamp, &ttm);
|
||||
@ -106,7 +113,7 @@ static void vlog(const char *Fmt, ...)
|
||||
vsnprintf(buf, buflen, Fmt, arg);
|
||||
va_end(arg);
|
||||
|
||||
fp = fopen("log.txt", "a+");
|
||||
fp = fopen(g_log_file, "a+");
|
||||
if (fp)
|
||||
{
|
||||
fprintf(fp, "[%04u/%02u/%02u %02u:%02u:%02u] %s",
|
||||
@ -116,10 +123,12 @@ static void vlog(const char *Fmt, ...)
|
||||
fclose(fp);
|
||||
}
|
||||
|
||||
#if 0
|
||||
printf("[%04u/%02u/%02u %02u:%02u:%02u] %s",
|
||||
ttm.tm_year + 1900, ttm.tm_mon, ttm.tm_mday,
|
||||
ttm.tm_hour, ttm.tm_min, ttm.tm_sec,
|
||||
buf);
|
||||
#endif
|
||||
}
|
||||
|
||||
static int is_gtk_env(void)
|
||||
@ -223,16 +232,16 @@ static int detect_qt_version(int libflag)
|
||||
return 5;
|
||||
}
|
||||
|
||||
if (qt4 > 0)
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
|
||||
if (qt6 > 0)
|
||||
{
|
||||
return 6;
|
||||
}
|
||||
|
||||
if (qt4 > 0)
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -622,7 +631,7 @@ static int ld_cache_lib_check(const char *lib, int *flag)
|
||||
|
||||
if (((*flag) & LIB_FLAG_QT4) == 0)
|
||||
{
|
||||
if (strncmp(lib, "libqt4", 6) == 0)
|
||||
if (strncmp(lib, "libQt4", 6) == 0)
|
||||
{
|
||||
vlog("LIB:<%s>\n", lib);
|
||||
*flag |= LIB_FLAG_QT4;
|
||||
@ -632,7 +641,7 @@ static int ld_cache_lib_check(const char *lib, int *flag)
|
||||
|
||||
if (((*flag) & LIB_FLAG_QT5) == 0)
|
||||
{
|
||||
if (strncmp(lib, "libqt5", 6) == 0)
|
||||
if (strncmp(lib, "libQt5", 6) == 0)
|
||||
{
|
||||
vlog("LIB:<%s>\n", lib);
|
||||
*flag |= LIB_FLAG_QT5;
|
||||
@ -642,7 +651,7 @@ static int ld_cache_lib_check(const char *lib, int *flag)
|
||||
|
||||
if (((*flag) & LIB_FLAG_QT6) == 0)
|
||||
{
|
||||
if (strncmp(lib, "libqt6", 6) == 0)
|
||||
if (strncmp(lib, "libQt6", 6) == 0)
|
||||
{
|
||||
vlog("LIB:<%s>\n", lib);
|
||||
*flag |= LIB_FLAG_QT6;
|
||||
@ -783,6 +792,176 @@ static int parse_ld_cache(int *flag)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int gui_type_check(VTOY_JSON *pstNode)
|
||||
{
|
||||
FILE *fp = NULL;
|
||||
const char *env = NULL;
|
||||
const char *arch = NULL;
|
||||
const char *srctype = NULL;
|
||||
const char *srcname = NULL;
|
||||
const char *condition = NULL;
|
||||
const char *expression = NULL;
|
||||
char line[1024];
|
||||
|
||||
arch = vtoy_json_get_string_ex(pstNode, "arch");
|
||||
srctype = vtoy_json_get_string_ex(pstNode, "type");
|
||||
srcname = vtoy_json_get_string_ex(pstNode, "name");
|
||||
condition = vtoy_json_get_string_ex(pstNode, "condition");
|
||||
expression = vtoy_json_get_string_ex(pstNode, "expression");
|
||||
|
||||
if (srctype == NULL || srcname == NULL || condition == NULL)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (arch && NULL == strstr(arch, VTOY_GUI_ARCH))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
vlog("check <%s> <%s> <%s>\n", srctype, srcname, condition);
|
||||
|
||||
if (strcmp(srctype, "file") == 0)
|
||||
{
|
||||
if (access(srcname, F_OK) == -1)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(condition, "exist") == 0)
|
||||
{
|
||||
vlog("File %s exist\n", srcname);
|
||||
return 1;
|
||||
}
|
||||
else if (strcmp(condition, "contains") == 0)
|
||||
{
|
||||
fp = fopen(srcname, "r");
|
||||
if (fp == NULL)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
while (fgets(line, sizeof(line), fp))
|
||||
{
|
||||
if (strstr(line, expression))
|
||||
{
|
||||
vlog("File %s contains %s\n", srcname, expression);
|
||||
fclose(fp);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
fclose(fp);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else if (strcmp(srctype, "env") == 0)
|
||||
{
|
||||
env = getenv(srcname);
|
||||
if (env == NULL)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strcmp(condition, "exist") == 0)
|
||||
{
|
||||
vlog("env %s exist\n", srcname);
|
||||
return 1;
|
||||
}
|
||||
else if (strcmp(condition, "equal") == 0)
|
||||
{
|
||||
if (strcmp(expression, env) == 0)
|
||||
{
|
||||
vlog("env %s is %s\n", srcname, env);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
else if (strcmp(condition, "contains") == 0)
|
||||
{
|
||||
if (strstr(env, expression))
|
||||
{
|
||||
vlog("env %s is %s contains %s\n", srcname, env, expression);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int read_file_to_buf(const char *FileName, int ExtLen, void **Bufer, int *BufLen)
|
||||
{
|
||||
int FileSize;
|
||||
FILE *fp = NULL;
|
||||
void *Data = NULL;
|
||||
|
||||
fp = fopen(FileName, "rb");
|
||||
if (fp == NULL)
|
||||
{
|
||||
vlog("Failed to open file %s", FileName);
|
||||
return 1;
|
||||
}
|
||||
|
||||
fseek(fp, 0, SEEK_END);
|
||||
FileSize = (int)ftell(fp);
|
||||
|
||||
Data = malloc(FileSize + ExtLen);
|
||||
if (!Data)
|
||||
{
|
||||
fclose(fp);
|
||||
return 1;
|
||||
}
|
||||
|
||||
fseek(fp, 0, SEEK_SET);
|
||||
fread(Data, 1, FileSize, fp);
|
||||
|
||||
fclose(fp);
|
||||
|
||||
*Bufer = Data;
|
||||
*BufLen = FileSize;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int distro_check_gui_env(char *type, int len, int *pver)
|
||||
{
|
||||
int size;
|
||||
int length;
|
||||
char *pBuf = NULL;
|
||||
VTOY_JSON *pstNode = NULL;
|
||||
VTOY_JSON *pstJson = NULL;
|
||||
|
||||
vlog("distro_check_gui_env ...\n");
|
||||
|
||||
if (access("./tool/distro_gui_type.json", F_OK) == -1)
|
||||
{
|
||||
vlog("distro_gui_type.json file not exist\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
read_file_to_buf("./tool/distro_gui_type.json", 1, (void **)&pBuf, &size);
|
||||
pBuf[size] = 0;
|
||||
|
||||
pstJson = vtoy_json_create();
|
||||
vtoy_json_parse(pstJson, pBuf);
|
||||
|
||||
for (pstNode = pstJson->pstChild; pstNode; pstNode = pstNode->pstNext)
|
||||
{
|
||||
if (gui_type_check(pstNode->pstChild))
|
||||
{
|
||||
length = (int)snprintf(type, len, "%s", vtoy_json_get_string_ex(pstNode->pstChild, "gui"));
|
||||
*pver = type[length - 1] - '0';
|
||||
type[length - 1] = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
vtoy_json_destroy(pstJson);
|
||||
return pstNode ? 1 : 0;
|
||||
}
|
||||
|
||||
static int detect_gui_exe_path(const char *curpath, char *pathbuf, int buflen)
|
||||
{
|
||||
int ret;
|
||||
@ -860,7 +1039,12 @@ static int detect_gui_exe_path(const char *curpath, char *pathbuf, int buflen)
|
||||
}
|
||||
else if ((LIB_FLAG_GTK & libflag) > 0 && (LIB_FLAG_QT & libflag) > 0)
|
||||
{
|
||||
if (is_gtk_env())
|
||||
if (distro_check_gui_env(line, sizeof(line), &ver))
|
||||
{
|
||||
guitype = line;
|
||||
vlog("distro_check_gui <%s%d> ...\n", line, ver);
|
||||
}
|
||||
else if (is_gtk_env())
|
||||
{
|
||||
guitype = "gtk";
|
||||
ver = detect_gtk_version(libflag);
|
||||
@ -872,8 +1056,9 @@ static int detect_gui_exe_path(const char *curpath, char *pathbuf, int buflen)
|
||||
}
|
||||
else
|
||||
{
|
||||
vlog("Current X environment is NOT supported.\n");
|
||||
return 1;
|
||||
vlog("Can not distinguish GTK and QT, default use GTK.\n");
|
||||
guitype = "gtk";
|
||||
ver = detect_gtk_version(libflag);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -989,8 +1174,19 @@ int real_main(int argc, char **argv)
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int i;
|
||||
int ret;
|
||||
|
||||
snprintf(g_log_file, sizeof(g_log_file), "log.txt");
|
||||
for (i = 0; i < argc; i++)
|
||||
{
|
||||
if (argv[i] && argv[i + 1] && strcmp(argv[i], "-l") == 0)
|
||||
{
|
||||
snprintf(g_log_file, sizeof(g_log_file), "%s", argv[i + 1]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
g_log_buf = malloc(MAX_LOG_BUF);
|
||||
if (!g_log_buf)
|
||||
{
|
||||
|
@ -81,15 +81,19 @@ build_func() {
|
||||
rm -f ../INSTALL/tool/$toolDir/Ventoy2Disk.${gtkver}_$libsuffix
|
||||
cp -a Ventoy2Disk.${gtkver}_$libsuffix ../INSTALL/tool/$toolDir/Ventoy2Disk.${gtkver}
|
||||
|
||||
$1 -D_FILE_OFFSET_BITS=64 Ventoy2Disk/ventoy_gui.c -DVTOY_GUI_ARCH="\"$toolDir\"" -o VentoyGUI.$toolDir
|
||||
cp -a VentoyGUI.$toolDir ../INSTALL/
|
||||
$1 -O2 -D_FILE_OFFSET_BITS=64 Ventoy2Disk/ventoy_gui.c Ventoy2Disk/Core/ventoy_json.c -I Ventoy2Disk/Core -DVTOY_GUI_ARCH="\"$toolDir\"" -o VentoyGUI.$toolDir
|
||||
cp -a VentoyGUI.$toolDir ../INSTALL/
|
||||
}
|
||||
|
||||
|
||||
build_func "gcc" '64' 'x86_64' 'gtk2'
|
||||
build_func "gcc" '64' 'x86_64' 'gtk3'
|
||||
|
||||
build_func "gcc -m32" '32' 'i386' 'gtk2'
|
||||
build_func "gcc -m32" '32' 'i386' 'gtk3'
|
||||
|
||||
build_func "aarch64-linux-gnu-gcc" 'aa64' 'aarch64' 'gtk3'
|
||||
|
||||
export PATH=/opt/mips-loongson-gcc8-linux-gnu-2021-02-08/bin/:$PATH
|
||||
build_func "mips-linux-gnu-gcc -mips64r2 -mabi=64" 'm64e' 'mips64el' 'gtk3'
|
||||
|
||||
|
168
LinuxGUI/build_qt.sh
Normal file
168
LinuxGUI/build_qt.sh
Normal file
@ -0,0 +1,168 @@
|
||||
#!/bin/bash
|
||||
|
||||
force_copy() {
|
||||
[ -e "$2" ] && rm -f "$2"
|
||||
cp -a "$1" "$2"
|
||||
}
|
||||
|
||||
compile_file() {
|
||||
name=$(basename $2)
|
||||
obj=${name%.*}
|
||||
|
||||
echo "$1 ${obj}.o ..."
|
||||
$1 -O2 -Wall -std=gnu99 -Wno-unused-function -Wno-format-truncation -Wno-address-of-packed-member -DSTATIC=static -DINIT= -D_FILE_OFFSET_BITS=64 \
|
||||
-I./Ventoy2Disk \
|
||||
-I./Ventoy2Disk/Core \
|
||||
-I./Ventoy2Disk/Web \
|
||||
-I./Ventoy2Disk/QT \
|
||||
-I./Ventoy2Disk/Include \
|
||||
-I./Ventoy2Disk/Lib/libhttp/include \
|
||||
-I./Ventoy2Disk/Lib/fat_io_lib/include \
|
||||
-I./Ventoy2Disk/Lib/xz-embedded/linux/include \
|
||||
-I./Ventoy2Disk/Lib/xz-embedded/linux/include/linux \
|
||||
-I./Ventoy2Disk/Lib/xz-embedded/userspace \
|
||||
-I ./Ventoy2Disk/Lib/exfat/src/libexfat \
|
||||
-I ./Ventoy2Disk/Lib/exfat/src/mkfs \
|
||||
-I ./Ventoy2Disk/Lib/fat_io_lib \
|
||||
-c $2 -o ${obj}.o
|
||||
}
|
||||
|
||||
compile_dir() {
|
||||
dir=$1
|
||||
for i in $(ls $dir/*.c); do
|
||||
compile_file "$2" "$i"
|
||||
done
|
||||
}
|
||||
|
||||
compile_lib() {
|
||||
compile_dir ./Ventoy2Disk/Core "$1"
|
||||
compile_dir ./Ventoy2Disk/Web "$1"
|
||||
compile_dir ./Ventoy2Disk/QT "$1"
|
||||
compile_dir ./Ventoy2Disk/Lib/exfat/src/libexfat "$1"
|
||||
compile_dir ./Ventoy2Disk/Lib/exfat/src/mkfs "$1"
|
||||
compile_dir ./Ventoy2Disk/Lib/fat_io_lib "$1"
|
||||
compile_file "$1" Ventoy2Disk/Lib/xz-embedded/linux/lib/decompress_unxz.c
|
||||
|
||||
rm -f libVentoyQT_$3.a
|
||||
$2 -rcs libVentoyQT_$3.a *.o
|
||||
rm -f *.o
|
||||
}
|
||||
|
||||
build_qt() {
|
||||
echo "$1 main.o ..."
|
||||
$1 -c $2 $3 -o main.o ./Ventoy2Disk/QT/main.cpp
|
||||
|
||||
echo "$1 partcfgdialog.o ..."
|
||||
$1 -c $2 $3 -o partcfgdialog.o ./Ventoy2Disk/QT/partcfgdialog.cpp
|
||||
|
||||
echo "$1 ventoy2diskwindow.o ..."
|
||||
$1 -c $2 $3 -o ventoy2diskwindow.o ./Ventoy2Disk/QT/ventoy2diskwindow.cpp
|
||||
|
||||
echo "$1 moc_partcfgdialog.o ..."
|
||||
$1 -c $2 $3 -o moc_partcfgdialog.o ./Ventoy2Disk/QT/build/moc_partcfgdialog.cpp
|
||||
|
||||
echo "$1 moc_ventoy2diskwindow.o ..."
|
||||
$1 -c $2 $3 -o moc_ventoy2diskwindow.o ./Ventoy2Disk/QT/build/moc_ventoy2diskwindow.cpp
|
||||
|
||||
echo "$1 Ventoy2Disk.qt5_${6} ..."
|
||||
$1 $4 -o Ventoy2Disk.qt5_${6} *.o $5
|
||||
rm -f *.o
|
||||
}
|
||||
|
||||
build_qt_app() {
|
||||
|
||||
DEFINES="-DQT_CHECK_EUID -DQT_DEPRECATED_WARNINGS -DSTATIC=static -DINIT= -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB"
|
||||
CXXFLAGS="-pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC $DEFINES -Wno-deprecated-declarations -Wno-deprecated-copy"
|
||||
INCPATH=" -I./Ventoy2Disk -I. -I./Ventoy2Disk/Core -I./Ventoy2Disk/Web -I./Ventoy2Disk/QT -I./Ventoy2Disk/QT/build -I./Ventoy2Disk/Include -I./Ventoy2Disk/Lib/libhttp/include -I./Ventoy2Disk/Lib/fat_io_lib/include -I./Ventoy2Disk/Lib/xz-embedded/linux/include -I./Ventoy2Disk/Lib/xz-embedded/linux/include/linux -I./Ventoy2Disk/Lib/xz-embedded/userspace -I./Ventoy2Disk/Lib/exfat/src/libexfat -I./Ventoy2Disk/Lib/fat_io_lib -I$QT_INC_PATH -I$QT_INC_PATH/QtWidgets -I$QT_INC_PATH/QtGui -I$QT_INC_PATH/QtCore -I. -I."
|
||||
|
||||
SUBLIBS="./libVentoyQT_${2}.a"
|
||||
LIBS="$SUBLIBS $QT_LIB_PATH/libQt5Widgets.so $QT_LIB_PATH/libQt5Gui.so $QT_LIB_PATH/libQt5Core.so -lpthread"
|
||||
|
||||
build_qt "$1" "$CXXFLAGS" "$INCPATH" "$LFLAGS" "$LIBS" "$3"
|
||||
}
|
||||
|
||||
# build QT5 for i386
|
||||
build_qt_i386() {
|
||||
QT_INC_PATH="./EXLIB/i386/usr/include/i386-linux-gnu/qt5"
|
||||
QT_LIB_PATH="./EXLIB/i386/usr/lib/i386-linux-gnu"
|
||||
DEFINES="-DQT_CHECK_EUID -DQT_DEPRECATED_WARNINGS -DSTATIC=static -DINIT= -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB"
|
||||
CXXFLAGS="-pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC $DEFINES -Wno-deprecated-declarations"
|
||||
INCPATH=" -I./Ventoy2Disk -I. -I./Ventoy2Disk/Core -I./Ventoy2Disk/Web -I./Ventoy2Disk/QT -I./Ventoy2Disk/QT/build -I./Ventoy2Disk/Include -I./Ventoy2Disk/Lib/libhttp/include -I./Ventoy2Disk/Lib/fat_io_lib/include -I./Ventoy2Disk/Lib/xz-embedded/linux/include -I./Ventoy2Disk/Lib/xz-embedded/linux/include/linux -I./Ventoy2Disk/Lib/xz-embedded/userspace -I./Ventoy2Disk/Lib/exfat/src/libexfat -I./Ventoy2Disk/Lib/fat_io_lib -I$QT_INC_PATH -I$QT_INC_PATH/QtWidgets -I$QT_INC_PATH/QtGui -I$QT_INC_PATH/QtCore -I."
|
||||
LFLAGS="-Wl,-O1 -Wl,-rpath-link,$QT_LIB_PATH -L$QT_LIB_PATH -Wl,-rpath-link,./EXLIB/i386/lib/i386-linux-gnu -L./EXLIB/i386/lib/i386-linux-gnu"
|
||||
SUBLIBS="./libVentoyQT_i386.a"
|
||||
LIBS="$SUBLIBS $QT_LIB_PATH/libQt5Widgets.so $QT_LIB_PATH/libQt5Gui.so $QT_LIB_PATH/libQt5Core.so -lpthread"
|
||||
|
||||
compile_lib "gcc -m32" "ar" "i386"
|
||||
build_qt "g++ -m32" "$CXXFLAGS" "$INCPATH" "$LFLAGS" "$LIBS" "32"
|
||||
}
|
||||
|
||||
|
||||
#build QT5 for x86_64
|
||||
build_qt_x86_64() {
|
||||
compile_lib "gcc" "ar" "x86_64"
|
||||
QT_INC_PATH="/opt/Qt5.9.0/5.9/gcc_64/include"
|
||||
QT_LIB_PATH="/opt/Qt5.9.0/5.9/gcc_64/lib"
|
||||
LFLAGS="-Wl,-O1 -Wl,-rpath-link,$QT_LIB_PATH -L$QT_LIB_PATH"
|
||||
build_qt_app "g++" "x86_64" "64"
|
||||
|
||||
force_copy Ventoy2Disk.qt5_64 ../INSTALL/tool/x86_64/Ventoy2Disk.qt5
|
||||
rm -f ./libVentoyQT_x86_64.a
|
||||
}
|
||||
|
||||
|
||||
# build QT5 for arm64
|
||||
build_qt_aarch64() {
|
||||
compile_lib "aarch64-linux-gnu-gcc" "aarch64-linux-gnu-ar" "aarch64"
|
||||
QT_INC_PATH="./EXLIB/aarch64/usr/include/qt5"
|
||||
QT_LIB_PATH="./EXLIB/aarch64/usr/lib64"
|
||||
LFLAGS="-Wl,-O1 -Wl,-rpath-link,$QT_LIB_PATH -L$QT_LIB_PATH -Wl,-rpath-link,./EXLIB/aarch64/lib64 -L./EXLIB/aarch64/lib64"
|
||||
build_qt_app "aarch64-linux-gnu-g++" "aarch64" "aa64"
|
||||
|
||||
force_copy Ventoy2Disk.qt5_aa64 ../INSTALL/tool/aarch64/Ventoy2Disk.qt5
|
||||
rm -f ./libVentoyQT_aarch64.a
|
||||
}
|
||||
|
||||
# build QT5 for mips64
|
||||
build_qt_mips64el() {
|
||||
QT_INC_PATH="./EXLIB/mips64el/usr/include/mips64el-linux-gnuabi64/qt5"
|
||||
QT_LIB_PATH="./EXLIB/mips64el/usr/lib/mips64el-linux-gnuabi64"
|
||||
DEFINES="-DQT_CHECK_EUID -DQT_DEPRECATED_WARNINGS -DSTATIC=static -DINIT= -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB"
|
||||
CXXFLAGS="-pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC $DEFINES -Wno-deprecated-declarations"
|
||||
INCPATH=" -I./Ventoy2Disk -I. -I./Ventoy2Disk/Core -I./Ventoy2Disk/Web -I./Ventoy2Disk/QT -I./Ventoy2Disk/QT/build -I./Ventoy2Disk/Include -I./Ventoy2Disk/Lib/libhttp/include -I./Ventoy2Disk/Lib/fat_io_lib/include -I./Ventoy2Disk/Lib/xz-embedded/linux/include -I./Ventoy2Disk/Lib/xz-embedded/linux/include/linux -I./Ventoy2Disk/Lib/xz-embedded/userspace -I./Ventoy2Disk/Lib/exfat/src/libexfat -I./Ventoy2Disk/Lib/fat_io_lib -I$QT_INC_PATH -I$QT_INC_PATH/QtWidgets -I$QT_INC_PATH/QtGui -I$QT_INC_PATH/QtCore -I."
|
||||
LFLAGS="-Wl,-O1 -Wl,-rpath-link,$QT_LIB_PATH -L$QT_LIB_PATH -Wl,-rpath-link,./EXLIB/mips64el/lib/mips64el-linux-gnuabi64 -L./EXLIB/mips64el/lib/mips64el-linux-gnuabi64"
|
||||
SUBLIBS="./libVentoyQT_mips64el.a"
|
||||
LIBS="$SUBLIBS $QT_LIB_PATH/libQt5Widgets.so $QT_LIB_PATH/libQt5Gui.so $QT_LIB_PATH/libQt5Core.so -lpthread"
|
||||
|
||||
export PATH=/opt/mips-loongson-gcc8-linux-gnu-2021-02-08/bin/:$PATH
|
||||
compile_lib "mips-linux-gnu-gcc -mips64r2 -mabi=64" "mips-linux-gnu-ar" "mips64el"
|
||||
build_qt "mips-linux-gnu-g++ -mips64r2 -mabi=64" "$CXXFLAGS" "$INCPATH" "$LFLAGS" "$LIBS" "m64e"
|
||||
|
||||
force_copy Ventoy2Disk.qt5_m64e ../INSTALL/tool/mips64el/Ventoy2Disk.qt5
|
||||
rm -f ./libVentoyQT_mips64el.a
|
||||
}
|
||||
|
||||
|
||||
####################################################################
|
||||
####################################################################
|
||||
####################################################################
|
||||
####################################################################
|
||||
|
||||
sed "s#../Ventoy2Disk#..#g" -i ./Ventoy2Disk/QT/build/moc_partcfgdialog.cpp
|
||||
sed "s#../Ventoy2Disk#..#g" -i ./Ventoy2Disk/QT/build/moc_ventoy2diskwindow.cpp
|
||||
|
||||
#build qt5 i386 in centos 8 environment
|
||||
if [ "$1" = "VENTOY_I386_QT_BUILD" ]; then
|
||||
echo "build i386 qt ..."
|
||||
build_qt_i386
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
|
||||
chroot /opt/CentOS8 sh /buildqt.sh
|
||||
force_copy ./Ventoy2Disk.qt5_32 ../INSTALL/tool/i386/Ventoy2Disk.qt5
|
||||
rm -f ./libVentoyQT_i386.a
|
||||
|
||||
build_qt_x86_64
|
||||
build_qt_aarch64
|
||||
build_qt_mips64el
|
@ -588,6 +588,7 @@ static int VentoyAttachVirtualDisk(HANDLE Handle, const char *IsoPath)
|
||||
|
||||
int VentoyMountISOByAPI(const char *IsoPath)
|
||||
{
|
||||
int i;
|
||||
HANDLE Handle;
|
||||
DWORD Status;
|
||||
WCHAR wFilePath[512] = { 0 };
|
||||
@ -598,10 +599,12 @@ int VentoyMountISOByAPI(const char *IsoPath)
|
||||
|
||||
if (IsUTF8Encode(IsoPath))
|
||||
{
|
||||
Log("This is UTF8 encoding");
|
||||
MultiByteToWideChar(CP_UTF8, 0, IsoPath, (int)strlen(IsoPath), wFilePath, (int)(sizeof(wFilePath) / sizeof(WCHAR)));
|
||||
}
|
||||
else
|
||||
{
|
||||
Log("This is ANSI encoding");
|
||||
MultiByteToWideChar(CP_ACP, 0, IsoPath, (int)strlen(IsoPath), wFilePath, (int)(sizeof(wFilePath) / sizeof(WCHAR)));
|
||||
}
|
||||
|
||||
@ -610,19 +613,36 @@ int VentoyMountISOByAPI(const char *IsoPath)
|
||||
|
||||
OpenParameters.Version = OPEN_VIRTUAL_DISK_VERSION_1;
|
||||
|
||||
Status = OpenVirtualDisk(&StorageType, wFilePath, VIRTUAL_DISK_ACCESS_READ, 0, &OpenParameters, &Handle);
|
||||
if (Status != ERROR_SUCCESS)
|
||||
{
|
||||
if (ERROR_VIRTDISK_PROVIDER_NOT_FOUND == Status)
|
||||
{
|
||||
Log("VirtualDisk for ISO file is not supported in current system");
|
||||
}
|
||||
else
|
||||
{
|
||||
Log("Failed to open virtual disk ErrorCode:%u", Status);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
Status = OpenVirtualDisk(&StorageType, wFilePath, VIRTUAL_DISK_ACCESS_READ, 0, &OpenParameters, &Handle);
|
||||
if (ERROR_FILE_NOT_FOUND == Status || ERROR_PATH_NOT_FOUND == Status)
|
||||
{
|
||||
Log("OpenVirtualDisk ErrorCode:%u, now wait and retry...", Status);
|
||||
Sleep(1000);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ERROR_SUCCESS == Status)
|
||||
{
|
||||
Log("OpenVirtualDisk success");
|
||||
}
|
||||
else if (ERROR_VIRTDISK_PROVIDER_NOT_FOUND == Status)
|
||||
{
|
||||
Log("VirtualDisk for ISO file is not supported in current system");
|
||||
}
|
||||
else
|
||||
{
|
||||
Log("Failed to open virtual disk ErrorCode:%u", Status);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (Status != ERROR_SUCCESS)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
Log("OpenVirtualDisk success");
|
||||
|
||||
@ -1210,48 +1230,68 @@ static int ProcessUnattendedInstallation(const char *script)
|
||||
|
||||
static int VentoyHook(ventoy_os_param *param)
|
||||
{
|
||||
int i;
|
||||
int rc;
|
||||
CHAR Letter = 'A';
|
||||
BOOL find = FALSE;
|
||||
CHAR Letter;
|
||||
DWORD Drives;
|
||||
DISK_EXTENT DiskExtent;
|
||||
DWORD Drives = GetLogicalDrives();
|
||||
UINT8 UUID[16];
|
||||
CHAR IsoPath[MAX_PATH];
|
||||
|
||||
Log("Logical Drives=0x%x Path:<%s>", Drives, param->vtoy_img_path);
|
||||
Log("VentoyHook Path:<%s>", param->vtoy_img_path);
|
||||
|
||||
if (IsUTF8Encode(param->vtoy_img_path))
|
||||
{
|
||||
Log("This file is UTF8 encoding\n");
|
||||
}
|
||||
|
||||
while (Drives)
|
||||
{
|
||||
if (Drives & 0x01)
|
||||
for (i = 0; i < 5; i++)
|
||||
{
|
||||
Letter = 'A';
|
||||
Drives = GetLogicalDrives();
|
||||
Log("Logic Drives: 0x%x", Drives);
|
||||
|
||||
while (Drives)
|
||||
{
|
||||
sprintf_s(IsoPath, sizeof(IsoPath), "%C:\\%s", Letter, param->vtoy_img_path);
|
||||
if (IsFileExist("%s", IsoPath))
|
||||
if (Drives & 0x01)
|
||||
{
|
||||
Log("File exist under %C:", Letter);
|
||||
if (GetPhyDiskUUID(Letter, UUID, &DiskExtent) == 0)
|
||||
sprintf_s(IsoPath, sizeof(IsoPath), "%C:\\%s", Letter, param->vtoy_img_path);
|
||||
if (IsFileExist("%s", IsoPath))
|
||||
{
|
||||
if (memcmp(UUID, param->vtoy_disk_guid, 16) == 0)
|
||||
Log("File exist under %C:", Letter);
|
||||
if (GetPhyDiskUUID(Letter, UUID, &DiskExtent) == 0)
|
||||
{
|
||||
Log("Disk UUID match");
|
||||
break;
|
||||
if (memcmp(UUID, param->vtoy_disk_guid, 16) == 0)
|
||||
{
|
||||
Log("Disk UUID match");
|
||||
find = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Log("File NOT exist under %C:", Letter);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Log("File NOT exist under %C:", Letter);
|
||||
}
|
||||
|
||||
Drives >>= 1;
|
||||
Letter++;
|
||||
}
|
||||
|
||||
Drives >>= 1;
|
||||
Letter++;
|
||||
}
|
||||
if (find)
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
Log("Now wait and retry ...");
|
||||
Sleep(1000);
|
||||
}
|
||||
}
|
||||
|
||||
if (Drives == 0)
|
||||
if (find == FALSE)
|
||||
{
|
||||
Log("Failed to find ISO file");
|
||||
return 1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user