NEW: release DJI Payload-SDK version 3.3
Signed-off-by: DJI-Martin <DJI-Martin@dji.com>
This commit is contained in:
@ -906,7 +906,8 @@ static T_DjiReturnCode DjiTest_CameraRotationGimbal(T_TestCameraGimbalRotationAr
|
||||
return returnCode;
|
||||
}
|
||||
|
||||
if (aircraftBaseInfo.djiAdapterType == DJI_SDK_ADAPTER_TYPE_SKYPORT_V2) {
|
||||
if (aircraftBaseInfo.djiAdapterType == DJI_SDK_ADAPTER_TYPE_SKYPORT_V2 ||
|
||||
aircraftBaseInfo.djiAdapterType == DJI_SDK_ADAPTER_TYPE_NONE) {
|
||||
returnCode = DjiTest_GimbalRotate(gimbalRotationArgument.rotationMode, gimbalRotationArgument.rotationProperty,
|
||||
gimbalRotationArgument.rotationValue);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include "test_payload_cam_emu_base.h"
|
||||
#include "camera_emu/dji_media_file_manage/dji_media_file_core.h"
|
||||
#include "dji_high_speed_data_channel.h"
|
||||
#include "dji_aircraft_info.h"
|
||||
|
||||
/* Private constants ---------------------------------------------------------*/
|
||||
#define FFMPEG_CMD_BUF_SIZE (256 + 256)
|
||||
@ -134,6 +135,8 @@ static const char *s_frameSizeKeyChar = "size";
|
||||
static T_DjiMediaFileHandle s_mediaFileThumbNailHandle;
|
||||
static T_DjiMediaFileHandle s_mediaFileScreenNailHandle;
|
||||
static const uint8_t s_frameAudInfo[VIDEO_FRAME_AUD_LEN] = {0x00, 0x00, 0x00, 0x01, 0x09, 0x10};
|
||||
static char s_mediaFileDirPath[DJI_FILE_PATH_SIZE_MAX] = {0};
|
||||
static bool s_isMediaFileDirPathConfigured = false;
|
||||
|
||||
/* Exported functions definition ---------------------------------------------*/
|
||||
T_DjiReturnCode DjiTest_CameraEmuMediaStartService(void)
|
||||
@ -142,6 +145,12 @@ T_DjiReturnCode DjiTest_CameraEmuMediaStartService(void)
|
||||
T_DjiReturnCode returnCode;
|
||||
const T_DjiDataChannelBandwidthProportionOfHighspeedChannel bandwidthProportionOfHighspeedChannel =
|
||||
{10, 60, 30};
|
||||
T_DjiAircraftInfoBaseInfo aircraftInfoBaseInfo = {0};
|
||||
|
||||
if (DjiAircraftInfo_GetBaseInfo(&aircraftInfoBaseInfo) != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("get aircraft information error.");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN;
|
||||
}
|
||||
|
||||
s_psdkCameraMedia.GetMediaFileDir = GetMediaFileDir;
|
||||
s_psdkCameraMedia.GetMediaFileOriginInfo = DjiTest_CameraMediaGetFileInfo;
|
||||
@ -177,10 +186,12 @@ T_DjiReturnCode DjiTest_CameraEmuMediaStartService(void)
|
||||
|
||||
UtilBuffer_Init(&s_mediaPlayCommandBufferHandler, s_mediaPlayCommandBuffer, sizeof(s_mediaPlayCommandBuffer));
|
||||
|
||||
returnCode = DjiPayloadCamera_RegMediaDownloadPlaybackHandler(&s_psdkCameraMedia);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("psdk camera media function init error.");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN;
|
||||
if (aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M300_RTK) {
|
||||
returnCode = DjiPayloadCamera_RegMediaDownloadPlaybackHandler(&s_psdkCameraMedia);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("psdk camera media function init error.");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
returnCode = DjiHighSpeedDataChannel_SetBandwidthProportion(bandwidthProportionOfHighspeedChannel);
|
||||
@ -189,21 +200,27 @@ T_DjiReturnCode DjiTest_CameraEmuMediaStartService(void)
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN;
|
||||
}
|
||||
|
||||
if (DjiPlatform_GetSocketHandler() != NULL) {
|
||||
if (DjiPlatform_GetHalNetworkHandler() != NULL || DjiPlatform_GetHalUsbBulkHandler() != NULL) {
|
||||
returnCode = osalHandler->TaskCreate("user_camera_media_task", UserCameraMedia_SendVideoTask, 2048,
|
||||
NULL, &s_userSendVideoThread);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("user send video task create error.");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
}
|
||||
} else {
|
||||
USER_LOG_WARN(
|
||||
"Socket handler is null. Probably because socket handler is not be registered. Camera media sample may not be running.");
|
||||
}
|
||||
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
T_DjiReturnCode DjiTest_CameraEmuSetMediaFilePath(const char *path)
|
||||
{
|
||||
memset(s_mediaFileDirPath, 0, sizeof(s_mediaFileDirPath));
|
||||
memcpy(s_mediaFileDirPath, path, USER_UTIL_MIN(strlen(path), sizeof(s_mediaFileDirPath) - 1));
|
||||
s_isMediaFileDirPathConfigured = true;
|
||||
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
T_DjiReturnCode DjiTest_CameraMediaGetFileInfo(const char *filePath, T_DjiCameraMediaFileInfo *fileInfo)
|
||||
{
|
||||
T_DjiReturnCode returnCode;
|
||||
@ -1167,7 +1184,11 @@ static void *UserCameraMedia_SendVideoTask(void *arg)
|
||||
USER_LOG_ERROR("Get file current path error, stat = 0x%08llX", returnCode);
|
||||
exit(1);
|
||||
}
|
||||
snprintf(tempPath, DJI_FILE_PATH_SIZE_MAX, "%smedia_file/PSDK_0005.h264", curFileDirPath);
|
||||
if (s_isMediaFileDirPathConfigured == true) {
|
||||
snprintf(tempPath, DJI_FILE_PATH_SIZE_MAX, "%sPSDK_0005.h264", s_mediaFileDirPath);
|
||||
} else {
|
||||
snprintf(tempPath, DJI_FILE_PATH_SIZE_MAX, "%smedia_file/PSDK_0005.h264", curFileDirPath);
|
||||
}
|
||||
|
||||
videoFilePath = osalHandler->Malloc(DJI_FILE_PATH_SIZE_MAX);
|
||||
if (videoFilePath == NULL) {
|
||||
|
@ -41,6 +41,7 @@ extern "C" {
|
||||
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
T_DjiReturnCode DjiTest_CameraEmuMediaStartService(void);
|
||||
T_DjiReturnCode DjiTest_CameraEmuSetMediaFilePath(const char *path);
|
||||
T_DjiReturnCode DjiTest_CameraMediaGetFileInfo(const char *filePath, T_DjiCameraMediaFileInfo *fileInfo);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -29,7 +29,7 @@
|
||||
#include "dji_camera_manager.h"
|
||||
#include "dji_platform.h"
|
||||
#include "dji_logger.h"
|
||||
#include "dji_liveview.h"
|
||||
|
||||
/* Private constants ---------------------------------------------------------*/
|
||||
#define TEST_CAMERA_MANAGER_MEDIA_FILE_NAME_MAX_SIZE 256
|
||||
#define TEST_CAMERA_MANAGER_MEDIA_DOWNLOAD_FILE_NUM 5
|
||||
@ -45,15 +45,17 @@ static const T_DjiTestCameraTypeStr s_cameraTypeStrList[] = {
|
||||
{DJI_CAMERA_TYPE_UNKNOWN, "Unknown"},
|
||||
{DJI_CAMERA_TYPE_Z30, "Zenmuse Z30"},
|
||||
{DJI_CAMERA_TYPE_XT2, "Zenmuse XT2"},
|
||||
{DJI_CAMERA_TYPE_PSDK, "Zenmuse Payload"},
|
||||
{DJI_CAMERA_TYPE_PSDK, "Payload Camera"},
|
||||
{DJI_CAMERA_TYPE_XTS, "Zenmuse XTS"},
|
||||
{DJI_CAMERA_TYPE_H20, "Zenmuse H20"},
|
||||
{DJI_CAMERA_TYPE_H20T, "Zenmuse H20T"},
|
||||
{DJI_CAMERA_TYPE_P1, "Zenmuse P1"},
|
||||
{DJI_CAMERA_TYPE_L1, "Zenmuse L1"},
|
||||
{DJI_CAMERA_TYPE_M30, "Zenmuse M30"},
|
||||
{DJI_CAMERA_TYPE_M30T, "Zenmuse M30T"},
|
||||
{DJI_CAMERA_TYPE_H20N, "Zenmuse H20N"},
|
||||
{DJI_CAMERA_TYPE_M30, "M30 Camera"},
|
||||
{DJI_CAMERA_TYPE_M30T, "M30T Camera"},
|
||||
{DJI_CAMERA_TYPE_M3E, "M3E Camera"},
|
||||
{DJI_CAMERA_TYPE_M3T, "M3T Camera"},
|
||||
};
|
||||
|
||||
static FILE *s_downloadMediaFile = NULL;
|
||||
@ -661,6 +663,8 @@ T_DjiReturnCode DjiTest_CameraManagerStartShootIntervalPhoto(E_DjiMountPosition
|
||||
return returnCode;
|
||||
}
|
||||
|
||||
osalHandler->TaskSleepMs(1000);
|
||||
|
||||
/*!< set shoot-photo mode */
|
||||
USER_LOG_INFO("Set mounted position %d camera's shoot photo mode as interval-photo mode", position);
|
||||
returnCode = DjiCameraManager_SetShootPhotoMode(position, DJI_CAMERA_MANAGER_SHOOT_PHOTO_MODE_INTERVAL);
|
||||
@ -825,37 +829,13 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
firmwareVersion.firmware_version[0], firmwareVersion.firmware_version[1],
|
||||
firmwareVersion.firmware_version[2], firmwareVersion.firmware_version[3]);
|
||||
|
||||
E_DjiLiveViewCameraSource liveViewCameraSource;
|
||||
|
||||
if (cameraType == DJI_CAMERA_TYPE_H20 || cameraType == DJI_CAMERA_TYPE_H20T) {
|
||||
USER_LOG_INFO("--> Step 3: Change camera's live view source");
|
||||
DjiTest_WidgetLogAppend("--> Step 3: Change camera's live view source");
|
||||
|
||||
USER_LOG_INFO("Init live view.");
|
||||
returnCode = DjiLiveview_Init();
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Init live view failed, error code: 0x%08X\r\n", returnCode);
|
||||
goto exitLiveViewModule;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("Set mounted position %d camera's live view source to zoom.\r\n",
|
||||
mountPosition);
|
||||
liveViewCameraSource = (cameraType == DJI_CAMERA_TYPE_H20) ? DJI_LIVEVIEW_CAMERA_SOURCE_H20_ZOOM :
|
||||
DJI_LIVEVIEW_CAMERA_SOURCE_H20T_ZOOM;
|
||||
returnCode = DjiLiveview_StartH264Stream((uint8_t) mountPosition, liveViewCameraSource, NULL);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's live view source failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
}
|
||||
}
|
||||
|
||||
switch (cameraManagerSampleSelect) {
|
||||
case E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_SET_CAMERA_SHUTTER_SPEED: {
|
||||
USER_LOG_INFO("--> Function a: Set camera shutter speed to 1/100 s");
|
||||
DjiTest_WidgetLogAppend("--> Function a: Set camera shutter speed to 1/100 s");
|
||||
if (cameraType == DJI_CAMERA_TYPE_H20 || cameraType == DJI_CAMERA_TYPE_H20T ||
|
||||
cameraType == DJI_CAMERA_TYPE_M30 || cameraType == DJI_CAMERA_TYPE_M30T) {
|
||||
cameraType == DJI_CAMERA_TYPE_M30 || cameraType == DJI_CAMERA_TYPE_M30T ||
|
||||
cameraType == DJI_CAMERA_TYPE_M3E || cameraType == DJI_CAMERA_TYPE_M3T) {
|
||||
USER_LOG_INFO("Set mounted position %d camera's exposure mode to manual mode.",
|
||||
mountPosition);
|
||||
returnCode = DjiTest_CameraManagerSetExposureMode(mountPosition,
|
||||
@ -863,7 +843,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's exposure mode failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
} else {
|
||||
USER_LOG_INFO("Set mounted position %d camera's exposure mode to shutter priority mode.",
|
||||
@ -873,7 +853,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's exposure mode failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
}
|
||||
|
||||
@ -884,7 +864,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's shutter speed failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -892,7 +872,8 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
USER_LOG_INFO("--> Function b: Set camera aperture to 400(F/4)");
|
||||
DjiTest_WidgetLogAppend("--> Function b: Set camera aperture to 400(F/4)");
|
||||
if (cameraType == DJI_CAMERA_TYPE_H20 || cameraType == DJI_CAMERA_TYPE_H20T
|
||||
|| cameraType == DJI_CAMERA_TYPE_M30 || cameraType == DJI_CAMERA_TYPE_M30T) {
|
||||
|| cameraType == DJI_CAMERA_TYPE_M30 || cameraType == DJI_CAMERA_TYPE_M30T
|
||||
|| cameraType == DJI_CAMERA_TYPE_M3E || cameraType == DJI_CAMERA_TYPE_M3T) {
|
||||
USER_LOG_INFO("Set mounted position %d camera's exposure mode to manual mode.",
|
||||
mountPosition);
|
||||
returnCode = DjiTest_CameraManagerSetExposureMode(mountPosition,
|
||||
@ -900,7 +881,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's exposure mode failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
} else {
|
||||
USER_LOG_INFO("Set mounted position %d camera's exposure mode to aperture priority mode.",
|
||||
@ -910,7 +891,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's exposure mode failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
}
|
||||
|
||||
@ -920,7 +901,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's aperture failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -934,7 +915,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's exposure mode failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("Set mounted position %d camera's ev value to +0.3ev.",
|
||||
@ -943,7 +924,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's EV failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -957,7 +938,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's exposure mode failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("Set mounted position %d camera's ISO value to 1600.",
|
||||
@ -966,7 +947,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's iso failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -979,7 +960,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's focus point(0.8,0.8) failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -993,7 +974,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's tap zoom point(5, 0.3m,0.3m) failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("Sleep 5s...");
|
||||
@ -1005,7 +986,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's tap zoom point(4, 0.8m,0.7m) failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1017,7 +998,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's optical zoom factor 10x failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
USER_LOG_INFO("Sleep 4s...");
|
||||
osalHandler->TaskSleepMs(4000);
|
||||
@ -1026,7 +1007,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Set mounted position %d camera's optical zoom factor -5x failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
USER_LOG_INFO("Sleep 4s...");
|
||||
osalHandler->TaskSleepMs(4000);
|
||||
@ -1040,7 +1021,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Mounted position %d camera start continuous zoom failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("Sleep 8s...");
|
||||
@ -1051,7 +1032,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Mounted position %d camera stop continuous zoom failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1062,7 +1043,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Mounted position %d camera shoot single photo failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1073,7 +1054,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Mounted position %d camera shoot AEB photo failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1085,7 +1066,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Mounted position %d camera shoot burst photo failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1100,7 +1081,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Mounted position %d camera shoot internal photo failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("Sleep 15s...");
|
||||
@ -1110,7 +1091,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Mounted position %d camera stop shoot photo failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1121,7 +1102,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Mounted position %d camera start record video failed, error code: 0x%08X\r\n",
|
||||
mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("Sleep 10s...");
|
||||
@ -1131,7 +1112,7 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Mounted position %d camera stop record video failed, error code: 0x%08X\r\n",
|
||||
mountPosition, returnCode);
|
||||
goto exitLiveViewSource;
|
||||
goto exitCameraModule;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1148,23 +1129,6 @@ T_DjiReturnCode DjiTest_CameraManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
}
|
||||
}
|
||||
|
||||
exitLiveViewSource:
|
||||
if (cameraType == DJI_CAMERA_TYPE_H20 || cameraType == DJI_CAMERA_TYPE_H20T) {
|
||||
returnCode = DjiLiveview_StopH264Stream((uint8_t) mountPosition);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Stop mounted position %d camera's live view failed,"
|
||||
"error code: 0x%08X\r\n", mountPosition, returnCode);
|
||||
}
|
||||
}
|
||||
|
||||
exitLiveViewModule:
|
||||
if (cameraType == DJI_CAMERA_TYPE_H20 || cameraType == DJI_CAMERA_TYPE_H20T) {
|
||||
returnCode = DjiLiveview_Deinit();
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Deinit live view failed, error code: 0x%08X\r\n", returnCode);
|
||||
}
|
||||
}
|
||||
|
||||
exitCameraModule:
|
||||
returnCode = DjiCameraManager_DeInit();
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
|
@ -32,7 +32,7 @@
|
||||
|
||||
/* Private constants ---------------------------------------------------------*/
|
||||
#define FC_SUBSCRIPTION_TASK_FREQ (1)
|
||||
#define FC_SUBSCRIPTION_TASK_STACK_SIZE (2048)
|
||||
#define FC_SUBSCRIPTION_TASK_STACK_SIZE (1024)
|
||||
|
||||
/* Private types -------------------------------------------------------------*/
|
||||
|
||||
@ -45,6 +45,7 @@ static T_DjiReturnCode DjiTest_FcSubscriptionReceiveQuaternionCallback(const uin
|
||||
static T_DjiTaskHandle s_userFcSubscriptionThread;
|
||||
static bool s_userFcSubscriptionDataShow = false;
|
||||
static uint8_t s_totalSatelliteNumberUsed = 0;
|
||||
static uint32_t s_userFcSubscriptionDataCnt = 0;
|
||||
|
||||
/* Exported functions definition ---------------------------------------------*/
|
||||
T_DjiReturnCode DjiTest_FcSubscriptionStartService(void)
|
||||
@ -59,7 +60,7 @@ T_DjiReturnCode DjiTest_FcSubscriptionStartService(void)
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN;
|
||||
}
|
||||
|
||||
djiStat = DjiFcSubscription_SubscribeTopic(DJI_FC_SUBSCRIPTION_TOPIC_QUATERNION, DJI_DATA_SUBSCRIPTION_TOPIC_10_HZ,
|
||||
djiStat = DjiFcSubscription_SubscribeTopic(DJI_FC_SUBSCRIPTION_TOPIC_QUATERNION, DJI_DATA_SUBSCRIPTION_TOPIC_50_HZ,
|
||||
DjiTest_FcSubscriptionReceiveQuaternionCallback);
|
||||
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Subscribe topic quaternion error.");
|
||||
@ -115,6 +116,7 @@ T_DjiReturnCode DjiTest_FcSubscriptionRunSample(void)
|
||||
T_DjiFcSubscriptionSingleBatteryInfo singleBatteryInfo = {0};
|
||||
|
||||
USER_LOG_INFO("Fc subscription sample start");
|
||||
s_userFcSubscriptionDataShow = true;
|
||||
|
||||
USER_LOG_INFO("--> Step 1: Init fc subscription module");
|
||||
djiStat = DjiFcSubscription_Init();
|
||||
@ -124,7 +126,7 @@ T_DjiReturnCode DjiTest_FcSubscriptionRunSample(void)
|
||||
}
|
||||
|
||||
USER_LOG_INFO("--> Step 2: Subscribe the topics of quaternion, velocity and gps position");
|
||||
djiStat = DjiFcSubscription_SubscribeTopic(DJI_FC_SUBSCRIPTION_TOPIC_QUATERNION, DJI_DATA_SUBSCRIPTION_TOPIC_10_HZ,
|
||||
djiStat = DjiFcSubscription_SubscribeTopic(DJI_FC_SUBSCRIPTION_TOPIC_QUATERNION, DJI_DATA_SUBSCRIPTION_TOPIC_1_HZ,
|
||||
DjiTest_FcSubscriptionReceiveQuaternionCallback);
|
||||
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Subscribe topic quaternion error.");
|
||||
@ -145,9 +147,9 @@ T_DjiReturnCode DjiTest_FcSubscriptionRunSample(void)
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("--> Step 3: Get latest value of the subscribed topics in the next 20s\r\n");
|
||||
USER_LOG_INFO("--> Step 3: Get latest value of the subscribed topics in the next 20 seconds\r\n");
|
||||
|
||||
for (int i = 0; i < 10; ++i) {
|
||||
for (int i = 0; i < 20; ++i) {
|
||||
osalHandler->TaskSleepMs(1000 / FC_SUBSCRIPTION_TASK_FREQ);
|
||||
djiStat = DjiFcSubscription_GetLatestValueOfTopic(DJI_FC_SUBSCRIPTION_TOPIC_VELOCITY,
|
||||
(uint8_t *) &velocity,
|
||||
@ -210,6 +212,7 @@ T_DjiReturnCode DjiTest_FcSubscriptionRunSample(void)
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN;
|
||||
}
|
||||
|
||||
s_userFcSubscriptionDataShow = false;
|
||||
USER_LOG_INFO("Fc subscription sample end");
|
||||
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
@ -308,20 +311,23 @@ static T_DjiReturnCode DjiTest_FcSubscriptionReceiveQuaternionCallback(const uin
|
||||
USER_UTIL_UNUSED(dataSize);
|
||||
|
||||
pitch = (dji_f64_t) asinf(-2 * quaternion->q1 * quaternion->q3 + 2 * quaternion->q0 * quaternion->q2) * 57.3;
|
||||
roll = (dji_f64_t) atan2f(2 * quaternion->q1 * quaternion->q2 + 2 * quaternion->q0 * quaternion->q3,
|
||||
-2 * quaternion->q2 * quaternion->q2 - 2 * quaternion->q3 * quaternion->q3 + 1) *
|
||||
57.3;
|
||||
yaw = (dji_f64_t) atan2f(2 * quaternion->q2 * quaternion->q3 + 2 * quaternion->q0 * quaternion->q1,
|
||||
roll = (dji_f64_t) atan2f(2 * quaternion->q2 * quaternion->q3 + 2 * quaternion->q0 * quaternion->q1,
|
||||
-2 * quaternion->q1 * quaternion->q1 - 2 * quaternion->q2 * quaternion->q2 + 1) * 57.3;
|
||||
yaw = (dji_f64_t) atan2f(2 * quaternion->q1 * quaternion->q2 + 2 * quaternion->q0 * quaternion->q3,
|
||||
-2 * quaternion->q2 * quaternion->q2 - 2 * quaternion->q3 * quaternion->q3 + 1) *
|
||||
57.3;
|
||||
|
||||
if (s_userFcSubscriptionDataShow == true) {
|
||||
USER_LOG_INFO("receive quaternion data.");
|
||||
if (s_userFcSubscriptionDataCnt++ % DJI_DATA_SUBSCRIPTION_TOPIC_50_HZ == 0) {
|
||||
USER_LOG_INFO("receive quaternion data.");
|
||||
USER_LOG_INFO("timestamp: millisecond %u microsecond %u.", timestamp->millisecond,
|
||||
timestamp->microsecond);
|
||||
USER_LOG_INFO("quaternion: %f %f %f %f.", quaternion->q0, quaternion->q1, quaternion->q2,
|
||||
quaternion->q3);
|
||||
|
||||
USER_LOG_INFO("timestamp: millisecond %u microsecond %u.", timestamp->millisecond,
|
||||
timestamp->microsecond);
|
||||
USER_LOG_INFO("quaternion: %f %f %f %f.\r\n", quaternion->q0, quaternion->q1, quaternion->q2, quaternion->q3);
|
||||
USER_LOG_INFO("euler angles: pitch = %.2f roll = %.2f yaw = %.2f.", pitch, yaw, roll);
|
||||
DjiTest_WidgetLogAppend("pitch = %.2f roll = %.2f yaw = %.2f.", pitch, yaw, roll);
|
||||
USER_LOG_INFO("euler angles: pitch = %.2f roll = %.2f yaw = %.2f.\r\n", pitch, roll, yaw);
|
||||
DjiTest_WidgetLogAppend("pitch = %.2f roll = %.2f yaw = %.2f.", pitch, roll, yaw);
|
||||
}
|
||||
}
|
||||
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
|
@ -702,24 +702,32 @@ void DjiTest_FlightControlSetGetParamSample()
|
||||
/*! Turn on horizontal radar avoid enable */
|
||||
USER_LOG_INFO("--> Step 3: Turn on horizontal radar obstacle avoidance");
|
||||
DjiTest_WidgetLogAppend("--> Step 3: Turn on horizontal radar obstacle avoidance");
|
||||
returnCode = DjiFlightController_SetHorizontalRadarObstacleAvoidanceEnableStatus(
|
||||
DJI_FLIGHT_CONTROLLER_ENABLE_OBSTACLE_AVOIDANCE);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Turn on horizontal radar obstacle avoidance failed, error code: 0x%08X", returnCode);
|
||||
goto out;
|
||||
};
|
||||
if (aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M300_RTK ||
|
||||
aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M30 ||
|
||||
aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M30T) {
|
||||
returnCode = DjiFlightController_SetHorizontalRadarObstacleAvoidanceEnableStatus(
|
||||
DJI_FLIGHT_CONTROLLER_ENABLE_OBSTACLE_AVOIDANCE);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Turn on horizontal radar obstacle avoidance failed, error code: 0x%08X", returnCode);
|
||||
goto out;
|
||||
};
|
||||
}
|
||||
s_osalHandler->TaskSleepMs(1000);
|
||||
|
||||
USER_LOG_INFO("--> Step 4: Get horizontal radar obstacle avoidance status\r\n");
|
||||
DjiTest_WidgetLogAppend("--> Step 4: Get horizontal radar obstacle avoidance status\r\n");
|
||||
returnCode = DjiFlightController_GetHorizontalRadarObstacleAvoidanceEnableStatus(
|
||||
&horizontalRadarObstacleAvoidanceStatus);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Get horizontal radar obstacle avoidance failed, error code: 0x%08X", returnCode);
|
||||
goto out;
|
||||
if (aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M300_RTK ||
|
||||
aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M30 ||
|
||||
aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M30T) {
|
||||
returnCode = DjiFlightController_GetHorizontalRadarObstacleAvoidanceEnableStatus(
|
||||
&horizontalRadarObstacleAvoidanceStatus);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Get horizontal radar obstacle avoidance failed, error code: 0x%08X", returnCode);
|
||||
goto out;
|
||||
}
|
||||
USER_LOG_INFO("Current horizontal radar obstacle avoidance status is %d\r\n",
|
||||
horizontalRadarObstacleAvoidanceStatus);
|
||||
}
|
||||
USER_LOG_INFO("Current horizontal radar obstacle avoidance status is %d\r\n",
|
||||
horizontalRadarObstacleAvoidanceStatus);
|
||||
s_osalHandler->TaskSleepMs(1000);
|
||||
|
||||
/*! Turn on upwards vision avoid enable */
|
||||
@ -747,23 +755,32 @@ void DjiTest_FlightControlSetGetParamSample()
|
||||
/*! Turn on upwards radar avoid enable */
|
||||
USER_LOG_INFO("--> Step 7: Turn on upwards radar obstacle avoidance.");
|
||||
DjiTest_WidgetLogAppend("--> Step 7: Turn on upwards radar obstacle avoidance.");
|
||||
returnCode = DjiFlightController_SetUpwardsRadarObstacleAvoidanceEnableStatus(
|
||||
DJI_FLIGHT_CONTROLLER_ENABLE_OBSTACLE_AVOIDANCE);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Turn on upwards radar obstacle avoidance failed, error code: 0x%08X", returnCode);
|
||||
goto out;
|
||||
if (aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M300_RTK ||
|
||||
aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M30 ||
|
||||
aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M30T) {
|
||||
returnCode = DjiFlightController_SetUpwardsRadarObstacleAvoidanceEnableStatus(
|
||||
DJI_FLIGHT_CONTROLLER_ENABLE_OBSTACLE_AVOIDANCE);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Turn on upwards radar obstacle avoidance failed, error code: 0x%08X", returnCode);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
s_osalHandler->TaskSleepMs(1000);
|
||||
|
||||
USER_LOG_INFO("--> Step 8: Get upwards radar obstacle avoidance status\r\n");
|
||||
DjiTest_WidgetLogAppend("--> Step 8: Get upwards radar obstacle avoidance status\r\n");
|
||||
returnCode = DjiFlightController_GetUpwardsRadarObstacleAvoidanceEnableStatus(&upwardsRadarObstacleAvoidanceStatus);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Get upwards radar obstacle avoidance failed, error code: 0x%08X", returnCode);
|
||||
goto out;
|
||||
if (aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M300_RTK ||
|
||||
aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M30 ||
|
||||
aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M30T) {
|
||||
returnCode = DjiFlightController_GetUpwardsRadarObstacleAvoidanceEnableStatus(
|
||||
&upwardsRadarObstacleAvoidanceStatus);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Get upwards radar obstacle avoidance failed, error code: 0x%08X", returnCode);
|
||||
goto out;
|
||||
}
|
||||
USER_LOG_INFO("Current upwards radar obstacle avoidance status is %d\r\n", upwardsRadarObstacleAvoidanceStatus);
|
||||
s_osalHandler->TaskSleepMs(1000);
|
||||
}
|
||||
USER_LOG_INFO("Current upwards radar obstacle avoidance status is %d\r\n", upwardsRadarObstacleAvoidanceStatus);
|
||||
s_osalHandler->TaskSleepMs(1000);
|
||||
|
||||
/*! Turn on downwards vision avoid enable */
|
||||
USER_LOG_INFO("--> Step 9: Turn on downwards visual obstacle avoidance.");
|
||||
@ -1237,11 +1254,11 @@ bool DjiTest_FlightControlGoHomeAndConfirmLanding(void)
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!DjiTest_FlightControlCheckActionStarted(DJI_FC_SUBSCRIPTION_DISPLAY_MODE_AUTO_LANDING)) {
|
||||
if (!DjiTest_FlightControlCheckActionStarted(DJI_FC_SUBSCRIPTION_DISPLAY_MODE_FORCE_AUTO_LANDING)) {
|
||||
return false;
|
||||
} else {
|
||||
while (DjiTest_FlightControlGetValueOfFlightStatus() == DJI_FC_SUBSCRIPTION_FLIGHT_STATUS_IN_AIR &&
|
||||
DjiTest_FlightControlGetValueOfDisplayMode() == DJI_FC_SUBSCRIPTION_DISPLAY_MODE_AUTO_LANDING) {
|
||||
DjiTest_FlightControlGetValueOfDisplayMode() == DJI_FC_SUBSCRIPTION_DISPLAY_MODE_FORCE_AUTO_LANDING) {
|
||||
s_osalHandler->TaskSleepMs(1000);
|
||||
}
|
||||
}
|
||||
@ -1468,9 +1485,9 @@ DjiTest_FlightControlJoystickCtrlAuthSwitchEventCallback(T_DjiFlightControllerJo
|
||||
}
|
||||
case DJI_FLIGHT_CONTROLLER_OSDK_GET_JOYSTICK_CTRL_AUTH_EVENT: {
|
||||
if (eventData.curJoystickCtrlAuthority == DJI_FLIGHT_CONTROLLER_JOYSTICK_CTRL_AUTHORITY_OSDK) {
|
||||
USER_LOG_INFO("[Event]Osdk request to obtain joystick ctrl authority\r\n");
|
||||
USER_LOG_INFO("[Event] Request to obtain joystick ctrl authority\r\n");
|
||||
} else {
|
||||
USER_LOG_INFO("[Event]Osdk request to release joystick ctrl authority\r\n");
|
||||
USER_LOG_INFO("[Event] Request to release joystick ctrl authority\r\n");
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1496,7 +1513,7 @@ DjiTest_FlightControlJoystickCtrlAuthSwitchEventCallback(T_DjiFlightControllerJo
|
||||
USER_LOG_INFO("[Event]Current joystick ctrl authority is reset to rc for low battery land\r\n");
|
||||
break;
|
||||
case DJI_FLIGHT_CONTROLLER_OSDK_LOST_GET_JOYSTICK_CTRL_AUTH_EVENT:
|
||||
USER_LOG_INFO("[Event]Current joystick ctrl authority is reset to rc due to osdk lost\r\n");
|
||||
USER_LOG_INFO("[Event]Current joystick ctrl authority is reset to rc due to sdk lost\r\n");
|
||||
break;
|
||||
case DJI_FLIGHT_CONTROLLER_NERA_FLIGHT_BOUNDARY_RESET_JOYSTICK_CTRL_AUTH_EVENT :
|
||||
USER_LOG_INFO("[Event]Current joystick ctrl authority is reset to rc due to near boundary\r\n");
|
||||
|
@ -33,8 +33,37 @@
|
||||
/* Private constants ---------------------------------------------------------*/
|
||||
|
||||
/* Private types -------------------------------------------------------------*/
|
||||
typedef enum {
|
||||
DJI_TEST_GIMBAL_ROTATION,
|
||||
DJI_TEST_GIMBAL_RESET,
|
||||
} E_DjiTestGimbalAction;
|
||||
|
||||
typedef struct {
|
||||
E_DjiTestGimbalAction action;
|
||||
T_DjiGimbalManagerRotation rotation;
|
||||
} T_DjiTestGimbalActionList;
|
||||
|
||||
/* Private values -------------------------------------------------------------*/
|
||||
static const T_DjiTestGimbalActionList s_rotationActionList[] =
|
||||
{
|
||||
{.action = DJI_TEST_GIMBAL_RESET},
|
||||
{.action = DJI_TEST_GIMBAL_ROTATION, .rotation.rotationMode = DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE, 30, 0, 0, 0.2},
|
||||
{.action = DJI_TEST_GIMBAL_ROTATION, .rotation.rotationMode = DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE, -30, 0, 0, 0.2},
|
||||
{.action = DJI_TEST_GIMBAL_ROTATION, .rotation.rotationMode = DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE, -30, 0, 0, 0.2},
|
||||
{.action = DJI_TEST_GIMBAL_ROTATION, .rotation.rotationMode = DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE, 30, 0, 0, 0.2},
|
||||
{.action = DJI_TEST_GIMBAL_ROTATION, .rotation.rotationMode = DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE, 0, 30, 0, 0.2},
|
||||
{.action = DJI_TEST_GIMBAL_ROTATION, .rotation.rotationMode = DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE, 0, -30, 0, 0.2},
|
||||
{.action = DJI_TEST_GIMBAL_ROTATION, .rotation.rotationMode = DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE, 0, -30, 0, 0.2},
|
||||
{.action = DJI_TEST_GIMBAL_ROTATION, .rotation.rotationMode = DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE, 0, 30, 0, 0.2},
|
||||
{.action = DJI_TEST_GIMBAL_ROTATION, .rotation.rotationMode = DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE, 0, 0, 4, 0.2},
|
||||
{.action = DJI_TEST_GIMBAL_ROTATION, .rotation.rotationMode = DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE, 0, 0, -4, 0.2},
|
||||
{.action = DJI_TEST_GIMBAL_RESET},
|
||||
{.action = DJI_TEST_GIMBAL_ROTATION, .rotation.rotationMode = DJI_GIMBAL_ROTATION_MODE_ABSOLUTE_ANGLE, 30, 0, 0, 0.2},
|
||||
{.action = DJI_TEST_GIMBAL_ROTATION, .rotation.rotationMode = DJI_GIMBAL_ROTATION_MODE_ABSOLUTE_ANGLE, -90, 0, 0, 0.5},
|
||||
{.action = DJI_TEST_GIMBAL_ROTATION, .rotation.rotationMode = DJI_GIMBAL_ROTATION_MODE_ABSOLUTE_ANGLE, -60, 0, 0, 0.5},
|
||||
{.action = DJI_TEST_GIMBAL_ROTATION, .rotation.rotationMode = DJI_GIMBAL_ROTATION_MODE_ABSOLUTE_ANGLE, -30, 0, 0, 0.5},
|
||||
{.action = DJI_TEST_GIMBAL_RESET},
|
||||
};
|
||||
|
||||
/* Private functions declaration ---------------------------------------------*/
|
||||
|
||||
@ -69,78 +98,42 @@ T_DjiReturnCode DjiTest_GimbalManagerRunSample(E_DjiMountPosition mountPosition,
|
||||
goto out;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("--> Step 3: Rotate gimbal to target angle in relative angle mode\r\n");
|
||||
DjiTest_WidgetLogAppend("--> Step 3: Rotate gimbal to target angle in relative angle mode\r\n");
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
USER_LOG_INFO("Target gimbal pry = (30, 0, 0) in the body coordinate system");
|
||||
rotation = (T_DjiGimbalManagerRotation) {DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE, 30, 0, 0, 0.5};
|
||||
returnCode = DjiGimbalManager_Rotate(mountPosition, rotation);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Target gimbal pry = (30, 0, 0) failed, error code: 0x%08X", returnCode);
|
||||
}
|
||||
|
||||
osalHandler->TaskSleepMs(1000);
|
||||
|
||||
USER_LOG_INFO("Target gimbal pry = (0, 30, 0) in the body coordinate system");
|
||||
rotation = (T_DjiGimbalManagerRotation) {DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE, 0, 30, 0, 0.5};
|
||||
returnCode = DjiGimbalManager_Rotate(mountPosition, rotation);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Target gimbal pry = (0, 30, 0) failed, error code: 0x%08X", returnCode);
|
||||
}
|
||||
osalHandler->TaskSleepMs(1000);
|
||||
|
||||
USER_LOG_INFO("Target gimbal pry = (0, 0, 30) in the body coordinate system");
|
||||
rotation = (T_DjiGimbalManagerRotation) {DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE, 0, 0, 30, 0.5};
|
||||
returnCode = DjiGimbalManager_Rotate(mountPosition, rotation);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Target gimbal pry = (0, 0, 30) failed, error code: 0x%08X", returnCode);
|
||||
}
|
||||
osalHandler->TaskSleepMs(1000);
|
||||
|
||||
USER_LOG_INFO("Target gimbal reset.\r\n");
|
||||
returnCode = DjiGimbalManager_Reset(mountPosition);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Reset gimbal failed, error code: 0x%08X", returnCode);
|
||||
}
|
||||
osalHandler->TaskSleepMs(2000);
|
||||
USER_LOG_INFO("--> Step 3: Reset gimbal angles.\r\n");
|
||||
returnCode = DjiGimbalManager_Reset(mountPosition);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Reset gimbal failed, error code: 0x%08X", returnCode);
|
||||
}
|
||||
|
||||
USER_LOG_INFO("--> Step 4: Rotate gimbal to target angle in absolute angle mode\r\n");
|
||||
DjiTest_WidgetLogAppend("--> Step 4: Rotate gimbal to target angle in absolute angle mode\r\n");
|
||||
USER_LOG_INFO("--> Step 4: Rotate gimbal to target angle by action list\r\n");
|
||||
for (int i = 0; i < sizeof(s_rotationActionList) / sizeof(T_DjiTestGimbalActionList); ++i) {
|
||||
if (s_rotationActionList[i].action == DJI_TEST_GIMBAL_RESET) {
|
||||
USER_LOG_INFO("Target gimbal reset.\r\n");
|
||||
returnCode = DjiGimbalManager_Reset(mountPosition);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Reset gimbal failed, error code: 0x%08X", returnCode);
|
||||
}
|
||||
osalHandler->TaskSleepMs(2000);
|
||||
} else if (s_rotationActionList[i].action == DJI_TEST_GIMBAL_ROTATION) {
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
USER_LOG_INFO("Target gimbal pry = (30, 0, 0) in the ground coordinate system");
|
||||
rotation = (T_DjiGimbalManagerRotation) {DJI_GIMBAL_ROTATION_MODE_ABSOLUTE_ANGLE, 30, 0, 0, 0.5};
|
||||
returnCode = DjiGimbalManager_Rotate(mountPosition, rotation);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Target gimbal pry = (30, 0, 0) failed, error code: 0x%08X", returnCode);
|
||||
if (gimbalMode == DJI_GIMBAL_MODE_FREE &&
|
||||
s_rotationActionList[i].rotation.rotationMode == DJI_GIMBAL_ROTATION_MODE_ABSOLUTE_ANGLE) {
|
||||
continue;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("Target gimbal pry = (%.1f, %.1f, %.1f)",
|
||||
s_rotationActionList[i].rotation.pitch, s_rotationActionList[i].rotation.roll,
|
||||
s_rotationActionList[i].rotation.yaw);
|
||||
|
||||
rotation = s_rotationActionList[i].rotation;
|
||||
returnCode = DjiGimbalManager_Rotate(mountPosition, rotation);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Target gimbal pry = (%.1f, %.1f, %.1f) failed, error code: 0x%08X",
|
||||
s_rotationActionList[i].rotation.pitch, s_rotationActionList[i].rotation.roll,
|
||||
s_rotationActionList[i].rotation.yaw,
|
||||
returnCode);
|
||||
}
|
||||
osalHandler->TaskSleepMs(1000);
|
||||
}
|
||||
|
||||
osalHandler->TaskSleepMs(1000);
|
||||
|
||||
USER_LOG_INFO("Target gimbal pry = (0, 30, 0) in the ground coordinate system");
|
||||
rotation = (T_DjiGimbalManagerRotation) {DJI_GIMBAL_ROTATION_MODE_ABSOLUTE_ANGLE, 0, 30, 0, 0.5};
|
||||
returnCode = DjiGimbalManager_Rotate(mountPosition, rotation);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Target gimbal pry = (0, 30, 0) failed, error code: 0x%08X", returnCode);
|
||||
}
|
||||
osalHandler->TaskSleepMs(1000);
|
||||
|
||||
USER_LOG_INFO("Target gimbal pry = (0, 0, 30) in the ground coordinate system");
|
||||
rotation = (T_DjiGimbalManagerRotation) {DJI_GIMBAL_ROTATION_MODE_ABSOLUTE_ANGLE, 0, 0, 30, 0.5};
|
||||
returnCode = DjiGimbalManager_Rotate(mountPosition, rotation);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Target gimbal pry = (0, 0, 30) failed, error code: 0x%08X", returnCode);
|
||||
}
|
||||
osalHandler->TaskSleepMs(1000);
|
||||
|
||||
USER_LOG_INFO("Target gimbal reset.\r\n");
|
||||
returnCode = DjiGimbalManager_Reset(mountPosition);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Reset gimbal failed, error code: 0x%08X", returnCode);
|
||||
}
|
||||
osalHandler->TaskSleepMs(2000);
|
||||
}
|
||||
|
||||
USER_LOG_INFO("--> Step 5: Deinit gimbal manager module");
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "dji_liveview.h"
|
||||
#include "dji_logger.h"
|
||||
#include "dji_platform.h"
|
||||
#include "dji_aircraft_info.h"
|
||||
#include "time.h"
|
||||
|
||||
/* Private constants ---------------------------------------------------------*/
|
||||
@ -54,10 +55,17 @@ T_DjiReturnCode DjiTest_LiveviewRunSample(E_DjiMountPosition mountPosition)
|
||||
T_DjiOsalHandler *osalHandler = DjiPlatform_GetOsalHandler();
|
||||
time_t currentTime = time(NULL);
|
||||
struct tm *localTime = NULL;
|
||||
T_DjiAircraftInfoBaseInfo aircraftInfoBaseInfo = {0};
|
||||
|
||||
USER_LOG_INFO("Liveview sample start");
|
||||
DjiTest_WidgetLogAppend("Liveview sample start");
|
||||
|
||||
returnCode = DjiAircraftInfo_GetBaseInfo(&aircraftInfoBaseInfo);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("get aircraft base info error");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("--> Step 1: Init liveview module");
|
||||
DjiTest_WidgetLogAppend("--> Step 1: Init liveview module");
|
||||
returnCode = DjiLiveview_Init();
|
||||
@ -66,23 +74,29 @@ T_DjiReturnCode DjiTest_LiveviewRunSample(E_DjiMountPosition mountPosition)
|
||||
goto out;
|
||||
}
|
||||
|
||||
localTime = localtime(¤tTime);
|
||||
sprintf(s_fpvCameraStreamFilePath, "fpv_stream_%04d%02d%02d_%02d-%02d-%02d.h264",
|
||||
localTime->tm_year + 1900, localTime->tm_mon + 1, localTime->tm_mday,
|
||||
localTime->tm_hour, localTime->tm_min, localTime->tm_sec);
|
||||
|
||||
USER_LOG_INFO("--> Step 2: Start h264 stream of the fpv and selected payload\r\n");
|
||||
DjiTest_WidgetLogAppend("--> Step 2: Start h264 stream of the fpv and selected payload\r\n");
|
||||
|
||||
returnCode = DjiLiveview_StartH264Stream(DJI_LIVEVIEW_CAMERA_POSITION_FPV, DJI_LIVEVIEW_CAMERA_SOURCE_DEFAULT,
|
||||
DjiTest_FpvCameraStreamCallback);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Request h264 of fpv failed, error code: 0x%08X", returnCode);
|
||||
goto out;
|
||||
if (aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M3E) {
|
||||
//TODO: how to use on M3E
|
||||
} else if (aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M3T) {
|
||||
//TODO: how to use on M3T
|
||||
} else {
|
||||
localTime = localtime(¤tTime);
|
||||
sprintf(s_fpvCameraStreamFilePath, "fpv_stream_%04d%02d%02d_%02d-%02d-%02d.h264",
|
||||
localTime->tm_year + 1900, localTime->tm_mon + 1, localTime->tm_mday,
|
||||
localTime->tm_hour, localTime->tm_min, localTime->tm_sec);
|
||||
|
||||
returnCode = DjiLiveview_StartH264Stream(DJI_LIVEVIEW_CAMERA_POSITION_FPV, DJI_LIVEVIEW_CAMERA_SOURCE_DEFAULT,
|
||||
DjiTest_FpvCameraStreamCallback);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Request h264 of fpv failed, error code: 0x%08X", returnCode);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
localTime = localtime(¤tTime);
|
||||
sprintf(s_payloadCameraStreamFilePath, "payload%d_stream_%04d%02d%02d_%02d-%02d-%02d.h264",
|
||||
sprintf(s_payloadCameraStreamFilePath, "payload%d_vis_stream_%04d%02d%02d_%02d-%02d-%02d.h264",
|
||||
mountPosition, localTime->tm_year + 1900, localTime->tm_mon + 1, localTime->tm_mday,
|
||||
localTime->tm_hour, localTime->tm_min, localTime->tm_sec);
|
||||
|
||||
@ -100,13 +114,20 @@ T_DjiReturnCode DjiTest_LiveviewRunSample(E_DjiMountPosition mountPosition)
|
||||
|
||||
USER_LOG_INFO("--> Step 3: Stop h264 stream of the fpv and selected payload\r\n");
|
||||
DjiTest_WidgetLogAppend("--> Step 3: Stop h264 stream of the fpv and selected payload");
|
||||
returnCode = DjiLiveview_StopH264Stream(DJI_LIVEVIEW_CAMERA_POSITION_FPV);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Request to stop h264 of fpv failed, error code: 0x%08X", returnCode);
|
||||
goto out;
|
||||
if (aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M3E) {
|
||||
//TODO: how to use on M3E
|
||||
} else if (aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M3T) {
|
||||
//TODO: how to use on M3T
|
||||
} else {
|
||||
returnCode = DjiLiveview_StopH264Stream(DJI_LIVEVIEW_CAMERA_POSITION_FPV, DJI_LIVEVIEW_CAMERA_SOURCE_DEFAULT);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Request to stop h264 of fpv failed, error code: 0x%08X", returnCode);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
returnCode = DjiLiveview_StopH264Stream((E_DjiLiveViewCameraPosition) mountPosition);
|
||||
returnCode = DjiLiveview_StopH264Stream((E_DjiLiveViewCameraPosition) mountPosition,
|
||||
DJI_LIVEVIEW_CAMERA_SOURCE_DEFAULT);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Request to stop h264 of payload %d failed, error code: 0x%08X", mountPosition, returnCode);
|
||||
goto out;
|
||||
@ -115,6 +136,37 @@ T_DjiReturnCode DjiTest_LiveviewRunSample(E_DjiMountPosition mountPosition)
|
||||
USER_LOG_INFO("Fpv stream is saved to file: %s", s_fpvCameraStreamFilePath);
|
||||
USER_LOG_INFO("Payload%d stream is saved to file: %s\r\n", mountPosition, s_payloadCameraStreamFilePath);
|
||||
|
||||
if (aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M3T) {
|
||||
USER_LOG_INFO("--> Start h264 stream of the fpv and selected payload\r\n");
|
||||
|
||||
localTime = localtime(¤tTime);
|
||||
sprintf(s_payloadCameraStreamFilePath, "payload%d_ir_stream_%04d%02d%02d_%02d-%02d-%02d.h264",
|
||||
mountPosition, localTime->tm_year + 1900, localTime->tm_mon + 1, localTime->tm_mday,
|
||||
localTime->tm_hour, localTime->tm_min, localTime->tm_sec);
|
||||
|
||||
returnCode = DjiLiveview_StartH264Stream((E_DjiLiveViewCameraPosition) mountPosition,
|
||||
DJI_LIVEVIEW_CAMERA_SOURCE_M3T_IR,
|
||||
DjiTest_PayloadCameraStreamCallback);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Request h264 of payload %d failed, error code: 0x%08X", mountPosition, returnCode);
|
||||
}
|
||||
|
||||
for (int i = 0; i < TEST_LIVEVIEW_STREAM_STROING_TIME_IN_SECONDS; ++i) {
|
||||
USER_LOG_INFO("Storing camera h264 stream, second: %d.", i + 1);
|
||||
osalHandler->TaskSleepMs(1000);
|
||||
}
|
||||
|
||||
returnCode = DjiLiveview_StopH264Stream((E_DjiLiveViewCameraPosition) mountPosition,
|
||||
DJI_LIVEVIEW_CAMERA_SOURCE_DEFAULT);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Request to stop h264 of payload %d failed, error code: 0x%08X", mountPosition, returnCode);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
USER_LOG_INFO("Fpv stream is saved to file: %s", s_fpvCameraStreamFilePath);
|
||||
USER_LOG_INFO("Payload%d stream is saved to file: %s\r\n", mountPosition, s_payloadCameraStreamFilePath);
|
||||
|
||||
USER_LOG_INFO("--> Step 4: Deinit liveview module");
|
||||
DjiTest_WidgetLogAppend("--> Step 4: Deinit liveview module");
|
||||
returnCode = DjiLiveview_Deinit();
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
/* Private constants ---------------------------------------------------------*/
|
||||
#define POSITIONING_TASK_FREQ (1)
|
||||
#define POSITIONING_TASK_STACK_SIZE (2048)
|
||||
#define POSITIONING_TASK_STACK_SIZE (1024)
|
||||
|
||||
#define DJI_TEST_POSITIONING_EVENT_COUNT (2)
|
||||
#define DJI_TEST_TIME_INTERVAL_AMONG_EVENTS_US (200000)
|
||||
|
@ -33,7 +33,7 @@
|
||||
|
||||
/* Private constants ---------------------------------------------------------*/
|
||||
#define DJI_TEST_TIME_SYNC_TASK_FREQ (1)
|
||||
#define DJI_TEST_TIME_SYNC_TASK_STACK_SIZE (2048)
|
||||
#define DJI_TEST_TIME_SYNC_TASK_STACK_SIZE (1024)
|
||||
|
||||
/* Private types -------------------------------------------------------------*/
|
||||
|
||||
@ -160,9 +160,9 @@ static void *DjiTest_TimeSyncTask(void *arg)
|
||||
continue;
|
||||
}
|
||||
|
||||
USER_LOG_DEBUG("current aircraft time is %d.%d.%d %d:%d %d %d.", aircraftTime.year, aircraftTime.month,
|
||||
aircraftTime.day, aircraftTime.hour, aircraftTime.minute, aircraftTime.second,
|
||||
aircraftTime.microsecond);
|
||||
USER_LOG_DEBUG("current aircraft time is %04d-%02d-%02d %02d:%02d:%02d %d.",
|
||||
aircraftTime.year, aircraftTime.month, aircraftTime.day,
|
||||
aircraftTime.hour, aircraftTime.minute, aircraftTime.second, aircraftTime.microsecond);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -452,12 +452,13 @@ static T_DjiReturnCode DjiTest_WaypointV2UploadMission(uint16_t missionNum)
|
||||
missionInitSettings.actionList = actionList;
|
||||
|
||||
returnCode = DjiWaypointV2_UploadMission(&missionInitSettings);
|
||||
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Init waypoint V2 mission setting failed, ErrorCode:0x%lX", returnCode);
|
||||
return returnCode;
|
||||
goto out;
|
||||
}
|
||||
|
||||
out:
|
||||
osalHandler->Free(actionList.actions);
|
||||
return returnCode;
|
||||
}
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
/* Private types -------------------------------------------------------------*/
|
||||
|
||||
/* Private values -------------------------------------------------------------*/
|
||||
static T_DjiWaypointV3MissionState s_lastWaypointV3MissionState = {0};
|
||||
|
||||
/* Private functions declaration ---------------------------------------------*/
|
||||
static T_DjiReturnCode DjiTest_WaypointV3StateCallback(T_DjiWaypointV3MissionState missionState);
|
||||
@ -73,7 +74,7 @@ T_DjiReturnCode DjiTest_WaypointV3RunSample(void)
|
||||
}
|
||||
|
||||
/*! Attention: suggest use the exported kmz file by DJI pilot. If use this test file, you need set the longitude as
|
||||
* 113.94755, latitude as 22.51853 on DJI Assistant 2 simulator */
|
||||
* 113.94255, latitude as 22.57765 on DJI Assistant 2 simulator */
|
||||
snprintf(tempPath, DJI_TEST_WAYPOINT_V3_KMZ_FILE_PATH_LEN_MAX, "%s/waypoint_file/waypoint_v3_test_file.kmz",
|
||||
curFileDirPath);
|
||||
|
||||
@ -124,38 +125,26 @@ T_DjiReturnCode DjiTest_WaypointV3RunSample(void)
|
||||
goto out;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 30; ++i) {
|
||||
osalHandler->TaskSleepMs(1000);
|
||||
}
|
||||
|
||||
USER_LOG_INFO("Execute pause action");
|
||||
returnCode = DjiWaypointV3_Action(DJI_WAYPOINT_V3_ACTION_PAUSE);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Execute start action failed.");
|
||||
goto out;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 5; ++i) {
|
||||
osalHandler->TaskSleepMs(1000);
|
||||
}
|
||||
|
||||
USER_LOG_INFO("Execute resume action");
|
||||
returnCode = DjiWaypointV3_Action(DJI_WAYPOINT_V3_ACTION_RESUME);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Execute start action failed.");
|
||||
goto out;
|
||||
}
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
|
||||
out:
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN;
|
||||
}
|
||||
|
||||
/* Private functions definition-----------------------------------------------*/
|
||||
static T_DjiReturnCode DjiTest_WaypointV3StateCallback(T_DjiWaypointV3MissionState missionState)
|
||||
{
|
||||
if (s_lastWaypointV3MissionState.state == missionState.state
|
||||
&& s_lastWaypointV3MissionState.currentWaypointIndex == missionState.currentWaypointIndex
|
||||
&& s_lastWaypointV3MissionState.wayLineId == missionState.wayLineId) {
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("Waypoint v3 mission state: %d, current waypoint index: %d, wayLine id: %d", missionState.state,
|
||||
missionState.currentWaypointIndex, missionState.wayLineId);
|
||||
|
||||
memcpy(&s_lastWaypointV3MissionState, &missionState, sizeof(T_DjiWaypointV3MissionState));
|
||||
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
}
|
||||
/****************** (C) COPYRIGHT DJI Innovations *****END OF FILE****/
|
||||
|
Binary file not shown.
@ -6,240 +6,209 @@
|
||||
|
||||
/* Contents of file waypoint_v3_test_file.kmz */
|
||||
#define waypoint_v3_test_file_kmz_fileName "waypoint_v3_test_file.kmz"
|
||||
#define waypoint_v3_test_file_kmz_fileSize 3690
|
||||
#define waypoint_v3_test_file_kmz_fileSize 3186
|
||||
|
||||
static const uint8_t waypoint_v3_test_file_kmz_fileBinaryArray[3690] = {
|
||||
0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xA8,
|
||||
0x54, 0x6C, 0xA8, 0x06, 0x00, 0x00, 0xD9, 0x59, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x77, 0x70,
|
||||
static const uint8_t waypoint_v3_test_file_kmz_fileBinaryArray[3186] = {
|
||||
0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x08, 0x08, 0x08, 0x00, 0x22, 0x6D, 0x34, 0x55, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x77, 0x70,
|
||||
0x6D, 0x7A, 0x2F, 0x74, 0x65, 0x6D, 0x70, 0x6C, 0x61, 0x74, 0x65, 0x2E, 0x6B, 0x6D, 0x6C, 0xED,
|
||||
0x9C, 0x6D, 0x6F, 0xDB, 0x36, 0x10, 0xC7, 0xDF, 0xF7, 0x53, 0x04, 0x79, 0xDD, 0xC5, 0xBC, 0x23,
|
||||
0x8F, 0x0F, 0x85, 0xEB, 0xA2, 0xE8, 0x33, 0xB0, 0xA1, 0xC1, 0x9C, 0x2D, 0xAF, 0x55, 0x5B, 0x49,
|
||||
0xB4, 0xCA, 0x92, 0x61, 0xCB, 0x75, 0xB3, 0x4F, 0xBF, 0x93, 0x2D, 0xD9, 0x92, 0xAD, 0xB4, 0x03,
|
||||
0x38, 0x0C, 0x20, 0xC0, 0xA2, 0x40, 0x6B, 0x1D, 0x8F, 0xA2, 0xC8, 0x1F, 0x8F, 0xC7, 0xBF, 0x1E,
|
||||
0xC6, 0xAF, 0xBE, 0x2F, 0xF2, 0x8B, 0x6F, 0xE9, 0x6A, 0x9D, 0x95, 0xC5, 0xCB, 0x4B, 0xB8, 0x12,
|
||||
0x97, 0x17, 0x69, 0x31, 0x2B, 0xE7, 0x59, 0x71, 0xFF, 0xF2, 0xF2, 0x8F, 0x9B, 0xF7, 0xBF, 0xD8,
|
||||
0xCB, 0x57, 0x93, 0x67, 0xE3, 0xAF, 0x5C, 0x8A, 0x4B, 0x16, 0xEB, 0x97, 0x97, 0x0F, 0x55, 0xB5,
|
||||
0x7C, 0x31, 0x1A, 0x6D, 0xB7, 0xDB, 0xAB, 0x72, 0x99, 0x16, 0xF7, 0xD9, 0xFA, 0xAA, 0x48, 0xAB,
|
||||
0x11, 0x97, 0x18, 0xE1, 0x15, 0x5E, 0xEE, 0x8B, 0xBD, 0xD8, 0x2E, 0x17, 0x79, 0xAF, 0xEC, 0xFC,
|
||||
0xAF, 0xEC, 0x6A, 0x56, 0x2E, 0x46, 0x6C, 0xF8, 0x7B, 0xC4, 0xE7, 0xE1, 0x33, 0x4D, 0x9E, 0x5D,
|
||||
0x5C, 0x8C, 0xDF, 0x96, 0xB3, 0xCD, 0x22, 0x2D, 0xAA, 0xFA, 0x07, 0xFF, 0xAC, 0xFD, 0x5E, 0xCC,
|
||||
0x56, 0x69, 0x52, 0xA5, 0x37, 0xD9, 0x22, 0x9D, 0x80, 0x56, 0x46, 0xA2, 0xB1, 0x92, 0xA4, 0xC3,
|
||||
0xF1, 0xE8, 0xD4, 0xDC, 0x71, 0xDA, 0x2C, 0xE7, 0x27, 0x4E, 0xCE, 0x19, 0x00, 0xD3, 0x38, 0x75,
|
||||
0xCC, 0x1D, 0xA7, 0x45, 0xB6, 0xAE, 0xAF, 0xFC, 0x4D, 0x59, 0xDC, 0x65, 0xF7, 0x7B, 0x43, 0x6B,
|
||||
0xBA, 0xCB, 0x1F, 0x6F, 0xCA, 0xDB, 0xE4, 0x31, 0xCF, 0x8A, 0xF4, 0xB7, 0x72, 0x9E, 0x4E, 0xD6,
|
||||
0xC9, 0x5D, 0x9A, 0x3F, 0x36, 0xD5, 0x9D, 0x59, 0xFB, 0xBE, 0x59, 0x91, 0xAD, 0x1F, 0x5E, 0xCF,
|
||||
0x2A, 0xAE, 0x7B, 0x72, 0x5F, 0x7E, 0x2C, 0x17, 0x69, 0xEB, 0xD7, 0xB5, 0xF4, 0x7C, 0xD2, 0xEF,
|
||||
0x59, 0xF5, 0xB9, 0xF8, 0xFD, 0xCD, 0xAF, 0xE5, 0xBA, 0x62, 0x1F, 0x6E, 0x52, 0x95, 0x15, 0x9B,
|
||||
0xD6, 0xAF, 0x67, 0xED, 0xF9, 0x55, 0xC9, 0xD7, 0xF4, 0xF3, 0xDD, 0xDD, 0x34, 0x9D, 0x6D, 0x56,
|
||||
0x59, 0xF5, 0xF8, 0x31, 0xCD, 0xEE, 0x1F, 0xAA, 0x09, 0x8A, 0xC6, 0x71, 0xD8, 0xDC, 0xAB, 0xE1,
|
||||
0x3E, 0x2F, 0xBF, 0x24, 0xF9, 0xCD, 0x2A, 0x29, 0xD6, 0x59, 0xDD, 0xAE, 0x24, 0x9F, 0x2E, 0xD3,
|
||||
0x74, 0x3E, 0xA1, 0xA6, 0x8A, 0xA7, 0xEC, 0xBD, 0x4A, 0xE6, 0xAB, 0xB2, 0x48, 0x3F, 0x15, 0x77,
|
||||
0x65, 0x7B, 0xB8, 0x67, 0x78, 0x57, 0x6C, 0x16, 0x7F, 0x26, 0xF9, 0x26, 0x9D, 0xE8, 0x76, 0x40,
|
||||
0x4E, 0x8E, 0x0F, 0x79, 0x4D, 0x37, 0x5F, 0x8E, 0x05, 0x44, 0xD7, 0xAF, 0x67, 0x69, 0xDB, 0x31,
|
||||
0x1A, 0x6E, 0xC8, 0xBE, 0xC2, 0x25, 0x8F, 0x55, 0x99, 0xCC, 0x87, 0x5A, 0xD8, 0x98, 0x8E, 0x15,
|
||||
0x52, 0x4B, 0xDA, 0x99, 0x65, 0xD8, 0x73, 0xB0, 0x9D, 0x43, 0xB6, 0x61, 0xF7, 0xEB, 0x72, 0xDF,
|
||||
0xAF, 0x9F, 0x8A, 0x79, 0xFA, 0xFD, 0xD4, 0xBF, 0x6F, 0xEC, 0x5F, 0xEA, 0xD9, 0x35, 0x35, 0xC7,
|
||||
0x07, 0xA8, 0x1E, 0xBF, 0x2F, 0xF3, 0x79, 0xBA, 0x3A, 0x41, 0x27, 0x5D, 0x2C, 0xF3, 0x7A, 0x56,
|
||||
0x3C, 0x2E, 0xD3, 0xC9, 0x36, 0x79, 0x5C, 0x96, 0x59, 0x51, 0xB5, 0xDC, 0x74, 0x6D, 0x3D, 0xAF,
|
||||
0xCD, 0x3A, 0xFD, 0xF0, 0x04, 0x11, 0x6D, 0xDB, 0x7F, 0x50, 0x64, 0xB0, 0x01, 0x9F, 0x8E, 0xAE,
|
||||
0x9D, 0x43, 0xBD, 0xA2, 0xDB, 0xFD, 0x5C, 0x7B, 0x53, 0x96, 0x2B, 0x0E, 0x4E, 0x5C, 0x60, 0xFA,
|
||||
0xB8, 0xBE, 0x4E, 0x56, 0xC9, 0xE2, 0xB4, 0x53, 0x67, 0x87, 0x12, 0xBB, 0x79, 0x79, 0xFB, 0x61,
|
||||
0x6A, 0x55, 0x1B, 0x38, 0xFA, 0xA6, 0x13, 0xC7, 0x87, 0xDD, 0xD4, 0xD8, 0x59, 0x56, 0x29, 0x37,
|
||||
0x21, 0xFB, 0x96, 0xDE, 0x94, 0xD3, 0x2A, 0x59, 0x55, 0xD7, 0x9D, 0x7E, 0xE9, 0x94, 0x3A, 0xF1,
|
||||
0xDF, 0x4F, 0x93, 0x66, 0x82, 0x81, 0x10, 0xBD, 0xD9, 0xD3, 0x9F, 0x77, 0x07, 0x00, 0x9A, 0xC1,
|
||||
0xE5, 0x68, 0xBB, 0xEB, 0xE7, 0x0F, 0xD7, 0xD3, 0x76, 0x68, 0x4F, 0x2C, 0xFD, 0x81, 0xFF, 0x69,
|
||||
0x67, 0xEC, 0xAB, 0x4F, 0x36, 0x55, 0xF9, 0x3E, 0xAF, 0x4F, 0xDC, 0x9F, 0xD0, 0xA7, 0xC7, 0xFB,
|
||||
0x63, 0xF2, 0x64, 0x1C, 0x38, 0xB7, 0xF4, 0x1C, 0x67, 0x49, 0x9E, 0xED, 0x6B, 0x7D, 0x57, 0x24,
|
||||
0x5F, 0xF2, 0xE3, 0x4C, 0x38, 0x33, 0xF4, 0xA3, 0x4F, 0xB6, 0xE0, 0xFE, 0xB9, 0xCE, 0xAA, 0xD9,
|
||||
0xC3, 0xAE, 0x57, 0x17, 0x49, 0xB1, 0x49, 0xF2, 0xB6, 0xF3, 0x4E, 0x8C, 0x03, 0x71, 0xEB, 0xB6,
|
||||
0xE1, 0xF6, 0x63, 0x9A, 0xD4, 0xAB, 0xD6, 0x20, 0x13, 0xDB, 0x7E, 0x99, 0x5D, 0x55, 0x77, 0x65,
|
||||
0x9E, 0x97, 0xDB, 0x26, 0x84, 0x1F, 0xFB, 0xF5, 0xAC, 0xDC, 0x8F, 0xAB, 0x7A, 0x5D, 0xDC, 0x77,
|
||||
0xAE, 0x74, 0xD0, 0xF8, 0x44, 0x05, 0x0C, 0xD5, 0x8E, 0xAB, 0x09, 0x2F, 0x85, 0xBB, 0x3F, 0xCF,
|
||||
0xCF, 0xFE, 0x73, 0x52, 0xEB, 0xC1, 0xE3, 0x5F, 0x34, 0xE9, 0x64, 0x08, 0x7E, 0x50, 0xA4, 0x4F,
|
||||
0xD6, 0xCF, 0xFB, 0x74, 0xA8, 0xEF, 0x6F, 0x36, 0xAB, 0x62, 0xD7, 0x59, 0x55, 0xB9, 0x6B, 0xE1,
|
||||
0xEB, 0x62, 0x3E, 0xAD, 0xCA, 0xE5, 0x6D, 0x56, 0x3D, 0xBC, 0xCD, 0xD6, 0xB3, 0xFD, 0x52, 0xC6,
|
||||
0xAB, 0xCF, 0x9B, 0xCD, 0xEA, 0x5B, 0x52, 0x6D, 0x56, 0xE9, 0xE0, 0xD9, 0x0E, 0xB5, 0xB4, 0x67,
|
||||
0xBA, 0xCE, 0x93, 0x59, 0xBA, 0x48, 0x56, 0x5F, 0x3B, 0x57, 0x7C, 0xD2, 0x03, 0x7C, 0xE4, 0x38,
|
||||
0xAB, 0xD7, 0xDD, 0xE3, 0x17, 0x17, 0x00, 0xF2, 0xCA, 0x29, 0x90, 0x46, 0x81, 0xD5, 0x1A, 0xF5,
|
||||
0x73, 0xC4, 0x2B, 0x42, 0x54, 0xCA, 0x29, 0x6B, 0x8D, 0x00, 0xEC, 0xD6, 0x32, 0x1A, 0xAC, 0x66,
|
||||
0x3C, 0x1A, 0xEC, 0xF1, 0xAC, 0x17, 0xA9, 0xB3, 0x6E, 0x68, 0x3E, 0x2C, 0xE7, 0x79, 0x9E, 0x2D,
|
||||
0xD7, 0x65, 0x36, 0x3F, 0x0B, 0x08, 0xA7, 0x96, 0xC1, 0x30, 0xD4, 0x29, 0xFF, 0x30, 0x58, 0xEC,
|
||||
0x10, 0x62, 0xDB, 0xFA, 0x4F, 0x43, 0xEF, 0x70, 0xED, 0x07, 0xF3, 0x7E, 0x02, 0x9F, 0x79, 0xF5,
|
||||
0xE6, 0xF5, 0xC0, 0xB9, 0x3A, 0x3C, 0x0C, 0x9C, 0xF1, 0xE9, 0x19, 0x78, 0x5C, 0x11, 0x78, 0x90,
|
||||
0x9F, 0xF0, 0x3F, 0x9A, 0x0E, 0x4C, 0x9E, 0x11, 0xF0, 0xDF, 0x30, 0x81, 0x46, 0x0B, 0xC9, 0x19,
|
||||
0xA2, 0x86, 0x86, 0x09, 0xD4, 0x52, 0x29, 0x44, 0x00, 0xE5, 0xC9, 0x04, 0x44, 0x26, 0x02, 0x65,
|
||||
0x42, 0x82, 0x94, 0xD6, 0x2A, 0xED, 0x1A, 0x26, 0x24, 0x87, 0x0C, 0x92, 0xC6, 0x28, 0x65, 0x3D,
|
||||
0x99, 0xC0, 0xC8, 0x44, 0xA0, 0x4C, 0x30, 0x05, 0xC2, 0x39, 0x74, 0xBA, 0x45, 0x82, 0x17, 0x12,
|
||||
0x25, 0x94, 0x06, 0xE9, 0x89, 0x84, 0x8C, 0x48, 0x04, 0x8A, 0x84, 0xB6, 0x12, 0x09, 0x08, 0x45,
|
||||
0x1B, 0x26, 0xA4, 0x26, 0xA1, 0x0C, 0xF1, 0x3F, 0x9E, 0x4C, 0xA8, 0xC8, 0x44, 0xA0, 0x4C, 0x18,
|
||||
0x63, 0x90, 0x88, 0xB4, 0x38, 0xA4, 0x13, 0x0A, 0x1C, 0x2A, 0x23, 0x94, 0x6F, 0x8A, 0x49, 0x91,
|
||||
0x89, 0x40, 0x99, 0xB0, 0x92, 0xFF, 0xD6, 0x4B, 0x87, 0xDA, 0x33, 0x21, 0xAC, 0x34, 0x20, 0x34,
|
||||
0x0A, 0xF4, 0x4D, 0x27, 0x74, 0x64, 0x22, 0x50, 0x26, 0x8C, 0x71, 0x8E, 0x04, 0x49, 0xB1, 0xCF,
|
||||
0x27, 0xC0, 0x91, 0xE2, 0xEC, 0x42, 0xF0, 0xA2, 0xE2, 0x1B, 0x27, 0x4C, 0x64, 0x22, 0x50, 0x26,
|
||||
0xB4, 0x93, 0xCE, 0x5A, 0x4D, 0x68, 0x1B, 0x26, 0x94, 0x20, 0xB2, 0x28, 0xB4, 0x31, 0x9E, 0x4C,
|
||||
0xD8, 0xC8, 0x44, 0xA8, 0x4C, 0x48, 0xDE, 0x67, 0x80, 0x33, 0x16, 0xF7, 0x4C, 0x58, 0x63, 0x49,
|
||||
0x08, 0x29, 0xBC, 0xB7, 0x1D, 0x2E, 0x22, 0x11, 0x28, 0x12, 0xBC, 0xC3, 0xB0, 0x1C, 0x16, 0x24,
|
||||
0x35, 0x4B, 0x87, 0x75, 0xC6, 0x09, 0x34, 0x02, 0x49, 0xFB, 0x2A, 0x56, 0x51, 0xC6, 0x0C, 0x15,
|
||||
0x0A, 0xDE, 0x7B, 0x3A, 0x4B, 0xC8, 0xC9, 0xE6, 0x61, 0xED, 0x10, 0xC4, 0x4B, 0x09, 0x08, 0xDF,
|
||||
0x40, 0x01, 0x51, 0xC7, 0x0C, 0x15, 0x0A, 0x8E, 0x11, 0x52, 0x2A, 0xA7, 0x9D, 0x6A, 0xA0, 0x70,
|
||||
0x56, 0x0B, 0xAD, 0x35, 0x87, 0x0A, 0x5F, 0x28, 0xA2, 0x90, 0x19, 0x2A, 0x14, 0xC2, 0xDA, 0xFA,
|
||||
0x6E, 0x87, 0x46, 0x38, 0xEC, 0x46, 0xA5, 0xA9, 0xB9, 0x00, 0xDF, 0x2C, 0x13, 0xA2, 0x94, 0x19,
|
||||
0x2A, 0x14, 0x00, 0x9C, 0x63, 0x6A, 0xAB, 0x1A, 0x75, 0x1B, 0xB4, 0x96, 0x4C, 0x05, 0x48, 0xEF,
|
||||
0x7B, 0x60, 0x51, 0xC9, 0x0C, 0x16, 0x09, 0x4B, 0x52, 0x5B, 0x61, 0x4C, 0xCB, 0x84, 0x33, 0x1C,
|
||||
0x34, 0x38, 0xC3, 0x40, 0x6F, 0x28, 0xA2, 0x94, 0x19, 0x2A, 0x14, 0x12, 0xB5, 0x71, 0xA8, 0xAD,
|
||||
0x74, 0x0D, 0x14, 0x46, 0x0A, 0x67, 0x0D, 0x90, 0xF1, 0xDE, 0x7B, 0x44, 0x2D, 0x33, 0x54, 0x28,
|
||||
0x98, 0x0A, 0x09, 0xBC, 0x7A, 0x68, 0xD9, 0x46, 0x0A, 0x72, 0x68, 0x2C, 0x6A, 0xE1, 0x9D, 0x66,
|
||||
0x46, 0x31, 0x33, 0x54, 0x28, 0x78, 0xF3, 0xC9, 0x04, 0x10, 0xB4, 0x48, 0xF0, 0xA6, 0x83, 0x8F,
|
||||
0x09, 0xE1, 0x2B, 0x6F, 0x43, 0xD4, 0x32, 0x43, 0x45, 0x42, 0xD7, 0xB7, 0x38, 0x08, 0x8C, 0x69,
|
||||
0x16, 0x0F, 0xE1, 0x48, 0xA3, 0x55, 0x40, 0xCE, 0x5B, 0xA3, 0x88, 0x6A, 0x66, 0xA8, 0x50, 0x90,
|
||||
0x03, 0x52, 0x0C, 0x06, 0xB5, 0x50, 0x68, 0x24, 0x12, 0x4E, 0xF0, 0x86, 0xD4, 0x13, 0x0A, 0x8C,
|
||||
0x6A, 0x66, 0xB0, 0x50, 0xA0, 0xB0, 0xAA, 0x4E, 0x2A, 0x5A, 0x28, 0x48, 0x09, 0xE4, 0xCD, 0x07,
|
||||
0x38, 0xEF, 0x07, 0xF0, 0xA2, 0x9A, 0x19, 0x2A, 0x14, 0x4A, 0x73, 0x06, 0x41, 0x12, 0xC0, 0x1E,
|
||||
0x84, 0x2B, 0x01, 0xC2, 0x48, 0x8E, 0x1D, 0xBE, 0x50, 0x44, 0x35, 0x33, 0x58, 0x28, 0x04, 0x20,
|
||||
0x49, 0x85, 0xBA, 0x55, 0x29, 0x24, 0x3A, 0x49, 0x44, 0xCE, 0x80, 0x2F, 0x14, 0x51, 0xCD, 0x0C,
|
||||
0x15, 0x0A, 0x94, 0x4E, 0x59, 0xA1, 0x00, 0xB1, 0x4D, 0x34, 0xB5, 0x95, 0xF5, 0xD3, 0x15, 0xDE,
|
||||
0x81, 0x22, 0xCA, 0x99, 0xA1, 0x32, 0xC1, 0xE3, 0x4F, 0x9C, 0x51, 0x48, 0x6A, 0x90, 0x10, 0xC6,
|
||||
0x10, 0xF1, 0x4F, 0xEF, 0xBB, 0x1E, 0x18, 0xD5, 0xCC, 0x50, 0x99, 0x50, 0x16, 0xD1, 0x82, 0x40,
|
||||
0x69, 0x9A, 0xFB, 0xA3, 0x46, 0x2B, 0x09, 0x4A, 0xF1, 0x0E, 0xC4, 0x17, 0x8A, 0xA8, 0x66, 0x86,
|
||||
0x0A, 0x85, 0x06, 0x94, 0xBB, 0xFD, 0x46, 0x0B, 0x85, 0x45, 0xCE, 0x32, 0x19, 0x13, 0xE9, 0x2B,
|
||||
0x5D, 0x61, 0x54, 0x33, 0x43, 0x85, 0xC2, 0x08, 0xD2, 0x52, 0xE2, 0x31, 0xA3, 0x00, 0xB2, 0xCC,
|
||||
0x88, 0xE5, 0x5D, 0xA9, 0x2F, 0x14, 0x51, 0xCF, 0x0C, 0x16, 0x0A, 0x5E, 0x2B, 0x0C, 0x10, 0xE8,
|
||||
0xCE, 0x93, 0x14, 0xA0, 0x88, 0x37, 0xA8, 0xCE, 0x17, 0x8A, 0xA8, 0x67, 0x86, 0x0A, 0x05, 0x6F,
|
||||
0x33, 0xAC, 0x12, 0xCA, 0x91, 0x6D, 0x1F, 0xA5, 0x20, 0xCE, 0x34, 0xAD, 0x22, 0xE1, 0x0B, 0x85,
|
||||
0x8C, 0x7A, 0x66, 0xB0, 0x50, 0x28, 0x30, 0xF5, 0x77, 0x88, 0xDA, 0xE5, 0x03, 0xA9, 0xFE, 0xA6,
|
||||
0x83, 0x33, 0xDE, 0xCF, 0xD7, 0xC8, 0x28, 0x67, 0x86, 0xCA, 0x04, 0x49, 0x47, 0x86, 0x14, 0xA8,
|
||||
0xE6, 0xAE, 0x39, 0x1A, 0x63, 0xA0, 0xBE, 0x4B, 0x8A, 0xDE, 0x81, 0x22, 0xCA, 0x99, 0xA1, 0x42,
|
||||
0xA1, 0xEA, 0x77, 0xCA, 0x9D, 0x70, 0x6D, 0x9C, 0x70, 0x00, 0xA8, 0x0D, 0xFA, 0xEF, 0x3D, 0x64,
|
||||
0x54, 0x33, 0x43, 0x65, 0x42, 0x5A, 0x0D, 0x00, 0xC6, 0x08, 0x73, 0x08, 0x14, 0x0A, 0x04, 0x39,
|
||||
0xAD, 0x7C, 0xA5, 0x2B, 0x19, 0xE5, 0xCC, 0x60, 0xA1, 0xC0, 0xFA, 0xE5, 0x0E, 0xB0, 0xCD, 0xFB,
|
||||
0x1E, 0x58, 0x7F, 0x9D, 0x82, 0x40, 0x1A, 0xEB, 0x7D, 0x87, 0x54, 0x46, 0x3D, 0x33, 0x58, 0x28,
|
||||
0xA4, 0x10, 0x48, 0x8E, 0xB3, 0x8A, 0xE6, 0xCD, 0x30, 0x5D, 0xBF, 0x52, 0x2C, 0x34, 0x79, 0x7F,
|
||||
0xDF, 0x4A, 0x46, 0x3D, 0x33, 0x54, 0x28, 0xC0, 0x70, 0x3E, 0x61, 0xE1, 0xF0, 0xA6, 0xB9, 0x15,
|
||||
0x86, 0x78, 0x3F, 0x22, 0xB4, 0xF2, 0xFE, 0x72, 0x4D, 0xD4, 0x33, 0x43, 0x85, 0x02, 0x95, 0x76,
|
||||
0x64, 0x25, 0x6F, 0x42, 0xF6, 0xCB, 0x87, 0x62, 0x4C, 0x84, 0x04, 0xE5, 0xB4, 0x77, 0x4E, 0x11,
|
||||
0xF5, 0xCC, 0xFF, 0x1B, 0x8A, 0xF1, 0xE8, 0xF8, 0x45, 0xD7, 0xF1, 0xE8, 0xF8, 0x15, 0xE5, 0x71,
|
||||
0xFD, 0x25, 0xE6, 0xC9, 0xB3, 0x7F, 0x00, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xB3, 0xD8, 0x8E, 0x16, 0xCE, 0x06, 0x00, 0x00, 0xD6, 0x99, 0x00,
|
||||
0x00, 0x12, 0x00, 0x00, 0x00, 0x77, 0x70, 0x6D, 0x7A, 0x2F, 0x77, 0x61, 0x79, 0x6C, 0x69, 0x6E,
|
||||
0x65, 0x73, 0x2E, 0x77, 0x70, 0x6D, 0x6C, 0xED, 0x9D, 0xDF, 0x6F, 0xDB, 0x36, 0x10, 0xC7, 0xDF,
|
||||
0xFB, 0x57, 0x04, 0x79, 0xEE, 0xEC, 0xBB, 0x23, 0x8F, 0x3F, 0x0A, 0xD7, 0x45, 0xD1, 0x34, 0x68,
|
||||
0x81, 0x0E, 0x0D, 0x96, 0x6C, 0x7D, 0x56, 0x6D, 0x25, 0xD1, 0x22, 0x4B, 0x86, 0x2C, 0x37, 0xED,
|
||||
0xFE, 0xFA, 0x51, 0xB6, 0xE4, 0x58, 0x8E, 0xB3, 0x16, 0xE0, 0xA0, 0xBC, 0x5C, 0x50, 0x24, 0x15,
|
||||
0xC9, 0x23, 0x29, 0x8A, 0x1F, 0x1F, 0x49, 0x7D, 0x49, 0x4F, 0xDE, 0x7C, 0x5F, 0xE4, 0x27, 0xDF,
|
||||
0xD2, 0x6A, 0x95, 0x95, 0xC5, 0xEB, 0x53, 0x1C, 0xC1, 0xE9, 0x49, 0x5A, 0xCC, 0xCA, 0x79, 0x56,
|
||||
0xDC, 0xBC, 0x3E, 0xFD, 0xF3, 0xEA, 0xFC, 0x37, 0x77, 0xFA, 0x66, 0xFA, 0x62, 0x72, 0x17, 0x52,
|
||||
0x85, 0x94, 0xC5, 0xEA, 0xF5, 0xE9, 0x6D, 0x5D, 0x2F, 0x5F, 0x8D, 0xC7, 0xF7, 0xF7, 0xF7, 0xA3,
|
||||
0x72, 0x99, 0x16, 0x37, 0xD9, 0x6A, 0x54, 0xA4, 0xF5, 0x38, 0xA4, 0x18, 0xD3, 0x88, 0x4E, 0xB7,
|
||||
0xC9, 0x5E, 0xDD, 0x2F, 0x17, 0x79, 0x2F, 0xED, 0xFC, 0xEF, 0x6C, 0x34, 0x2B, 0x17, 0xE3, 0x10,
|
||||
0xF1, 0xCF, 0x38, 0x94, 0x13, 0x4A, 0x9A, 0xBE, 0x38, 0x39, 0x99, 0x9C, 0x95, 0xB3, 0xF5, 0x22,
|
||||
0x2D, 0xEA, 0xE6, 0x22, 0x5C, 0x36, 0x76, 0xAF, 0x16, 0xD9, 0xAA, 0xA9, 0xCF, 0xBB, 0xB2, 0xB8,
|
||||
0xCE, 0x6E, 0xB6, 0x11, 0x5D, 0xD4, 0x75, 0xFE, 0xE3, 0xAA, 0xFC, 0x92, 0xFC, 0xC8, 0xB3, 0x22,
|
||||
0xFD, 0xBD, 0x9C, 0xA7, 0xD3, 0x55, 0x72, 0x9D, 0xE6, 0x3F, 0x26, 0xE3, 0xE3, 0xB1, 0x7D, 0xDB,
|
||||
0xAC, 0xC8, 0x56, 0xB7, 0x6F, 0x67, 0x75, 0xC8, 0x7B, 0x7A, 0x53, 0x7E, 0x28, 0x17, 0x69, 0x67,
|
||||
0xB7, 0x1F, 0xD3, 0xB3, 0x49, 0xBF, 0x67, 0xF5, 0xE7, 0xE2, 0x8F, 0x77, 0x9F, 0xCA, 0x55, 0x1D,
|
||||
0x6C, 0x42, 0x95, 0xEA, 0xAC, 0x58, 0x77, 0x76, 0xBD, 0xD8, 0x9E, 0x5D, 0x9D, 0xDC, 0xA5, 0x9F,
|
||||
0xAF, 0xAF, 0x2F, 0xD3, 0xD9, 0xBA, 0xCA, 0xEA, 0x1F, 0x1F, 0xD2, 0xEC, 0xE6, 0xB6, 0x9E, 0x12,
|
||||
0xB4, 0x86, 0xC7, 0xA3, 0x7B, 0x39, 0xDC, 0xE4, 0xE5, 0xD7, 0x24, 0xBF, 0xAA, 0x92, 0x62, 0x95,
|
||||
0x35, 0xF5, 0x4A, 0xF2, 0xCB, 0x65, 0x9A, 0xCE, 0xA7, 0xDC, 0x66, 0xF1, 0x54, 0x7C, 0x2F, 0x93,
|
||||
0x79, 0x55, 0x16, 0xE9, 0xC7, 0xE2, 0xBA, 0xEC, 0x82, 0x7B, 0x11, 0xEF, 0x8B, 0xF5, 0xE2, 0xAF,
|
||||
0x24, 0x5F, 0xA7, 0x53, 0x63, 0xDB, 0x5C, 0x0F, 0xC2, 0x8F, 0x59, 0x5D, 0xAE, 0xBF, 0x3E, 0x24,
|
||||
0x80, 0x7D, 0xBB, 0x5E, 0x4C, 0x57, 0x8F, 0xF1, 0xF1, 0x8A, 0x6C, 0x33, 0x5C, 0x86, 0x67, 0x55,
|
||||
0x26, 0xF3, 0x63, 0x35, 0x6C, 0xA3, 0x1E, 0x32, 0x64, 0x6A, 0xF3, 0x7A, 0x14, 0x73, 0xDC, 0xF2,
|
||||
0x68, 0x3D, 0x8F, 0xC5, 0x1D, 0x37, 0xBF, 0x28, 0xB7, 0xED, 0xFA, 0xB1, 0x98, 0xA7, 0xDF, 0x0F,
|
||||
0xED, 0xFB, 0x91, 0xFD, 0x5B, 0x7D, 0x74, 0x4F, 0x6D, 0xF8, 0x91, 0x5E, 0x3D, 0x39, 0x2F, 0xF3,
|
||||
0x79, 0x5A, 0x1D, 0x74, 0x9D, 0x74, 0xB1, 0xCC, 0x93, 0x3A, 0xFD, 0x38, 0xDF, 0x95, 0xBA, 0x17,
|
||||
0x74, 0xD0, 0x3B, 0x43, 0x07, 0xAA, 0xD3, 0x6D, 0xF7, 0xD9, 0x74, 0xF8, 0x2A, 0x0D, 0xE9, 0xB2,
|
||||
0x6F, 0xE9, 0x55, 0x79, 0x59, 0x27, 0x55, 0x7D, 0x51, 0x66, 0x45, 0xBD, 0xEB, 0xAC, 0x87, 0x89,
|
||||
0x7B, 0x79, 0xDD, 0x6F, 0xB1, 0xD9, 0x2B, 0xF5, 0x21, 0xA4, 0xDF, 0xA7, 0xB2, 0x55, 0x9D, 0x14,
|
||||
0xB3, 0xF0, 0x40, 0xD8, 0xE9, 0x91, 0xB7, 0x40, 0xA8, 0x9D, 0x56, 0xB6, 0xEB, 0x98, 0xBB, 0xF8,
|
||||
0xBE, 0xD5, 0xBA, 0x4A, 0x36, 0x78, 0x21, 0x38, 0x35, 0x72, 0x04, 0xC6, 0x3A, 0x8B, 0xE0, 0x75,
|
||||
0x67, 0xD5, 0xC5, 0xF7, 0xAC, 0x92, 0x75, 0x5D, 0x9E, 0xE7, 0x4D, 0x85, 0xFB, 0x9D, 0xFF, 0x30,
|
||||
0xBC, 0x33, 0xBA, 0xC8, 0x93, 0x59, 0xBA, 0x48, 0xAA, 0xBB, 0xBD, 0x87, 0xBA, 0x69, 0x83, 0x87,
|
||||
0xEB, 0x10, 0x32, 0x2B, 0xCB, 0x2A, 0x7C, 0xC2, 0x85, 0x06, 0x5D, 0xED, 0x87, 0x9F, 0x9C, 0x20,
|
||||
0xAA, 0x91, 0xD7, 0xA8, 0xAC, 0x46, 0x67, 0x0C, 0x99, 0x97, 0x44, 0x23, 0x26, 0xD2, 0xDA, 0x6B,
|
||||
0xE7, 0x2C, 0x20, 0xED, 0xE7, 0x32, 0x3E, 0x9A, 0xCD, 0x64, 0x7C, 0x50, 0xDE, 0xF6, 0x46, 0xB2,
|
||||
0x5E, 0x2F, 0xCA, 0xF6, 0xBB, 0xCD, 0xD1, 0x87, 0x19, 0x9A, 0x09, 0x8E, 0x3D, 0xB7, 0x43, 0xA3,
|
||||
0xF0, 0x8C, 0x96, 0x4D, 0x79, 0xFD, 0xE6, 0xE9, 0x87, 0x3E, 0x61, 0xF2, 0x21, 0x4D, 0x9A, 0x8F,
|
||||
0xF9, 0x8B, 0xA4, 0x4A, 0x16, 0xBD, 0xE6, 0x39, 0x96, 0x6A, 0xD3, 0x5F, 0xAE, 0xCB, 0x3C, 0x2F,
|
||||
0xEF, 0xDB, 0xCF, 0xD7, 0x83, 0xA2, 0xF6, 0xD3, 0xFD, 0x2C, 0xB3, 0xB7, 0xC5, 0x4D, 0x9E, 0xEE,
|
||||
0x77, 0xB3, 0xC7, 0x91, 0x4F, 0x66, 0x11, 0x5A, 0x77, 0xDB, 0xC0, 0xC1, 0x83, 0x6C, 0x7E, 0x5E,
|
||||
0x3E, 0xFA, 0xCF, 0x41, 0xBE, 0x3B, 0x8B, 0x5F, 0xAA, 0xD6, 0xFB, 0x22, 0xF9, 0xFA, 0x93, 0xCA,
|
||||
0xB5, 0x49, 0xF6, 0x1E, 0xF9, 0x2F, 0xB4, 0x6B, 0xBF, 0xC4, 0xAB, 0x75, 0x55, 0xFC, 0xA4, 0xE1,
|
||||
0x9B, 0x24, 0x9B, 0xD6, 0xAC, 0xCB, 0x4D, 0xF5, 0xDF, 0x16, 0xF3, 0xCB, 0xBA, 0x5C, 0x7E, 0xC9,
|
||||
0xEA, 0xDB, 0xB3, 0x6C, 0x35, 0xDB, 0x3A, 0xA2, 0xE0, 0x3B, 0xDE, 0xAD, 0xAB, 0x6F, 0x49, 0xBD,
|
||||
0xAE, 0x0E, 0x1F, 0xC8, 0xCE, 0xFE, 0x3F, 0x4B, 0x38, 0x4B, 0x16, 0xCB, 0x50, 0xD9, 0x90, 0x63,
|
||||
0xFD, 0xE8, 0x9E, 0x0F, 0xE3, 0x9F, 0xBA, 0xE1, 0x23, 0x37, 0xB3, 0x2D, 0x68, 0xBD, 0x4A, 0x2F,
|
||||
0xEB, 0x2A, 0x69, 0xFA, 0xED, 0xA7, 0xD0, 0x63, 0xA6, 0xD8, 0x1A, 0x1E, 0x86, 0xEF, 0x3E, 0x3F,
|
||||
0x1F, 0xE1, 0xFB, 0xFF, 0x00, 0x4D, 0xD6, 0x80, 0x52, 0xE1, 0x37, 0xB6, 0x40, 0x93, 0x51, 0x5A,
|
||||
0x13, 0x21, 0xEA, 0x48, 0xA0, 0x51, 0x80, 0x16, 0xA0, 0x05, 0xE8, 0xA1, 0x81, 0x56, 0xA8, 0x94,
|
||||
0x73, 0xDA, 0xF8, 0x16, 0x68, 0x15, 0x9C, 0x35, 0x2B, 0x6B, 0xB5, 0x76, 0x91, 0x40, 0x93, 0x00,
|
||||
0x2D, 0x40, 0x0B, 0xD0, 0x43, 0x03, 0x1D, 0x10, 0x06, 0xEF, 0xC9, 0x9B, 0x8E, 0xE7, 0x30, 0xFE,
|
||||
0xD6, 0xA0, 0x0D, 0xAA, 0x48, 0x9E, 0x95, 0xF0, 0x2C, 0x3C, 0x0B, 0xCF, 0x43, 0xF3, 0x6C, 0x9C,
|
||||
0x22, 0x46, 0x26, 0xE8, 0x1C, 0xB4, 0x32, 0x0C, 0xDA, 0x72, 0xF8, 0x13, 0x09, 0xB4, 0x16, 0xA0,
|
||||
0x05, 0x68, 0x01, 0x7A, 0x68, 0xA0, 0xAD, 0xB5, 0xC4, 0xCC, 0x06, 0x76, 0x53, 0x68, 0x8D, 0x9E,
|
||||
0xB4, 0x05, 0x1D, 0xBB, 0x26, 0xC6, 0x02, 0xB4, 0x00, 0x2D, 0x40, 0x0F, 0x0D, 0xB4, 0x53, 0xE1,
|
||||
0x5F, 0x33, 0xE2, 0xD6, 0x5B, 0xA0, 0xC1, 0x29, 0x8B, 0x60, 0x08, 0x28, 0x76, 0x0A, 0x6D, 0x04,
|
||||
0x68, 0x01, 0x5A, 0x80, 0x1E, 0xDE, 0x43, 0x7B, 0xCF, 0xC0, 0x0A, 0xB6, 0x73, 0x68, 0xF4, 0xAC,
|
||||
0xC3, 0x8C, 0x1A, 0xC2, 0x58, 0x3C, 0xD6, 0x43, 0x5B, 0x01, 0x5A, 0x80, 0x16, 0xA0, 0x07, 0x9F,
|
||||
0x43, 0x7B, 0xE5, 0x9D, 0x33, 0x4C, 0xAE, 0x05, 0x5A, 0x03, 0xF3, 0xE6, 0xC5, 0xB9, 0x8D, 0x04,
|
||||
0xDA, 0x09, 0xD0, 0x02, 0xB4, 0x00, 0x3D, 0x38, 0xD0, 0x0A, 0x9D, 0x41, 0x6F, 0x1D, 0x6D, 0x81,
|
||||
0x76, 0xD6, 0x31, 0x80, 0x82, 0xE8, 0x45, 0x6E, 0x2F, 0x3C, 0x0B, 0xCF, 0xC2, 0xF3, 0xD0, 0x3C,
|
||||
0x6B, 0xCB, 0x2E, 0x38, 0x64, 0xC5, 0xED, 0x88, 0xDB, 0x79, 0xEB, 0x81, 0x2C, 0x10, 0x9B, 0x48,
|
||||
0xA0, 0x51, 0x84, 0x62, 0x42, 0xB4, 0x10, 0x3D, 0xBC, 0xAE, 0x44, 0x19, 0xEF, 0x98, 0xBC, 0x7E,
|
||||
0x18, 0x72, 0x03, 0x87, 0x11, 0x38, 0x42, 0xAC, 0x8B, 0x46, 0x51, 0x8A, 0x09, 0xD1, 0x42, 0xF4,
|
||||
0xF0, 0xD2, 0x4F, 0xC5, 0x4A, 0x69, 0x6F, 0xBC, 0x6E, 0x89, 0xF6, 0xCE, 0x80, 0x31, 0x26, 0x38,
|
||||
0xE9, 0x58, 0xA2, 0x45, 0x2A, 0x26, 0x44, 0x0B, 0xD1, 0x83, 0x13, 0x0D, 0xCE, 0x35, 0x4A, 0x6E,
|
||||
0x43, 0xB8, 0x7B, 0x71, 0xA5, 0x6C, 0x03, 0x35, 0xC6, 0x2E, 0x8B, 0xA1, 0x88, 0xC5, 0x84, 0x68,
|
||||
0x21, 0x7A, 0x70, 0xA2, 0x11, 0xD1, 0x5B, 0xE3, 0x74, 0x2B, 0xFE, 0x44, 0x63, 0x54, 0x40, 0x1A,
|
||||
0x55, 0xF4, 0xE6, 0x0C, 0xD1, 0x8A, 0x09, 0xCF, 0xC2, 0xF3, 0xF0, 0x3C, 0x3B, 0x56, 0xC6, 0x81,
|
||||
0xB5, 0x1D, 0xD0, 0xDE, 0x06, 0x77, 0x1D, 0x66, 0xD5, 0x14, 0x4D, 0xB4, 0x88, 0xC5, 0x84, 0x68,
|
||||
0x21, 0x7A, 0xF8, 0x75, 0x31, 0x32, 0xD6, 0x93, 0x71, 0xCA, 0xB7, 0x44, 0x5B, 0x05, 0xDE, 0x59,
|
||||
0x64, 0x1B, 0xBD, 0xD2, 0x2D, 0x6A, 0x31, 0x21, 0x5A, 0x88, 0x1E, 0xFE, 0xDD, 0x95, 0x22, 0x85,
|
||||
0x61, 0xD0, 0x6D, 0x54, 0xE7, 0xA3, 0xD9, 0x93, 0x75, 0x64, 0x20, 0x7A, 0x5D, 0x4C, 0xE4, 0x62,
|
||||
0x42, 0xB4, 0x10, 0x3D, 0xFC, 0x16, 0x4A, 0xC3, 0x01, 0x5F, 0xC6, 0x8E, 0x67, 0x03, 0x14, 0xC2,
|
||||
0x00, 0x62, 0xD5, 0x9F, 0x28, 0x6A, 0x31, 0xE1, 0x59, 0x78, 0x1E, 0x5E, 0x2D, 0xD6, 0xC8, 0xB7,
|
||||
0x19, 0xAD, 0x6D, 0xC7, 0xDC, 0xE0, 0xD9, 0x90, 0xD3, 0xC8, 0x3E, 0xFA, 0x5D, 0xB4, 0xE8, 0xC5,
|
||||
0x84, 0x68, 0x21, 0x7A, 0x78, 0x0F, 0xED, 0x91, 0x75, 0xA0, 0x9A, 0x3B, 0xA2, 0x0D, 0x31, 0x83,
|
||||
0x07, 0x03, 0xB1, 0xB3, 0xE8, 0xDD, 0xB9, 0x82, 0x42, 0xB4, 0x10, 0x2D, 0x44, 0x0F, 0x78, 0x6C,
|
||||
0x09, 0x38, 0xDD, 0x4C, 0xA4, 0x3B, 0xA2, 0x59, 0x03, 0x19, 0x0A, 0xA3, 0xEF, 0xE8, 0x73, 0x88,
|
||||
0x44, 0x2F, 0x26, 0x44, 0x0B, 0xD1, 0xC3, 0xAF, 0x8B, 0x99, 0x30, 0x6B, 0x66, 0x85, 0xE8, 0x76,
|
||||
0xEA, 0x12, 0x40, 0xB0, 0x2A, 0x78, 0xED, 0x58, 0xA2, 0x45, 0x2F, 0x26, 0x44, 0x0B, 0xD1, 0xC3,
|
||||
0x13, 0x0D, 0x48, 0xAC, 0x34, 0x99, 0xEE, 0x6D, 0xB4, 0x22, 0xAF, 0x98, 0xD9, 0x5B, 0x8C, 0x25,
|
||||
0x5A, 0xF4, 0x62, 0x42, 0xB4, 0x10, 0xFD, 0x0C, 0x9A, 0x6E, 0xAF, 0x1D, 0x68, 0x24, 0xEA, 0x56,
|
||||
0xC6, 0x8C, 0x53, 0xCD, 0x6E, 0xE9, 0x68, 0x17, 0x2D, 0x82, 0x31, 0x01, 0x5A, 0x80, 0x1E, 0x5E,
|
||||
0x5E, 0x62, 0x3C, 0x87, 0x59, 0xB4, 0xE2, 0x96, 0x67, 0xB0, 0x96, 0x39, 0x5C, 0x46, 0x2B, 0xBA,
|
||||
0x49, 0xF4, 0x62, 0x02, 0xB4, 0x00, 0x3D, 0xFC, 0x98, 0xDB, 0x11, 0x39, 0x04, 0x52, 0xB6, 0xDD,
|
||||
0x75, 0x65, 0x8D, 0x56, 0xA8, 0x35, 0x71, 0xB4, 0x8B, 0x16, 0xBD, 0x98, 0x10, 0x2D, 0x44, 0x0F,
|
||||
0xFF, 0x36, 0x1A, 0x49, 0x6D, 0x56, 0xB7, 0x3B, 0xA2, 0x1D, 0x21, 0xD8, 0xC0, 0xB8, 0x8A, 0xD5,
|
||||
0x97, 0x90, 0xE8, 0xC5, 0x84, 0x68, 0x21, 0x7A, 0xF8, 0xF3, 0x02, 0x81, 0x8D, 0x52, 0xF4, 0x30,
|
||||
0x8B, 0x46, 0x76, 0x01, 0x70, 0x07, 0x14, 0xFD, 0x36, 0x5A, 0x14, 0x63, 0x42, 0xB4, 0x10, 0x3D,
|
||||
0x3C, 0xD1, 0x61, 0x88, 0x6D, 0x91, 0xD1, 0xEC, 0xED, 0x8C, 0x46, 0xCD, 0x88, 0xCE, 0xC7, 0x12,
|
||||
0x2D, 0x8A, 0x31, 0x21, 0x5A, 0x88, 0x7E, 0x8E, 0x23, 0x40, 0x9D, 0x06, 0xED, 0xD9, 0x75, 0x5B,
|
||||
0xA3, 0xD9, 0x5A, 0x76, 0x9A, 0x21, 0x96, 0x68, 0x25, 0x8A, 0x31, 0x21, 0x5A, 0x88, 0x7E, 0x06,
|
||||
0x55, 0x37, 0xDA, 0xE0, 0xA8, 0xA9, 0x1B, 0x75, 0x13, 0x37, 0xDD, 0xC4, 0xDB, 0xE8, 0xC3, 0x0E,
|
||||
0x94, 0x08, 0xC6, 0x04, 0x68, 0x01, 0x7A, 0x78, 0x09, 0xA8, 0xF2, 0x6C, 0x59, 0xA3, 0x6E, 0x37,
|
||||
0x52, 0x92, 0xB5, 0x16, 0x9B, 0xBD, 0x57, 0x14, 0xED, 0xA2, 0x45, 0x30, 0x26, 0x44, 0x0B, 0xD1,
|
||||
0xCF, 0x20, 0x01, 0x6D, 0x86, 0xDC, 0xE0, 0x3B, 0x0F, 0xED, 0x11, 0xC9, 0x58, 0x8A, 0x5F, 0xE9,
|
||||
0x56, 0xA2, 0x17, 0x13, 0xA0, 0x05, 0xE8, 0xE1, 0xE5, 0x25, 0xCE, 0x20, 0xA2, 0xB5, 0x60, 0x77,
|
||||
0x2E, 0x5A, 0x23, 0xB0, 0x37, 0x3A, 0x56, 0x5F, 0xA2, 0x44, 0x30, 0x26, 0x44, 0x0B, 0xD1, 0xCF,
|
||||
0x71, 0x1E, 0x11, 0x13, 0xA2, 0x6B, 0xCF, 0xE9, 0xA6, 0xE6, 0xDB, 0xA3, 0x19, 0x95, 0x75, 0xD1,
|
||||
0xFB, 0xAE, 0x94, 0x28, 0xC6, 0x84, 0x68, 0x21, 0xFA, 0x19, 0x4E, 0xDE, 0x07, 0x20, 0xF6, 0x61,
|
||||
0x26, 0xDD, 0x7E, 0x97, 0x86, 0x69, 0xBE, 0xBB, 0x0E, 0x0C, 0x63, 0xF4, 0xA8, 0x5B, 0x14, 0x63,
|
||||
0x42, 0xB4, 0x10, 0x3D, 0xFC, 0x29, 0xA0, 0x36, 0xCC, 0xA1, 0x1D, 0xEE, 0xBE, 0x8F, 0xD2, 0x81,
|
||||
0x65, 0x13, 0xC6, 0xDD, 0x46, 0xC7, 0x9E, 0x5F, 0xA2, 0x44, 0x31, 0x26, 0x44, 0x0B, 0xD1, 0xC3,
|
||||
0xEF, 0xBB, 0xD2, 0xC6, 0xB3, 0x53, 0x9A, 0xDB, 0xA5, 0x6E, 0x1D, 0x18, 0x07, 0x85, 0xDA, 0x9B,
|
||||
0xE8, 0x79, 0xB4, 0x28, 0xC6, 0x84, 0x68, 0x21, 0xFA, 0x97, 0x89, 0x9E, 0x8C, 0xCF, 0xCB, 0x7C,
|
||||
0x9E, 0x56, 0xCD, 0xD5, 0x64, 0x7C, 0x56, 0xCE, 0xD6, 0x8B, 0xB4, 0x79, 0x8E, 0x93, 0xF1, 0xDD,
|
||||
0x22, 0x9F, 0xBE, 0xF8, 0x17, 0x50, 0x4B, 0x01, 0x02, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xA8, 0x54, 0x6C, 0xA8, 0x06, 0x00, 0x00, 0xD9, 0x59, 0x00,
|
||||
0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x77, 0x70, 0x6D, 0x7A, 0x2F, 0x74, 0x65, 0x6D, 0x70, 0x6C, 0x61, 0x74, 0x65,
|
||||
0x2E, 0x6B, 0x6D, 0x6C, 0x50, 0x4B, 0x01, 0x02, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xB3, 0xD8, 0x8E, 0x16, 0xCE, 0x06, 0x00, 0x00, 0xD6, 0x99, 0x00, 0x00,
|
||||
0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x06,
|
||||
0x00, 0x00, 0x77, 0x70, 0x6D, 0x7A, 0x2F, 0x77, 0x61, 0x79, 0x6C, 0x69, 0x6E, 0x65, 0x73, 0x2E,
|
||||
0x77, 0x70, 0x6D, 0x6C, 0x50, 0x4B, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
|
||||
0x7F, 0x00, 0x00, 0x00, 0xD5, 0x0D, 0x00, 0x00, 0x00, 0x00
|
||||
0x5B, 0x4D, 0x8F, 0xDB, 0x36, 0x10, 0xBD, 0xE7, 0x57, 0x08, 0x3E, 0xB5, 0x40, 0x6A, 0x53, 0xDF,
|
||||
0x52, 0xE0, 0x38, 0xD8, 0x6E, 0x3E, 0x76, 0x91, 0x4D, 0x63, 0xC4, 0x4E, 0xF7, 0x58, 0x30, 0x32,
|
||||
0x6D, 0xB3, 0x2B, 0x91, 0x86, 0x44, 0xAD, 0xD7, 0x3D, 0x05, 0x28, 0x52, 0xB4, 0x40, 0x4E, 0x2D,
|
||||
0x8A, 0x1E, 0x8A, 0x1E, 0x52, 0xA0, 0x40, 0x4F, 0xBD, 0x34, 0xC7, 0xB4, 0xFF, 0x66, 0x83, 0xF4,
|
||||
0x5F, 0x94, 0x92, 0x25, 0x59, 0x94, 0xE8, 0x4D, 0x10, 0x05, 0xD8, 0xAC, 0x6D, 0x9F, 0x2C, 0xCE,
|
||||
0x7B, 0x43, 0xCD, 0xCC, 0x23, 0x25, 0x0F, 0xE1, 0xEE, 0xAD, 0xB3, 0xC0, 0x57, 0x4E, 0x51, 0x18,
|
||||
0x61, 0x4A, 0x6E, 0xB6, 0xD4, 0x36, 0x68, 0x29, 0x88, 0x78, 0x74, 0x84, 0xC9, 0xE4, 0x66, 0xEB,
|
||||
0xF1, 0xF0, 0xEE, 0x67, 0x4E, 0xEB, 0x56, 0xEF, 0x5A, 0xF7, 0x84, 0xA3, 0x38, 0x92, 0x44, 0x37,
|
||||
0x5B, 0x53, 0xC6, 0x66, 0x37, 0x3A, 0x9D, 0xF9, 0x7C, 0xDE, 0xA6, 0x33, 0x44, 0x26, 0x38, 0x6A,
|
||||
0x13, 0xC4, 0x3A, 0x1C, 0xD1, 0xD1, 0xDA, 0x5A, 0x6B, 0x09, 0xBB, 0x31, 0x9F, 0x05, 0xBE, 0x80,
|
||||
0x1D, 0x7D, 0x8D, 0xDB, 0x1E, 0x0D, 0x3A, 0xDC, 0xF0, 0x4D, 0x87, 0xCF, 0xD3, 0x56, 0x5B, 0xBD,
|
||||
0x6B, 0x8A, 0xD2, 0xBD, 0x4D, 0xBD, 0x38, 0x40, 0x84, 0x25, 0x17, 0xFC, 0x32, 0xE1, 0xDD, 0xF0,
|
||||
0x42, 0x04, 0x19, 0x1A, 0xE2, 0x00, 0xF5, 0x54, 0xCB, 0xD2, 0x2D, 0x53, 0xD3, 0x55, 0x4B, 0x07,
|
||||
0x66, 0xB7, 0x53, 0x35, 0x97, 0x48, 0xF1, 0x6C, 0x54, 0x21, 0x19, 0x86, 0x6B, 0x59, 0x76, 0x46,
|
||||
0x2A, 0x99, 0x4B, 0xA4, 0x00, 0x47, 0x49, 0xE4, 0xFB, 0x94, 0x8C, 0xF1, 0x64, 0x69, 0xC8, 0x4D,
|
||||
0x63, 0x7F, 0x31, 0xA4, 0xC7, 0x70, 0xE1, 0x63, 0x82, 0x1E, 0xD0, 0x11, 0xEA, 0x45, 0x70, 0x8C,
|
||||
0xFC, 0x45, 0xE6, 0xAE, 0x66, 0x15, 0xB9, 0x98, 0xE0, 0x68, 0xBA, 0xE7, 0x31, 0xEE, 0xBB, 0x37,
|
||||
0xA1, 0x07, 0x34, 0x40, 0x39, 0xAF, 0x6C, 0x11, 0x38, 0xE8, 0x0C, 0xB3, 0x87, 0xE4, 0xD1, 0xFE,
|
||||
0x11, 0x8D, 0x58, 0x0F, 0x9D, 0x21, 0x2F, 0x66, 0x28, 0xF9, 0xBE, 0xC4, 0x66, 0x74, 0x01, 0x54,
|
||||
0xA1, 0xA7, 0x8C, 0xA5, 0xA9, 0x98, 0xF9, 0x73, 0xE8, 0x9D, 0x14, 0xD4, 0x3A, 0x40, 0xF0, 0xC0,
|
||||
0xE0, 0x09, 0x7A, 0x38, 0x1E, 0x0F, 0x38, 0x2C, 0xC4, 0x6C, 0x71, 0x80, 0xF0, 0x64, 0xCA, 0x7A,
|
||||
0x1A, 0xC8, 0xF8, 0x72, 0xB3, 0xE0, 0x61, 0xE2, 0xD3, 0x27, 0xD0, 0x1F, 0x86, 0x90, 0x44, 0x38,
|
||||
0xF1, 0x0F, 0xFD, 0xC1, 0x0C, 0xA1, 0x51, 0x2F, 0x2F, 0xDC, 0x3A, 0xBB, 0xE0, 0x64, 0x14, 0x52,
|
||||
0x82, 0x0E, 0xC9, 0x98, 0xE6, 0xC3, 0x82, 0xE1, 0x0E, 0x89, 0x83, 0x2F, 0xA1, 0x1F, 0xA3, 0x9E,
|
||||
0x9D, 0x57, 0xB6, 0x32, 0x2E, 0x63, 0x0D, 0xE2, 0x27, 0x2B, 0x00, 0x28, 0xF3, 0x04, 0x4B, 0x7E,
|
||||
0x1F, 0x1D, 0xF9, 0x8D, 0x2C, 0x1D, 0xCE, 0x78, 0xD1, 0x29, 0x1C, 0xC9, 0xEE, 0x30, 0x33, 0xAD,
|
||||
0x1C, 0x5A, 0x56, 0xE6, 0xAB, 0x66, 0x91, 0x33, 0xA5, 0xF7, 0x29, 0xB3, 0xC9, 0xE9, 0x7D, 0xBA,
|
||||
0xCC, 0xEB, 0x21, 0x19, 0xA1, 0xB3, 0x2A, 0x5F, 0x34, 0x8A, 0xA1, 0x4A, 0x62, 0x7A, 0x8F, 0x60,
|
||||
0x4D, 0x53, 0x37, 0x2E, 0x31, 0x5E, 0xED, 0x1D, 0xE2, 0x2D, 0x76, 0x98, 0x38, 0x62, 0x34, 0xE8,
|
||||
0x2F, 0x91, 0x5F, 0x40, 0xBE, 0x29, 0xF4, 0x07, 0xB7, 0xEF, 0x7F, 0xB5, 0xD7, 0xEF, 0xEF, 0x1D,
|
||||
0x1D, 0xEE, 0x0D, 0xF2, 0x8D, 0xA6, 0x86, 0xAA, 0xB8, 0x19, 0x53, 0x0F, 0xFA, 0x47, 0x7C, 0x13,
|
||||
0x64, 0xD3, 0xE2, 0xF6, 0xCB, 0x63, 0x15, 0x78, 0x84, 0x48, 0x44, 0xC3, 0x83, 0x02, 0x9A, 0x5F,
|
||||
0x4B, 0x61, 0xC7, 0x15, 0xD8, 0x71, 0x15, 0x86, 0x03, 0x38, 0x41, 0x2B, 0x67, 0xD9, 0xA5, 0x0C,
|
||||
0x74, 0x2C, 0x82, 0x6A, 0x9E, 0x02, 0x4C, 0x06, 0x53, 0x4A, 0xD9, 0x21, 0x61, 0x28, 0x3C, 0x85,
|
||||
0x7E, 0x01, 0xAF, 0x19, 0x2E, 0x4A, 0xE3, 0x72, 0x4F, 0x11, 0xA5, 0x22, 0x02, 0x97, 0x88, 0xE1,
|
||||
0x62, 0xC6, 0xB7, 0x68, 0x21, 0xC5, 0x25, 0xC3, 0x85, 0xD4, 0xB4, 0x06, 0xAF, 0x9F, 0xFF, 0xF0,
|
||||
0xDF, 0x8F, 0x7F, 0x49, 0xF8, 0x62, 0x85, 0x64, 0xFC, 0x07, 0x98, 0xF4, 0x61, 0x08, 0x2B, 0x82,
|
||||
0x5B, 0x8F, 0xB8, 0xD8, 0x19, 0x3C, 0x7B, 0x9B, 0x33, 0x01, 0x71, 0xA1, 0x33, 0x71, 0xC9, 0xD6,
|
||||
0x2D, 0xAB, 0xC4, 0x4B, 0xA4, 0x29, 0xCB, 0x7C, 0xD3, 0x02, 0x19, 0xEF, 0x5F, 0xA0, 0xF3, 0xEF,
|
||||
0x7F, 0x79, 0xF3, 0xE2, 0xCF, 0x8D, 0x2C, 0x90, 0x4C, 0xB6, 0x97, 0x54, 0x20, 0xAD, 0x41, 0x81,
|
||||
0x5E, 0x3D, 0x3D, 0x7F, 0xF6, 0xF7, 0x46, 0x16, 0x48, 0x96, 0x95, 0x4B, 0x2A, 0x90, 0xFE, 0xFE,
|
||||
0x05, 0x7A, 0xF3, 0xFC, 0xDB, 0xF3, 0x5F, 0x5F, 0xBE, 0xFE, 0xED, 0xC5, 0x07, 0xA8, 0x91, 0x0A,
|
||||
0x3E, 0xBE, 0x2A, 0xC9, 0x52, 0x73, 0x49, 0x55, 0x6A, 0xFC, 0x20, 0x52, 0x64, 0x3B, 0xE5, 0xD5,
|
||||
0x5F, 0x48, 0xB2, 0xA8, 0xAE, 0xF0, 0x42, 0x52, 0xCC, 0x0D, 0x5D, 0x4A, 0xB2, 0xB8, 0x2E, 0xA9,
|
||||
0x4E, 0xB2, 0x5B, 0x79, 0xD7, 0xA5, 0xF4, 0xF3, 0xCB, 0xF3, 0x7F, 0x7E, 0x3F, 0x7F, 0xFA, 0xEA,
|
||||
0xCD, 0xBF, 0x3F, 0x9D, 0x3F, 0xFB, 0xE3, 0xF5, 0x8B, 0xEF, 0x14, 0x6B, 0x23, 0x97, 0x95, 0x2C,
|
||||
0xAA, 0xAB, 0xF7, 0x02, 0xF1, 0x98, 0xF8, 0xD4, 0x3B, 0x51, 0xC6, 0x7E, 0xD2, 0x03, 0x50, 0x3C,
|
||||
0x4A, 0x58, 0x48, 0x7D, 0x25, 0x44, 0x11, 0x0B, 0x71, 0x8A, 0x8A, 0x94, 0x4F, 0xF8, 0x4F, 0x7B,
|
||||
0x0F, 0x43, 0x5F, 0x81, 0x8C, 0x21, 0x92, 0x8C, 0x7D, 0xBA, 0x91, 0x05, 0xB5, 0x3F, 0x9E, 0x82,
|
||||
0x36, 0x78, 0x65, 0xEF, 0xFB, 0x08, 0x46, 0x48, 0x19, 0x20, 0x1F, 0x79, 0x4C, 0xC9, 0x26, 0x57,
|
||||
0xD2, 0x38, 0x36, 0xB2, 0x6A, 0xCE, 0x06, 0x56, 0x6D, 0x00, 0x83, 0x99, 0x8F, 0x36, 0xB2, 0x5C,
|
||||
0xEE, 0xC7, 0x53, 0xAE, 0x06, 0xEF, 0x8B, 0x8F, 0x62, 0xB2, 0x91, 0xD5, 0x51, 0x3F, 0x58, 0xDB,
|
||||
0x62, 0x5D, 0x3B, 0xB2, 0x68, 0x47, 0xD5, 0xBA, 0xF5, 0xDD, 0xBB, 0xD4, 0x1F, 0xA1, 0xB0, 0xD2,
|
||||
0xC9, 0x46, 0x7C, 0x25, 0x24, 0xDD, 0xFE, 0xA4, 0x2E, 0x73, 0xB8, 0x98, 0x51, 0x4C, 0x58, 0xDE,
|
||||
0xC6, 0x2E, 0xDB, 0xA4, 0xAC, 0xC3, 0x51, 0x91, 0x96, 0xD2, 0x90, 0x00, 0x9D, 0x2F, 0x1B, 0xFF,
|
||||
0xFB, 0x94, 0x86, 0x23, 0x4C, 0x38, 0x60, 0xB0, 0x88, 0xD2, 0x9C, 0xD5, 0x74, 0x56, 0x20, 0xD2,
|
||||
0x43, 0x82, 0xE3, 0x7B, 0x03, 0xA7, 0x58, 0xEF, 0xA2, 0xA9, 0x42, 0x9C, 0xA6, 0xED, 0xF5, 0xD4,
|
||||
0x12, 0x22, 0x7E, 0x0B, 0xF8, 0x14, 0x0D, 0xE9, 0x80, 0xC1, 0x90, 0xF5, 0x4B, 0xC1, 0x94, 0x50,
|
||||
0xD5, 0x0E, 0x69, 0xD6, 0xFD, 0xC4, 0x64, 0x92, 0x46, 0x7A, 0xAF, 0x9F, 0x37, 0x35, 0xAB, 0x16,
|
||||
0x31, 0xF5, 0x6F, 0x8D, 0x6C, 0xE9, 0x1E, 0xC6, 0x8C, 0xDE, 0x4D, 0x9F, 0xFE, 0x62, 0x87, 0xBF,
|
||||
0x3A, 0x2E, 0x39, 0x1E, 0xC8, 0x0E, 0x0E, 0x56, 0xEF, 0xD2, 0xC2, 0xB0, 0x40, 0xF0, 0xA0, 0x8F,
|
||||
0x97, 0xDE, 0xEE, 0x10, 0xF8, 0xC4, 0x2F, 0xC9, 0xB5, 0x6A, 0x10, 0xE7, 0xC1, 0x01, 0x77, 0xD8,
|
||||
0xC7, 0xCC, 0x9B, 0xA6, 0xA9, 0x09, 0x20, 0x89, 0xA1, 0x9F, 0xCF, 0x56, 0x31, 0x4A, 0xEE, 0xF0,
|
||||
0x38, 0x53, 0xCC, 0x01, 0x82, 0xC9, 0x39, 0x98, 0xB4, 0xB0, 0x73, 0x11, 0x93, 0xBA, 0x1A, 0x53,
|
||||
0xDF, 0xA7, 0xF3, 0xEC, 0x50, 0x68, 0x95, 0xCF, 0x1A, 0xEE, 0x62, 0x57, 0x7B, 0x64, 0x52, 0x8A,
|
||||
0x54, 0x6A, 0x5C, 0xE3, 0x80, 0x2B, 0x23, 0x15, 0x47, 0x0F, 0xB4, 0x41, 0xFA, 0xB9, 0x5E, 0xFB,
|
||||
0x52, 0xF1, 0x5A, 0x30, 0x44, 0x11, 0xBC, 0x3D, 0x0D, 0xB2, 0x74, 0x0D, 0xE3, 0x90, 0xA4, 0xF1,
|
||||
0x31, 0x9A, 0x3A, 0xDD, 0x23, 0xA3, 0x01, 0xA3, 0xB3, 0x63, 0xCC, 0xA6, 0xB7, 0x71, 0x94, 0xBC,
|
||||
0x24, 0x62, 0x12, 0x63, 0xB6, 0xD8, 0x8F, 0xC3, 0x53, 0xC8, 0xE2, 0x10, 0x49, 0x67, 0x2B, 0xBC,
|
||||
0x48, 0x66, 0x7A, 0x1C, 0xA1, 0x01, 0x0B, 0x61, 0x52, 0xF7, 0x23, 0x9E, 0xE2, 0x62, 0x2F, 0x96,
|
||||
0x5B, 0x73, 0x07, 0x7D, 0x1F, 0x7A, 0x28, 0x80, 0xE1, 0x49, 0x29, 0x6F, 0x42, 0xD4, 0xE9, 0xC8,
|
||||
0x6A, 0x39, 0x46, 0xE5, 0x71, 0x45, 0x51, 0x55, 0xBD, 0xED, 0xEA, 0x36, 0xD0, 0x4C, 0xC3, 0x35,
|
||||
0x00, 0xB0, 0xAF, 0x6B, 0x5A, 0xDB, 0xB4, 0x5D, 0xCB, 0xB1, 0x55, 0x5D, 0x35, 0x1D, 0xC3, 0x29,
|
||||
0x7B, 0xE9, 0x48, 0xDD, 0x74, 0x3B, 0x95, 0xF9, 0xB2, 0xDE, 0xBC, 0xD0, 0xF3, 0xC5, 0xB2, 0x73,
|
||||
0x0A, 0xE4, 0xFB, 0x78, 0x16, 0x51, 0x3C, 0xAA, 0xAD, 0x9A, 0xAA, 0x45, 0xBA, 0x7F, 0x94, 0xF0,
|
||||
0x53, 0x29, 0x2C, 0x8E, 0xD0, 0x3D, 0x61, 0x55, 0xE6, 0xA7, 0xA5, 0x95, 0xF1, 0x75, 0xB4, 0xE5,
|
||||
0x2A, 0xAF, 0xB1, 0x84, 0xC5, 0x2F, 0x99, 0xAB, 0x24, 0x28, 0xC9, 0x8C, 0xEB, 0x57, 0x5D, 0x01,
|
||||
0x4A, 0x54, 0xB2, 0x86, 0xBF, 0x32, 0xD5, 0xC9, 0x82, 0x3E, 0xC0, 0x8A, 0x29, 0xD5, 0x4D, 0xA7,
|
||||
0x26, 0x9C, 0x0F, 0x23, 0x25, 0xCB, 0x35, 0x5D, 0x9B, 0x7F, 0x4C, 0x23, 0x95, 0x92, 0x03, 0x5C,
|
||||
0x1D, 0xE8, 0x8E, 0x69, 0x58, 0x86, 0xD1, 0x50, 0x4A, 0xEA, 0x4E, 0x4A, 0xDB, 0x25, 0x25, 0x5B,
|
||||
0x77, 0x1C, 0x43, 0xB3, 0x55, 0xC7, 0x2E, 0xA4, 0x64, 0x3A, 0x9A, 0x6A, 0x58, 0x5A, 0xD3, 0x5D,
|
||||
0x49, 0xDB, 0x49, 0x69, 0xCB, 0xA4, 0x64, 0x00, 0xD5, 0x05, 0xC0, 0x70, 0xF2, 0x07, 0x5C, 0xF2,
|
||||
0xC4, 0xB3, 0x0C, 0x0B, 0x80, 0xA6, 0x52, 0xD2, 0x77, 0x52, 0xDA, 0x32, 0x29, 0x39, 0xB6, 0x06,
|
||||
0x2C, 0x53, 0xB7, 0xAC, 0x5C, 0x4A, 0x1A, 0xD0, 0xB9, 0x8E, 0x34, 0x53, 0x6D, 0x28, 0x25, 0x63,
|
||||
0x27, 0xA5, 0x2D, 0x93, 0x92, 0xED, 0x02, 0xCD, 0x76, 0xF4, 0xFC, 0xF1, 0x66, 0xAA, 0x5C, 0x4A,
|
||||
0x06, 0x7F, 0x13, 0x6F, 0x28, 0x24, 0x73, 0x27, 0xA4, 0xED, 0x12, 0x92, 0xA3, 0xDB, 0x1A, 0x57,
|
||||
0x8F, 0x69, 0x16, 0x4A, 0xD2, 0x1D, 0x1B, 0x38, 0xB6, 0x61, 0x37, 0x54, 0x92, 0xB5, 0x53, 0xD2,
|
||||
0x96, 0x29, 0xC9, 0x50, 0x81, 0xA9, 0xB9, 0x86, 0x6E, 0x64, 0x4F, 0x37, 0x07, 0x68, 0x9A, 0x0B,
|
||||
0xB8, 0xBC, 0xB4, 0x86, 0x52, 0xB2, 0x77, 0x52, 0xDA, 0x32, 0x29, 0xB9, 0x86, 0xA5, 0x03, 0x0B,
|
||||
0x38, 0x6A, 0x2E, 0x25, 0xCD, 0xD6, 0x55, 0x5B, 0xD7, 0xD4, 0xA6, 0xBB, 0x92, 0xB3, 0x93, 0xD2,
|
||||
0x96, 0x49, 0xC9, 0x71, 0xB8, 0x90, 0xF8, 0xF3, 0xAD, 0x68, 0x2A, 0x59, 0x2E, 0x30, 0xF8, 0x6F,
|
||||
0xBA, 0xA6, 0x3D, 0x25, 0x77, 0xA7, 0xA4, 0xAB, 0xA1, 0xA4, 0x6E, 0x67, 0x75, 0x14, 0xD6, 0xED,
|
||||
0xAC, 0xFE, 0x56, 0xD3, 0x4D, 0xFE, 0x9A, 0xD3, 0xBB, 0xF6, 0x3F, 0x50, 0x4B, 0x07, 0x08, 0x50,
|
||||
0x7D, 0x0A, 0x8A, 0xCC, 0x05, 0x00, 0x00, 0xEA, 0x33, 0x00, 0x00, 0x50, 0x4B, 0x03, 0x04, 0x14,
|
||||
0x00, 0x08, 0x08, 0x08, 0x00, 0x22, 0x6D, 0x34, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x77, 0x70, 0x6D, 0x7A, 0x2F, 0x77, 0x61,
|
||||
0x79, 0x6C, 0x69, 0x6E, 0x65, 0x73, 0x2E, 0x77, 0x70, 0x6D, 0x6C, 0xED, 0x9B, 0x4D, 0x6F, 0xDB,
|
||||
0x36, 0x18, 0xC7, 0xEF, 0xFD, 0x14, 0x82, 0x4F, 0x1B, 0xD0, 0xD9, 0x14, 0xF5, 0x46, 0x15, 0xAE,
|
||||
0x8B, 0xAC, 0x69, 0x91, 0xA0, 0xE9, 0x6A, 0xD4, 0xE9, 0x72, 0x1C, 0x18, 0x99, 0x76, 0xB8, 0xC8,
|
||||
0xA4, 0x21, 0x51, 0x79, 0xD9, 0xA9, 0xC0, 0xD0, 0x61, 0x03, 0x7A, 0xDA, 0x30, 0xEC, 0x30, 0xEC,
|
||||
0xD0, 0x01, 0x03, 0x76, 0xDA, 0x65, 0x3D, 0x76, 0xFB, 0x36, 0x29, 0xB2, 0x6F, 0x31, 0xCA, 0x2F,
|
||||
0xB2, 0x28, 0x33, 0x2F, 0xA8, 0x0A, 0xA7, 0x35, 0x98, 0x93, 0xC5, 0xE7, 0xFF, 0x3C, 0x24, 0x9F,
|
||||
0x87, 0x3F, 0x89, 0xA6, 0xE2, 0xF6, 0xBD, 0x93, 0x51, 0x6C, 0x1D, 0x91, 0x24, 0xA5, 0x9C, 0xDD,
|
||||
0x6D, 0xD8, 0x4D, 0xD0, 0xB0, 0x08, 0x8B, 0x78, 0x9F, 0xB2, 0xE1, 0xDD, 0xC6, 0xB3, 0xDD, 0x87,
|
||||
0x9F, 0xA1, 0xC6, 0xBD, 0xCE, 0xAD, 0xF6, 0xA1, 0x54, 0x49, 0x25, 0x4B, 0xEF, 0x36, 0x0E, 0x84,
|
||||
0x18, 0xDF, 0x69, 0xB5, 0x8E, 0x8F, 0x8F, 0x9B, 0x7C, 0x4C, 0xD8, 0x90, 0xA6, 0x4D, 0x46, 0x44,
|
||||
0x4B, 0x2A, 0x5A, 0xB0, 0x09, 0x1B, 0x53, 0xD9, 0x9D, 0xE3, 0xF1, 0x28, 0x56, 0xB4, 0xFD, 0xAF,
|
||||
0x69, 0x33, 0xE2, 0xA3, 0x96, 0x34, 0x7C, 0xD3, 0x92, 0xFD, 0x34, 0xED, 0x46, 0xE7, 0x96, 0x65,
|
||||
0xB5, 0x37, 0x79, 0x94, 0x8D, 0x08, 0x13, 0xF9, 0x85, 0xBC, 0xCC, 0xFD, 0xEE, 0x8C, 0x68, 0x9A,
|
||||
0x8F, 0xE7, 0x3E, 0x67, 0x03, 0x3A, 0x9C, 0x1A, 0xE6, 0xA6, 0x41, 0x7C, 0xBA, 0xCB, 0xF7, 0xF0,
|
||||
0x69, 0x4C, 0x19, 0x79, 0xCC, 0xFB, 0xA4, 0x93, 0xE2, 0x01, 0x89, 0x4F, 0xDB, 0x2D, 0xBD, 0x55,
|
||||
0xF5, 0xA5, 0x8C, 0xA6, 0x07, 0x1B, 0x91, 0x90, 0xB1, 0x3B, 0x43, 0xBE, 0xC5, 0x47, 0x64, 0xEE,
|
||||
0x57, 0xB6, 0x28, 0x3E, 0xE4, 0x84, 0x8A, 0x27, 0xEC, 0xE9, 0xFD, 0x1D, 0x9E, 0x8A, 0x0E, 0x39,
|
||||
0x21, 0x51, 0x26, 0x48, 0xFE, 0x79, 0xAA, 0x9D, 0xB9, 0x2B, 0xA2, 0x8A, 0xFB, 0xC4, 0x63, 0x6A,
|
||||
0x2A, 0x7A, 0xFE, 0x1C, 0x47, 0x87, 0x85, 0xEB, 0xB2, 0x40, 0x89, 0x20, 0xF0, 0x21, 0x79, 0x32,
|
||||
0x18, 0xF4, 0xA4, 0x2C, 0xA1, 0xE2, 0x74, 0x8B, 0xD0, 0xE1, 0x81, 0xE8, 0x40, 0x30, 0xF3, 0xD7,
|
||||
0x9B, 0x95, 0x08, 0xC3, 0x98, 0xEF, 0xE3, 0x78, 0x37, 0xC1, 0x2C, 0xA5, 0x79, 0x7C, 0x1C, 0xF7,
|
||||
0xC6, 0x84, 0xF4, 0x3B, 0xDE, 0x2C, 0xC4, 0x45, 0x76, 0x25, 0x48, 0x3F, 0xE1, 0x8C, 0x6C, 0xB3,
|
||||
0x01, 0x9F, 0x37, 0x2B, 0x86, 0x07, 0x2C, 0x1B, 0x7D, 0x89, 0xE3, 0x8C, 0x74, 0x82, 0x60, 0x16,
|
||||
0xB5, 0xD2, 0xAE, 0xF3, 0xEA, 0x65, 0xFB, 0x0B, 0x01, 0x28, 0xFB, 0x29, 0x96, 0xF9, 0x38, 0x5A,
|
||||
0xFA, 0x81, 0x4C, 0x03, 0x8E, 0x65, 0xD1, 0x39, 0xEE, 0xEB, 0x46, 0x38, 0x33, 0x2D, 0x02, 0xFA,
|
||||
0xFE, 0x2C, 0xD6, 0x92, 0x45, 0xEF, 0xA9, 0x1D, 0xA7, 0xCE, 0xA6, 0x77, 0xEF, 0xF2, 0x69, 0x5E,
|
||||
0xB7, 0x59, 0x9F, 0x9C, 0x54, 0xFD, 0x55, 0xA3, 0x3A, 0x55, 0xCD, 0x9C, 0xDE, 0x61, 0xB2, 0x9E,
|
||||
0xE7, 0xB8, 0x37, 0x38, 0x5F, 0x78, 0x8D, 0xF9, 0xCE, 0x03, 0x44, 0x59, 0x2A, 0xF8, 0xA8, 0x3B,
|
||||
0x55, 0x7E, 0x81, 0x47, 0xA4, 0xD3, 0xED, 0x6D, 0x3E, 0xFA, 0x6A, 0xA3, 0xDB, 0xDD, 0xD8, 0xD9,
|
||||
0xDE, 0xE8, 0xCD, 0x22, 0x2D, 0xAB, 0x2A, 0x61, 0x06, 0x3C, 0xC2, 0xF1, 0x8E, 0xBC, 0x35, 0x89,
|
||||
0x83, 0x62, 0xF8, 0xE5, 0xB6, 0x8A, 0x3C, 0x25, 0x2C, 0xE5, 0xC9, 0x56, 0x21, 0x9D, 0x5F, 0x6B,
|
||||
0x65, 0x7B, 0x15, 0xD9, 0x5E, 0x55, 0x46, 0x47, 0x78, 0x48, 0x16, 0xC1, 0x66, 0x97, 0x3A, 0xD1,
|
||||
0x9E, 0x2A, 0x5A, 0x8A, 0x34, 0xA2, 0xAC, 0x77, 0xC0, 0xB9, 0xD8, 0x66, 0x82, 0x24, 0x47, 0x38,
|
||||
0x2E, 0xE4, 0x4B, 0x86, 0xCB, 0xD2, 0x38, 0xBD, 0xA7, 0xA8, 0x4B, 0x45, 0x15, 0x4E, 0x15, 0xBB,
|
||||
0xA7, 0x63, 0xD2, 0xB1, 0x95, 0x14, 0x97, 0x0C, 0x97, 0xBA, 0x4E, 0x6A, 0xF0, 0xF6, 0xE5, 0x0F,
|
||||
0xFF, 0xFD, 0xF8, 0x97, 0xC6, 0x5F, 0xAD, 0x90, 0xCE, 0xFF, 0x31, 0x65, 0x5D, 0x9C, 0xE0, 0xCA,
|
||||
0x82, 0xBB, 0x58, 0x71, 0x79, 0x30, 0x7C, 0x72, 0x55, 0x30, 0x45, 0x71, 0x69, 0x30, 0x15, 0xD9,
|
||||
0x65, 0xCB, 0x22, 0xF1, 0x9A, 0xA5, 0xA9, 0xCB, 0x7C, 0xDD, 0x02, 0xB9, 0xEF, 0x5E, 0xA0, 0xB3,
|
||||
0xEF, 0x7F, 0x39, 0x7F, 0xF5, 0xE7, 0x5A, 0x16, 0x48, 0xB7, 0x6C, 0x6F, 0xA8, 0x40, 0xB0, 0x46,
|
||||
0x81, 0xDE, 0x3C, 0x3F, 0x7B, 0xF1, 0xF7, 0x5A, 0x16, 0x48, 0x97, 0x95, 0x1B, 0x2A, 0x90, 0xF3,
|
||||
0xEE, 0x05, 0x3A, 0x7F, 0xF9, 0xED, 0xD9, 0xAF, 0xAF, 0xDF, 0xFE, 0xF6, 0xEA, 0x3D, 0xD4, 0xC8,
|
||||
0x06, 0x1F, 0x5E, 0x95, 0x74, 0xA9, 0xB9, 0xA1, 0x2A, 0xD5, 0x7E, 0x10, 0x59, 0xBA, 0x3B, 0xE5,
|
||||
0xC7, 0x0F, 0x92, 0x6E, 0x56, 0x1F, 0x31, 0x48, 0x96, 0xB7, 0xA6, 0x28, 0xE9, 0xE6, 0x75, 0x43,
|
||||
0x75, 0xD2, 0x0D, 0xE5, 0xBA, 0x28, 0xFD, 0xFC, 0xFA, 0xEC, 0x9F, 0xDF, 0xCF, 0x9E, 0xBF, 0x39,
|
||||
0xFF, 0xF7, 0xA7, 0xB3, 0x17, 0x7F, 0xBC, 0x7D, 0xF5, 0x9D, 0xE5, 0xAF, 0x25, 0x56, 0xBA, 0x59,
|
||||
0x7D, 0x7C, 0x1B, 0x88, 0x67, 0x2C, 0xE6, 0xD1, 0xA1, 0x35, 0x88, 0xF3, 0x33, 0x00, 0x2B, 0xE2,
|
||||
0x4C, 0x24, 0x3C, 0xB6, 0x12, 0x92, 0x8A, 0x84, 0x4E, 0x54, 0xA9, 0xF5, 0x89, 0xFC, 0x6A, 0x1F,
|
||||
0x51, 0x1C, 0x5B, 0x58, 0x08, 0xC2, 0xF2, 0xB6, 0x4F, 0xD7, 0xB2, 0xA0, 0xC1, 0x87, 0x53, 0xD0,
|
||||
0x1A, 0x5B, 0xF6, 0x6E, 0x4C, 0x70, 0x4A, 0xAC, 0x1E, 0x89, 0x49, 0x24, 0xAC, 0x59, 0xE7, 0xD6,
|
||||
0x64, 0x1E, 0x6B, 0x59, 0x35, 0xB4, 0x86, 0x55, 0xEB, 0xE1, 0xD1, 0x38, 0x26, 0x6B, 0x59, 0xAE,
|
||||
0xF0, 0xC3, 0x29, 0x57, 0x8D, 0xFD, 0xE2, 0xD3, 0x8C, 0xAD, 0x65, 0x75, 0xEC, 0xF7, 0x76, 0x6C,
|
||||
0x71, 0xD1, 0x71, 0x64, 0x71, 0x1C, 0xB5, 0x74, 0x5A, 0xDF, 0x7E, 0xC8, 0xE3, 0x3E, 0x49, 0x2A,
|
||||
0x27, 0xD9, 0x44, 0x92, 0x80, 0x05, 0xD9, 0xEE, 0x17, 0x13, 0x2C, 0x35, 0xE9, 0x8E, 0xCD, 0xA7,
|
||||
0xA7, 0xD9, 0x93, 0x83, 0xFC, 0x84, 0x48, 0x1D, 0x3D, 0x22, 0xBB, 0xBC, 0x27, 0x70, 0x22, 0xBA,
|
||||
0x9C, 0x32, 0xA1, 0x1E, 0xA1, 0x97, 0xC4, 0x4A, 0xAC, 0xE3, 0xE9, 0xEB, 0x80, 0x52, 0xAF, 0x8B,
|
||||
0x16, 0xF5, 0x88, 0x9B, 0xA6, 0x02, 0xB3, 0x88, 0x74, 0x50, 0xE0, 0x35, 0x6D, 0xD7, 0xF3, 0x61,
|
||||
0x88, 0x10, 0x44, 0xF6, 0xFC, 0x89, 0x5C, 0xD8, 0x55, 0xAF, 0x2C, 0xC1, 0x79, 0xC2, 0x3A, 0x10,
|
||||
0xF8, 0x4D, 0x0F, 0x86, 0x36, 0x0C, 0x01, 0x44, 0x4E, 0xE1, 0x34, 0x37, 0x2B, 0x4E, 0x38, 0x13,
|
||||
0xFC, 0xE1, 0xE4, 0x31, 0xAD, 0x1E, 0xC5, 0x57, 0xDB, 0xE7, 0x4E, 0xDD, 0x18, 0x47, 0x64, 0x84,
|
||||
0x93, 0xC3, 0x52, 0xE9, 0x26, 0x29, 0x50, 0x16, 0x42, 0xC4, 0x79, 0xD2, 0xA7, 0x4C, 0xE6, 0x33,
|
||||
0x2D, 0xB7, 0x5B, 0x96, 0x6D, 0x3B, 0xCD, 0xD0, 0x09, 0x00, 0xF4, 0xDC, 0xD0, 0x05, 0x20, 0xB8,
|
||||
0x0D, 0x61, 0xD3, 0x0B, 0x42, 0x1F, 0x05, 0xB6, 0x63, 0x7B, 0xC8, 0x45, 0xE5, 0x28, 0x2D, 0x6D,
|
||||
0x98, 0x76, 0xAB, 0xD2, 0xDF, 0xEC, 0x20, 0x53, 0x39, 0x20, 0xA3, 0xBA, 0x43, 0x5D, 0xA5, 0x3C,
|
||||
0xA5, 0xCD, 0xBA, 0xDA, 0x5E, 0x71, 0x92, 0x25, 0x1A, 0xE7, 0xFD, 0xA9, 0xE9, 0x51, 0x5B, 0x2F,
|
||||
0x70, 0xD9, 0x22, 0x38, 0x7F, 0x7B, 0x35, 0x81, 0x65, 0x99, 0x93, 0x8A, 0x6A, 0xB2, 0x5C, 0x06,
|
||||
0x3C, 0x8E, 0xF9, 0xF1, 0xEC, 0xB5, 0x51, 0xA5, 0xAB, 0xB2, 0xEE, 0xAA, 0x60, 0x1B, 0x6C, 0x18,
|
||||
0x93, 0xF2, 0x2A, 0x5B, 0x36, 0x5E, 0x18, 0x42, 0x66, 0x77, 0x9A, 0x60, 0xD0, 0x04, 0x93, 0xBF,
|
||||
0xDB, 0x4B, 0x1F, 0x2A, 0x71, 0x0B, 0x8F, 0x6B, 0x0D, 0xEB, 0x01, 0xC3, 0xFB, 0x57, 0x0C, 0x6E,
|
||||
0x26, 0xA9, 0xDE, 0x1C, 0x2E, 0xCF, 0xAB, 0xDA, 0xE3, 0x6E, 0x96, 0xB0, 0x2B, 0x12, 0x9F, 0x4B,
|
||||
0x26, 0xD9, 0x14, 0x7C, 0x32, 0xFC, 0x0D, 0xD6, 0xEF, 0x09, 0x3E, 0xDE, 0xA3, 0xE2, 0x60, 0x93,
|
||||
0xA6, 0xF9, 0xA6, 0x95, 0xB2, 0x8C, 0x8A, 0xD3, 0xFB, 0x59, 0x72, 0x84, 0x45, 0x96, 0x54, 0x0B,
|
||||
0x52, 0xF8, 0x5F, 0xDA, 0xC3, 0xA6, 0x7C, 0xEA, 0xCA, 0xC1, 0xCA, 0x88, 0x62, 0x69, 0xCE, 0x55,
|
||||
0xFB, 0x45, 0x13, 0xD6, 0x4C, 0x66, 0xDA, 0x51, 0x96, 0x92, 0x9E, 0x48, 0x70, 0xBE, 0x6E, 0x77,
|
||||
0xE4, 0x8A, 0x29, 0x1E, 0x3E, 0xD5, 0xF6, 0xE2, 0xF6, 0xB9, 0x84, 0xEF, 0xFB, 0x01, 0xDA, 0x0F,
|
||||
0xBD, 0x30, 0x90, 0x7F, 0x9E, 0x3B, 0x01, 0x1A, 0x81, 0xD0, 0x01, 0x0E, 0xF2, 0x5C, 0xDF, 0x75,
|
||||
0x6B, 0x02, 0x6D, 0x1B, 0xA0, 0x0D, 0xD0, 0x06, 0xE8, 0x55, 0x03, 0x1D, 0x38, 0x08, 0xB9, 0x30,
|
||||
0xB0, 0x51, 0x50, 0x00, 0xED, 0x21, 0x68, 0xBB, 0x3E, 0xAC, 0xFB, 0x84, 0x86, 0x06, 0x68, 0x03,
|
||||
0xB4, 0x01, 0x7A, 0xE5, 0x40, 0xBB, 0xC0, 0x0E, 0x01, 0x70, 0xD1, 0x7C, 0xCB, 0x9D, 0xEF, 0xC1,
|
||||
0x7D, 0xD7, 0x07, 0xA0, 0x2E, 0xD0, 0x8E, 0x01, 0xDA, 0x00, 0x6D, 0x80, 0x5E, 0x39, 0xD0, 0x28,
|
||||
0x90, 0xDF, 0xF3, 0x3D, 0xC7, 0xF7, 0xE7, 0x40, 0x43, 0xE0, 0x48, 0x9A, 0xA1, 0x67, 0xD7, 0x04,
|
||||
0xDA, 0x35, 0x40, 0x1B, 0xA0, 0x0D, 0xD0, 0x2B, 0x07, 0x3A, 0x08, 0x01, 0x0C, 0x90, 0x33, 0xDF,
|
||||
0x70, 0x7B, 0xB6, 0x04, 0xDA, 0xF5, 0xDC, 0xB0, 0x26, 0xCE, 0x9E, 0xC1, 0xD9, 0xE0, 0x6C, 0x70,
|
||||
0x5E, 0x35, 0xCE, 0xC8, 0x09, 0xA0, 0x64, 0xD8, 0xF3, 0x0A, 0x9E, 0x1D, 0x14, 0x00, 0x14, 0xB8,
|
||||
0x41, 0x4D, 0x9E, 0x7D, 0xC3, 0xB3, 0xE1, 0xD9, 0xF0, 0xBC, 0x72, 0x9E, 0x5D, 0x1B, 0x78, 0x30,
|
||||
0x74, 0x1D, 0x77, 0xB6, 0xDF, 0x46, 0x00, 0xC2, 0x10, 0x48, 0xC8, 0x61, 0x4D, 0xA0, 0x03, 0x03,
|
||||
0xB4, 0x01, 0xDA, 0x00, 0xBD, 0x72, 0xA0, 0x43, 0xD7, 0x77, 0x80, 0x0F, 0x90, 0x3D, 0x07, 0x1A,
|
||||
0x06, 0x8E, 0x1D, 0x38, 0xD0, 0xAE, 0xFB, 0x84, 0x46, 0x06, 0x68, 0x03, 0xB4, 0x01, 0x7A, 0xE5,
|
||||
0x40, 0x23, 0x24, 0x71, 0x96, 0x3B, 0xEE, 0xE2, 0x25, 0xB4, 0x1F, 0x02, 0xD7, 0x05, 0x76, 0xDD,
|
||||
0x77, 0xD0, 0xA1, 0xE1, 0xD9, 0xF0, 0x6C, 0x78, 0xBE, 0x2E, 0xCF, 0xED, 0xD6, 0xE2, 0x7F, 0xEE,
|
||||
0xDA, 0xAD, 0xC5, 0xAF, 0xEA, 0xDB, 0xF9, 0x2F, 0xF3, 0x3B, 0xB7, 0xFE, 0x07, 0x50, 0x4B, 0x07,
|
||||
0x08, 0xDD, 0x90, 0xD9, 0xA9, 0x92, 0x05, 0x00, 0x00, 0xE9, 0x3F, 0x00, 0x00, 0x50, 0x4B, 0x01,
|
||||
0x02, 0x14, 0x00, 0x14, 0x00, 0x08, 0x08, 0x08, 0x00, 0x22, 0x6D, 0x34, 0x55, 0x50, 0x7D, 0x0A,
|
||||
0x8A, 0xCC, 0x05, 0x00, 0x00, 0xEA, 0x33, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x70, 0x6D, 0x7A, 0x2F,
|
||||
0x74, 0x65, 0x6D, 0x70, 0x6C, 0x61, 0x74, 0x65, 0x2E, 0x6B, 0x6D, 0x6C, 0x50, 0x4B, 0x01, 0x02,
|
||||
0x14, 0x00, 0x14, 0x00, 0x08, 0x08, 0x08, 0x00, 0x22, 0x6D, 0x34, 0x55, 0xDD, 0x90, 0xD9, 0xA9,
|
||||
0x92, 0x05, 0x00, 0x00, 0xE9, 0x3F, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x06, 0x00, 0x00, 0x77, 0x70, 0x6D, 0x7A, 0x2F, 0x77,
|
||||
0x61, 0x79, 0x6C, 0x69, 0x6E, 0x65, 0x73, 0x2E, 0x77, 0x70, 0x6D, 0x6C, 0x50, 0x4B, 0x05, 0x06,
|
||||
0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xDD, 0x0B, 0x00, 0x00,
|
||||
0x00, 0x00
|
||||
};
|
||||
|
||||
#endif /* __waypoint_v3_test_file_kmz_h_included */
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "../utils/util_misc.h"
|
||||
#include <dji_platform.h>
|
||||
#include <stdio.h>
|
||||
#include "dji_sdk_config.h"
|
||||
#include "file_binary_array_list_en.h"
|
||||
|
||||
/* Private constants ---------------------------------------------------------*/
|
||||
@ -51,18 +52,17 @@ static char s_widgetFileDirPath[DJI_FILE_PATH_SIZE_MAX] = {0};
|
||||
|
||||
static const T_DjiWidgetHandlerListItem s_widgetHandlerList[] = {
|
||||
{0, DJI_WIDGET_TYPE_BUTTON, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{1, DJI_WIDGET_TYPE_BUTTON, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{2, DJI_WIDGET_TYPE_LIST, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{3, DJI_WIDGET_TYPE_SWITCH, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{4, DJI_WIDGET_TYPE_SCALE, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{5, DJI_WIDGET_TYPE_BUTTON, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{6, DJI_WIDGET_TYPE_SCALE, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{7, DJI_WIDGET_TYPE_INT_INPUT_BOX, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{8, DJI_WIDGET_TYPE_SWITCH, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{9, DJI_WIDGET_TYPE_LIST, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{1, DJI_WIDGET_TYPE_LIST, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{2, DJI_WIDGET_TYPE_SWITCH, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{3, DJI_WIDGET_TYPE_SCALE, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{4, DJI_WIDGET_TYPE_BUTTON, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{5, DJI_WIDGET_TYPE_SCALE, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{6, DJI_WIDGET_TYPE_INT_INPUT_BOX, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{7, DJI_WIDGET_TYPE_SWITCH, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{8, DJI_WIDGET_TYPE_LIST, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
};
|
||||
|
||||
static char *s_widgetTypeNameArray[] = {
|
||||
static const char *s_widgetTypeNameArray[] = {
|
||||
"Unknown",
|
||||
"Button",
|
||||
"Switch",
|
||||
@ -200,7 +200,17 @@ static void *DjiTest_WidgetTask(void *arg)
|
||||
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Get system time ms error, stat = 0x%08llX", djiStat);
|
||||
}
|
||||
|
||||
#ifndef USER_FIRMWARE_MAJOR_VERSION
|
||||
snprintf(message, DJI_WIDGET_FLOATING_WINDOW_MSG_MAX_LEN, "System time : %u ms", sysTimeMs);
|
||||
#else
|
||||
snprintf(message, DJI_WIDGET_FLOATING_WINDOW_MSG_MAX_LEN,
|
||||
"System time : %u ms\r\nVersion: v%02d.%02d.%02d.%02d\r\nBuild time: %s %s", sysTimeMs,
|
||||
USER_FIRMWARE_MAJOR_VERSION, USER_FIRMWARE_MINOR_VERSION,
|
||||
USER_FIRMWARE_MODIFY_VERSION, USER_FIRMWARE_DEBUG_VERSION,
|
||||
__DATE__, __TIME__);
|
||||
#endif
|
||||
|
||||
|
||||
djiStat = DjiWidgetFloatingWindow_ShowMessage(message);
|
||||
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include <stdio.h>
|
||||
#include "utils/util_misc.h"
|
||||
#include "utils/util_md5.h"
|
||||
#include <dji_aircraft_info.h>
|
||||
|
||||
#ifdef OPUS_INSTALLED
|
||||
|
||||
@ -54,11 +55,13 @@
|
||||
#define WIDGET_SPEAKER_TTS_FILE_MAX_SIZE (3000)
|
||||
|
||||
/* The frame size is hardcoded for this sample code but it doesn't have to be */
|
||||
#define WIDGET_SPEAKER_AUDIO_OPUS_MAX_PACKET_SIZE (3 * 1276)
|
||||
#define WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE (6 * 960)
|
||||
#define WIDGET_SPEAKER_AUDIO_OPUS_SAMPLE_RATE (16000)
|
||||
#define WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS (1)
|
||||
#define WIDGET_SPEAKER_AUDIO_OPUS_DECODE_FRAME_SIZE (160)
|
||||
#define WIDGET_SPEAKER_AUDIO_OPUS_MAX_PACKET_SIZE (3 * 1276)
|
||||
#define WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE (6 * 960)
|
||||
#define WIDGET_SPEAKER_AUDIO_OPUS_SAMPLE_RATE (16000)
|
||||
#define WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS (1)
|
||||
|
||||
#define WIDGET_SPEAKER_AUDIO_OPUS_DECODE_FRAME_SIZE_8KBPS (40)
|
||||
#define WIDGET_SPEAKER_AUDIO_OPUS_DECODE_BITRATE_8KBPS (8000)
|
||||
|
||||
/* The speaker initialization parameters */
|
||||
#define WIDGET_SPEAKER_DEFAULT_VOLUME (30)
|
||||
@ -75,6 +78,7 @@ static T_DjiTaskHandle s_widgetSpeakerTestThread;
|
||||
static FILE *s_audioFile = NULL;
|
||||
static FILE *s_ttsFile = NULL;
|
||||
static bool s_isDecodeFinished = true;
|
||||
static uint16_t s_decodeBitrate = 0;
|
||||
|
||||
/* Private functions declaration ---------------------------------------------*/
|
||||
static void SetSpeakerState(E_DjiWidgetSpeakerState speakerState);
|
||||
@ -230,15 +234,14 @@ static T_DjiReturnCode DjiTest_DecodeAudioData(void)
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("Decode Start...");
|
||||
|
||||
while (1) {
|
||||
int i;
|
||||
unsigned char pcm_bytes[WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS * 2];
|
||||
int frame_size;
|
||||
|
||||
/* Read a 16 bits/sample audio frame. */
|
||||
nbBytes = fread(cbits, 1, WIDGET_SPEAKER_AUDIO_OPUS_DECODE_FRAME_SIZE, fin);
|
||||
nbBytes = fread(cbits, 1, s_decodeBitrate / WIDGET_SPEAKER_AUDIO_OPUS_DECODE_BITRATE_8KBPS *
|
||||
WIDGET_SPEAKER_AUDIO_OPUS_DECODE_FRAME_SIZE_8KBPS, fin);
|
||||
if (feof(fin))
|
||||
break;
|
||||
|
||||
@ -293,45 +296,59 @@ static T_DjiReturnCode DjiTest_PlayTtsData(void)
|
||||
uint8_t data[WIDGET_SPEAKER_TTS_FILE_MAX_SIZE] = {0};
|
||||
int32_t readLen;
|
||||
char cmdStr[WIDGET_SPEAKER_TTS_FILE_MAX_SIZE + 128];
|
||||
T_DjiAircraftInfoBaseInfo aircraftInfoBaseInfo;
|
||||
T_DjiReturnCode returnCode;
|
||||
|
||||
txtFile = fopen(WIDGET_SPEAKER_TTS_FILE_NAME, "r");
|
||||
if (txtFile == NULL) {
|
||||
fprintf(stderr, "failed to open input file: %s\n", strerror(errno));
|
||||
return EXIT_FAILURE;
|
||||
returnCode = DjiAircraftInfo_GetBaseInfo(&aircraftInfoBaseInfo);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("get aircraft base info error");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
|
||||
readLen = fread(data, 1, WIDGET_SPEAKER_TTS_FILE_MAX_SIZE, txtFile);
|
||||
if (readLen <= 0) {
|
||||
USER_LOG_ERROR("Read tts file failed, error code: %d", readLen);
|
||||
if (aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M3E ||
|
||||
aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M3T) {
|
||||
return DjiTest_PlayAudioData();
|
||||
} else {
|
||||
txtFile = fopen(WIDGET_SPEAKER_TTS_FILE_NAME, "r");
|
||||
if (txtFile == NULL) {
|
||||
fprintf(stderr, "failed to open input file: %s\n", strerror(errno));
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
readLen = fread(data, 1, WIDGET_SPEAKER_TTS_FILE_MAX_SIZE, txtFile);
|
||||
if (readLen <= 0) {
|
||||
USER_LOG_ERROR("Read tts file failed, error code: %d", readLen);
|
||||
fclose(txtFile);
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_NOT_FOUND;
|
||||
}
|
||||
|
||||
fclose(txtFile);
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_NOT_FOUND;
|
||||
}
|
||||
|
||||
fclose(txtFile);
|
||||
USER_LOG_INFO("Read tts file success, len: %d", readLen);
|
||||
USER_LOG_INFO("Content: %s", data);
|
||||
|
||||
USER_LOG_INFO("Read tts file success, len: %d", readLen);
|
||||
USER_LOG_INFO("Content: %s", data);
|
||||
memset(cmdStr, 0, sizeof(cmdStr));
|
||||
|
||||
memset(cmdStr, 0, sizeof(cmdStr));
|
||||
|
||||
SetSpeakerState(DJI_WIDGET_SPEAKER_STATE_IN_TTS_CONVERSION);
|
||||
SetSpeakerState(DJI_WIDGET_SPEAKER_STATE_IN_TTS_CONVERSION);
|
||||
|
||||
#if EKHO_INSTALLED
|
||||
/*! Attention: you can use other tts opensource function to convert txt to speech, example used ekho v7.5 */
|
||||
snprintf(cmdStr, sizeof(cmdStr), " ekho %s -s 20 -p 20 -a 100 -o %s", data, WIDGET_SPEAKER_TTS_OUTPUT_FILE_NAME);
|
||||
/*! Attention: you can use other tts opensource function to convert txt to speech, example used ekho v7.5 */
|
||||
snprintf(cmdStr, sizeof(cmdStr), " ekho %s -s 20 -p 20 -a 100 -o %s", data,
|
||||
WIDGET_SPEAKER_TTS_OUTPUT_FILE_NAME);
|
||||
#else
|
||||
USER_LOG_WARN(
|
||||
USER_LOG_WARN(
|
||||
"Ekho is not installed, please visit https://www.eguidedog.net/ekho.php to install it or use other TTS tools to convert audio");
|
||||
#endif
|
||||
DjiUserUtil_RunSystemCmd(cmdStr);
|
||||
DjiUserUtil_RunSystemCmd(cmdStr);
|
||||
|
||||
SetSpeakerState(DJI_WIDGET_SPEAKER_STATE_PLAYING);
|
||||
USER_LOG_INFO("Start TTS Playing...");
|
||||
memset(cmdStr, 0, sizeof(cmdStr));
|
||||
snprintf(cmdStr, sizeof(cmdStr), "ffplay -nodisp -autoexit -ar 16000 -ac 1 -f s16le -i %s 2>/dev/null",
|
||||
WIDGET_SPEAKER_TTS_OUTPUT_FILE_NAME);
|
||||
SetSpeakerState(DJI_WIDGET_SPEAKER_STATE_PLAYING);
|
||||
USER_LOG_INFO("Start TTS Playing...");
|
||||
memset(cmdStr, 0, sizeof(cmdStr));
|
||||
snprintf(cmdStr, sizeof(cmdStr), "ffplay -nodisp -autoexit -ar 16000 -ac 1 -f s16le -i %s 2>/dev/null",
|
||||
WIDGET_SPEAKER_TTS_OUTPUT_FILE_NAME);
|
||||
|
||||
return DjiUserUtil_RunSystemCmd(cmdStr);
|
||||
return DjiUserUtil_RunSystemCmd(cmdStr);
|
||||
}
|
||||
}
|
||||
|
||||
static T_DjiReturnCode DjiTest_CheckFileMd5Sum(const char *path, uint8_t *buf, uint16_t size)
|
||||
@ -533,18 +550,25 @@ static T_DjiReturnCode SetVolume(uint8_t volume)
|
||||
realVolume = 1.5f * (float) volume;
|
||||
s_speakerState.volume = volume;
|
||||
|
||||
#ifdef PLATFORM_ARCH_x86_64
|
||||
USER_LOG_INFO("Set widget speaker volume: %d", volume);
|
||||
memset(cmdStr, 0, sizeof(cmdStr));
|
||||
snprintf(cmdStr, sizeof(cmdStr), "pactl set-sink-volume %s %d%%", WIDGET_SPEAKER_USB_AUDIO_DEVICE_NAME,
|
||||
(int32_t) realVolume);
|
||||
|
||||
returnCode = DjiUserUtil_RunSystemCmd(cmdStr);
|
||||
if (returnCode < 0) {
|
||||
USER_LOG_ERROR("Set widget speaker volume error: %d", ret);
|
||||
#ifdef PLATFORM_ARCH_x86_64
|
||||
snprintf(cmdStr, sizeof(cmdStr), "pactl list | grep %s -q", WIDGET_SPEAKER_USB_AUDIO_DEVICE_NAME);
|
||||
ret = system(cmdStr);
|
||||
if (ret == DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
memset(cmdStr, 0, sizeof(cmdStr));
|
||||
snprintf(cmdStr, sizeof(cmdStr), "pactl set-sink-volume %s %d%%", WIDGET_SPEAKER_USB_AUDIO_DEVICE_NAME,
|
||||
(int32_t) realVolume);
|
||||
|
||||
returnCode = DjiUserUtil_RunSystemCmd(cmdStr);
|
||||
if (returnCode < 0) {
|
||||
USER_LOG_ERROR("Set widget speaker volume error: %d", ret);
|
||||
}
|
||||
} else {
|
||||
USER_LOG_WARN("No audio device found, please add audio device and init speaker volume here!!!");
|
||||
}
|
||||
#else
|
||||
USER_LOG_WARN("Add set speaker volume function here!");
|
||||
USER_LOG_WARN("No audio device found, please add audio device and init speaker volume here!!!");
|
||||
#endif
|
||||
|
||||
returnCode = osalHandler->MutexUnlock(s_speakerMutex);
|
||||
@ -606,6 +630,7 @@ static T_DjiReturnCode ReceiveAudioData(E_DjiWidgetTransmitDataEvent event,
|
||||
{
|
||||
uint16_t writeLen;
|
||||
T_DjiReturnCode returnCode;
|
||||
T_DjiWidgetTransDataContent transDataContent = {0};
|
||||
|
||||
if (event == DJI_WIDGET_TRANSMIT_DATA_EVENT_START) {
|
||||
s_isDecodeFinished = false;
|
||||
@ -617,6 +642,11 @@ static T_DjiReturnCode ReceiveAudioData(E_DjiWidgetTransmitDataEvent event,
|
||||
if (s_speakerState.state != DJI_WIDGET_SPEAKER_STATE_PLAYING) {
|
||||
SetSpeakerState(DJI_WIDGET_SPEAKER_STATE_TRANSMITTING);
|
||||
}
|
||||
|
||||
memcpy(&transDataContent, buf, size);
|
||||
s_decodeBitrate = transDataContent.transDataStartContent.fileDecodeBitrate;
|
||||
USER_LOG_INFO("Create voice file: %s, decoder bitrate: %d.", transDataContent.transDataStartContent.fileName,
|
||||
transDataContent.transDataStartContent.fileDecodeBitrate);
|
||||
} else if (event == DJI_WIDGET_TRANSMIT_DATA_EVENT_TRANSMIT) {
|
||||
USER_LOG_INFO("Transmit voice file, offset: %d, size: %d", offset, size);
|
||||
if (s_audioFile != NULL) {
|
||||
|
@ -15,7 +15,7 @@
|
||||
{
|
||||
"widget_index": 0,
|
||||
"widget_type": "button",
|
||||
"widget_name": "按钮_1",
|
||||
"widget_name": "按钮",
|
||||
"icon_file_set": {
|
||||
"icon_file_name_selected": "icon_button1.png",
|
||||
"icon_file_name_unselected": "icon_button1.png"
|
||||
@ -27,19 +27,6 @@
|
||||
},
|
||||
{
|
||||
"widget_index": 1,
|
||||
"widget_type": "button",
|
||||
"widget_name": "按钮_2",
|
||||
"icon_file_set": {
|
||||
"icon_file_name_selected": "icon_button2.png",
|
||||
"icon_file_name_unselected": "icon_button2.png"
|
||||
},
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 2,
|
||||
"widget_type": "list",
|
||||
"widget_name": "列表",
|
||||
"list_item": [
|
||||
@ -60,11 +47,11 @@
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 2
|
||||
"mapping_config_display_order": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 3,
|
||||
"widget_index": 2,
|
||||
"widget_type": "switch",
|
||||
"widget_name": "开关",
|
||||
"icon_file_set": {
|
||||
@ -73,11 +60,11 @@
|
||||
},
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 3
|
||||
"mapping_config_display_order": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 4,
|
||||
"widget_index": 3,
|
||||
"widget_type": "scale",
|
||||
"widget_name": "范围条",
|
||||
"icon_file_set": {
|
||||
@ -86,7 +73,7 @@
|
||||
},
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 4,
|
||||
"mapping_config_display_order": 3,
|
||||
"button_value_step_length": 5
|
||||
}
|
||||
}
|
||||
@ -100,43 +87,43 @@
|
||||
},
|
||||
"widget_list": [
|
||||
{
|
||||
"widget_index": 5,
|
||||
"widget_index": 4,
|
||||
"widget_type": "button",
|
||||
"widget_name": "按钮 5",
|
||||
"widget_name": "按钮 4",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 5
|
||||
"mapping_config_display_order": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 6,
|
||||
"widget_index": 5,
|
||||
"widget_type": "scale",
|
||||
"widget_name": "范围条 6",
|
||||
"widget_name": "范围条 5",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 6,
|
||||
"mapping_config_display_order": 5,
|
||||
"button_value_step_length": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 7,
|
||||
"widget_index": 6,
|
||||
"widget_type": "int_input_box",
|
||||
"widget_name": "整形值输入框 7",
|
||||
"widget_name": "整形值输入框 6",
|
||||
"int_input_box_hint": "unit:s"
|
||||
},
|
||||
{
|
||||
"widget_index": 8,
|
||||
"widget_index": 7,
|
||||
"widget_type": "switch",
|
||||
"widget_name": "开关 8",
|
||||
"widget_name": "开关 7",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 8
|
||||
"mapping_config_display_order": 7
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 9,
|
||||
"widget_index": 8,
|
||||
"widget_type": "list",
|
||||
"widget_name": "列表 9",
|
||||
"widget_name": "列表 8",
|
||||
"list_item": [
|
||||
{
|
||||
"item_name": "选项 1"
|
||||
@ -153,7 +140,7 @@
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 9
|
||||
"mapping_config_display_order": 8
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -15,7 +15,7 @@
|
||||
{
|
||||
"widget_index": 0,
|
||||
"widget_type": "button",
|
||||
"widget_name": "Button_1",
|
||||
"widget_name": "Button",
|
||||
"icon_file_set": {
|
||||
"icon_file_name_selected": "icon_button1.png",
|
||||
"icon_file_name_unselected": "icon_button1.png"
|
||||
@ -27,19 +27,6 @@
|
||||
},
|
||||
{
|
||||
"widget_index": 1,
|
||||
"widget_type": "button",
|
||||
"widget_name": "Button_2",
|
||||
"icon_file_set": {
|
||||
"icon_file_name_selected": "icon_button2.png",
|
||||
"icon_file_name_unselected": "icon_button2.png"
|
||||
},
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 2,
|
||||
"widget_type": "list",
|
||||
"widget_name": "List",
|
||||
"list_item": [
|
||||
@ -60,11 +47,11 @@
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 2
|
||||
"mapping_config_display_order": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 3,
|
||||
"widget_index": 2,
|
||||
"widget_type": "switch",
|
||||
"widget_name": "Switch",
|
||||
"icon_file_set": {
|
||||
@ -73,11 +60,11 @@
|
||||
},
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 3
|
||||
"mapping_config_display_order": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 4,
|
||||
"widget_index": 3,
|
||||
"widget_type": "scale",
|
||||
"widget_name": "Scale",
|
||||
"icon_file_set": {
|
||||
@ -86,7 +73,7 @@
|
||||
},
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 4,
|
||||
"mapping_config_display_order": 3,
|
||||
"button_value_step_length": 5
|
||||
}
|
||||
}
|
||||
@ -100,43 +87,43 @@
|
||||
},
|
||||
"widget_list": [
|
||||
{
|
||||
"widget_index": 5,
|
||||
"widget_index": 4,
|
||||
"widget_type": "button",
|
||||
"widget_name": "Button 5",
|
||||
"widget_name": "Button 4",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 5
|
||||
"mapping_config_display_order": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 6,
|
||||
"widget_index": 5,
|
||||
"widget_type": "scale",
|
||||
"widget_name": "Scale 6",
|
||||
"widget_name": "Scale 5",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 6,
|
||||
"mapping_config_display_order": 5,
|
||||
"button_value_step_length": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 7,
|
||||
"widget_index": 6,
|
||||
"widget_type": "int_input_box",
|
||||
"widget_name": "Integer Input Box 7",
|
||||
"widget_name": "Integer Input Box 6",
|
||||
"int_input_box_hint": "unit:s"
|
||||
},
|
||||
{
|
||||
"widget_index": 8,
|
||||
"widget_index": 7,
|
||||
"widget_type": "switch",
|
||||
"widget_name": "Switch 8",
|
||||
"widget_name": "Switch 7",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 8
|
||||
"mapping_config_display_order": 7
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 9,
|
||||
"widget_index": 8,
|
||||
"widget_type": "list",
|
||||
"widget_name": "List 9",
|
||||
"widget_name": "List 8",
|
||||
"list_item": [
|
||||
{
|
||||
"item_name": "Item 1"
|
||||
@ -153,7 +140,7 @@
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 9
|
||||
"mapping_config_display_order": 8
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -6,9 +6,9 @@
|
||||
|
||||
/* Contents of file widget_config.json */
|
||||
#define widget_config_json_fileName "widget_config.json"
|
||||
#define widget_config_json_fileSize 4109
|
||||
#define widget_config_json_fileSize 3801
|
||||
|
||||
static const uint8_t widget_config_json_fileBinaryArray[4109] = {
|
||||
static const uint8_t widget_config_json_fileBinaryArray[3801] = {
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x22, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x22, 0x3A, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x6A, 0x6F, 0x72, 0x22, 0x3A, 0x20, 0x31, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x69, 0x6E, 0x6F, 0x72, 0x22, 0x3A, 0x20, 0x30, 0x0A,
|
||||
@ -17,118 +17,28 @@ static const uint8_t widget_config_json_fileBinaryArray[4109] = {
|
||||
0x66, 0x6C, 0x6F, 0x61, 0x74, 0x69, 0x6E, 0x67, 0x5F, 0x77, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x22,
|
||||
0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E,
|
||||
0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6C,
|
||||
0x69, 0x73, 0x74, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x30, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22,
|
||||
0x3A, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x42, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x5F, 0x31, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C,
|
||||
0x65, 0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x31, 0x2E, 0x70, 0x6E, 0x67,
|
||||
0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63,
|
||||
0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x75, 0x6E, 0x73,
|
||||
0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F,
|
||||
0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x31, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75,
|
||||
0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65,
|
||||
0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67,
|
||||
0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F,
|
||||
0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x30, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69,
|
||||
0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x31, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x42, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x5F,
|
||||
0x32, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F,
|
||||
0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66,
|
||||
0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65,
|
||||
0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E,
|
||||
0x32, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x5F, 0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x32, 0x2E, 0x70, 0x6E, 0x67,
|
||||
0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F,
|
||||
0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69,
|
||||
0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75,
|
||||
0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61,
|
||||
0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73,
|
||||
0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x31, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22,
|
||||
0x3A, 0x20, 0x32, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69,
|
||||
0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x6C, 0x69, 0x73,
|
||||
0x74, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64,
|
||||
0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x4C, 0x69, 0x73, 0x74,
|
||||
0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74,
|
||||
0x5F, 0x69, 0x74, 0x65, 0x6D, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x49, 0x74, 0x65, 0x6D, 0x5F, 0x31, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x70, 0x65, 0x61, 0x6B, 0x65, 0x72, 0x22,
|
||||
0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E,
|
||||
0x61, 0x62, 0x6C, 0x65, 0x5F, 0x74, 0x74, 0x73, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C,
|
||||
0x65, 0x5F, 0x76, 0x6F, 0x69, 0x63, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65,
|
||||
0x74, 0x5F, 0x6C, 0x69, 0x73, 0x74, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67,
|
||||
0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x30, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79,
|
||||
0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x42, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69,
|
||||
0x6C, 0x65, 0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F,
|
||||
0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A,
|
||||
0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D,
|
||||
0x31, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74,
|
||||
0x65, 0x6D, 0x31, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65,
|
||||
0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x74, 0x65, 0x6D, 0x5F, 0x32,
|
||||
0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F,
|
||||
0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20,
|
||||
0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x31, 0x2E, 0x70, 0x6E,
|
||||
0x67, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
|
||||
0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x75, 0x6E,
|
||||
0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E,
|
||||
0x5F, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x32, 0x2E, 0x70, 0x6E, 0x67, 0x22,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F,
|
||||
0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63,
|
||||
0x6F, 0x6E, 0x5F, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x32, 0x2E, 0x70, 0x6E,
|
||||
0x67, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75,
|
||||
0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65,
|
||||
0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67,
|
||||
0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F,
|
||||
0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x32, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69,
|
||||
0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x33, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F,
|
||||
0x66, 0x69, 0x6C, 0x65, 0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C,
|
||||
0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22,
|
||||
0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5F, 0x73,
|
||||
0x65, 0x6C, 0x65, 0x63, 0x74, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5F,
|
||||
0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20,
|
||||
0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x31, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62,
|
||||
0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20,
|
||||
@ -136,136 +46,207 @@ static const uint8_t widget_config_json_fileBinaryArray[4109] = {
|
||||
0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E,
|
||||
0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79,
|
||||
0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x33, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x30, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77,
|
||||
0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x34, 0x2C,
|
||||
0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x31, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
|
||||
0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x63, 0x61, 0x6C, 0x65, 0x22, 0x2C,
|
||||
0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74, 0x22, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x4C, 0x69, 0x73, 0x74, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65,
|
||||
0x6D, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
|
||||
0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x74, 0x65, 0x6D,
|
||||
0x5F, 0x31, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x73, 0x65, 0x74, 0x22,
|
||||
0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63,
|
||||
0x6F, 0x6E, 0x5F, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x31, 0x2E, 0x70, 0x6E,
|
||||
0x67, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x5F, 0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x31, 0x2E,
|
||||
0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61,
|
||||
0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x74, 0x65, 0x6D, 0x5F, 0x32, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E,
|
||||
0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F,
|
||||
0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65,
|
||||
0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x6C, 0x69, 0x73,
|
||||
0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x32, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F,
|
||||
0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x75, 0x6E, 0x73, 0x65,
|
||||
0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x6C,
|
||||
0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x32, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x5D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73,
|
||||
0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E,
|
||||
0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E,
|
||||
0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65,
|
||||
0x72, 0x22, 0x3A, 0x20, 0x31, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x53, 0x63, 0x61, 0x6C, 0x65, 0x22, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66,
|
||||
0x69, 0x6C, 0x65, 0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x32, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x22, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A,
|
||||
0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x73, 0x63, 0x61, 0x6C, 0x65, 0x2E, 0x70, 0x6E, 0x67,
|
||||
0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63,
|
||||
0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x75, 0x6E, 0x73,
|
||||
0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F,
|
||||
0x73, 0x63, 0x61, 0x6C, 0x65, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63,
|
||||
0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61,
|
||||
0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69,
|
||||
0x63, 0x6F, 0x6E, 0x5F, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63,
|
||||
0x74, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x5F, 0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5F, 0x75, 0x6E, 0x73, 0x65,
|
||||
0x6C, 0x65, 0x63, 0x74, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75,
|
||||
0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F,
|
||||
0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62,
|
||||
0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F,
|
||||
0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64,
|
||||
0x65, 0x72, 0x22, 0x3A, 0x20, 0x32, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65,
|
||||
0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x33, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x63, 0x61, 0x6C, 0x65, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x22, 0x53, 0x63, 0x61, 0x6C, 0x65, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F,
|
||||
0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63,
|
||||
0x6F, 0x6E, 0x5F, 0x73, 0x63, 0x61, 0x6C, 0x65, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66,
|
||||
0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63,
|
||||
0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x73, 0x63, 0x61, 0x6C,
|
||||
0x65, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F,
|
||||
0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F,
|
||||
0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22,
|
||||
0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69,
|
||||
0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22,
|
||||
0x3A, 0x20, 0x33, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x5F, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x5F, 0x73, 0x74, 0x65,
|
||||
0x70, 0x5F, 0x6C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x22, 0x3A, 0x20, 0x35, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x5D, 0x0A, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x22, 0x63, 0x6F, 0x6E,
|
||||
0x66, 0x69, 0x67, 0x5F, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x22, 0x3A, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x65, 0x78, 0x74, 0x5F, 0x69, 0x6E, 0x70, 0x75,
|
||||
0x74, 0x5F, 0x62, 0x6F, 0x78, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x54, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x70, 0x75, 0x74, 0x42, 0x6F, 0x78, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x6C, 0x61, 0x63, 0x65, 0x68, 0x6F, 0x6C, 0x64, 0x65,
|
||||
0x72, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x22, 0x3A, 0x20, 0x22, 0x50, 0x6C, 0x65, 0x61, 0x73, 0x65,
|
||||
0x20, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6C, 0x69, 0x73, 0x74,
|
||||
0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64,
|
||||
0x65, 0x78, 0x22, 0x3A, 0x20, 0x34, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20,
|
||||
0x22, 0x42, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x20, 0x34, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72,
|
||||
0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67,
|
||||
0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70,
|
||||
0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70,
|
||||
0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x34, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A,
|
||||
0x20, 0x35, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64,
|
||||
0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x63, 0x61, 0x6C,
|
||||
0x65, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64,
|
||||
0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x53, 0x63, 0x61, 0x6C,
|
||||
0x65, 0x20, 0x35, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63,
|
||||
0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74,
|
||||
0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61,
|
||||
0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63,
|
||||
0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72,
|
||||
0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x34, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x35, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x5F, 0x76, 0x61, 0x6C, 0x75, 0x65,
|
||||
0x5F, 0x73, 0x74, 0x65, 0x70, 0x5F, 0x6C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x22, 0x3A, 0x20, 0x35,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x0A, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x22, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x65, 0x78, 0x74, 0x5F,
|
||||
0x69, 0x6E, 0x70, 0x75, 0x74, 0x5F, 0x62, 0x6F, 0x78, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x70, 0x75, 0x74, 0x42, 0x6F, 0x78,
|
||||
0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x6C, 0x61, 0x63, 0x65, 0x68,
|
||||
0x6F, 0x6C, 0x64, 0x65, 0x72, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x22, 0x3A, 0x20, 0x22, 0x50, 0x6C,
|
||||
0x65, 0x61, 0x73, 0x65, 0x20, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x6D, 0x65, 0x73, 0x73, 0x61,
|
||||
0x67, 0x65, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65,
|
||||
0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x6C, 0x69, 0x73, 0x74, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
|
||||
0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x35, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x22, 0x42, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x20, 0x35, 0x22, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69,
|
||||
0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F,
|
||||
0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20,
|
||||
0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F,
|
||||
0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20,
|
||||
0x35, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64,
|
||||
0x65, 0x78, 0x22, 0x3A, 0x20, 0x36, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x73, 0x63, 0x61, 0x6C, 0x65, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x53, 0x63, 0x61, 0x6C, 0x65, 0x20, 0x36, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F,
|
||||
0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A,
|
||||
0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73,
|
||||
0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69,
|
||||
0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61,
|
||||
0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x36, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x5F, 0x76,
|
||||
0x61, 0x6C, 0x75, 0x65, 0x5F, 0x73, 0x74, 0x65, 0x70, 0x5F, 0x6C, 0x65, 0x6E, 0x67, 0x74, 0x68,
|
||||
0x22, 0x3A, 0x20, 0x35, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x37, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22,
|
||||
0x3A, 0x20, 0x22, 0x69, 0x6E, 0x74, 0x5F, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x5F, 0x62, 0x6F, 0x78,
|
||||
0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67,
|
||||
0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x6E, 0x74, 0x65, 0x67,
|
||||
0x65, 0x72, 0x20, 0x49, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x42, 0x6F, 0x78, 0x20, 0x37, 0x22, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6E, 0x74, 0x5F, 0x69, 0x6E,
|
||||
0x70, 0x75, 0x74, 0x5F, 0x62, 0x6F, 0x78, 0x5F, 0x68, 0x69, 0x6E, 0x74, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x75, 0x6E, 0x69, 0x74, 0x3A, 0x73, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A,
|
||||
0x20, 0x38, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64,
|
||||
0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x77, 0x69, 0x74,
|
||||
0x63, 0x68, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69,
|
||||
0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x53, 0x77, 0x69,
|
||||
0x74, 0x63, 0x68, 0x20, 0x38, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75,
|
||||
0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65,
|
||||
0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67,
|
||||
0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F,
|
||||
0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x38, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69,
|
||||
0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x39, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65,
|
||||
0x78, 0x22, 0x3A, 0x20, 0x36, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x69,
|
||||
0x6E, 0x74, 0x5F, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x5F, 0x62, 0x6F, 0x78, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x4C, 0x69, 0x73, 0x74, 0x20, 0x39, 0x22, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74,
|
||||
0x65, 0x6D, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x74, 0x65,
|
||||
0x6D, 0x20, 0x31, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F,
|
||||
0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x74, 0x65, 0x6D, 0x20, 0x32, 0x22, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22,
|
||||
0x3A, 0x20, 0x22, 0x49, 0x74, 0x65, 0x6D, 0x20, 0x33, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x74,
|
||||
0x65, 0x6D, 0x20, 0x34, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F,
|
||||
0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69,
|
||||
0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75,
|
||||
0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61,
|
||||
0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73,
|
||||
0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x39, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x0A, 0x20, 0x20, 0x7D, 0x0A, 0x7D, 0x0A
|
||||
0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x6E, 0x74, 0x65, 0x67, 0x65, 0x72, 0x20, 0x49,
|
||||
0x6E, 0x70, 0x75, 0x74, 0x20, 0x42, 0x6F, 0x78, 0x20, 0x36, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6E, 0x74, 0x5F, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x5F,
|
||||
0x62, 0x6F, 0x78, 0x5F, 0x68, 0x69, 0x6E, 0x74, 0x22, 0x3A, 0x20, 0x22, 0x75, 0x6E, 0x69, 0x74,
|
||||
0x3A, 0x73, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69,
|
||||
0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x37, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20,
|
||||
0x37, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73,
|
||||
0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E,
|
||||
0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E,
|
||||
0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65,
|
||||
0x72, 0x22, 0x3A, 0x20, 0x37, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
|
||||
0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x38, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22,
|
||||
0x3A, 0x20, 0x22, 0x4C, 0x69, 0x73, 0x74, 0x20, 0x38, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x22, 0x3A,
|
||||
0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x74, 0x65, 0x6D, 0x20, 0x31, 0x22,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x49, 0x74, 0x65, 0x6D, 0x20, 0x32, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49,
|
||||
0x74, 0x65, 0x6D, 0x20, 0x33, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65,
|
||||
0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x74, 0x65, 0x6D, 0x20, 0x34,
|
||||
0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62,
|
||||
0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F,
|
||||
0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E,
|
||||
0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79,
|
||||
0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x38, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x5D, 0x0A, 0x20, 0x20, 0x7D, 0x0A, 0x7D, 0x0A
|
||||
};
|
||||
|
||||
#endif /* __widget_config_json_h_included */
|
||||
|
@ -44,12 +44,13 @@
|
||||
#include "dji_core.h"
|
||||
#include <payload_collaboration/test_payload_collaboration.h>
|
||||
#include <waypoint_v3/test_waypoint_v3.h>
|
||||
#include "dji_sdk_config.h"
|
||||
|
||||
/* Private constants ---------------------------------------------------------*/
|
||||
#define WIDGET_DIR_PATH_LEN_MAX (256)
|
||||
#define WIDGET_TASK_STACK_SIZE (2048)
|
||||
|
||||
#define WIDGET_LOG_STRING_MAX_SIZE (50)
|
||||
#define WIDGET_LOG_STRING_MAX_SIZE (40)
|
||||
#define WIDGET_LOG_LINE_MAX_NUM (5)
|
||||
|
||||
/* Private types -------------------------------------------------------------*/
|
||||
@ -64,20 +65,28 @@ typedef enum {
|
||||
E_DJI_SAMPLE_INDEX_FLIGHT_CONTROL_ARREST_FLYING = 7,
|
||||
E_DJI_SAMPLE_INDEX_FLIGHT_CONTROL_SET_GET_PARAM = 8,
|
||||
E_DJI_SAMPLE_INDEX_HMS = 9,
|
||||
E_DJI_SAMPLE_INDEX_CAMERA_MANAGER = 10,
|
||||
E_DJI_SAMPLE_INDEX_GIMBAL_MANAGER_FREE_MODE = 11,
|
||||
E_DJI_SAMPLE_INDEX_GIMBAL_MANAGER_YAW_FOLLOW_MODE = 12,
|
||||
E_DJI_SAMPLE_INDEX_LIVEVIEW = 13,
|
||||
E_DJI_SAMPLE_INDEX_PERCEPTION = 14,
|
||||
E_DJI_SAMPLE_INDEX_GIMBAL_MANAGER_FREE_MODE = 10,
|
||||
E_DJI_SAMPLE_INDEX_GIMBAL_MANAGER_YAW_FOLLOW_MODE = 11,
|
||||
E_DJI_SAMPLE_INDEX_LIVEVIEW = 12,
|
||||
E_DJI_SAMPLE_INDEX_PERCEPTION = 13,
|
||||
E_DJI_SAMPLE_INDEX_SWITCH_ALIAS = 14,
|
||||
E_DJI_SAMPLE_INDEX_CAMMGR_SHUTTER_SPEED = 15,
|
||||
E_DJI_SAMPLE_INDEX_CAMMGR_APERTURE = 16,
|
||||
E_DJI_SAMPLE_INDEX_CAMMGR_EV = 17,
|
||||
E_DJI_SAMPLE_INDEX_CAMMGR_ISO = 18,
|
||||
E_DJI_SAMPLE_INDEX_CAMMGR_FOCUS_POINT = 19,
|
||||
E_DJI_SAMPLE_INDEX_CAMMGR_TAP_ZOOM = 20,
|
||||
E_DJI_SAMPLE_INDEX_CAMMGR_OPTICAL_ZOOM = 21,
|
||||
E_DJI_SAMPLE_INDEX_CAMMGR_SINGLE_PHOTO = 22,
|
||||
E_DJI_SAMPLE_INDEX_CAMMGR_AEB_PHOTO = 23,
|
||||
E_DJI_SAMPLE_INDEX_CAMMGR_BURST_PHOTO = 24,
|
||||
E_DJI_SAMPLE_INDEX_CAMMGR_INTERVAL_PHOTO = 25,
|
||||
E_DJI_SAMPLE_INDEX_CAMMGR_RECORDER_VIDEO = 26,
|
||||
E_DJI_SAMPLE_INDEX_CAMMGR_MEDIA_DOWNLOAD = 27,
|
||||
|
||||
E_DJI_SAMPLE_INDEX_UNKNOWN = 0xFF,
|
||||
} E_DjiExtensionPortSampleIndex;
|
||||
|
||||
typedef enum {
|
||||
E_DJI_SAMPLE_INDEX_SWITCH_ALIAS = 0,
|
||||
E_DJI_SAMPLE_INDEX_FC_SUB_LOG_ON_OFF = 1,
|
||||
E_DJI_SAMPLE_INDEX_COLLABORATION_LOG_ON_OFF = 2,
|
||||
} E_DjiPayloadPortSampleIndex;
|
||||
|
||||
typedef struct {
|
||||
bool valid;
|
||||
char content[WIDGET_LOG_STRING_MAX_SIZE];
|
||||
@ -96,39 +105,28 @@ static T_DjiReturnCode DjiTestWidget_TriggerChangeAlias(void);
|
||||
static T_DjiTaskHandle s_widgetTestThread;
|
||||
static T_DjiTaskHandle s_widgetInteractionTestThread;
|
||||
static E_DjiExtensionPortSampleIndex s_extensionPortSampleIndex = E_DJI_SAMPLE_INDEX_FC_SUBSCRIPTION;
|
||||
static E_DjiPayloadPortSampleIndex s_payloadPortSampleIndex = E_DJI_SAMPLE_INDEX_SWITCH_ALIAS;
|
||||
static bool s_isallowRunFlightControlSample = false;
|
||||
static bool s_isSampleStart = false;
|
||||
static E_DjiMountPosition s_mountPosition = DJI_MOUNT_POSITION_PAYLOAD_PORT_NO1;
|
||||
static E_DjiPerceptionDirection s_perceptionDirection = DJI_PERCEPTION_RECTIFY_DOWN;
|
||||
static E_DjiTestCameraManagerSampleSelect s_cameraManagerSampleSelect =
|
||||
E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_SET_CAMERA_SHUTTER_SPEED;
|
||||
static T_DjiTestWidgetLog s_djiTestWidgetLog[WIDGET_LOG_LINE_MAX_NUM] = {0};
|
||||
static T_DjiAircraftInfoBaseInfo s_aircraftInfoBaseInfo = {0};
|
||||
static bool s_isAliasChanged = false;
|
||||
|
||||
static const T_DjiWidgetHandlerListItem s_widgetHandlerList[] = {
|
||||
{0, DJI_WIDGET_TYPE_BUTTON, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{1, DJI_WIDGET_TYPE_BUTTON, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{2, DJI_WIDGET_TYPE_LIST, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{3, DJI_WIDGET_TYPE_SWITCH, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{4, DJI_WIDGET_TYPE_SCALE, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{5, DJI_WIDGET_TYPE_BUTTON, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{6, DJI_WIDGET_TYPE_SCALE, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{7, DJI_WIDGET_TYPE_INT_INPUT_BOX, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{8, DJI_WIDGET_TYPE_BUTTON, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{9, DJI_WIDGET_TYPE_SWITCH, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{10, DJI_WIDGET_TYPE_LIST, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{11, DJI_WIDGET_TYPE_LIST, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{12, DJI_WIDGET_TYPE_LIST, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{13, DJI_WIDGET_TYPE_LIST, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{14, DJI_WIDGET_TYPE_BUTTON, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{15, DJI_WIDGET_TYPE_BUTTON, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{16, DJI_WIDGET_TYPE_LIST, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{17, DJI_WIDGET_TYPE_BUTTON, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{1, DJI_WIDGET_TYPE_LIST, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{2, DJI_WIDGET_TYPE_SWITCH, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{3, DJI_WIDGET_TYPE_SCALE, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{4, DJI_WIDGET_TYPE_BUTTON, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{5, DJI_WIDGET_TYPE_SCALE, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{6, DJI_WIDGET_TYPE_INT_INPUT_BOX, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{7, DJI_WIDGET_TYPE_SWITCH, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{8, DJI_WIDGET_TYPE_LIST, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{9, DJI_WIDGET_TYPE_LIST, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
{10, DJI_WIDGET_TYPE_BUTTON, DjiTestWidget_SetWidgetValue, DjiTestWidget_GetWidgetValue, NULL},
|
||||
};
|
||||
|
||||
static char *s_widgetTypeNameArray[] = {
|
||||
static const char *s_widgetTypeNameArray[] = {
|
||||
"Unknown",
|
||||
"Button",
|
||||
"Switch",
|
||||
@ -139,6 +137,8 @@ static char *s_widgetTypeNameArray[] = {
|
||||
|
||||
static const uint32_t s_widgetHandlerListCount = sizeof(s_widgetHandlerList) / sizeof(T_DjiWidgetHandlerListItem);
|
||||
static int32_t s_widgetValueList[sizeof(s_widgetHandlerList) / sizeof(T_DjiWidgetHandlerListItem)] = {0};
|
||||
static bool s_isWidgetFileDirPathConfigured = false;
|
||||
static char s_widgetFileDirPath[DJI_FILE_PATH_SIZE_MAX] = {0};
|
||||
|
||||
/* Exported functions definition ---------------------------------------------*/
|
||||
void DjiTest_WidgetLogAppend(const char *fmt, ...)
|
||||
@ -179,7 +179,7 @@ T_DjiReturnCode DjiTest_WidgetInteractionStartService(void)
|
||||
return djiStat;
|
||||
}
|
||||
|
||||
#ifdef SYSTEM_ARCH_LINUX
|
||||
#ifdef SYSTEM_ARCH_LINUX_DISABLEED
|
||||
//Step 2 : Set UI Config (Linux environment)
|
||||
char curFileDirPath[WIDGET_DIR_PATH_LEN_MAX];
|
||||
char tempPath[WIDGET_DIR_PATH_LEN_MAX];
|
||||
@ -189,7 +189,11 @@ T_DjiReturnCode DjiTest_WidgetInteractionStartService(void)
|
||||
return djiStat;
|
||||
}
|
||||
|
||||
snprintf(tempPath, WIDGET_DIR_PATH_LEN_MAX, "%swidget_file/en_big_screen", curFileDirPath);
|
||||
if (s_isWidgetFileDirPathConfigured == true) {
|
||||
snprintf(tempPath, WIDGET_DIR_PATH_LEN_MAX, "%swidget_file/en_big_screen", s_widgetFileDirPath);
|
||||
} else {
|
||||
snprintf(tempPath, WIDGET_DIR_PATH_LEN_MAX, "%swidget_file/en_big_screen", curFileDirPath);
|
||||
}
|
||||
|
||||
//set default ui config path
|
||||
djiStat = DjiWidget_RegDefaultUiConfigByDirPath(tempPath);
|
||||
@ -208,7 +212,11 @@ T_DjiReturnCode DjiTest_WidgetInteractionStartService(void)
|
||||
}
|
||||
|
||||
//set ui config for Chinese language
|
||||
snprintf(tempPath, WIDGET_DIR_PATH_LEN_MAX, "%swidget_file/cn_big_screen", curFileDirPath);
|
||||
if (s_isWidgetFileDirPathConfigured == true) {
|
||||
snprintf(tempPath, WIDGET_DIR_PATH_LEN_MAX, "%swidget_file/cn_big_screen", s_widgetFileDirPath);
|
||||
} else {
|
||||
snprintf(tempPath, WIDGET_DIR_PATH_LEN_MAX, "%swidget_file/cn_big_screen", curFileDirPath);
|
||||
}
|
||||
|
||||
djiStat = DjiWidget_RegUiConfigByDirPath(DJI_MOBILE_APP_LANGUAGE_CHINESE,
|
||||
DJI_MOBILE_APP_SCREEN_TYPE_BIG_SCREEN,
|
||||
@ -254,6 +262,15 @@ T_DjiReturnCode DjiTest_WidgetInteractionStartService(void)
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
T_DjiReturnCode DjiTest_WidgetInteractionSetConfigFilePath(const char *path)
|
||||
{
|
||||
memset(s_widgetFileDirPath, 0, sizeof(s_widgetFileDirPath));
|
||||
memcpy(s_widgetFileDirPath, path, USER_UTIL_MIN(strlen(path), sizeof(s_widgetFileDirPath) - 1));
|
||||
s_isWidgetFileDirPathConfigured = true;
|
||||
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
#ifndef __CC_ARM
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wmissing-noreturn"
|
||||
@ -276,6 +293,7 @@ static void *DjiTest_WidgetTask(void *arg)
|
||||
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("Get system time ms error, stat = 0x%08llX", djiStat);
|
||||
}
|
||||
#ifndef USER_FIRMWARE_MAJOR_VERSION
|
||||
snprintf(message, DJI_WIDGET_FLOATING_WINDOW_MSG_MAX_LEN,
|
||||
"System time : %u ms \r\n%s \r\n%s \r\n%s \r\n%s \r\n%s \r\n",
|
||||
sysTimeMs,
|
||||
@ -284,6 +302,13 @@ static void *DjiTest_WidgetTask(void *arg)
|
||||
s_djiTestWidgetLog[2].content,
|
||||
s_djiTestWidgetLog[3].content,
|
||||
s_djiTestWidgetLog[4].content);
|
||||
#else
|
||||
snprintf(message, DJI_WIDGET_FLOATING_WINDOW_MSG_MAX_LEN,
|
||||
"System time : %u ms\r\nVersion: v%02d.%02d.%02d.%02d\r\nBuild time: %s %s", sysTimeMs,
|
||||
USER_FIRMWARE_MAJOR_VERSION, USER_FIRMWARE_MINOR_VERSION,
|
||||
USER_FIRMWARE_MODIFY_VERSION, USER_FIRMWARE_DEBUG_VERSION,
|
||||
__DATE__, __TIME__);
|
||||
#endif
|
||||
|
||||
djiStat = DjiWidgetFloatingWindow_ShowMessage(message);
|
||||
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
@ -392,9 +417,6 @@ static void *DjiTest_WidgetInteractionTask(void *arg)
|
||||
case E_DJI_SAMPLE_INDEX_FC_SUBSCRIPTION:
|
||||
DjiTest_FcSubscriptionRunSample();
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_CAMERA_MANAGER:
|
||||
DjiTest_CameraManagerRunSample(s_mountPosition, s_cameraManagerSampleSelect);
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_GIMBAL_MANAGER_FREE_MODE:
|
||||
DjiTest_GimbalManagerRunSample(s_mountPosition, DJI_GIMBAL_MODE_FREE);
|
||||
break;
|
||||
@ -413,28 +435,72 @@ static void *DjiTest_WidgetInteractionTask(void *arg)
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_PERCEPTION:
|
||||
#ifdef SYSTEM_ARCH_LINUX
|
||||
DjiTest_PerceptionRunSample(s_perceptionDirection);
|
||||
DjiTest_PerceptionRunSample(DJI_PERCEPTION_RECTIFY_FRONT);
|
||||
#else
|
||||
USER_LOG_WARN("This feature does not support RTOS platform.");
|
||||
#endif
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_SWITCH_ALIAS:
|
||||
DjiTestWidget_TriggerChangeAlias();
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_CAMMGR_SHUTTER_SPEED:
|
||||
DjiTest_CameraManagerRunSample(s_mountPosition,
|
||||
E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_SET_CAMERA_SHUTTER_SPEED);
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_CAMMGR_APERTURE:
|
||||
DjiTest_CameraManagerRunSample(s_mountPosition,
|
||||
E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_SET_CAMERA_APERTURE);
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_CAMMGR_EV:
|
||||
DjiTest_CameraManagerRunSample(s_mountPosition,
|
||||
E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_SET_CAMERA_EV);
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_CAMMGR_ISO:
|
||||
DjiTest_CameraManagerRunSample(s_mountPosition,
|
||||
E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_SET_CAMERA_ISO);
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_CAMMGR_FOCUS_POINT:
|
||||
DjiTest_CameraManagerRunSample(s_mountPosition,
|
||||
E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_SET_CAMERA_FOCUS_POINT);
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_CAMMGR_TAP_ZOOM:
|
||||
DjiTest_CameraManagerRunSample(s_mountPosition,
|
||||
E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_SET_CAMERA_TAP_ZOOM_POINT);
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_CAMMGR_OPTICAL_ZOOM:
|
||||
DjiTest_CameraManagerRunSample(s_mountPosition,
|
||||
E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_SET_CAMERA_ZOOM_PARAM);
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_CAMMGR_SINGLE_PHOTO:
|
||||
DjiTest_CameraManagerRunSample(s_mountPosition,
|
||||
E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_SHOOT_SINGLE_PHOTO);
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_CAMMGR_AEB_PHOTO:
|
||||
DjiTest_CameraManagerRunSample(s_mountPosition,
|
||||
E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_SHOOT_AEB_PHOTO);
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_CAMMGR_BURST_PHOTO:
|
||||
DjiTest_CameraManagerRunSample(s_mountPosition,
|
||||
E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_SHOOT_BURST_PHOTO);
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_CAMMGR_INTERVAL_PHOTO:
|
||||
DjiTest_CameraManagerRunSample(s_mountPosition,
|
||||
E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_SHOOT_INTERVAL_PHOTO);
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_CAMMGR_RECORDER_VIDEO:
|
||||
DjiTest_CameraManagerRunSample(s_mountPosition,
|
||||
E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_RECORD_VIDEO);
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_CAMMGR_MEDIA_DOWNLOAD:
|
||||
DjiTest_CameraManagerRunSample(s_mountPosition,
|
||||
E_DJI_TEST_CAMERA_MANAGER_SAMPLE_SELECT_DOWNLOAD_AND_DELETE_MEDIA_FILE);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (s_payloadPortSampleIndex) {
|
||||
case E_DJI_SAMPLE_INDEX_SWITCH_ALIAS:
|
||||
DjiTestWidget_TriggerChangeAlias();
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_FC_SUB_LOG_ON_OFF:
|
||||
DjiTest_FcSubscriptionDataShowTrigger();
|
||||
break;
|
||||
case E_DJI_SAMPLE_INDEX_COLLABORATION_LOG_ON_OFF:
|
||||
DjiTest_PayloadCollaborationDataShowTrigger();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
USER_LOG_WARN("Can't support on payload port.");
|
||||
break;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("--------------------------------------------------------------------------------------------->");
|
||||
@ -457,37 +523,19 @@ static T_DjiReturnCode DjiTestWidget_SetWidgetValue(E_DjiWidgetType widgetType,
|
||||
s_widgetTypeNameArray[widgetType], index, value);
|
||||
s_widgetValueList[index] = value;
|
||||
|
||||
if (widgetType == DJI_WIDGET_TYPE_SWITCH && index == 9) {
|
||||
if (widgetType == DJI_WIDGET_TYPE_SWITCH && index == 7) {
|
||||
s_isallowRunFlightControlSample = value;
|
||||
}
|
||||
|
||||
if (widgetType == DJI_WIDGET_TYPE_LIST && index == 10) {
|
||||
if (widgetType == DJI_WIDGET_TYPE_LIST && index == 8) {
|
||||
s_mountPosition = value + 1;
|
||||
}
|
||||
|
||||
if (widgetType == DJI_WIDGET_TYPE_LIST && index == 11) {
|
||||
s_perceptionDirection = value;
|
||||
}
|
||||
|
||||
if (widgetType == DJI_WIDGET_TYPE_LIST && index == 12) {
|
||||
s_cameraManagerSampleSelect = value;
|
||||
}
|
||||
|
||||
if (widgetType == DJI_WIDGET_TYPE_LIST && index == 13) {
|
||||
if (widgetType == DJI_WIDGET_TYPE_LIST && index == 9) {
|
||||
s_extensionPortSampleIndex = value;
|
||||
}
|
||||
|
||||
if (widgetType == DJI_WIDGET_TYPE_BUTTON && index == 14) {
|
||||
if (value == 1) {
|
||||
s_isSampleStart = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (widgetType == DJI_WIDGET_TYPE_LIST && index == 16) {
|
||||
s_payloadPortSampleIndex = value;
|
||||
}
|
||||
|
||||
if (widgetType == DJI_WIDGET_TYPE_BUTTON && index == 17) {
|
||||
if (widgetType == DJI_WIDGET_TYPE_BUTTON && index == 10) {
|
||||
if (value == 1) {
|
||||
s_isSampleStart = true;
|
||||
}
|
||||
@ -509,14 +557,20 @@ static T_DjiReturnCode DjiTestWidget_GetWidgetValue(E_DjiWidgetType widgetType,
|
||||
|
||||
static T_DjiReturnCode DjiTestWidget_TriggerChangeAlias(void)
|
||||
{
|
||||
USER_LOG_INFO("Payload alias sample start");
|
||||
|
||||
if (s_isAliasChanged == false) {
|
||||
DjiCore_SetAlias("測試test!@#$%^&*()");
|
||||
USER_LOG_INFO("Set payload alias to '測試test!@#$%^&*()' ");
|
||||
s_isAliasChanged = true;
|
||||
} else {
|
||||
DjiCore_SetAlias("PSDK_APPALIAS");
|
||||
USER_LOG_INFO("Set payload alias to 'PSDK_APPALIAS' ");
|
||||
s_isAliasChanged = false;
|
||||
}
|
||||
|
||||
USER_LOG_INFO("Payload alias sample end");
|
||||
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -40,6 +40,7 @@ extern "C" {
|
||||
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
T_DjiReturnCode DjiTest_WidgetInteractionStartService(void);
|
||||
T_DjiReturnCode DjiTest_WidgetInteractionSetConfigFilePath(const char *path);
|
||||
void DjiTest_WidgetLogAppend(const char *fmt, ...);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -15,7 +15,7 @@
|
||||
{
|
||||
"widget_index": 0,
|
||||
"widget_type": "button",
|
||||
"widget_name": "按钮_1",
|
||||
"widget_name": "按钮",
|
||||
"icon_file_set": {
|
||||
"icon_file_name_selected": "icon_button1.png",
|
||||
"icon_file_name_unselected": "icon_button1.png"
|
||||
@ -27,19 +27,6 @@
|
||||
},
|
||||
{
|
||||
"widget_index": 1,
|
||||
"widget_type": "button",
|
||||
"widget_name": "按钮_2",
|
||||
"icon_file_set": {
|
||||
"icon_file_name_selected": "icon_button2.png",
|
||||
"icon_file_name_unselected": "icon_button2.png"
|
||||
},
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 2,
|
||||
"widget_type": "list",
|
||||
"widget_name": "列表",
|
||||
"list_item": [
|
||||
@ -60,11 +47,11 @@
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 2
|
||||
"mapping_config_display_order": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 3,
|
||||
"widget_index": 2,
|
||||
"widget_type": "switch",
|
||||
"widget_name": "开关",
|
||||
"icon_file_set": {
|
||||
@ -73,11 +60,11 @@
|
||||
},
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 3
|
||||
"mapping_config_display_order": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 4,
|
||||
"widget_index": 3,
|
||||
"widget_type": "scale",
|
||||
"widget_name": "范围条",
|
||||
"icon_file_set": {
|
||||
@ -86,7 +73,7 @@
|
||||
},
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 4
|
||||
"mapping_config_display_order": 3
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -99,9 +86,18 @@
|
||||
},
|
||||
"widget_list": [
|
||||
{
|
||||
"widget_index": 5,
|
||||
"widget_index": 4,
|
||||
"widget_type": "button",
|
||||
"widget_name": "按钮 5",
|
||||
"widget_name": "按钮 4",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 5,
|
||||
"widget_type": "scale",
|
||||
"widget_name": "范围条 5",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 5
|
||||
@ -109,39 +105,17 @@
|
||||
},
|
||||
{
|
||||
"widget_index": 6,
|
||||
"widget_type": "scale",
|
||||
"widget_name": "范围条 6",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 6
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 7,
|
||||
"widget_type": "int_input_box",
|
||||
"widget_name": "整形值输入框 7",
|
||||
"widget_name": "整形值输入框 6",
|
||||
"int_input_box_hint": "unit:s"
|
||||
},
|
||||
{
|
||||
"widget_index": 8,
|
||||
"widget_type": "button",
|
||||
"widget_name": "=========>> [Extension Port Test] <<=========",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 7
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 9,
|
||||
"widget_index": 7,
|
||||
"widget_type": "switch",
|
||||
"widget_name": "Unlock flight control restrictions (Special attention)",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 8
|
||||
}
|
||||
"widget_name": "Unlock flight control restrictions (Special attention)"
|
||||
},
|
||||
{
|
||||
"widget_index": 10,
|
||||
"widget_index": 8,
|
||||
"widget_type": "list",
|
||||
"widget_name": "Please Select Payload Index",
|
||||
"list_item": [
|
||||
@ -154,190 +128,103 @@
|
||||
{
|
||||
"item_name": "payload_index3"
|
||||
}
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 9
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"widget_index": 11,
|
||||
"widget_type": "list",
|
||||
"widget_name": "Please Select Perception Camera Index",
|
||||
"list_item": [
|
||||
{
|
||||
"item_name": "Down"
|
||||
},
|
||||
{
|
||||
"item_name": "Front"
|
||||
},
|
||||
{
|
||||
"item_name": "Rear"
|
||||
},
|
||||
{
|
||||
"item_name": "Up"
|
||||
},
|
||||
{
|
||||
"item_name": "Left"
|
||||
},
|
||||
{
|
||||
"item_name": "Right"
|
||||
}
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 12,
|
||||
"widget_type": "list",
|
||||
"widget_name": "Please Select Camera Function",
|
||||
"list_item": [
|
||||
{
|
||||
"item_name": "set camera shutter speed"
|
||||
},
|
||||
{
|
||||
"item_name": "set camera aperture"
|
||||
},
|
||||
{
|
||||
"item_name": "set camera exposure compensation"
|
||||
},
|
||||
{
|
||||
"item_name": "set camera ISO"
|
||||
},
|
||||
{
|
||||
"item_name": "set camera focus point"
|
||||
},
|
||||
{
|
||||
"item_name": "camera tap zoom"
|
||||
},
|
||||
{
|
||||
"item_name": "camera optical zoom"
|
||||
},
|
||||
{
|
||||
"item_name": "shoot single photo"
|
||||
},
|
||||
{
|
||||
"item_name": "shoot AEB photo"
|
||||
},
|
||||
{
|
||||
"item_name": "shoot burst photo"
|
||||
},
|
||||
{
|
||||
"item_name": "shoot interval photo"
|
||||
},
|
||||
{
|
||||
"item_name": "record video"
|
||||
}
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 11
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 13,
|
||||
"widget_index": 9,
|
||||
"widget_type": "list",
|
||||
"widget_name": "Please Select Sample",
|
||||
"list_item": [
|
||||
{
|
||||
"item_name": "fc_subscription"
|
||||
"item_name": "01_test_fc_subscription"
|
||||
},
|
||||
{
|
||||
"item_name": "waypoint_v2"
|
||||
"item_name": "02_test_waypoint_v2"
|
||||
},
|
||||
{
|
||||
"item_name": "waypoint_v3"
|
||||
"item_name": "03_test_waypoint_v3"
|
||||
},
|
||||
{
|
||||
"item_name": "flight_ctrl_takeoff_landing"
|
||||
"item_name": "04_test_flight_ctrl_takeoff_landing"
|
||||
},
|
||||
{
|
||||
"item_name": "flight_ctrl_position_ctrl"
|
||||
"item_name": "05_test_flight_ctrl_position_ctrl"
|
||||
},
|
||||
{
|
||||
"item_name": "flight_ctrl_force_landing"
|
||||
"item_name": "06_test_flight_ctrl_force_landing"
|
||||
},
|
||||
{
|
||||
"item_name": "flight_ctrl_velocity_ctrl"
|
||||
"item_name": "07_test_flight_ctrl_velocity_ctrl"
|
||||
},
|
||||
{
|
||||
"item_name": "flight_ctrl_arrest_flying"
|
||||
"item_name": "08_test_flight_ctrl_arrest_flying"
|
||||
},
|
||||
{
|
||||
"item_name": "flight_ctrl_set_get_param"
|
||||
"item_name": "09_test_flight_ctrl_set_get_param"
|
||||
},
|
||||
{
|
||||
"item_name": "hms_info"
|
||||
"item_name": "10_test_hms_info"
|
||||
},
|
||||
{
|
||||
"item_name": "camera_manager"
|
||||
"item_name": "11_gimbal_manager_free_mode"
|
||||
},
|
||||
{
|
||||
"item_name": "gimbal_manager_free_mode"
|
||||
"item_name": "12_gimbal_manager_yaw_follow_mode"
|
||||
},
|
||||
{
|
||||
"item_name": "gimbal_manager_yaw_follow_mode"
|
||||
"item_name": "13_test_liveview"
|
||||
},
|
||||
{
|
||||
"item_name": "liveview"
|
||||
"item_name": "14_test_perception"
|
||||
},
|
||||
{
|
||||
"item_name": "perception"
|
||||
"item_name": "15_test_set_payload_alias"
|
||||
},
|
||||
{
|
||||
"item_name": "16_test_cammgr-set/get_shutter_speed"
|
||||
},
|
||||
{
|
||||
"item_name": "17_test_cammgr-set/get_aperture"
|
||||
},
|
||||
{
|
||||
"item_name": "18_test_cammgr-set/get_ev"
|
||||
},
|
||||
{
|
||||
"item_name": "19_test_cammgr-set/get_iso"
|
||||
},
|
||||
{
|
||||
"item_name": "20_test_cammgr-focus_point"
|
||||
},
|
||||
{
|
||||
"item_name": "21_test_cammgr-tap_zoom"
|
||||
},
|
||||
{
|
||||
"item_name": "22_test_cammgr-optical_zoom"
|
||||
},
|
||||
{
|
||||
"item_name": "23_test_cammgr-single_photo"
|
||||
},
|
||||
{
|
||||
"item_name": "24_test_cammgr-AEB_photo"
|
||||
},
|
||||
{
|
||||
"item_name": "25_test_cammgr-burst_photo"
|
||||
},
|
||||
{
|
||||
"item_name": "26_test_cammgr-interval_photo"
|
||||
},
|
||||
{
|
||||
"item_name": "27_test_cammgr-recorder_video"
|
||||
},
|
||||
{
|
||||
"item_name": "28_test_cammgr-media_download"
|
||||
}
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 12
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"widget_index": 14,
|
||||
"widget_index": 10,
|
||||
"widget_type": "button",
|
||||
"widget_name": "Run",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 13
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 15,
|
||||
"widget_type": "button",
|
||||
"widget_name": "=========>> [Payload Port Test] <<=========",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 14
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 16,
|
||||
"widget_type": "list",
|
||||
"widget_name": "Please Select Sample",
|
||||
"list_item": [
|
||||
{
|
||||
"item_name": "change_alias"
|
||||
},
|
||||
{
|
||||
"item_name": "fc_subscription_log_on/off"
|
||||
},
|
||||
{
|
||||
"item_name": "collaboration_log_on/off"
|
||||
}
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 15
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 17,
|
||||
"widget_type": "button",
|
||||
"widget_name": "Run",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 16
|
||||
}
|
||||
"widget_name": "Run"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -15,7 +15,7 @@
|
||||
{
|
||||
"widget_index": 0,
|
||||
"widget_type": "button",
|
||||
"widget_name": "Button_1",
|
||||
"widget_name": "Button",
|
||||
"icon_file_set": {
|
||||
"icon_file_name_selected": "icon_button1.png",
|
||||
"icon_file_name_unselected": "icon_button1.png"
|
||||
@ -27,19 +27,6 @@
|
||||
},
|
||||
{
|
||||
"widget_index": 1,
|
||||
"widget_type": "button",
|
||||
"widget_name": "Button_2",
|
||||
"icon_file_set": {
|
||||
"icon_file_name_selected": "icon_button2.png",
|
||||
"icon_file_name_unselected": "icon_button2.png"
|
||||
},
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 2,
|
||||
"widget_type": "list",
|
||||
"widget_name": "List",
|
||||
"list_item": [
|
||||
@ -60,11 +47,11 @@
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 2
|
||||
"mapping_config_display_order": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 3,
|
||||
"widget_index": 2,
|
||||
"widget_type": "switch",
|
||||
"widget_name": "Switch",
|
||||
"icon_file_set": {
|
||||
@ -73,11 +60,11 @@
|
||||
},
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 3
|
||||
"mapping_config_display_order": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 4,
|
||||
"widget_index": 3,
|
||||
"widget_type": "scale",
|
||||
"widget_name": "Scale",
|
||||
"icon_file_set": {
|
||||
@ -86,8 +73,7 @@
|
||||
},
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 4,
|
||||
"button_value_step_length": 5
|
||||
"mapping_config_display_order": 3
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -100,9 +86,18 @@
|
||||
},
|
||||
"widget_list": [
|
||||
{
|
||||
"widget_index": 5,
|
||||
"widget_index": 4,
|
||||
"widget_type": "button",
|
||||
"widget_name": "Button 5",
|
||||
"widget_name": "Button 4",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 5,
|
||||
"widget_type": "scale",
|
||||
"widget_name": "Scale 5",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 5
|
||||
@ -110,40 +105,17 @@
|
||||
},
|
||||
{
|
||||
"widget_index": 6,
|
||||
"widget_type": "scale",
|
||||
"widget_name": "Scale 6",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 6,
|
||||
"button_value_step_length": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 7,
|
||||
"widget_type": "int_input_box",
|
||||
"widget_name": "Integer Input Box 7",
|
||||
"widget_name": "Integer Input Box 6",
|
||||
"int_input_box_hint": "unit:s"
|
||||
},
|
||||
{
|
||||
"widget_index": 8,
|
||||
"widget_type": "button",
|
||||
"widget_name": "=========>> [Extension Port Test] <<=========",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 7
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 9,
|
||||
"widget_index": 7,
|
||||
"widget_type": "switch",
|
||||
"widget_name": "Unlock flight control restrictions (Special attention)",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 8
|
||||
}
|
||||
"widget_name": "Unlock flight control restrictions (Special attention)"
|
||||
},
|
||||
{
|
||||
"widget_index": 10,
|
||||
"widget_index": 8,
|
||||
"widget_type": "list",
|
||||
"widget_name": "Please Select Payload Index",
|
||||
"list_item": [
|
||||
@ -156,190 +128,103 @@
|
||||
{
|
||||
"item_name": "payload_index3"
|
||||
}
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 9
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"widget_index": 11,
|
||||
"widget_type": "list",
|
||||
"widget_name": "Please Select Perception Camera Index",
|
||||
"list_item": [
|
||||
{
|
||||
"item_name": "Down"
|
||||
},
|
||||
{
|
||||
"item_name": "Front"
|
||||
},
|
||||
{
|
||||
"item_name": "Rear"
|
||||
},
|
||||
{
|
||||
"item_name": "Up"
|
||||
},
|
||||
{
|
||||
"item_name": "Left"
|
||||
},
|
||||
{
|
||||
"item_name": "Right"
|
||||
}
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 12,
|
||||
"widget_type": "list",
|
||||
"widget_name": "Please Select Camera Function",
|
||||
"list_item": [
|
||||
{
|
||||
"item_name": "set camera shutter speed"
|
||||
},
|
||||
{
|
||||
"item_name": "set camera aperture"
|
||||
},
|
||||
{
|
||||
"item_name": "set camera exposure compensation"
|
||||
},
|
||||
{
|
||||
"item_name": "set camera ISO"
|
||||
},
|
||||
{
|
||||
"item_name": "set camera focus point"
|
||||
},
|
||||
{
|
||||
"item_name": "camera tap zoom"
|
||||
},
|
||||
{
|
||||
"item_name": "camera optical zoom"
|
||||
},
|
||||
{
|
||||
"item_name": "shoot single photo"
|
||||
},
|
||||
{
|
||||
"item_name": "shoot AEB photo"
|
||||
},
|
||||
{
|
||||
"item_name": "shoot burst photo"
|
||||
},
|
||||
{
|
||||
"item_name": "shoot interval photo"
|
||||
},
|
||||
{
|
||||
"item_name": "record video"
|
||||
}
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 11
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 13,
|
||||
"widget_index": 9,
|
||||
"widget_type": "list",
|
||||
"widget_name": "Please Select Sample",
|
||||
"list_item": [
|
||||
{
|
||||
"item_name": "fc_subscription"
|
||||
"item_name": "01_test_fc_subscription"
|
||||
},
|
||||
{
|
||||
"item_name": "waypoint_v2"
|
||||
"item_name": "02_test_waypoint_v2"
|
||||
},
|
||||
{
|
||||
"item_name": "waypoint_v3"
|
||||
"item_name": "03_test_waypoint_v3"
|
||||
},
|
||||
{
|
||||
"item_name": "flight_ctrl_takeoff_landing"
|
||||
"item_name": "04_test_flight_ctrl_takeoff_landing"
|
||||
},
|
||||
{
|
||||
"item_name": "flight_ctrl_position_ctrl"
|
||||
"item_name": "05_test_flight_ctrl_position_ctrl"
|
||||
},
|
||||
{
|
||||
"item_name": "flight_ctrl_force_landing"
|
||||
"item_name": "06_test_flight_ctrl_force_landing"
|
||||
},
|
||||
{
|
||||
"item_name": "flight_ctrl_velocity_ctrl"
|
||||
"item_name": "07_test_flight_ctrl_velocity_ctrl"
|
||||
},
|
||||
{
|
||||
"item_name": "flight_ctrl_arrest_flying"
|
||||
"item_name": "08_test_flight_ctrl_arrest_flying"
|
||||
},
|
||||
{
|
||||
"item_name": "flight_ctrl_set_get_param"
|
||||
"item_name": "09_test_flight_ctrl_set_get_param"
|
||||
},
|
||||
{
|
||||
"item_name": "hms_info"
|
||||
"item_name": "10_test_hms_info"
|
||||
},
|
||||
{
|
||||
"item_name": "camera_manager"
|
||||
"item_name": "11_gimbal_manager_free_mode"
|
||||
},
|
||||
{
|
||||
"item_name": "gimbal_manager_free_mode"
|
||||
"item_name": "12_gimbal_manager_yaw_follow_mode"
|
||||
},
|
||||
{
|
||||
"item_name": "gimbal_manager_yaw_follow_mode"
|
||||
"item_name": "13_test_liveview"
|
||||
},
|
||||
{
|
||||
"item_name": "liveview"
|
||||
"item_name": "14_test_perception"
|
||||
},
|
||||
{
|
||||
"item_name": "perception"
|
||||
"item_name": "15_test_set_payload_alias"
|
||||
},
|
||||
{
|
||||
"item_name": "16_test_cammgr-set/get_shutter_speed"
|
||||
},
|
||||
{
|
||||
"item_name": "17_test_cammgr-set/get_aperture"
|
||||
},
|
||||
{
|
||||
"item_name": "18_test_cammgr-set/get_ev"
|
||||
},
|
||||
{
|
||||
"item_name": "19_test_cammgr-set/get_iso"
|
||||
},
|
||||
{
|
||||
"item_name": "20_test_cammgr-focus_point"
|
||||
},
|
||||
{
|
||||
"item_name": "21_test_cammgr-tap_zoom"
|
||||
},
|
||||
{
|
||||
"item_name": "22_test_cammgr-optical_zoom"
|
||||
},
|
||||
{
|
||||
"item_name": "23_test_cammgr-single_photo"
|
||||
},
|
||||
{
|
||||
"item_name": "24_test_cammgr-AEB_photo"
|
||||
},
|
||||
{
|
||||
"item_name": "25_test_cammgr-burst_photo"
|
||||
},
|
||||
{
|
||||
"item_name": "26_test_cammgr-interval_photo"
|
||||
},
|
||||
{
|
||||
"item_name": "27_test_cammgr-recorder_video"
|
||||
},
|
||||
{
|
||||
"item_name": "28_test_cammgr-media_download"
|
||||
}
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 12
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"widget_index": 14,
|
||||
"widget_index": 10,
|
||||
"widget_type": "button",
|
||||
"widget_name": "Run",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 13
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 15,
|
||||
"widget_type": "button",
|
||||
"widget_name": "=========>> [Payload Port Test] <<=========",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 14
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 16,
|
||||
"widget_type": "list",
|
||||
"widget_name": "Please Select Sample",
|
||||
"list_item": [
|
||||
{
|
||||
"item_name": "change_alias"
|
||||
},
|
||||
{
|
||||
"item_name": "fc_subscription_log_on/off"
|
||||
},
|
||||
{
|
||||
"item_name": "collaboration_log_on/off"
|
||||
}
|
||||
],
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 15
|
||||
}
|
||||
},
|
||||
{
|
||||
"widget_index": 17,
|
||||
"widget_type": "button",
|
||||
"widget_name": "Run",
|
||||
"customize_rc_buttons_config": {
|
||||
"is_enable": true,
|
||||
"mapping_config_display_order": 16
|
||||
}
|
||||
"widget_name": "Run"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
844
samples/sample_c/module_sample/widget_interaction_test/widget_file_c/en_big_screen/widget_config_json.h
Executable file → Normal file
844
samples/sample_c/module_sample/widget_interaction_test/widget_file_c/en_big_screen/widget_config_json.h
Executable file → Normal file
@ -6,9 +6,9 @@
|
||||
|
||||
/* Contents of file widget_config.json */
|
||||
#define widget_config_json_fileName "widget_config.json"
|
||||
#define widget_config_json_fileSize 8744
|
||||
#define widget_config_json_fileSize 6000
|
||||
|
||||
static const uint8_t widget_config_json_fileBinaryArray[8744] = {
|
||||
static const uint8_t widget_config_json_fileBinaryArray[6000] = {
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x22, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x22, 0x3A, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x6A, 0x6F, 0x72, 0x22, 0x3A, 0x20, 0x31, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x69, 0x6E, 0x6F, 0x72, 0x22, 0x3A, 0x20, 0x30, 0x0A,
|
||||
@ -17,118 +17,28 @@ static const uint8_t widget_config_json_fileBinaryArray[8744] = {
|
||||
0x66, 0x6C, 0x6F, 0x61, 0x74, 0x69, 0x6E, 0x67, 0x5F, 0x77, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x22,
|
||||
0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E,
|
||||
0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6C,
|
||||
0x69, 0x73, 0x74, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x30, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22,
|
||||
0x3A, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x42, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x5F, 0x31, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C,
|
||||
0x65, 0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x31, 0x2E, 0x70, 0x6E, 0x67,
|
||||
0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63,
|
||||
0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x75, 0x6E, 0x73,
|
||||
0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F,
|
||||
0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x31, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75,
|
||||
0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65,
|
||||
0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67,
|
||||
0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F,
|
||||
0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x30, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69,
|
||||
0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x31, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x42, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x5F,
|
||||
0x32, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F,
|
||||
0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66,
|
||||
0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65,
|
||||
0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E,
|
||||
0x32, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x5F, 0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x32, 0x2E, 0x70, 0x6E, 0x67,
|
||||
0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F,
|
||||
0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69,
|
||||
0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75,
|
||||
0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61,
|
||||
0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73,
|
||||
0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x31, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22,
|
||||
0x3A, 0x20, 0x32, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69,
|
||||
0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x6C, 0x69, 0x73,
|
||||
0x74, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64,
|
||||
0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x4C, 0x69, 0x73, 0x74,
|
||||
0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74,
|
||||
0x5F, 0x69, 0x74, 0x65, 0x6D, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x49, 0x74, 0x65, 0x6D, 0x5F, 0x31, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x70, 0x65, 0x61, 0x6B, 0x65, 0x72, 0x22,
|
||||
0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E,
|
||||
0x61, 0x62, 0x6C, 0x65, 0x5F, 0x74, 0x74, 0x73, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C,
|
||||
0x65, 0x5F, 0x76, 0x6F, 0x69, 0x63, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65,
|
||||
0x74, 0x5F, 0x6C, 0x69, 0x73, 0x74, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67,
|
||||
0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x30, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79,
|
||||
0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x42, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69,
|
||||
0x6C, 0x65, 0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F,
|
||||
0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A,
|
||||
0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D,
|
||||
0x31, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74,
|
||||
0x65, 0x6D, 0x31, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65,
|
||||
0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x74, 0x65, 0x6D, 0x5F, 0x32,
|
||||
0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F,
|
||||
0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20,
|
||||
0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x31, 0x2E, 0x70, 0x6E,
|
||||
0x67, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
|
||||
0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x75, 0x6E,
|
||||
0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E,
|
||||
0x5F, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x32, 0x2E, 0x70, 0x6E, 0x67, 0x22,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F,
|
||||
0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63,
|
||||
0x6F, 0x6E, 0x5F, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x32, 0x2E, 0x70, 0x6E,
|
||||
0x67, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75,
|
||||
0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65,
|
||||
0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67,
|
||||
0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F,
|
||||
0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x32, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69,
|
||||
0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x33, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F,
|
||||
0x66, 0x69, 0x6C, 0x65, 0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C,
|
||||
0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22,
|
||||
0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5F, 0x73,
|
||||
0x65, 0x6C, 0x65, 0x63, 0x74, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5F,
|
||||
0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20,
|
||||
0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x31, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62,
|
||||
0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20,
|
||||
@ -136,426 +46,344 @@ static const uint8_t widget_config_json_fileBinaryArray[8744] = {
|
||||
0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E,
|
||||
0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79,
|
||||
0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x33, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x30, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77,
|
||||
0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x34, 0x2C,
|
||||
0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x31, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
|
||||
0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x63, 0x61, 0x6C, 0x65, 0x22, 0x2C,
|
||||
0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74, 0x22, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x4C, 0x69, 0x73, 0x74, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65,
|
||||
0x6D, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
|
||||
0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x74, 0x65, 0x6D,
|
||||
0x5F, 0x31, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x73, 0x65, 0x74, 0x22,
|
||||
0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63,
|
||||
0x6F, 0x6E, 0x5F, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x31, 0x2E, 0x70, 0x6E,
|
||||
0x67, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x5F, 0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x31, 0x2E,
|
||||
0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61,
|
||||
0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x74, 0x65, 0x6D, 0x5F, 0x32, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E,
|
||||
0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F,
|
||||
0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65,
|
||||
0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x6C, 0x69, 0x73,
|
||||
0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x32, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F,
|
||||
0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x75, 0x6E, 0x73, 0x65,
|
||||
0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x6C,
|
||||
0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x32, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x5D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73,
|
||||
0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E,
|
||||
0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E,
|
||||
0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65,
|
||||
0x72, 0x22, 0x3A, 0x20, 0x31, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x53, 0x63, 0x61, 0x6C, 0x65, 0x22, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66,
|
||||
0x69, 0x6C, 0x65, 0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A,
|
||||
0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x73, 0x63, 0x61, 0x6C, 0x65, 0x2E, 0x70, 0x6E, 0x67,
|
||||
0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63,
|
||||
0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x75, 0x6E, 0x73,
|
||||
0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F,
|
||||
0x73, 0x63, 0x61, 0x6C, 0x65, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63,
|
||||
0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74,
|
||||
0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61,
|
||||
0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63,
|
||||
0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72,
|
||||
0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x34, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x5F, 0x76, 0x61, 0x6C, 0x75, 0x65,
|
||||
0x5F, 0x73, 0x74, 0x65, 0x70, 0x5F, 0x6C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x22, 0x3A, 0x20, 0x35,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x0A, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x22, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x65, 0x78, 0x74, 0x5F,
|
||||
0x69, 0x6E, 0x70, 0x75, 0x74, 0x5F, 0x62, 0x6F, 0x78, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x70, 0x75, 0x74, 0x42, 0x6F, 0x78,
|
||||
0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x6C, 0x61, 0x63, 0x65, 0x68,
|
||||
0x6F, 0x6C, 0x64, 0x65, 0x72, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x22, 0x3A, 0x20, 0x22, 0x50, 0x6C,
|
||||
0x65, 0x61, 0x73, 0x65, 0x20, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x6D, 0x65, 0x73, 0x73, 0x61,
|
||||
0x67, 0x65, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65,
|
||||
0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x6C, 0x69, 0x73, 0x74, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
|
||||
0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x35, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x32, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x22, 0x42, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x20, 0x35, 0x22, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69,
|
||||
0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F,
|
||||
0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20,
|
||||
0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F,
|
||||
0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20,
|
||||
0x35, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64,
|
||||
0x65, 0x78, 0x22, 0x3A, 0x20, 0x36, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x73, 0x63, 0x61, 0x6C, 0x65, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x53, 0x63, 0x61, 0x6C, 0x65, 0x20, 0x36, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F,
|
||||
0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A,
|
||||
0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73,
|
||||
0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69,
|
||||
0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61,
|
||||
0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x36, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x5F, 0x76,
|
||||
0x61, 0x6C, 0x75, 0x65, 0x5F, 0x73, 0x74, 0x65, 0x70, 0x5F, 0x6C, 0x65, 0x6E, 0x67, 0x74, 0x68,
|
||||
0x22, 0x3A, 0x20, 0x35, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x22, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65,
|
||||
0x5F, 0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61,
|
||||
0x6D, 0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69,
|
||||
0x63, 0x6F, 0x6E, 0x5F, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63,
|
||||
0x74, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x5F, 0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5F, 0x75, 0x6E, 0x73, 0x65,
|
||||
0x6C, 0x65, 0x63, 0x74, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75,
|
||||
0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F,
|
||||
0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62,
|
||||
0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F,
|
||||
0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64,
|
||||
0x65, 0x72, 0x22, 0x3A, 0x20, 0x32, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65,
|
||||
0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x33, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x63, 0x61, 0x6C, 0x65, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x22, 0x53, 0x63, 0x61, 0x6C, 0x65, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F,
|
||||
0x73, 0x65, 0x74, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x5F, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63,
|
||||
0x6F, 0x6E, 0x5F, 0x73, 0x63, 0x61, 0x6C, 0x65, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x66,
|
||||
0x69, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x75, 0x6E, 0x73, 0x65, 0x6C, 0x65, 0x63,
|
||||
0x74, 0x65, 0x64, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x73, 0x63, 0x61, 0x6C,
|
||||
0x65, 0x2E, 0x70, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F,
|
||||
0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F,
|
||||
0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22,
|
||||
0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69,
|
||||
0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22,
|
||||
0x3A, 0x20, 0x33, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x0A, 0x20, 0x20, 0x7D, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x22, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x69, 0x6E, 0x74, 0x65, 0x72,
|
||||
0x66, 0x61, 0x63, 0x65, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x65,
|
||||
0x78, 0x74, 0x5F, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x5F, 0x62, 0x6F, 0x78, 0x22, 0x3A, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x70, 0x75, 0x74,
|
||||
0x42, 0x6F, 0x78, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x6C, 0x61,
|
||||
0x63, 0x65, 0x68, 0x6F, 0x6C, 0x64, 0x65, 0x72, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x22, 0x3A, 0x20,
|
||||
0x22, 0x50, 0x6C, 0x65, 0x61, 0x73, 0x65, 0x20, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x6D, 0x65,
|
||||
0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
|
||||
0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67,
|
||||
0x65, 0x74, 0x5F, 0x6C, 0x69, 0x73, 0x74, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64,
|
||||
0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x34, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74,
|
||||
0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x42, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x20, 0x34,
|
||||
0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74,
|
||||
0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73,
|
||||
0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66,
|
||||
0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72,
|
||||
0x22, 0x3A, 0x20, 0x34, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x37, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x35, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22,
|
||||
0x3A, 0x20, 0x22, 0x69, 0x6E, 0x74, 0x5F, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x5F, 0x62, 0x6F, 0x78,
|
||||
0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67,
|
||||
0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x6E, 0x74, 0x65, 0x67,
|
||||
0x65, 0x72, 0x20, 0x49, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x42, 0x6F, 0x78, 0x20, 0x37, 0x22, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6E, 0x74, 0x5F, 0x69, 0x6E,
|
||||
0x70, 0x75, 0x74, 0x5F, 0x62, 0x6F, 0x78, 0x5F, 0x68, 0x69, 0x6E, 0x74, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x75, 0x6E, 0x69, 0x74, 0x3A, 0x73, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A,
|
||||
0x20, 0x38, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64,
|
||||
0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74,
|
||||
0x6F, 0x6E, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69,
|
||||
0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x3D, 0x3D, 0x3D,
|
||||
0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3E, 0x3E, 0x20, 0x5B, 0x45, 0x78, 0x74, 0x65, 0x6E, 0x73,
|
||||
0x69, 0x6F, 0x6E, 0x20, 0x50, 0x6F, 0x72, 0x74, 0x20, 0x54, 0x65, 0x73, 0x74, 0x5D, 0x20, 0x3C,
|
||||
0x3C, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x3A, 0x20, 0x22, 0x73, 0x63, 0x61, 0x6C, 0x65, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22,
|
||||
0x3A, 0x20, 0x22, 0x53, 0x63, 0x61, 0x6C, 0x65, 0x20, 0x35, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F,
|
||||
0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69,
|
||||
0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75,
|
||||
0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61,
|
||||
0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73,
|
||||
0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x37, 0x0A, 0x20,
|
||||
0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x35, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22,
|
||||
0x3A, 0x20, 0x39, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69,
|
||||
0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x77, 0x69,
|
||||
0x74, 0x63, 0x68, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77,
|
||||
0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x55, 0x6E,
|
||||
0x6C, 0x6F, 0x63, 0x6B, 0x20, 0x66, 0x6C, 0x69, 0x67, 0x68, 0x74, 0x20, 0x63, 0x6F, 0x6E, 0x74,
|
||||
0x72, 0x6F, 0x6C, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x73,
|
||||
0x20, 0x28, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6C, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6E, 0x74,
|
||||
0x69, 0x6F, 0x6E, 0x29, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74,
|
||||
0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E,
|
||||
0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F,
|
||||
0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F,
|
||||
0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x38, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64,
|
||||
0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x31, 0x30, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x3A, 0x20, 0x36, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69,
|
||||
0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x69, 0x6E, 0x74,
|
||||
0x5F, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x5F, 0x62, 0x6F, 0x78, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x22, 0x49, 0x6E, 0x74, 0x65, 0x67, 0x65, 0x72, 0x20, 0x49, 0x6E, 0x70,
|
||||
0x75, 0x74, 0x20, 0x42, 0x6F, 0x78, 0x20, 0x36, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x69, 0x6E, 0x74, 0x5F, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x5F, 0x62, 0x6F,
|
||||
0x78, 0x5F, 0x68, 0x69, 0x6E, 0x74, 0x22, 0x3A, 0x20, 0x22, 0x75, 0x6E, 0x69, 0x74, 0x3A, 0x73,
|
||||
0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67,
|
||||
0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x37, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79,
|
||||
0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x50, 0x6C, 0x65, 0x61, 0x73, 0x65, 0x20, 0x53, 0x65,
|
||||
0x6C, 0x65, 0x63, 0x74, 0x20, 0x50, 0x61, 0x79, 0x6C, 0x6F, 0x61, 0x64, 0x20, 0x49, 0x6E, 0x64,
|
||||
0x65, 0x78, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6C, 0x69,
|
||||
0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A,
|
||||
0x20, 0x22, 0x70, 0x61, 0x79, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x31,
|
||||
0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D,
|
||||
0x65, 0x22, 0x3A, 0x20, 0x22, 0x70, 0x61, 0x79, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x69, 0x6E, 0x64,
|
||||
0x65, 0x78, 0x32, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F,
|
||||
0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x70, 0x61, 0x79, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x6E, 0x64, 0x65, 0x78, 0x33, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A,
|
||||
0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E,
|
||||
0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74,
|
||||
0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64,
|
||||
0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x39,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65,
|
||||
0x78, 0x22, 0x3A, 0x20, 0x31, 0x31, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x6C, 0x69, 0x73, 0x74, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x50,
|
||||
0x6C, 0x65, 0x61, 0x73, 0x65, 0x20, 0x53, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x20, 0x50, 0x65, 0x72,
|
||||
0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x43, 0x61, 0x6D, 0x65, 0x72, 0x61, 0x20, 0x49,
|
||||
0x6E, 0x64, 0x65, 0x78, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x44, 0x6F, 0x77, 0x6E, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x46, 0x72, 0x6F,
|
||||
0x6E, 0x74, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x52, 0x65, 0x61, 0x72, 0x22, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x55, 0x70, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x4C, 0x65, 0x66, 0x74, 0x22, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x52, 0x69, 0x67, 0x68, 0x74, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65,
|
||||
0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66,
|
||||
0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72,
|
||||
0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D,
|
||||
0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69,
|
||||
0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x31, 0x30,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65,
|
||||
0x78, 0x22, 0x3A, 0x20, 0x31, 0x32, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x6C, 0x69, 0x73, 0x74, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x50,
|
||||
0x6C, 0x65, 0x61, 0x73, 0x65, 0x20, 0x53, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x20, 0x43, 0x61, 0x6D,
|
||||
0x65, 0x72, 0x61, 0x20, 0x46, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65,
|
||||
0x6D, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
|
||||
0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x65, 0x74, 0x20,
|
||||
0x63, 0x61, 0x6D, 0x65, 0x72, 0x61, 0x20, 0x73, 0x68, 0x75, 0x74, 0x74, 0x65, 0x72, 0x20, 0x73,
|
||||
0x70, 0x65, 0x65, 0x64, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x65, 0x74, 0x20, 0x63, 0x61, 0x6D,
|
||||
0x65, 0x72, 0x61, 0x20, 0x61, 0x70, 0x65, 0x72, 0x74, 0x75, 0x72, 0x65, 0x22, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20,
|
||||
0x22, 0x73, 0x65, 0x74, 0x20, 0x63, 0x61, 0x6D, 0x65, 0x72, 0x61, 0x20, 0x65, 0x78, 0x70, 0x6F,
|
||||
0x73, 0x75, 0x72, 0x65, 0x20, 0x63, 0x6F, 0x6D, 0x70, 0x65, 0x6E, 0x73, 0x61, 0x74, 0x69, 0x6F,
|
||||
0x6E, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61,
|
||||
0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x65, 0x74, 0x20, 0x63, 0x61, 0x6D, 0x65, 0x72, 0x61,
|
||||
0x20, 0x49, 0x53, 0x4F, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x65, 0x74, 0x20, 0x63, 0x61, 0x6D,
|
||||
0x65, 0x72, 0x61, 0x20, 0x66, 0x6F, 0x63, 0x75, 0x73, 0x20, 0x70, 0x6F, 0x69, 0x6E, 0x74, 0x22,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x63, 0x61, 0x6D, 0x65, 0x72, 0x61, 0x20, 0x74, 0x61, 0x70, 0x20, 0x7A,
|
||||
0x6F, 0x6F, 0x6D, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F,
|
||||
0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x63, 0x61, 0x6D, 0x65, 0x72, 0x61, 0x20, 0x6F,
|
||||
0x70, 0x74, 0x69, 0x63, 0x61, 0x6C, 0x20, 0x7A, 0x6F, 0x6F, 0x6D, 0x22, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x73, 0x68, 0x6F, 0x6F, 0x74, 0x20, 0x73, 0x69, 0x6E, 0x67, 0x6C, 0x65, 0x20, 0x70, 0x68, 0x6F,
|
||||
0x74, 0x6F, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x68, 0x6F, 0x6F, 0x74, 0x20, 0x41, 0x45, 0x42,
|
||||
0x20, 0x70, 0x68, 0x6F, 0x74, 0x6F, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74,
|
||||
0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x73, 0x68, 0x6F, 0x6F, 0x74,
|
||||
0x20, 0x62, 0x75, 0x72, 0x73, 0x74, 0x20, 0x70, 0x68, 0x6F, 0x74, 0x6F, 0x22, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20,
|
||||
0x22, 0x73, 0x68, 0x6F, 0x6F, 0x74, 0x20, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x20,
|
||||
0x70, 0x68, 0x6F, 0x74, 0x6F, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65,
|
||||
0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x72, 0x65, 0x63, 0x6F, 0x72, 0x64,
|
||||
0x20, 0x76, 0x69, 0x64, 0x65, 0x6F, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A,
|
||||
0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E,
|
||||
0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74,
|
||||
0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64,
|
||||
0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x31,
|
||||
0x31, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64,
|
||||
0x65, 0x78, 0x22, 0x3A, 0x20, 0x31, 0x33, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20,
|
||||
0x22, 0x6C, 0x69, 0x73, 0x74, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x50, 0x6C, 0x65, 0x61, 0x73, 0x65, 0x20, 0x53, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x20, 0x53, 0x61,
|
||||
0x6D, 0x70, 0x6C, 0x65, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74, 0x65, 0x6D, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x66, 0x63, 0x5F, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
|
||||
0x69, 0x6F, 0x6E, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F,
|
||||
0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x77, 0x61, 0x79, 0x70, 0x6F, 0x69, 0x6E, 0x74,
|
||||
0x5F, 0x76, 0x32, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F,
|
||||
0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x66, 0x6C, 0x69, 0x67, 0x68, 0x74, 0x5F, 0x63,
|
||||
0x74, 0x72, 0x6C, 0x5F, 0x74, 0x61, 0x6B, 0x65, 0x6F, 0x66, 0x66, 0x5F, 0x6C, 0x61, 0x6E, 0x64,
|
||||
0x69, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F,
|
||||
0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x66, 0x6C, 0x69, 0x67, 0x68, 0x74, 0x5F, 0x63,
|
||||
0x74, 0x72, 0x6C, 0x5F, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x5F, 0x63, 0x74, 0x72,
|
||||
0x6C, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61,
|
||||
0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x66, 0x6C, 0x69, 0x67, 0x68, 0x74, 0x5F, 0x63, 0x74, 0x72,
|
||||
0x6C, 0x5F, 0x66, 0x6F, 0x72, 0x63, 0x65, 0x5F, 0x6C, 0x61, 0x6E, 0x64, 0x69, 0x6E, 0x67, 0x22,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x66, 0x6C, 0x69, 0x67, 0x68, 0x74, 0x5F, 0x63, 0x74, 0x72, 0x6C, 0x5F,
|
||||
0x76, 0x65, 0x6C, 0x6F, 0x63, 0x69, 0x74, 0x79, 0x5F, 0x63, 0x74, 0x72, 0x6C, 0x22, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A,
|
||||
0x20, 0x22, 0x66, 0x6C, 0x69, 0x67, 0x68, 0x74, 0x5F, 0x63, 0x74, 0x72, 0x6C, 0x5F, 0x61, 0x72,
|
||||
0x72, 0x65, 0x73, 0x74, 0x5F, 0x66, 0x6C, 0x79, 0x69, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x66, 0x6C, 0x69, 0x67, 0x68, 0x74, 0x5F, 0x63, 0x74, 0x72, 0x6C, 0x5F, 0x73, 0x65, 0x74, 0x5F,
|
||||
0x67, 0x65, 0x74, 0x5F, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x68, 0x6D,
|
||||
0x73, 0x5F, 0x69, 0x6E, 0x66, 0x6F, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74,
|
||||
0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x63, 0x61, 0x6D, 0x65, 0x72,
|
||||
0x61, 0x5F, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x72, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x67, 0x69,
|
||||
0x6D, 0x62, 0x61, 0x6C, 0x5F, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x72, 0x5F, 0x66, 0x72, 0x65,
|
||||
0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x65, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74,
|
||||
0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x67, 0x69, 0x6D, 0x62, 0x61,
|
||||
0x6C, 0x5F, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x72, 0x5F, 0x79, 0x61, 0x77, 0x5F, 0x66, 0x6F,
|
||||
0x6C, 0x6C, 0x6F, 0x77, 0x5F, 0x6D, 0x6F, 0x64, 0x65, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x6C, 0x69,
|
||||
0x76, 0x65, 0x76, 0x69, 0x65, 0x77, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74,
|
||||
0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x70, 0x65, 0x72, 0x63, 0x65,
|
||||
0x70, 0x74, 0x69, 0x6F, 0x6E, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65,
|
||||
0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66,
|
||||
0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72,
|
||||
0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D,
|
||||
0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69,
|
||||
0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x31, 0x32,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65,
|
||||
0x78, 0x22, 0x3A, 0x20, 0x31, 0x34, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20,
|
||||
0x22, 0x52, 0x75, 0x6E, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74,
|
||||
0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E,
|
||||
0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F,
|
||||
0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F,
|
||||
0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x31, 0x33, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69,
|
||||
0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x31, 0x35, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
|
||||
0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65,
|
||||
0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D,
|
||||
0x3D, 0x3D, 0x3D, 0x3E, 0x3E, 0x20, 0x5B, 0x50, 0x61, 0x79, 0x6C, 0x6F, 0x61, 0x64, 0x20, 0x50,
|
||||
0x6F, 0x72, 0x74, 0x20, 0x54, 0x65, 0x73, 0x74, 0x5D, 0x20, 0x3C, 0x3C, 0x3D, 0x3D, 0x3D, 0x3D,
|
||||
0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75,
|
||||
0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65,
|
||||
0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67,
|
||||
0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F,
|
||||
0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x31, 0x34, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77,
|
||||
0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x31, 0x36,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65,
|
||||
0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74, 0x22, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x50, 0x6C, 0x65, 0x61, 0x73, 0x65, 0x20,
|
||||
0x53, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x20, 0x53, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x22, 0x2C, 0x0A,
|
||||
0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x55, 0x6E, 0x6C, 0x6F, 0x63, 0x6B, 0x20, 0x66, 0x6C,
|
||||
0x69, 0x67, 0x68, 0x74, 0x20, 0x63, 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, 0x20, 0x72, 0x65, 0x73,
|
||||
0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x20, 0x28, 0x53, 0x70, 0x65, 0x63, 0x69,
|
||||
0x61, 0x6C, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6E, 0x74, 0x69, 0x6F, 0x6E, 0x29, 0x22, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F,
|
||||
0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x38, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22,
|
||||
0x3A, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A,
|
||||
0x20, 0x22, 0x50, 0x6C, 0x65, 0x61, 0x73, 0x65, 0x20, 0x53, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x20,
|
||||
0x50, 0x61, 0x79, 0x6C, 0x6F, 0x61, 0x64, 0x20, 0x49, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74, 0x5F, 0x69, 0x74,
|
||||
0x65, 0x6D, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x63, 0x68, 0x61,
|
||||
0x6E, 0x67, 0x65, 0x5F, 0x61, 0x6C, 0x69, 0x61, 0x73, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x66, 0x63,
|
||||
0x5F, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x5F, 0x6C, 0x6F,
|
||||
0x67, 0x5F, 0x6F, 0x6E, 0x2F, 0x6F, 0x66, 0x66, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x70, 0x61, 0x79,
|
||||
0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x31, 0x22, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x70, 0x61, 0x79, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x32, 0x22, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22,
|
||||
0x3A, 0x20, 0x22, 0x70, 0x61, 0x79, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78,
|
||||
0x33, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22,
|
||||
0x3A, 0x20, 0x39, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69,
|
||||
0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x6C, 0x69, 0x73,
|
||||
0x74, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64,
|
||||
0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x50, 0x6C, 0x65, 0x61,
|
||||
0x73, 0x65, 0x20, 0x53, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x20, 0x53, 0x61, 0x6D, 0x70, 0x6C, 0x65,
|
||||
0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6C, 0x69, 0x73, 0x74,
|
||||
0x5F, 0x69, 0x74, 0x65, 0x6D, 0x22, 0x3A, 0x20, 0x5B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x30, 0x31, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x66, 0x63, 0x5F, 0x73, 0x75, 0x62, 0x73, 0x63,
|
||||
0x72, 0x69, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
|
||||
0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x30, 0x32, 0x5F, 0x74,
|
||||
0x65, 0x73, 0x74, 0x5F, 0x77, 0x61, 0x79, 0x70, 0x6F, 0x69, 0x6E, 0x74, 0x5F, 0x76, 0x32, 0x22,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x30, 0x33, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x77, 0x61, 0x79, 0x70,
|
||||
0x6F, 0x69, 0x6E, 0x74, 0x5F, 0x76, 0x33, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
|
||||
0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x30, 0x34, 0x5F, 0x74,
|
||||
0x65, 0x73, 0x74, 0x5F, 0x66, 0x6C, 0x69, 0x67, 0x68, 0x74, 0x5F, 0x63, 0x74, 0x72, 0x6C, 0x5F,
|
||||
0x74, 0x61, 0x6B, 0x65, 0x6F, 0x66, 0x66, 0x5F, 0x6C, 0x61, 0x6E, 0x64, 0x69, 0x6E, 0x67, 0x22,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x30, 0x35, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x66, 0x6C, 0x69, 0x67,
|
||||
0x68, 0x74, 0x5F, 0x63, 0x74, 0x72, 0x6C, 0x5F, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E,
|
||||
0x5F, 0x63, 0x74, 0x72, 0x6C, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65,
|
||||
0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x30, 0x36, 0x5F, 0x74, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6C, 0x69, 0x67, 0x68, 0x74, 0x5F, 0x63, 0x74, 0x72, 0x6C, 0x5F, 0x66, 0x6F,
|
||||
0x72, 0x63, 0x65, 0x5F, 0x6C, 0x61, 0x6E, 0x64, 0x69, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x30, 0x37, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x66, 0x6C, 0x69, 0x67, 0x68, 0x74, 0x5F, 0x63,
|
||||
0x74, 0x72, 0x6C, 0x5F, 0x76, 0x65, 0x6C, 0x6F, 0x63, 0x69, 0x74, 0x79, 0x5F, 0x63, 0x74, 0x72,
|
||||
0x6C, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61,
|
||||
0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x30, 0x38, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x66, 0x6C,
|
||||
0x69, 0x67, 0x68, 0x74, 0x5F, 0x63, 0x74, 0x72, 0x6C, 0x5F, 0x61, 0x72, 0x72, 0x65, 0x73, 0x74,
|
||||
0x5F, 0x66, 0x6C, 0x79, 0x69, 0x6E, 0x67, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
|
||||
0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x30, 0x39, 0x5F, 0x74,
|
||||
0x65, 0x73, 0x74, 0x5F, 0x66, 0x6C, 0x69, 0x67, 0x68, 0x74, 0x5F, 0x63, 0x74, 0x72, 0x6C, 0x5F,
|
||||
0x73, 0x65, 0x74, 0x5F, 0x67, 0x65, 0x74, 0x5F, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x22, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A,
|
||||
0x20, 0x22, 0x31, 0x30, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x68, 0x6D, 0x73, 0x5F, 0x69, 0x6E,
|
||||
0x66, 0x6F, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x31, 0x31, 0x5F, 0x67, 0x69, 0x6D, 0x62, 0x61, 0x6C,
|
||||
0x5F, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x72, 0x5F, 0x66, 0x72, 0x65, 0x65, 0x5F, 0x6D, 0x6F,
|
||||
0x64, 0x65, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x31, 0x32, 0x5F, 0x67, 0x69, 0x6D, 0x62, 0x61, 0x6C,
|
||||
0x5F, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x72, 0x5F, 0x79, 0x61, 0x77, 0x5F, 0x66, 0x6F, 0x6C,
|
||||
0x6C, 0x6F, 0x77, 0x5F, 0x6D, 0x6F, 0x64, 0x65, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x63, 0x6F, 0x6C,
|
||||
0x6C, 0x61, 0x62, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x5F, 0x6C, 0x6F, 0x67, 0x5F, 0x6F,
|
||||
0x6E, 0x2F, 0x6F, 0x66, 0x66, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65,
|
||||
0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66,
|
||||
0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72,
|
||||
0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D,
|
||||
0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69,
|
||||
0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x31, 0x35,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65,
|
||||
0x78, 0x22, 0x3A, 0x20, 0x31, 0x37, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20,
|
||||
0x22, 0x52, 0x75, 0x6E, 0x22, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
|
||||
0x63, 0x75, 0x73, 0x74, 0x6F, 0x6D, 0x69, 0x7A, 0x65, 0x5F, 0x72, 0x63, 0x5F, 0x62, 0x75, 0x74,
|
||||
0x74, 0x6F, 0x6E, 0x73, 0x5F, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x22, 0x3A, 0x20, 0x7B, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x73, 0x5F, 0x65, 0x6E,
|
||||
0x61, 0x62, 0x6C, 0x65, 0x22, 0x3A, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6D, 0x61, 0x70, 0x70, 0x69, 0x6E, 0x67, 0x5F,
|
||||
0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x5F, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x5F, 0x6F,
|
||||
0x72, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x20, 0x31, 0x36, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x5D, 0x0A, 0x20, 0x20, 0x7D, 0x0A, 0x7D, 0x0A
|
||||
0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x31, 0x33, 0x5F,
|
||||
0x74, 0x65, 0x73, 0x74, 0x5F, 0x6C, 0x69, 0x76, 0x65, 0x76, 0x69, 0x65, 0x77, 0x22, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A,
|
||||
0x20, 0x22, 0x31, 0x34, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x65, 0x72, 0x63, 0x65, 0x70,
|
||||
0x74, 0x69, 0x6F, 0x6E, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x31, 0x35, 0x5F, 0x74, 0x65, 0x73, 0x74,
|
||||
0x5F, 0x73, 0x65, 0x74, 0x5F, 0x70, 0x61, 0x79, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x61, 0x6C, 0x69,
|
||||
0x61, 0x73, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x31, 0x36, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x63,
|
||||
0x61, 0x6D, 0x6D, 0x67, 0x72, 0x2D, 0x73, 0x65, 0x74, 0x2F, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x68,
|
||||
0x75, 0x74, 0x74, 0x65, 0x72, 0x5F, 0x73, 0x70, 0x65, 0x65, 0x64, 0x22, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x31, 0x37, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x63, 0x61, 0x6D, 0x6D, 0x67, 0x72, 0x2D, 0x73,
|
||||
0x65, 0x74, 0x2F, 0x67, 0x65, 0x74, 0x5F, 0x61, 0x70, 0x65, 0x72, 0x74, 0x75, 0x72, 0x65, 0x22,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65,
|
||||
0x22, 0x3A, 0x20, 0x22, 0x31, 0x38, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x63, 0x61, 0x6D, 0x6D,
|
||||
0x67, 0x72, 0x2D, 0x73, 0x65, 0x74, 0x2F, 0x67, 0x65, 0x74, 0x5F, 0x65, 0x76, 0x22, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A,
|
||||
0x20, 0x22, 0x31, 0x39, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x63, 0x61, 0x6D, 0x6D, 0x67, 0x72,
|
||||
0x2D, 0x73, 0x65, 0x74, 0x2F, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x73, 0x6F, 0x22, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20,
|
||||
0x22, 0x32, 0x30, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x63, 0x61, 0x6D, 0x6D, 0x67, 0x72, 0x2D,
|
||||
0x66, 0x6F, 0x63, 0x75, 0x73, 0x5F, 0x70, 0x6F, 0x69, 0x6E, 0x74, 0x22, 0x0A, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22,
|
||||
0x32, 0x31, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x63, 0x61, 0x6D, 0x6D, 0x67, 0x72, 0x2D, 0x74,
|
||||
0x61, 0x70, 0x5F, 0x7A, 0x6F, 0x6F, 0x6D, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
|
||||
0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x32, 0x32, 0x5F, 0x74,
|
||||
0x65, 0x73, 0x74, 0x5F, 0x63, 0x61, 0x6D, 0x6D, 0x67, 0x72, 0x2D, 0x6F, 0x70, 0x74, 0x69, 0x63,
|
||||
0x61, 0x6C, 0x5F, 0x7A, 0x6F, 0x6F, 0x6D, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
|
||||
0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x32, 0x33, 0x5F, 0x74,
|
||||
0x65, 0x73, 0x74, 0x5F, 0x63, 0x61, 0x6D, 0x6D, 0x67, 0x72, 0x2D, 0x73, 0x69, 0x6E, 0x67, 0x6C,
|
||||
0x65, 0x5F, 0x70, 0x68, 0x6F, 0x74, 0x6F, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
|
||||
0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x32, 0x34, 0x5F, 0x74,
|
||||
0x65, 0x73, 0x74, 0x5F, 0x63, 0x61, 0x6D, 0x6D, 0x67, 0x72, 0x2D, 0x41, 0x45, 0x42, 0x5F, 0x70,
|
||||
0x68, 0x6F, 0x74, 0x6F, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D,
|
||||
0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x32, 0x35, 0x5F, 0x74, 0x65, 0x73, 0x74,
|
||||
0x5F, 0x63, 0x61, 0x6D, 0x6D, 0x67, 0x72, 0x2D, 0x62, 0x75, 0x72, 0x73, 0x74, 0x5F, 0x70, 0x68,
|
||||
0x6F, 0x74, 0x6F, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D,
|
||||
0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65, 0x6D, 0x5F,
|
||||
0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x32, 0x36, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F,
|
||||
0x63, 0x61, 0x6D, 0x6D, 0x67, 0x72, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x5F,
|
||||
0x70, 0x68, 0x6F, 0x74, 0x6F, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7B, 0x0A,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x74, 0x65,
|
||||
0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x32, 0x37, 0x5F, 0x74, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x63, 0x61, 0x6D, 0x6D, 0x67, 0x72, 0x2D, 0x72, 0x65, 0x63, 0x6F, 0x72, 0x64, 0x65,
|
||||
0x72, 0x5F, 0x76, 0x69, 0x64, 0x65, 0x6F, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
|
||||
0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x32, 0x38, 0x5F, 0x74,
|
||||
0x65, 0x73, 0x74, 0x5F, 0x63, 0x61, 0x6D, 0x6D, 0x67, 0x72, 0x2D, 0x6D, 0x65, 0x64, 0x69, 0x61,
|
||||
0x5F, 0x64, 0x6F, 0x77, 0x6E, 0x6C, 0x6F, 0x61, 0x64, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5D,
|
||||
0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x2C, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x7B, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65,
|
||||
0x74, 0x5F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x22, 0x3A, 0x20, 0x31, 0x30, 0x2C, 0x0A, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79,
|
||||
0x70, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x22, 0x2C, 0x0A, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5F, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x22, 0x3A, 0x20, 0x22, 0x52, 0x75, 0x6E, 0x22, 0x0A, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x7D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x0A, 0x20, 0x20, 0x7D, 0x0A, 0x7D, 0x0A
|
||||
};
|
||||
|
||||
#endif /* __widget_config_json_h_included */
|
||||
|
@ -39,6 +39,7 @@ file(GLOB_RECURSE MODULE_SAMPLE_SRC ../../../module_sample/*.c)
|
||||
|
||||
include_directories(../../../module_sample)
|
||||
include_directories(../common)
|
||||
include_directories(../manifold2/application)
|
||||
|
||||
include_directories(../../../../../psdk_lib/include)
|
||||
link_directories(../../../../../psdk_lib/lib/${TOOLCHAIN_NAME})
|
||||
|
@ -34,18 +34,26 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
#define DJI_USE_ONLY_UART (0)
|
||||
#define DJI_USE_UART_AND_USB_BULK_DEVICE (1)
|
||||
#define DJI_USE_UART_AND_NETWORK_DEVICE (2)
|
||||
|
||||
/*!< Attention: Select your hardware connection mode here.
|
||||
* */
|
||||
#define CONFIG_HARDWARE_CONNECTION DJI_USE_UART_AND_NETWORK_DEVICE
|
||||
|
||||
/*!< Attention: Select the sample you want to run here.
|
||||
* */
|
||||
#define CONFIG_MODULE_SAMPLE_POWER_MANAGEMENT_ON
|
||||
|
||||
#define CONFIG_MODULE_SAMPLE_CAMERA_EMU_ON
|
||||
|
||||
#define CONFIG_MODULE_SAMPLE_CAMERA_MEDIA_ON
|
||||
|
||||
#define CONFIG_MODULE_SAMPLE_GIMBAL_ON
|
||||
#define CONFIG_MODULE_SAMPLE_GIMBAL_EMU_ON
|
||||
|
||||
#define CONFIG_MODULE_SAMPLE_XPORT_ON
|
||||
|
||||
#define CONFIG_MODULE_SAMPLE_FC_SUBSCRIPTION_ON
|
||||
|
||||
#define CONFIG_MODULE_SAMPLE_WIDGET_ON
|
||||
|
||||
#define CONFIG_MODULE_SAMPLE_WIDGET_SPEAKER_ON
|
||||
@ -54,8 +62,6 @@ extern "C" {
|
||||
|
||||
#define CONFIG_MODULE_SAMPLE_UPGRADE_ON
|
||||
|
||||
#define CONFIG_MODULE_SAMPLE_PAYLOAD_COLLABORATION_ON
|
||||
|
||||
/*!< Attention: This function needs to be used together with mobile sdk mop sample.
|
||||
* */
|
||||
//#define CONFIG_MODULE_SAMPLE_MOP_CHANNEL_ON
|
||||
|
@ -189,7 +189,7 @@ int main(int argc, char **argv)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MODULE_SAMPLE_GIMBAL_ON
|
||||
#ifdef CONFIG_MODULE_SAMPLE_GIMBAL_EMU_ON
|
||||
if (aircraftInfoBaseInfo.djiAdapterType == DJI_SDK_ADAPTER_TYPE_SKYPORT_V2 ||
|
||||
aircraftInfoBaseInfo.djiAdapterType == DJI_SDK_ADAPTER_TYPE_NONE) {
|
||||
if (DjiTest_GimbalStartService() != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
@ -337,6 +337,7 @@ static T_DjiReturnCode DjiUser_PrepareSystemEnvironment(void)
|
||||
T_DjiHalNetworkHandler networkHandler = {
|
||||
.NetworkInit = HalNetWork_Init,
|
||||
.NetworkDeInit = HalNetWork_DeInit,
|
||||
.NetworkGetDeviceInfo = HalNetWork_GetDeviceInfo,
|
||||
};
|
||||
|
||||
T_DjiHalUsbBulkHandler usbBulkHandler = {
|
||||
@ -388,30 +389,6 @@ static T_DjiReturnCode DjiUser_PrepareSystemEnvironment(void)
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
|
||||
returnCode = DjiPlatform_RegHalUsbBulkHandler(&usbBulkHandler);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
printf("register hal usb bulk handler error");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
|
||||
returnCode = DjiPlatform_RegHalNetworkHandler(&networkHandler);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
printf("register hal network handler error");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
|
||||
returnCode = DjiPlatform_RegSocketHandler(&socketHandler);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
printf("register osal socket handler error");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
|
||||
returnCode = DjiPlatform_RegFileSystemHandler(&fileSystemHandler);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
printf("register osal filesystem handler error");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
|
||||
if (DjiUser_LocalWriteFsInit(DJI_LOG_PATH) != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
printf("file system init error");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN;
|
||||
@ -429,6 +406,36 @@ static T_DjiReturnCode DjiUser_PrepareSystemEnvironment(void)
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
|
||||
#if (CONFIG_HARDWARE_CONNECTION == DJI_USE_UART_AND_USB_BULK_DEVICE)
|
||||
returnCode = DjiPlatform_RegHalUsbBulkHandler(&usbBulkHandler);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
printf("register hal usb bulk handler error");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
#elif (CONFIG_HARDWARE_CONNECTION == DJI_USE_UART_AND_NETWORK_DEVICE)
|
||||
returnCode = DjiPlatform_RegHalNetworkHandler(&networkHandler);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
printf("register hal network handler error");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
|
||||
//Attention: if you want to use camera stream view function, please uncomment it.
|
||||
returnCode = DjiPlatform_RegSocketHandler(&socketHandler);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
printf("register osal socket handler error");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
#elif (CONFIG_HARDWARE_CONNECTION == DJI_USE_ONLY_UART)
|
||||
/*!< Attention: Only use uart hardware connection.
|
||||
*/
|
||||
#endif
|
||||
|
||||
returnCode = DjiPlatform_RegFileSystemHandler(&fileSystemHandler);
|
||||
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
printf("register osal filesystem handler error");
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -77,6 +77,14 @@ T_DjiReturnCode HalNetWork_DeInit(T_DjiNetworkHandle halObj)
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
T_DjiReturnCode HalNetWork_GetDeviceInfo(T_DjiHalNetworkDeviceInfo *deviceInfo)
|
||||
{
|
||||
deviceInfo->usbNetAdapter.vid = USB_NET_ADAPTER_VID;
|
||||
deviceInfo->usbNetAdapter.pid = USB_NET_ADAPTER_PID;
|
||||
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
/* Private functions definition-----------------------------------------------*/
|
||||
|
||||
/****************** (C) COPYRIGHT DJI Innovations *****END OF FILE****/
|
||||
|
@ -40,14 +40,21 @@ extern "C" {
|
||||
* NIC name micro define as #define 'LINUX_NETWORK_DEV "your NIC name"'.
|
||||
*/
|
||||
#ifdef PLATFORM_ARCH_x86_64
|
||||
#define LINUX_NETWORK_DEV "enp0s31f6"
|
||||
#define LINUX_NETWORK_DEV "enx000ec6688213"
|
||||
#else
|
||||
#define LINUX_NETWORK_DEV "eth0"
|
||||
#define LINUX_NETWORK_DEV "l4tbr0"
|
||||
#endif
|
||||
/**
|
||||
* @attention
|
||||
*/
|
||||
|
||||
#ifdef PLATFORM_ARCH_x86_64
|
||||
#define USB_NET_ADAPTER_VID (0x0B95)
|
||||
#define USB_NET_ADAPTER_PID (0x1790)
|
||||
#else
|
||||
#define USB_NET_ADAPTER_VID (0x0955)
|
||||
#define USB_NET_ADAPTER_PID (0x7020)
|
||||
#endif
|
||||
|
||||
#define LINUX_CMD_STR_MAX_SIZE (128)
|
||||
|
||||
@ -56,6 +63,7 @@ extern "C" {
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
T_DjiReturnCode HalNetWork_Init(const char *ipAddr, const char *netMask, T_DjiNetworkHandle *halObj);
|
||||
T_DjiReturnCode HalNetWork_DeInit(T_DjiNetworkHandle halObj);
|
||||
T_DjiReturnCode HalNetWork_GetDeviceInfo(T_DjiHalNetworkDeviceInfo *deviceInfo);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -33,7 +33,7 @@
|
||||
|
||||
/* Private types -------------------------------------------------------------*/
|
||||
typedef struct {
|
||||
int uartFd;
|
||||
int32_t uartFd;
|
||||
} T_UartHandleStruct;
|
||||
|
||||
/* Private values -------------------------------------------------------------*/
|
||||
@ -43,7 +43,7 @@ typedef struct {
|
||||
/* Exported functions definition ---------------------------------------------*/
|
||||
T_DjiReturnCode HalUart_Init(E_DjiHalUartNum uartNum, uint32_t baudRate, T_DjiUartHandle *uartHandle)
|
||||
{
|
||||
T_UartHandleStruct *uartHandleStruct;
|
||||
T_UartHandleStruct *uartHandleStruct = NULL;
|
||||
struct termios options;
|
||||
struct flock lock;
|
||||
T_DjiReturnCode returnCode = DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
|
@ -52,13 +52,9 @@ extern "C" {
|
||||
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
T_DjiReturnCode HalUart_Init(E_DjiHalUartNum uartNum, uint32_t baudRate, T_DjiUartHandle *uartHandle);
|
||||
|
||||
T_DjiReturnCode HalUart_DeInit(T_DjiUartHandle uartHandle);
|
||||
|
||||
T_DjiReturnCode HalUart_WriteData(T_DjiUartHandle uartHandle, const uint8_t *buf, uint32_t len, uint32_t *realLen);
|
||||
|
||||
T_DjiReturnCode HalUart_ReadData(T_DjiUartHandle uartHandle, uint8_t *buf, uint32_t len, uint32_t *realLen);
|
||||
|
||||
T_DjiReturnCode HalUart_GetStatus(E_DjiHalUartNum uartNum, T_DjiUartStatus *status);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -30,11 +30,6 @@
|
||||
#define LINUX_USB_BULK_TRANSFER_TIMEOUT_MS (50)
|
||||
#define LINUX_USB_BULK_TRANSFER_WAIT_FOREVER (-1)
|
||||
|
||||
#define LINUX_USB_BULK_EP_OUT "/dev/usb-ffs/bulk/ep1"
|
||||
#define LINUX_USB_BULK_EP_IN "/dev/usb-ffs/bulk/ep2"
|
||||
#define LINUX_USB_PID (0x7020)
|
||||
#define LINUX_USB_VID (0x0955)
|
||||
|
||||
/* Private types -------------------------------------------------------------*/
|
||||
typedef struct {
|
||||
#ifdef LIBUSB_INSTALLED
|
||||
@ -44,6 +39,7 @@ typedef struct {
|
||||
#endif
|
||||
int32_t ep1;
|
||||
int32_t ep2;
|
||||
uint32_t interfaceNum;
|
||||
T_DjiHalUsbBulkInfo usbBulkInfo;
|
||||
} T_HalUsbBulkObj;
|
||||
|
||||
@ -87,15 +83,28 @@ T_DjiReturnCode HalUsbBulk_Init(T_DjiHalUsbBulkInfo usbBulkInfo, T_DjiUsbBulkHan
|
||||
} else {
|
||||
((T_HalUsbBulkObj *) *usbBulkHandle)->handle = handle;
|
||||
memcpy(&((T_HalUsbBulkObj *) *usbBulkHandle)->usbBulkInfo, &usbBulkInfo, sizeof(usbBulkInfo));
|
||||
((T_HalUsbBulkObj *) *usbBulkHandle)->interfaceNum = usbBulkInfo.channelInfo.interfaceNum;
|
||||
|
||||
((T_HalUsbBulkObj *) *usbBulkHandle)->ep1 = open(LINUX_USB_BULK_EP_OUT, O_RDWR);
|
||||
if (((T_HalUsbBulkObj *) *usbBulkHandle)->ep1 < 0) {
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
if (usbBulkInfo.channelInfo.interfaceNum == LINUX_USB_BULK1_INTERFACE_NUM) {
|
||||
((T_HalUsbBulkObj *) *usbBulkHandle)->ep1 = open(LINUX_USB_BULK1_EP_OUT_FD, O_RDWR);
|
||||
if (((T_HalUsbBulkObj *) *usbBulkHandle)->ep1 < 0) {
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
|
||||
((T_HalUsbBulkObj *) *usbBulkHandle)->ep2 = open(LINUX_USB_BULK_EP_IN, O_RDWR);
|
||||
if (((T_HalUsbBulkObj *) *usbBulkHandle)->ep2 < 0) {
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
((T_HalUsbBulkObj *) *usbBulkHandle)->ep2 = open(LINUX_USB_BULK1_EP_IN_FD, O_RDWR);
|
||||
if (((T_HalUsbBulkObj *) *usbBulkHandle)->ep2 < 0) {
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
} else if (usbBulkInfo.channelInfo.interfaceNum == LINUX_USB_BULK2_INTERFACE_NUM) {
|
||||
((T_HalUsbBulkObj *) *usbBulkHandle)->ep1 = open(LINUX_USB_BULK2_EP_OUT_FD, O_RDWR);
|
||||
if (((T_HalUsbBulkObj *) *usbBulkHandle)->ep1 < 0) {
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
|
||||
((T_HalUsbBulkObj *) *usbBulkHandle)->ep2 = open(LINUX_USB_BULK2_EP_IN_FD, O_RDWR);
|
||||
if (((T_HalUsbBulkObj *) *usbBulkHandle)->ep2 < 0) {
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -197,6 +206,16 @@ T_DjiReturnCode HalUsbBulk_GetDeviceInfo(T_DjiHalUsbBulkDeviceInfo *deviceInfo)
|
||||
deviceInfo->vid = LINUX_USB_VID;
|
||||
deviceInfo->pid = LINUX_USB_PID;
|
||||
|
||||
// This bulk channel is used to obtain DJI camera video stream and push 3rd-party camera video stream.
|
||||
deviceInfo->channelInfo[DJI_HAL_USB_BULK_NUM_0].interfaceNum = LINUX_USB_BULK1_INTERFACE_NUM;
|
||||
deviceInfo->channelInfo[DJI_HAL_USB_BULK_NUM_0].endPointIn = LINUX_USB_BULK1_END_POINT_IN;
|
||||
deviceInfo->channelInfo[DJI_HAL_USB_BULK_NUM_0].endPointOut = LINUX_USB_BULK1_END_POINT_OUT;
|
||||
|
||||
// This bulk channel is used to obtain DJI perception image and download camera media file.
|
||||
deviceInfo->channelInfo[DJI_HAL_USB_BULK_NUM_1].interfaceNum = LINUX_USB_BULK2_INTERFACE_NUM;
|
||||
deviceInfo->channelInfo[DJI_HAL_USB_BULK_NUM_1].endPointIn = LINUX_USB_BULK2_END_POINT_IN;
|
||||
deviceInfo->channelInfo[DJI_HAL_USB_BULK_NUM_1].endPointOut = LINUX_USB_BULK2_END_POINT_OUT;
|
||||
|
||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -38,31 +38,49 @@
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#include "dji_platform.h"
|
||||
|
||||
#ifdef LIBUSB_INSTALLED
|
||||
|
||||
#include <libusb-1.0/libusb.h>
|
||||
|
||||
#endif
|
||||
|
||||
#include "dji_platform.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
#define LINUX_USB_BULK1_EP_OUT_FD "/dev/usb-ffs/bulk1/ep1"
|
||||
#define LINUX_USB_BULK1_EP_IN_FD "/dev/usb-ffs/bulk1/ep2"
|
||||
|
||||
#define LINUX_USB_BULK1_INTERFACE_NUM (2)
|
||||
#define LINUX_USB_BULK1_END_POINT_IN (0x83)
|
||||
#define LINUX_USB_BULK1_END_POINT_OUT (2)
|
||||
|
||||
#define LINUX_USB_BULK2_EP_OUT_FD "/dev/usb-ffs/bulk2/ep1"
|
||||
#define LINUX_USB_BULK2_EP_IN_FD "/dev/usb-ffs/bulk2/ep2"
|
||||
|
||||
#define LINUX_USB_BULK2_INTERFACE_NUM (3)
|
||||
#define LINUX_USB_BULK2_END_POINT_IN (0x84)
|
||||
#define LINUX_USB_BULK2_END_POINT_OUT (3)
|
||||
|
||||
#ifdef PLATFORM_ARCH_x86_64
|
||||
#define LINUX_USB_VID (0x0B95)
|
||||
#define LINUX_USB_PID (0x1790)
|
||||
#else
|
||||
#define LINUX_USB_VID (0x0955)
|
||||
#define LINUX_USB_PID (0x7020)
|
||||
#endif
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
T_DjiReturnCode HalUsbBulk_Init(T_DjiHalUsbBulkInfo usbBulkInfo, T_DjiUsbBulkHandle *usbBulkHandle);
|
||||
|
||||
T_DjiReturnCode HalUsbBulk_DeInit(T_DjiUsbBulkHandle usbBulkHandle);
|
||||
|
||||
T_DjiReturnCode HalUsbBulk_WriteData(T_DjiUsbBulkHandle usbBulkHandle, const uint8_t *buf, uint32_t len,
|
||||
uint32_t *realLen);
|
||||
|
||||
T_DjiReturnCode HalUsbBulk_ReadData(T_DjiUsbBulkHandle usbBulkHandle, uint8_t *buf, uint32_t len, uint32_t *realLen);
|
||||
|
||||
T_DjiReturnCode HalUsbBulk_GetDeviceInfo(T_DjiHalUsbBulkDeviceInfo *deviceInfo);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -64,7 +64,7 @@
|
||||
#define configTICK_RATE_HZ ((TickType_t)1000)
|
||||
#define configMAX_PRIORITIES ( 7 )
|
||||
#define configMINIMAL_STACK_SIZE ((uint16_t)128)
|
||||
#define configTOTAL_HEAP_SIZE ((size_t)75000)
|
||||
#define configTOTAL_HEAP_SIZE ((size_t)64000)
|
||||
#define configMAX_TASK_NAME_LEN ( 16 )
|
||||
#define configUSE_16_BIT_TICKS 0
|
||||
#define configUSE_MUTEXES 1
|
||||
|
@ -111,7 +111,7 @@ void DjiUser_StartTask(void const *argument)
|
||||
};
|
||||
|
||||
UART_Init(DJI_CONSOLE_UART_NUM, DJI_CONSOLE_UART_BAUD);
|
||||
Led_Init(LED1);
|
||||
Led_Init(LED3);
|
||||
|
||||
//Attention: if you want to run payload sdk on extension port, please define the macro DJI_EXTENSION_PORT_SUPPORT.
|
||||
#if DJI_EXTENSION_PORT_SUPPORT
|
||||
@ -214,8 +214,9 @@ void DjiUser_StartTask(void const *argument)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MODULE_SAMPLE_GIMBAL_ON
|
||||
if (aircraftInfoBaseInfo.djiAdapterType == DJI_SDK_ADAPTER_TYPE_SKYPORT_V2) {
|
||||
#ifdef CONFIG_MODULE_SAMPLE_GIMBAL_EMU_ON
|
||||
if (aircraftInfoBaseInfo.djiAdapterType == DJI_SDK_ADAPTER_TYPE_SKYPORT_V2 ||
|
||||
aircraftInfoBaseInfo.djiAdapterType == DJI_SDK_ADAPTER_TYPE_NONE) {
|
||||
if (DjiTest_GimbalStartService() != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("psdk gimbal init error");
|
||||
}
|
||||
@ -256,33 +257,36 @@ void DjiUser_StartTask(void const *argument)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MODULE_SAMPLE_POSITIONING_ON
|
||||
if (DjiTest_PositioningStartService() != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("psdk positioning init error");
|
||||
if (aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M300_RTK
|
||||
&& aircraftInfoBaseInfo.mountPosition != DJI_MOUNT_POSITION_TYPE_EXTENSION_PORT) {
|
||||
if (DjiTest_PositioningStartService() != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
USER_LOG_ERROR("psdk positioning init error");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MODULE_SAMPLE_UPGRADE_ON
|
||||
T_DjiTestUpgradePlatformOpt stm32UpgradePlatformOpt = {
|
||||
.rebootSystem = DjiUpgradePlatformStm32_RebootSystem,
|
||||
.cleanUpgradeProgramFileStoreArea = DjiUpgradePlatformStm32_CleanUpgradeProgramFileStoreArea,
|
||||
.createUpgradeProgramFile = DjiUpgradePlatformStm32_CreateUpgradeProgramFile,
|
||||
.writeUpgradeProgramFile = DjiUpgradePlatformStm32_WriteUpgradeProgramFile,
|
||||
.readUpgradeProgramFile = DjiUpgradePlatformStm32_ReadUpgradeProgramFile,
|
||||
.closeUpgradeProgramFile = DjiUpgradePlatformStm32_CloseUpgradeProgramFile,
|
||||
.replaceOldProgram = DjiUpgradePlatformStm32_ReplaceOldProgram,
|
||||
.setUpgradeRebootState = DjiUpgradePlatformStm32_SetUpgradeRebootState,
|
||||
.getUpgradeRebootState = DjiUpgradePlatformStm32_GetUpgradeRebootState,
|
||||
.cleanUpgradeRebootState = DjiUpgradePlatformStm32_CleanUpgradeRebootState,
|
||||
};
|
||||
T_DjiTestUpgradeConfig testUpgradeConfig = {
|
||||
.firmwareVersion = {1, 0, 0, 0},
|
||||
.transferType = DJI_FIRMWARE_TRANSFER_TYPE_DCFTP,
|
||||
.needReplaceProgramBeforeReboot = false
|
||||
};
|
||||
if (DjiTest_UpgradeStartService(&stm32UpgradePlatformOpt, testUpgradeConfig) !=
|
||||
DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
printf("psdk upgrade init error");
|
||||
}
|
||||
.rebootSystem = DjiUpgradePlatformStm32_RebootSystem,
|
||||
.cleanUpgradeProgramFileStoreArea = DjiUpgradePlatformStm32_CleanUpgradeProgramFileStoreArea,
|
||||
.createUpgradeProgramFile = DjiUpgradePlatformStm32_CreateUpgradeProgramFile,
|
||||
.writeUpgradeProgramFile = DjiUpgradePlatformStm32_WriteUpgradeProgramFile,
|
||||
.readUpgradeProgramFile = DjiUpgradePlatformStm32_ReadUpgradeProgramFile,
|
||||
.closeUpgradeProgramFile = DjiUpgradePlatformStm32_CloseUpgradeProgramFile,
|
||||
.replaceOldProgram = DjiUpgradePlatformStm32_ReplaceOldProgram,
|
||||
.setUpgradeRebootState = DjiUpgradePlatformStm32_SetUpgradeRebootState,
|
||||
.getUpgradeRebootState = DjiUpgradePlatformStm32_GetUpgradeRebootState,
|
||||
.cleanUpgradeRebootState = DjiUpgradePlatformStm32_CleanUpgradeRebootState,
|
||||
};
|
||||
T_DjiTestUpgradeConfig testUpgradeConfig = {
|
||||
.firmwareVersion = {1, 0, 0, 0},
|
||||
.transferType = DJI_FIRMWARE_TRANSFER_TYPE_DCFTP,
|
||||
.needReplaceProgramBeforeReboot = false
|
||||
};
|
||||
if (DjiTest_UpgradeStartService(&stm32UpgradePlatformOpt, testUpgradeConfig) !=
|
||||
DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||
printf("psdk upgrade init error");
|
||||
}
|
||||
#endif
|
||||
|
||||
returnCode = DjiCore_ApplicationStart();
|
||||
@ -291,8 +295,8 @@ if (DjiTest_UpgradeStartService(&stm32UpgradePlatformOpt, testUpgradeConfig) !=
|
||||
}
|
||||
|
||||
while (1) {
|
||||
Osal_TaskSleepMs(1000);
|
||||
Led_Trigger(LED1);
|
||||
Osal_TaskSleepMs(500);
|
||||
Led_Trigger(LED3);
|
||||
}
|
||||
|
||||
out:
|
||||
@ -350,7 +354,8 @@ void DjiUser_MonitorTask(void const *argument)
|
||||
|
||||
// report system performance information.
|
||||
// Attention: report system performance part is not intended for normal application runtime use but as a debug aid.
|
||||
if (USER_UTIL_IS_WORK_TURN(runIndicateTaskStep++, RUN_INDICATE_TASK_FREQ_0D1HZ, RUN_INDICATE_TASK_FREQ_1HZ)) {
|
||||
if (USER_UTIL_IS_WORK_TURN(runIndicateTaskStep++, RUN_INDICATE_TASK_FREQ_0D1HZ,
|
||||
RUN_INDICATE_TASK_FREQ_1HZ)) {
|
||||
#if (configUSE_TRACE_FACILITY == 1)
|
||||
currentTaskStatusArraySize = uxTaskGetNumberOfTasks();
|
||||
currentTaskStatusArray = osalHandler->Malloc(currentTaskStatusArraySize * sizeof(TaskStatus_t));
|
||||
@ -379,9 +384,9 @@ void DjiUser_MonitorTask(void const *argument)
|
||||
lastTaskStatusArray = currentTaskStatusArray;
|
||||
lastTaskStatusArraySize = currentTaskStatusArraySize;
|
||||
#endif
|
||||
|
||||
USER_LOG_DEBUG("used heap size: %d.\r\n", configTOTAL_HEAP_SIZE - xPortGetFreeHeapSize());
|
||||
}
|
||||
USER_LOG_DEBUG("used heap size: %d/%d.\r\n", configTOTAL_HEAP_SIZE - xPortGetFreeHeapSize(),
|
||||
configTOTAL_HEAP_SIZE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,29 +34,24 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
//#define CONFIG_MODULE_SAMPLE_POWER_MANAGEMENT_ON
|
||||
#define CONFIG_MODULE_SAMPLE_POWER_MANAGEMENT_ON
|
||||
|
||||
//#define CONFIG_MODULE_SAMPLE_DATA_TRANSMISSION_ON
|
||||
#define CONFIG_MODULE_SAMPLE_DATA_TRANSMISSION_ON
|
||||
|
||||
#define CONFIG_MODULE_SAMPLE_WIDGET_ON
|
||||
|
||||
//#ifdef USE_BOOTLOADER
|
||||
//Attention: If you don’t need to upgrade, you can uncomment it and change flash size from 0x70000 to 0xD0000 to build all functions.
|
||||
#define CONFIG_MODULE_SAMPLE_GIMBAL_EMU_ON
|
||||
|
||||
#define CONFIG_MODULE_SAMPLE_CAMERA_ON
|
||||
|
||||
#define CONFIG_MODULE_SAMPLE_FC_SUBSCRIPTION_ON
|
||||
|
||||
#define CONFIG_MODULE_SAMPLE_XPORT_ON
|
||||
|
||||
//#define CONFIG_MODULE_SAMPLE_UPGRADE_ON
|
||||
//#endif
|
||||
|
||||
//#ifndef CONFIG_MODULE_SAMPLE_UPGRADE_ON
|
||||
|
||||
//#define CONFIG_MODULE_SAMPLE_GIMBAL_ON
|
||||
|
||||
//#define CONFIG_MODULE_SAMPLE_CAMERA_ON
|
||||
|
||||
//#define CONFIG_MODULE_SAMPLE_FC_SUBSCRIPTION_ON
|
||||
|
||||
//#define CONFIG_MODULE_SAMPLE_XPORT_ON
|
||||
|
||||
//#define CONFIG_MODULE_SAMPLE_PAYLOAD_COLLABORATION_ON
|
||||
|
||||
/*!< Attention: Please uncomment it in gps environment.
|
||||
* */
|
||||
//#define CONFIG_MODULE_SAMPLE_TIME_SYNC_ON
|
||||
|
||||
//#define CONFIG_MODULE_SAMPLE_POSITIONING_ON
|
||||
|
@ -192,7 +192,6 @@ void OTG_FS_IRQHandler(void)
|
||||
|
||||
/* USER CODE END OTG_FS_IRQn 1 */
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
|
||||
/* USER CODE END 1 */
|
||||
|
@ -146,7 +146,9 @@ USBH_ClassTypeDef CDC_Class =
|
||||
|
||||
QueueHandle_t ACMDataRecvQueue;
|
||||
QueueHandle_t ACMDataSendQueue;
|
||||
#if DJI_EXTENSION_PORT_SUPPORT
|
||||
static uint8_t cdcBuff[1024];
|
||||
#endif
|
||||
|
||||
void USBH_CDC_DataQueueInit(void)
|
||||
{
|
||||
@ -370,7 +372,9 @@ static USBH_StatusTypeDef USBH_CDC_Process(USBH_HandleTypeDef *phost)
|
||||
CDC_HandleTypeDef *CDC_Handle = (CDC_HandleTypeDef *) phost->pActiveClass->pData;
|
||||
|
||||
if (CDC_Handle->data_rx_state == CDC_IDLE) {
|
||||
#if DJI_EXTENSION_PORT_SUPPORT
|
||||
USBH_CDC_Receive(phost, cdcBuff, sizeof(cdcBuff));
|
||||
#endif
|
||||
}
|
||||
|
||||
if (CDC_Handle->data_tx_state == CDC_IDLE) {
|
||||
|
@ -358,7 +358,7 @@
|
||||
<uC99>1</uC99>
|
||||
<useXO>0</useXO>
|
||||
<VariousControls>
|
||||
<MiscControls> -DHSE_VALUE=8000000 --diag_suppress=188,177,550,940,66,546 --gnu -DUSE_BOOTLOADER=1 -DUSE_USB_HOST_UART=1</MiscControls>
|
||||
<MiscControls> -DHSE_VALUE=8000000 --diag_suppress=188,177,550,940,66,546 --gnu --split_sections -DUSE_BOOTLOADER=1 -DUSE_USB_HOST_UART=1</MiscControls>
|
||||
<Define>USE_HAL_DRIVER, STM32F407xx, SYSTEM_ARCH_RTOS=1</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath>..\..\..\..\..\..\..\psdk_lib\include; ..\..\..\..\..\module_sample; ..\..\..\common\osal; ..\..\application; ..\..; ..\..\hal; ..\..\drivers\BSP; ..\..\drivers\CMSIS\Include; ..\..\drivers\Device\ST\STM32F4xx; ..\..\drivers\STM32F4xx_HAL_Driver\Inc; ..\..\drivers\USB_HOST\App; ..\..\drivers\USB_HOST\Target; ..\..\middlewares\ST\STM32_USB_Host_Library\Class\CDC\Inc; ..\..\middlewares\ST\STM32_USB_Host_Library\Core\Inc; ..\..\middlewares\Third_Party\FreeRTOS\Source\include; ..\..\middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F; ..\..\middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS</IncludePath>
|
||||
|
Reference in New Issue
Block a user