Update release

This commit is contained in:
vczh
2025-12-22 05:29:21 -08:00
parent 56a35efb6f
commit 2cbfa381c0
19 changed files with 9110 additions and 9123 deletions
+53 -1
View File
@@ -1393,6 +1393,50 @@ IGuiRemoteProtocolMessages (Elements - Image)
#undef ERROR_MESSAGE_PREFIX
}
/***********************************************************************
IGuiRemoteProtocolMessages (Elements - Document)
***********************************************************************/
void RequestRendererUpdateElement_DocumentParagraph(vint id, const remoteprotocol::ElementDesc_DocumentParagraph& arguments) override
{
CHECK_FAIL(L"Not implemented.");
}
void RequestDocumentParagraph_GetCaret(vint id, const remoteprotocol::GetCaretRequest& arguments) override
{
CHECK_FAIL(L"Not implemented.");
}
void RequestDocumentParagraph_GetCaretBounds(vint id, const remoteprotocol::GetCaretBoundsRequest& arguments) override
{
CHECK_FAIL(L"Not implemented.");
}
void RequestDocumentParagraph_GetInlineObjectFromPoint(vint id, const Point& arguments) override
{
CHECK_FAIL(L"Not implemented.");
}
void RequestDocumentParagraph_GetNearestCaretFromTextPos(vint id, const remoteprotocol::GetCaretBoundsRequest& arguments) override
{
CHECK_FAIL(L"Not implemented.");
}
void RequestDocumentParagraph_IsValidCaret(vint id, const vint& arguments) override
{
CHECK_FAIL(L"Not implemented.");
}
void RequestDocumentParagraph_OpenCaret(const remoteprotocol::OpenCaretRequest& arguments) override
{
CHECK_FAIL(L"Not implemented.");
}
void RequestDocumentParagraph_CloseCaret() override
{
CHECK_FAIL(L"Not implemented.");
}
#undef REQUEST_RENDERER_UPDATE_ELEMENT
#undef REQUEST_RENDERER_UPDATE_ELEMENT2
};
@@ -1697,7 +1741,15 @@ void GacUIUnitTest_StartFast_WithResourceAsText(
const vl::presentation::unittest::UnitTestMainFunc& previousMainProxy
)
{
protocol->GetEvents()->OnControllerConnect();
{
vl::presentation::remoteprotocol::ControllerGlobalConfig globalConfig;
#if defined VCZH_WCHAR_UTF16
globalConfig.documentCaretFromEncoding = vl::presentation::remoteprotocol::CharacterEncoding::UTF16;
#elif defined VCZH_WCHAR_UTF32
globalConfig.documentCaretFromEncoding = vl::presentation::remoteprotocol::CharacterEncoding::UTF32;
#endif
protocol->GetEvents()->OnControllerConnect(globalConfig);
}
auto theme = vl::Ptr(new TTheme);
vl::presentation::theme::RegisterTheme(theme);
{
+1583 -12
View File
File diff suppressed because it is too large Load Diff
+345 -22
View File
File diff suppressed because it is too large Load Diff
+29 -30
View File
@@ -10193,24 +10193,23 @@ namespace vl::presentation::instancequery
{
void GuiInstanceQueryParserData(vl::stream::IStream& outputStream)
{
static const vl::vint dataLength = 3046; // 28794 bytes before compressing
static const vl::vint dataLength = 2815; // 27722 bytes before compressing
static const vl::vint dataBlock = 256;
static const vl::vint dataRemain = 230;
static const vl::vint dataSolidRows = 11;
static const vl::vint dataRows = 12;
static const vl::vint dataRemain = 255;
static const vl::vint dataSolidRows = 10;
static const vl::vint dataRows = 11;
static const char* compressed[] = {
"\x7A\x70\x00\x00\xDE\x0B\x00\x00\x0D\x00\x01\x82\x80\x07\x03\x82\x81\x82\x06\x89\x82\x88\x0A\x87\x06\x84\x0C\x0A\x9D\x0A\x86\x1A\x87\x16\x84\x77\x02\x09\xBF\x7B\x8C\x8B\x8E\x84\x00\x1D\x9D\x9F\x81\x9C\x8B\x90\x93\x7F\x1F\x9F\x81\x0A\x8B\x91\x85\x96\x83\x27\xA8\x8A\x91\x96\x94\x91\x9B\x90\x37\xA2\xB3\x87\x99\x9D\x93\x9C\x9B\x3F\xB8\x81\xBA\x9A\x8C\x9F\xA0\x9F\x45\xC0\x89\xA2\xAB\xA4\xA0\x98\xA3\x4D\xC8\x8F\xAA\xA3\xAC\xA5\xAA\xA7\x03\xB4\x87\xBE\x8B\xAA\x99\xA8\xAE\x09\x99\xAE\x9D\xAD\x98\xB3\xAA\xA9\x59\xD0\xA7\xA6\xB9\xB4\xA9\xB6\xAB\x6F\xD8\x82\x9A\xAF\xAE\xAF\xB4\xBB\x71\xE8\x82\x83\x0C\x94\xB2\xBF\xBA\x65\xF8\xB3\xAA\xB3\x84\x01\xBE\xC0\x7F\xF7\x81\xCB\xC9\xC1\xBC\xB7\xC1\x6E\x90\xF0\xB2\xC2\xB9\x81\x03\xC3\x8A\x8D\xD4\xDA\xB1\x84\xB9\xCC\xC4\xA0\x9F\xE2\xCE\xC2\xC5\xCC\xC3\xCD\x8F\xA6\xD1\xCA\xD3\xC9\x82\x02\xCC\xA4\x8C\xE1\xD1\xDA\xCC\xD5\xCA\x90\xA7\xB6\xDC\xD8\xDB\xD4\xDD\xD6\xDF\xB7\x9E\xC3\x88\x86\x87\x94\xDB\xD9\xA8\xA5\xC0\xFB\xD2\xE3\x84\xD9\xE4\xB2\xA3\xD0\xF5\xDB\xE1\xD5\xEA\xE5\xCD\xBA\xD6\xF9",
"\x4A\x6C\x00\x00\xF7\x0A\x00\x00\x0D\x00\x01\x82\x80\x07\x03\x82\x81\x82\x06\x89\x82\x88\x0A\x87\x06\x84\x0C\x0A\x9D\x0A\x86\x1A\x87\x16\x84\x77\x02\x09\xBF\x7B\x8C\x8B\x8E\x84\x00\x1D\x9D\x9F\x81\x9C\x8B\x90\x93\x7F\x1F\x9F\x81\x0A\x8B\x91\x85\x96\x83\x27\xA8\x8A\x91\x96\x94\x91\x9B\x90\x37\xA2\xB3\x87\x99\x9D\x93\x9C\x9B\x3F\xB8\x81\xBA\x9A\x8C\x9F\xA0\x9F\x45\xC0\x89\xA2\xAB\xA4\xA0\x98\xA3\x4D\xC8\x8F\xAA\xA3\xAC\xA5\xAA\xA7\x03\xB4\x87\xBE\x8B\xAA\x99\xA8\xAE\x09\x99\xAE\x9D\xAD\x98\xB3\xAA\xA9\x59\xD0\xA7\xA6\xB9\xB4\xA9\xB6\xAB\x6F\xD8\x82\x9A\xAF\xAE\xAF\xB4\xBB\x71\xE8\x82\x83\x0C\x94\xB2\xBF\xBA\x65\xF8\xB3\xAA\xB3\x84\x01\xBE\xC0\x7F\xF7\x81\xCB\xC9\xC1\xBC\xB7\xC1\x6E\x90\xF0\xB2\xC2\xB9\x81\x03\xC3\x8A\x8D\xD4\xDA\xB1\x84\xB9\xCC\xC4\xA0\x9F\xE2\xCE\xC2\xC5\xCC\xC3\xCD\x8F\xA6\xD1\xCA\xD3\xC9\x82\x02\xCC\xA4\x8C\xE1\xD1\xDA\xCC\xD5\xCA\x90\xA7\xB6\xDC\xD8\xDB\xD4\xDD\xD6\xDF\xB7\x9E\xC3\x88\x86\x87\x94\xDB\xD9\xA8\xA5\xC0\xFB\xD2\xE3\x84\xD9\xE4\xB2\xA3\xD0\xF5\xDB\xE1\xD5\xEA\xE5\xCD\xBA\xD6\xF9",
"\xE0\x01\x07\xE6\xED\xD8\xB9\xD7\xF1\xE7\xE2\xE8\xF0\xF2\xD3\xC8\xE7\xF4\xEC\xED\xF6\xF0\xF7\xBD\xDC\xCA\x1F\xE0\x03\x04\xFA\xF8\xBF\xF8\xC1\xE2\xFC\x07\xFB\xF7\xFF\xF1\x40\x89\x7E\x80\xFB\x41\x86\x83\x80\x07\x85\x88\x83\x82\x0A\x8D\x8C\x72\x78\x00\x63\x5A\x7B\x78\xEC\x44\x8F\x81\x82\x17\x8C\x89\x86\x83\xDB\x56\x8D\x84\x86\x1F\x9A\x81\x8B\x6D\x0E\x3E\x70\x89\x78\x27\xA8\x7B\x7B\x84\x0E\x52\x86\x78\x85\x13\xBA\x7B\x87\x8C\x23\xB4\x88\x8A\x88\x37\x9C\x89\x8F\x6E\x10\x26\x88\x8F\x47\x11\x3E\x8A\x8E\x8A\x30\xAF\x82\x8D\x8D\x48\xBB\x89\x90\x91\x47\x8A\x9E\x90\x93\xE2\x52\x04\x7F\x04\x42\xB6\x80\x95\x8A\x15\x98\x91\x8E\x87\xCA\x54\x04\x7D\x05\x55\x8B\x9A\x42\x05\x61\x8F\x99\x97\x8F\x67\x83\x99\x9A\x95\x6B\xA2\x9B\x96\x96\x46\x9C\x97\x94\x9A\x09\x57\x05\x9B\x9C\x6A\xAF\x94\x9D\x9C\x70\xA5\x7E\x9D\x7A\x7C\xBB\x9F\x9F\x8A\x81\xB9\x96\x40\x44\x2E\x83\xA5\x92\xA2\x4D\xB8\x9C\x9B\x84\x19\x34\x7A\x07\x9D\xD4\x5B\x04\xA6\x9E\x86\x8C\xA2\x9C\x75\x1C\x17\xA5\xA3\xA3\x9F\xAE\x91\xAA\x99\x98\xA0\xAA\xA5\x9F\x80\x8A\xA2\x45\xA2",
"\x02\x5E\x0E\xA7\xA9\x82\xA9\xA2\x43\x07\xAF\xB2\xA4\xA3\x40\x20\x35\xA7\xAE\xAD\x8B\xBC\xAD\xA1\x9B\xA4\xA3\xAE\xA2\xA8\xB0\x99\xA2\x41\x08\xF4\x62\x0A\xAD\xAF\xBB\x8D\xBC\xB0\x00\x23\x0B\xBF\xAD\xA9\xD6\x64\x04\x7D\x09\xD2\xA2\x74\x44\xAB\xCE\x93\xB2\xB0\xB0\xC3\x81\xB5\xB2\xA9\xBE\x9B\xA4\xB6\xB8\xE5\xA8\xAD\xB6\xB9\x06\x67\x04\x7C\x0A\xD9\xBD\x69\x09\xBC\xB1\xAB\xBA\xBB\xB3\xDC\x6A\x04\x7F\x0A\xF4\x86\xB6\xBD\xBD\xF8\xAC\xB3\xB8\xB1\xBC\xAC\x04\x7D\x0B\xFD\xA4\xBF\xBE\xBF\x01\xF7\xBE\xB7\xC0\xE8\x8E\xBE\x08\x7D\x16\x5C\xBD\xC3\x6F\x30\x09\xC4\xC3\xC2\x0A\xD7\xCC\xC3\xC3\xE9\x80\xC0\xC8\xC7\x1B\xDE\xCD\xC7\xC8\xCF\xB1\x04\x7E\x0C\x1A\xCA\x73\x0D\xCB\xE1\xB1\xC0\xBA\x42\x34\x34\x75\x0E\x42\x62\x5F\xB7\xBA\xCC\x3B\xF3\xCD\xCF\xCF\x2F\xB7\x04\x7C\x0E\x30\xCA\x49\x0D\xD1\x40\xD0\xCC\xCE\x41\x3A\x34\x7B\x0C\xCE\x3E\xFA\xC2\xD6\xD2\x51\xD4\xD9\xD1\xC8\x1F\xE2\x7D\x0C\xD2\x53\xD8\xD7\xCA\xC0\x5E\xE5\xC8\xCB\xD8\xE2\x7E\x0C\xD6\xD5\x5D\xC1\x4F\x0C\x7D\x40\x10\xD7\xD4\xC9\x11\xE6\xC2\xD8\xD8\x70\xCB\xDA\xA2\x10\xF4",
"\x43\x17\xDA\x40\x44\x3B\xD5\xDD\xD5\x61\xF1\xD4\xDA\xC3\x74\xF2\xD2\xE1\xE1\x83\xE2\xC2\x79\x11\xF4\x46\x1E\xDC\x00\x47\x0F\xE9\xE1\xD6\xF7\x88\x14\x7D\x12\x6E\xE9\xD6\xE2\xDD\x81\xDC\xEF\xDF\xDB\xCF\x8B\x14\x7C\x13\x8F\xCD\x12\xE4\xE2\xA8\xF7\xBE\x10\x7D\x4F\x19\xE8\xDB\xEB\x9D\xC0\xEF\xE6\xE6\x93\xDF\xD4\xE3\xED\x00\xD1\x17\xE8\xEE\x94\xCA\xEC\xEE\xED\xBE\xFF\x62\x17\xEE\x00\xD3\x14\x7C\x15\xAE\xF1\xE0\xE9\xED\x73\xFF\xED\xF1\xF0\xB7\x56\x14\x7F\x15\x8F\xD8\x14\xF1\xEF\xD8\xC0\xF9\xF7\xF3\xDB\xC7\xEE\xF2\xF7\xD0\xFB\x69\x17\xF5\xDA\xE5\xFC\xF6\xF9\xE0\xCC\xCE\x02\x71\x01\x79\xC3\x40\xFB\x70\xF1\x4E\x75\x42\xAF\x75\x5E\xFA\x40\xF0\xD7\x79\xFD\xFE\xF2\xCA\x44\x70\x69\x97\x35\x2D\x93\x7D\x79\x21\x00\xB7\x2B\x7F\x5D\x33\x7E\x41\x7F\x79\x38\x03\xA4\x31\x26\xF9\x61\x32\x02\xC3\x3D\x2A\x07\x89\x3B\x80\x27\x33\x82\x40\x16\x80\x3D\x08\x89\x86\x7F\x15\x9D\x29\x4C\x7C\x22\x81\x93\x37\x79\x20\xFC\x7C\x48\x01\x86\x25\x7F\xBB\x24\x87\x2E\x31\x27\x84\x00\x29\x84\x25\x17\x8F\x87\x24\x86\x25\x84\x49\x08\x85\x2E\x0D\x81\x26",
"\x86\x0D\x82\x86\x0A\x99\x89\x79\x0E\xA9\x25\x87\x0A\x20\x88\x78\x1C\x87\x3B\x18\xAD\x63\x85\x03\x2D\x84\x69\x32\x84\x87\x90\x0A\x8D\x89\x27\x37\x89\x4C\x23\x82\x88\x92\x0C\x8B\x8B\x59\x9D\x8A\x15\xE2\x8D\x22\x2D\xA0\x8B\x8C\x3A\x88\x8C\x0C\xE1\x89\x8D\x32\xA4\x8C\x23\x66\x87\x8C\x1C\xEF\x8B\x23\x38\xB2\x8F\x1F\x76\x92\x8D\x1E\xE7\x8B\x8E\x30\xBD\x8B\x8B\x7F\x90\x83\x11\xF7\x2E\x86\x00\x39\x87\x2E\x5F\x97\x8D\x1D\xF4\x8F\x1E\x2A\x80\x58\x8A\x02\x32\x89\x72\x01\x96\x85\x32\x54\x93\x87\x65\x45\x93\x21\x80\x8C\x91\x4B\xA1\x26\x91\xE7\x50\x92\x6B\x5D\x2E\x93\x8E\x20\x96\x85\x9D\x89\x95\x1B\xF3\x8B\x95\x45\xAD\x90\x8F\xAA\x8B\x8D\x0D\xB1\x97\x87\x59\xAF\x91\x91\x8A\x98\x97\x1D\x8C\x80\x3C\x27\x83\x91\x39\x0C\x2F\x95\x21\xD5\x8D\x22\x5D\xB2\x8E\x98\x67\x9C\x94\x16\xA4\x22\x87\xC0\x01\x9A\x96\x21\x23\x98\x29\xB4\x97\x82\x36\x90\x9E\x8D\xAF\x85\x94\x2B\xD7\x9B\x9B\x5A\xAA\x8E\x9B\xD8\x9C\x9A\x2B\xE2\x90\x97\x6C\x94\x9D\x97\xD6\x80\x9D\x37\xD5\x98\x92\x8B\x62\x95\x3B\x21\x8F\x94\x0F\x84\x9A\x21\x42\xB1\x20\x99\x60\x8A",
"\x9A\x22\x9B\x22\x87\x3F\x8F\x9A\x9D\x1B\x25\x93\x3F\xC9\x33\x9E\xD2\x05\x96\x9E\x27\x38\x9F\x16\xFA\x9B\x9F\x7E\x9D\x2B\xA0\xE8\x84\x26\x40\xD3\x96\x9D\x8A\xA4\x9A\x9B\xE3\x80\xA1\x39\xE4\x9E\x82\x24\x89\x20\xA1\x5E\x8C\x91\x47\xF4\x9F\xA3\x78\xA4\x9C\xA1\x8A\x8E\xA1\x5D\x10\xAB\x99\x68\x8A\x24\xA5\x82\x9F\x94\x78\x07\xA6\xA4\x8D\xA8\xA7\x8E\x2A\xB7\x2C\x4C\xFB\x93\xA3\xBA\x0A\xA7\x9E\x8C\x97\xA6\x1C\xB9\xA4\x35\x9D\x8A\x95\xA7\x88\x81\xA8\x23\xC4\xA0\x98\x46\x88\xAC\x34\x18\xBB\xA2\x46\xD1\xA4\xAB\x73\xAD\xA1\x9C\x53\xB6\xAB\x3E\xD2\xAC\x9D\x6F\x9D\xA8\xAB\x5F\xAB\x9D\x44\xDE\xA3\xAC\xB0\xA5\xAA\xAC\x57\xA8\xAF\x56\xD5\xA6\xA3\xAC\xB2\x9D\x88\xD7\x34\xA6\x4F\xA2\xA0\xAF\x77\xA0\xA1\x24\x3F\xA7\x26\x50\xE7\x8C\xA8\xF0\x06\xAF\x8E\x4F\xA4\xA1\x5D\xC4\x85\xA5\xB9\xAF\x93\xAF\x60\x9D\xAF\x75\x7F\xA2\x8F\xC0\xA0\x3C\xAD\x17\xBA\xAB\x3E\x90\xBE\xAD\xC8\xAD\xA9\xAC\x1B\x39\x7F\x1F\xF2\xA9\xA9\xB7\x89\x23\xB3\xF5\x95\xA4\x66\xFF\x18\xB1\x2D\x8A\xB1\x26\x8C\xA7\x8E\x63\xFA\x79\x89\x0F\x85\xB5\xB3\x27\xAB\xA9\x6B\xAB",
"\xAE\xA9\x97\xA2\xB7\xAC\x1B\x39\xAC\x49\x25\xBE\x96\x83\x3E\x9D\xB6\x09\x29\xB5\x6E\xCA\xAF\x95\xD3\xA7\x22\xB8\x5B\x8B\xB4\x17\x97\xB8\xB6\xAE\x8D\xBC\xB2\xA3\xB0\xBB\x73\x92\xBA\x90\xE9\xA9\xA9\xA3\xD1\xB4\xBB\x1D\xD1\xAB\x93\xD1\xBA\xB1\x24\xDD\xAD\xB9\x78\xD7\xBF\x1F\xF1\x9B\xAE\xBC\xFB\x88\xBE\x22\xEA\xB7\x8E\xF6\x8D\xB2\xA6\x33\xAA\x23\x7C\x1E\xA6\x21\xF9\xA4\xA5\xBE\xAE\xB8\xBD\x5D\x5C\x00\xBF\x94\x05\xA2\x20\x8A\xA3\xBC\x13\x92\x9D\x7D\xD9\x86\x22\xC0\x0A\x24\xC0\x00\x01\xCA\x21\x01\xE0\x80\xBE\xCA\x9F\x22\x32\xAC\xAF\x22\x0A\xF6\xB4\x7E\x09\xD9\xC3\x6B\x83\x2C\xB3\x81\x0E\xC5\x80\x1A\xC6\x23\x87\xFA\xBC\x84\xF9\xA1\xC3\x20\xF6\xB1\x8A\x42\x76\x38\xC3\x84\x2C\xC5\xC4\x2E\xC7\xC6\x40\x08\xCD\xC5\x03\xCD\xC2\xC6\x01\x34\xC4\x8C\x86\x2D\x3E\x10\xF5\xC3\x20\x3D\xC2\xC4\x8E\x80\x01\xC8\x0F\xC3\xC9\x42\x42\xDF\xC6\x40\x48\xC6\xC8\x25\xC1\x24\xC9\x1B\x83\xCB\x15\xBA\xCA\xC5\xCF\x8A\x24\xCA\x91\x86\xC1\x61\x37\xCE\xC8\x00\x25\x40\xBE\x29\xC3\x93\x1F\xFD\xB0\x00\x28\xC7\x8F\x8A\x02\x10\x7D\xFE\x0A\xC2\x4A\xF8",
"\x97\x8B\x00\x6A\xDC\xCA\x41\x2A\x6E\xCC\xEA\x23\xBB\x62\x75\xC9\x20\x01\x71\xC6\xCB\x84\x18\x59\xCF\x22\xDC\xCE\x41\x32\x8D\x52\x40\xD1\x8A\xD0\xEF\x6A\x22\x97\x06\xD7\x20\x44\xF8\x7B\x4C\xFD\xB7\x88\x02\x0E\xD5\xC1\x84\x16\x54\xCC\x1F\xB4\xD0\x00\x57\x89\x56\x4C\xF5\xBA\xD3\x57\x8A\x5A\xA7\x83\x2B\x00\x4D\xE3\xBB\x5E\xA3\xC2\x20\x03\x26\xDA\x20\x7E\x69\xD7\xC9\x9A\xDA\x09\x7F\x8A\xAF\xD5\x47\xD6\x62\x86\xDC\x3F\x20\xAE\xE2\x3F\x23\x2B\x84\x9D\x63\xA7\x8A\x53\x47\x63\xB3\xCC\xEA\x06\xBD\x37\x9E\x6F\x5B\x94\xD4\x34\x48\x65\xBB\xD5\x37\xE3\xBF\xD6\x75\x1F\x25\x91\x62\xD3\x44\x89\xD2\xCA\x3B\x47\x45\xCB\x2E\xD9\x40\x03\xC4\xC2\xDE\xD8\x77\x0A\xC5\xB4\x32\xDC\x3D\x45\x83\xD4\x3A\x32\xD9\xD4\xCD\x20\x7D\xCA\x73\x2C\xB4\xD5\x7F\x8B\xD9\xDD\x84\x24\x49\x2C\xFD\xB9\x7C\x4B\xCF\xDF\x37\x8F\x08\x55\xDE\x2F\x5F\xBD\x40\x2C\xAF\xC5\x70\xC9\x23\x52\xEE\x85\x71\x98\x81\x27\xAF\xDB\x1F\x27\xD2\x36\xC0\x75\xC1\xAA\xDC\xD8\xEA\x34\x50\xDF\x13\x53\xE1\x40\x5F\xCF\x45\x64\xDC\x3C\xDB\x1B\xF5\xE3\xF2\x10\x41\xB5\x09\x5F\x20\x59",
"\xEF\xD0\x75\xC8\xBE\xCD\xE2\x85\x16\x5E\x62\x7F\xC0\xE3\x40\x41\xD2\x20\x8E\xF3\xE2\xE4\xED\x4B\x5A\xAF\x8D\x2A\x20\x3B\x66\xE2\x21\xF0\x49\xE3\xBD\x68\xD3\x20\x30\x7F\xE1\x21\xA8\xC5\x3A\xB7\xC4\xE2\x20\x2A\x47\xEE\x20\xFA\x42\xE8\xC0\x6E\xD6\x21\x1E\x4F\xEB\x20\xAE\xCA\xE8\xE8\x6D\xC6\x20\xAA\xC6\xE4\x76\xE2\x2E\xEA\x41\x3E\xED\xE5\x84\x06\x64\xE5\x8A\x58\xC9\x40\x62\xE5\xE8\x9C\xC3\x24\xCE\x49\xCF\x45\x21\xCC\x8C\xED\xA6\xEE\xEA\x20\x36\x12\xCE\xA2\x36\xE1\xCB\x84\x34\xDB\x20\x56\xE5\xEE\x41\x4F\x69\xE4\xE5\x46\x26\xE8\x71\xFF\xEB\x40\x66\x68\xE2\x83\x2D\x6D\xF1\x03\x35\xED\xA5\x87\xF3\xB0\x64\xCA\x20\x6F\x90\xFC\x54\xE2\xB7\xE9\x21\xCD\xC2\x22\xE3\xCF\x5F\x21\xDF\x52\xE7\x36\xB2\xC9\xD6\xDE\x0A\x21\xF2\xE2\x82\x2C\x71\xC2\xF3\x73\x20\xA6\xFD\xEE\xE0\x83\x26\x73\xCC\xC1\x22\x09\x70\xBF\xDC\xE7\xE3\xE5\xF3\x7E\xCA\x24\x74\xB6\xEF\x58\xC2\xB2\xE2\x21\xD8\xC1\x20\xF4\xB9\xCA\x23\xEA\x24\xFB\x37\x42\xDA\xEF\x50\x3D\xF7\xED\x40\x2D\x71\xF8\xEE\x2B\x57\xF9\x03\x3A\xF6\x40\x1E\xFE\x59\x8F\x3A\x75\xFA\xE2\x2E\x56",
"\xC5\x5A\xFB\xEC\xE9\xC0\x06\x78\xE0\xFD\x37\xC5\xD8\xF2\x21\xE1\xF0\xF6\xFC\x55\x0B\x59\xA7\xEC\xF1\x20\xF7\xDB\xFE\xFC\xD2\x6C\xFA\x75\x28\xE4\xFE\x00\x36\xFD\xFC\x57\x72\x10\xD4\x3A\x7F\xCA\x12\x6A\xFD\x70\x71\x03\x11\x29\x01\x81\x10\xD6\x34\x80\x44\x28\x80\xED\x76\x7E\xE3\x3A\x67\x0A\x1D\x05\xCB\x2E\x7C\x09\x86\x7E\x5E\x0F\x38\x18\x81\x81\x0B\x80\x00\x5F\x07\x65\x0A\x13\x06\xCB\x27\x7D\xEF\x7F\x81\x64\x0A\x65\xBC\x21\x2D\xC1\x76\x82\xF7\x7F\x81\x67\x0A\x82\xCE\x21\x73\xBB\x73\x10\x2E\x80\x80\xB3\x72\x10\x6A\x02\x83\xCF\x2E\x2E\xC1\x7B\x7E\x27\x89\x83\x01\x1D\x06\xBD\x77\x1B\x49\x75\x83\xB3\x2A\x10\xDC\x71\x7A\x0A\x1F\x06\x45\x8B\x1B\x59\x78\x84\x01\x10\x84\x76\x7F\x81\x71\x0F\x84\xD6\x18\x30\xC1\x73\x7F\x03\x12\x7E\x42\x80\x00\x73\x0C\x83\x28\x3C\x85\x02\x1C\x82\x5F\x86\x07\x43\x6C\x07\xF2\x7E\x72\xE6\x7D\x07\x43\x63\x08\xCB\x2C\x7F\x41\x8B\x7A\x01\x14\x08\x58\x8A\x1C\x15\x34\x7C\x01\x12\x87\x2F\x8F\x85\x86\x07\x87\x1F\x10\x77\x52\x80\x00\x7C\x88\x83\x74\x80\x00\x88\x00\x88\x0A\x1F\x32\xC1\x76\x80\x5D\x86",
"\x7E\x8A\x02\x86\x85\x3E\x88\x65\x86\x7E\x8D\x03\x64\x93\x0B\x2C\x94\x81\x10\x2F\x7F\x85\x94\x03\x64\x9A\x0B\x2C\x66\x83\x10\x54\x8D\x7D\xE2\x62\x1E\x9D\x83\x10\x85\x8C\x84\x23\x7D\x1B\x34\x8D\x2A\xE6\x7B\x09\x8F\x3F\x8A\x01\x13\x8A\xBC\x2F\x11\x9C\x02\x82\x09\x10\x0A\xCB\x24\x8B\x00\x09\x8A\xB7\x8A\x10\xA1\x0A\x8B\x06\x15\x0A\xCB\x2B\x2D\xBC\x7F\x81\xA6\x04\x8C\x8A\x27\x33\xAE\x70\x00\xC8\x8D\x76\x1F\x8A\x0A\xCC\x8C\x2B\x44\x3F\x8C\xD1\x85\x85\x5F\x8E\x0A\xD5\x8E\x2C\x84\x7E\x5B\x40\x71\x7D\x1F\x82\x0B\x92\x8D\x1B\x8C\x70\x8E\x09\x11\x74\x94\x7F\x81\xB5\x05\x8E\xBF\x11\x04\x3C\x8A\x8E\x91\x76\x7E\xB8\x0E\x8E\xB7\x13\x7A\xE8\x86\x10\x47\x82\x10\x3E\x8F\x85\xBB\x06\x8F\x1D\x3B\x8F\x01\x17\x76\x5F\x8E\x0B\x43\x64\x0C\xCB\x22\x90\x00\x0A\x85\x5F\x85\x0C\x43\x6B\x0C\xCB\x21\x75\xC9\x8F\x85\xCC\x00\x90\xD6\x11\x39\xCF\x82\x91\xD2\x8F\x85\xCF\x06\x91\xCA\x18\x7B\x19\x9A\x10\x92\x7C\x8A\x06\x12\x0D\x1E\x9F\x11\xA6\x3F\x8C\x51\x8C\x8F\xE6\x75\x0D\x27\x94\x1D\x2B\x93\x90\xE6\x78\x0D\x43\x6E\x0D\xCB\x21\x93\x0B\x96\x7E",
"\xDF\x03\x64\xE5\x0B\x2C\x04\x93\x10\xF2\x81\x8C\xAD\x8F\x1B\x0C\x93\x10\x1A\x92\x94\x60\x7D\x1B\x78\x69\x73\x1F\x86\x0E\x8F\x3B\x94\x03\x1F\x93\x48\x93\x10\xE7\x0D\x8D\x00\x0B\x0E\xCB\x20\x95\x02\x15\x94\x53\x92\x10\xEC\x06\x95\xF0\x0B\x2C\x79\x83\x87\x5D\x91\x10\xF1\x0A\x77\xBC\x20\x05\x56\x93\x96\x7D\x87\x88\xF6\x08\x96\xCE\x28\x3C\x14\x89\x10\x6C\x96\x88\x65\x90\x00\xFB\x00\x97\xCF\x2D\x80\x11\x73\x67\x0A\x19\x31\x1F\x83\x43\xE9\x70\x30\x2C\x30\x5F\xB9\x6B\x45\xB5\x69\x98\xF0\x53\x52\xFD\x7E\x5F\x2A\x14\x16\xD9\x6F\x0F\x8C\x97\x7A\x8D\x92\x70\x28\x44\x1F\x82\x96\x31\x0B\x64\x16\xFC\x6F\x49\x70\x5B\x99\xC1\x70\x9A\x7A\x83\x79\x32\x5D\x4C\xBA\x68\x99\x34\x7D\x6D\x80\x11\x48\x3B\x7C\x83\x11\x47\x45\x29\x1E\x5E\x25\x12\x9B\x1C\x13\x5E\xCD\x46\x9B\xC3\x68\x99\xD1\x69\x9B\xA1\x9B\x9B\x56\x99\x12\xB4\x6F\x53\xD8\x6F\x11\xC3\x9A\x97\xCD\x4C\x44\xC7\x98\x99\xC8\x94\x9C\x64\x6A\x60\x34\x1E\x9C\x31\x1A\x60\x98\x60",
"\x43\x17\xDA\x40\x44\x3B\xD5\xDD\xD5\x61\xF1\xD4\xDA\xC3\x74\xF2\xD2\xE1\xE1\x83\xE2\xC2\x79\x11\xF4\x46\x1E\xDC\x00\x47\x0F\xE9\xE1\xD6\xF7\x88\x14\x7D\x12\x6E\xE9\xD6\xE2\xDD\x81\xDC\xEF\xDF\xDB\xCF\x8B\x14\x7C\x13\x8F\xCD\x12\xE4\xE2\xA8\xF7\xBE\x10\x7D\x4F\x19\xE8\xDB\xEB\x9D\xC0\xEF\xE6\xE6\x93\xDF\xD4\xE3\xED\x00\xD1\x17\xE8\xEE\x94\xCA\xEC\xEE\xED\xBE\xFF\x62\x17\xEE\x00\xD3\x14\x7C\x15\xAE\xF1\xE0\xE9\xED\x73\xFF\xED\xF1\xF0\xB7\x56\x14\x7F\x15\x8F\xD8\x14\xF1\xEF\xD8\xC0\xF9\xF7\xF3\xDB\xC7\xEE\xF2\xF7\xD0\xFB\x69\x17\xF5\xDA\xE5\xFC\xF6\xF9\xE0\xCC\xCB\x02\x71\x01\x79\xC4\x68\xCA\xEE\xC9\x78\xC8\xFB\x01\x74\xF0\x00\x5F\x09\x46\x66\xC5\x4C\x97\x49\x4D\xFE\x41\xF1\x76\x32\x42\x44\x33\x20\xFC\x46\x24\x80\xF2\x7C\x4A\xFD\x01\x31\x80\x00\x36\x7E\x7E\x06\x85\x31\x99\x7F\x73\x20\x0A\x82\x25\x81\x16\x81\x20\x02\x81\x21\x83\x83\x1D\x29\x26\x0B\x8A\x21\x07\x81\x2A\x7F\xE2\x1D\x29\x83\x00\x0F\x35\x4A\x06\x28\x84\x14\x98\x83\x80\x22\x90\x85\x5D\x4D\x41\x85\xBA\x0D\x85\x86\x06\x23\x84\x00\x25\x83\x20\xFB\x7C\x7A",
"\x21\x2A\x8B\x86\x40\x2D\x89\x78\x01\x89\x23\x83\xF7\x72\x87\x5D\x31\x2D\x81\x98\x30\x7F\x83\x85\x6D\x8A\x13\xF7\x5F\x80\xFA\x28\x82\x87\xF6\x68\x8B\x14\xA7\x48\x86\xD2\x0D\x84\x81\xF4\x3F\x20\x0F\xC3\x85\x88\x07\x8A\x27\x8A\x0A\x23\x8E\x06\xD0\x84\x24\x29\x9B\x8D\x63\x6E\x8F\x8D\xDC\x71\x8F\x8C\x22\x74\x8B\x8B\x76\x8C\x8C\xC0\x5A\x82\x8F\x24\x4D\x87\x8E\x53\x99\x8F\x0C\xD1\x8A\x8E\x86\x5D\x8F\x82\x67\x89\x8D\x19\xFC\x8D\x8E\x40\x8E\x8A\x90\x4B\x84\x93\x20\xD4\x84\x3F\x17\xB9\x7B\x91\x85\x9C\x22\x23\xCF\x83\x92\x80\x5B\x92\x92\x91\x97\x5F\x27\xA2\x99\x93\x92\x63\x96\x93\xA5\x93\x8D\x2A\xC4\x4A\x8D\x94\x3F\x86\x62\x1F\x28\x86\x4A\x4A\x8F\x7D\x93\x2D\x91\x30\x28\x87\x92\x11\xC2\x85\x7E\x5A\x89\x85\x8D\xA9\x9A\x84\x77\x0C\x92\x8E\x62\xAF\x8F\x94\x1D\x22\x9A\x78\x48\x90\x8F\x55\x94\x3C\x99\xA6\x8E\x9B\x84\x50\x9A\x95\x4E\x86\x94\x3E\x3A\x8D\x96\x32\xA4\x28\x84\x86\x3C\x93\x97\x03\x33\x3D\x58\x09\x99\x20\xEF\x09\x22\x87\xC6\x9B\x89\x15\xE7\x9A\x90\x76\xB5\x2D\x9B\xDF\x80\x9E\x40\x62\x90\x80\x72\x86\x26\x9C\x39\x9E",
"\x94\x78\x4C\x81\x98\xEA\x2B\x99\x9F\x97\x8E\x9F\x5D\x70\x91\x9E\x14\xB4\x9B\x20\x96\x97\x9D\x0C\xC7\x89\x94\x6A\x9B\x9F\x37\xD4\x90\x91\x2D\xA4\x96\x9B\x8E\x7A\x91\x89\x01\xA0\xA3\x40\x8A\x2E\x9B\x6F\x86\xA5\x8C\x28\x98\x9D\x01\xFA\x97\x3A\x10\xB1\x98\xA3\x06\x3A\x9B\x09\x9C\xA7\xA5\x8F\xA3\x9E\x7F\x0A\x22\xA7\x5E\x24\xAD\x8F\x8D\x0E\xA6\x9F\x27\xB9\x9B\x42\x9B\xA9\x21\x8E\xBC\x96\xA5\xF5\x90\xA5\x39\xBB\xA3\x39\x86\xBD\x9B\x42\x81\x37\xA2\x49\x8C\xA5\xA3\x8D\x29\x9B\x8A\x37\xB3\x43\x53\xCE\x81\xAB\x17\x51\xA7\x99\xD2\x96\xA9\x56\x8A\x57\xAB\x69\x9B\xAC\x57\x5D\xAF\x46\xFD\x0D\x8A\xA6\x81\xA4\x34\xA0\x1E\xAA\x23\x41\x88\x92\xA8\x85\xA6\xAE\x83\x4D\xBF\x1F\x58\xC4\xA2\x20\x95\xAF\x9C\xA5\x05\xAA\xAC\x48\xB1\xA4\xAF\x35\xB1\xAD\xAA\x8A\x53\xAF\x5B\xA4\x8D\xAF\xEB\x28\xAF\xA7\x7A\xAF\xA4\x0B\xFC\xA3\xB0\x82\x06\xA9\xAE\x0F\xB7\x35\x58\xDC\xAF\xAA\x67\x53\xB4\x57\x10\x85\xB2\x5D\xBC\xA6\x20\x9F\x82\x88\xA8\x08\xB6\x9F\x40\x32\xAC\x82\x9A\xB5\xA1\xB3\x8D\xBB\xB3\x59\xF8\xA9\xAD\x84\x2B\xAD\x7D\xA2\xA2\x20\x69\xA8",
"\xA5\xA9\xBF\x87\xAA\xAC\x85\xA5\xAE\x46\xAB\xBD\xA7\x96\x89\xB1\xA8\x8B\xA3\xA9\x63\xD3\xAC\x9E\xC8\x94\x39\xA9\x27\xAB\xAB\x01\xA9\x94\xB9\x93\x00\xB4\x57\xCD\xA0\x9A\x71\xDE\xA1\xAE\x89\xBF\x90\x95\xD5\xB4\x39\x74\xA1\x24\x9B\xEE\x8F\xB1\x94\xDC\xB7\xB4\x69\x28\xB7\x2E\xB2\x9D\x2E\xBC\x36\x85\xB1\x71\x86\x2C\x0B\x93\xB3\x96\x62\xE8\xA9\xA5\x6C\xAE\x35\x8C\xDD\x95\x80\x88\xF5\xAD\x9D\x70\x86\x21\x89\xDA\x9F\x98\x89\x1F\x28\x8A\x67\xAB\x83\xC1\x94\x05\xC5\xBF\x02\x28\xC0\x7D\xC2\xBE\xAD\x06\xF7\xB9\x21\x0A\xC0\x00\x0A\x91\xC3\xC3\xDF\x83\x21\xC2\xAF\xA9\x86\x85\x89\xCA\x20\xFB\x10\xC5\xC3\xF8\xA9\x22\x87\xFC\xBA\xBF\x07\xE4\xC1\xA3\x26\xD7\xC1\x89\xE4\x8F\xC3\x84\x3D\x3D\xAD\x2A\xCE\xC7\x7C\x9A\xC2\xC6\x18\xDC\xC1\x21\x11\x5B\xBD\x8C\x86\x29\xC7\x14\xF7\xC4\xC7\x33\xD1\xC2\x7D\xAC\xC7\xC5\xDD\xB5\xA9\xC8\x9A\xA8\xC9\x3C\xA5\x41\x9F\x0C\xDC\x38\x8B\xF4\x77\xA1\x8F\xBC\x51\xB3\xDD\x11\xC2\x4A\x13\x55\xCA\x75\x28\x8A\x65\x2C\xF8\x61\xCA\x2B\xC1\x23\xC4\x5E\xC7\x9C\x30\xCD\xB0\x5B\x64\xC9\xA6\x99\xC0\xB3\x21\x4E",
"\x69\xCD\x82\x6B\xDD\x86\x42\x5E\x4F\xCC\xCC\xA3\x4C\x3A\x5A\xCA\x39\x03\x96\x58\xA8\x20\xB1\xCB\xA6\x09\x39\x55\x9F\xC7\x8F\xCF\xD2\x89\x22\x59\x83\xDD\xB1\xA1\xBB\x8A\x21\x79\x49\xD3\xB4\x8B\xCD\x94\xBF\x0F\xD3\x9F\x45\xDA\x0E\xB7\xA0\x7F\x22\x23\xEE\xBB\xD2\xAC\x8A\xB4\xB2\xFB\x65\x71\x2B\xA8\x8C\x3B\xF8\xB0\x71\x20\xB3\xBE\x86\x78\x43\xC3\x77\x70\x8B\x5D\x95\xAA\xD7\x5F\x88\xBE\xCE\x59\x5C\xB2\x70\x00\x3D\x4D\xC7\x8B\x15\xC0\x74\x32\x61\xD5\x37\x11\xD3\xA8\x91\x76\x4F\xD7\xDF\x08\x89\xD6\x00\x68\x51\x91\x8A\x55\xC0\x52\xC5\x76\x55\x9F\xC2\x8A\xFD\x05\xCD\xD3\x09\x42\xD4\xCD\x02\x3F\x9F\x40\x05\xC3\xD6\xE5\x46\x20\xD1\xD8\xCE\x59\x86\xB3\xB8\x64\x6B\x4D\xB4\x3B\xDD\xC1\x23\x8B\x9A\x7E\x5D\x62\xF7\x31\xDD\x00\x0C\xCA\xE6\x70\x5E\xDD\xDD\x2B\xDB\x20\xF2\xC7\xD4\x00\x0E\xD6\x85\x09\x53\xC8\xD5\xB7\xDA\x5C\x8A\xBC\x59\xDE\x22\xFA\xDB\xCC\xE1\xC0\x03\x0D\x8A\x25\xE0\xD8\xA0\x71\x63\xD1\xC6\xD1\xBF\x86\x2D\x44\x83\x04\xDA\x73\x2C\x71\xE3\xB3\x15\xE3\x20\x30\x60\x75\x66\x1A\xFC\x38\xC7\x82\x24\x4A\xD0\x76\x05\x8C",
"\xDC\x21\x49\x42\x39\xDA\x72\xA2\x75\xDE\x3A\x58\xC6\x22\xCA\x9A\x77\x69\x97\xCA\x3D\xE4\x16\xF7\xD5\xD3\x1A\xE3\xD4\x85\x38\xE5\xE3\xB7\xDC\x05\x19\xB3\xB8\x85\x9F\xE4\xE7\xD6\x66\x7A\xE1\xC3\x92\xC3\xCE\x85\x2C\xE2\xDF\x6D\x67\xDE\x78\x1E\xEA\xC6\x6F\xC3\x22\x6F\x1A\xE6\xEA\xC3\x86\x24\xEB\xD0\xA0\x74\x71\x1A\xFD\xE8\x5B\xDC\xE0\xC4\xD0\x51\x72\xE3\x17\xF2\xCD\x42\x3E\xD6\x21\xA7\xD6\xEA\x20\x98\x72\xE9\x6F\x69\xE6\xE1\xB7\xC1\x24\x74\x1A\xEA\xDA\xD7\xB9\xE1\xE5\xC2\x6B\x72\xE3\x93\x48\xED\xD9\x9A\x70\x0B\x32\xAE\xCB\xE2\x03\x3A\xEE\x40\x74\xED\xD4\x81\x03\x7A\xE3\xAB\x48\xF2\x40\x0A\xF1\x20\xB1\xCD\xF1\x20\xC8\x7A\xE0\xB4\x92\xF1\x20\xCA\xC0\x02\xEB\x9B\x6A\x22\xF4\x1A\xE4\x56\x8B\x41\xF4\xEF\x9A\x76\x7A\xC6\xD7\xDA\xEC\x83\x27\xF0\xE8\xA0\x77\xD2\xC6\xC8\x56\xF4\x9F\xF7\xD5\xBD\x1A\xE0\xDD\xEB\x83\x2C\xCE\x83\x11\x50\x74\x5E\x01\xCF\xB3\x3D\xF3\x21\xD7\xF6\xE8\x00\x62\x01\xC7\x8B\x07\xF3\x21\xDF\xDA\x70\x0D\xCB\x4C\xFA\x40\x46\xF7\xF2\x00\x29\x0A\xBD\xE2\x31\xF3\x40\x0C\xF1\xF5\x84\x2C\x0D\x8C\xD1\x50\xF2",
"\x42\x16\xFD\xFA\x83\x2E\x0D\x8C\x68\xC9\xE2\xF6\xC7\xE0\x74\x38\x25\x8D\xDD\x09\xE5\xF4\xEA\xFA\xD2\x0F\x32\xBC\xDB\xEF\x03\x32\xFC\xEC\x9A\x74\x0F\x32\x93\xD1\xFE\xB6\x70\x3A\x76\x05\x46\x08\x3B\x7A\x0A\x1B\x79\xFA\x68\x07\xCA\x7A\x28\xAC\x72\x10\xE1\x7A\x39\x7E\x0C\x5A\x0C\x8A\x10\xE6\x6A\x39\x86\x02\x81\xBC\x24\x7B\xF3\x77\x7C\x8E\x05\x46\x15\x39\x70\x1A\x8B\x7F\xFA\x60\x09\x65\x4D\x65\x20\x81\x80\x9A\x32\x09\x65\x4F\x32\xB9\x77\x80\xB7\x64\x09\x0B\x8C\x2B\xBA\x7E\x80\xB7\x6A\x09\x18\x8E\x2C\x33\x81\x10\x15\x8A\x6F\xA2\x07\x83\xCF\x2F\x80\xF9\x77\x6B\xAA\x0B\x2C\x3B\x87\x2C\xB7\x6B\x0A\xCB\x29\x7E\x03\x18\x80\xC7\x7C\x0A\x49\x8A\x10\x40\x87\x7C\xAD\x08\x7D\xBD\x1A\x84\x02\x15\x84\xD5\x70\x0B\x54\x8F\x1B\xDB\x2B\x81\xD5\x73\x0B\x65\x47\x33\x8D\x5D\x85\x22\x87\x7C\xB5\x05\x46\x2E\x76\x64\x01\x14\x86\xEC\x7A\x39\xB7\x05\x46\x4F\x3D\x58\xF4\x6E\x85\xE5\x73\x10\xB9\x05\x46\x49\x7A\x86\x00\x03\x87\x65\x85\x7D\xBB\x05\x46\x41\x05\x58\x7C\x8D\x86\xFA\x6D\x0B\x65\x4D\x37\x8D\x57\x7F\x02\x10\x7F\xFA\x6F\x0B\x31\x8E",
"\x2C\x8A\x81\x10\x06\x30\x3A\xC5\x0E\x83\xDC\x11\x89\x00\x05\x80\x9A\x3D\x0C\x96\x82\x1E\x02\x74\x87\x28\x35\x0D\x65\x47\x76\x7A\x8F\x89\x7D\x85\x87\x02\x17\x0D\x65\x4A\x04\x85\x56\x8A\x84\x87\x7C\xD9\x05\x46\xA6\x3D\x58\xFF\x73\x10\x8C\x87\x7C\xDB\x0F\x88\xCF\x25\x8B\x02\x13\x89\x9A\x31\x0E\x9D\x8D\x1B\xBC\x81\x10\x9A\x8A\x6F\xE9\x01\x8C\xBF\x1E\x8B\x03\x13\x88\xD5\x71\x0F\xCB\x25\x8C\x02\x1E\x8A\xD5\x72\x0F\xCB\x28\x70\xB6\x87\x6B\xF3\x05\x8D\x0A\x1A\x8C\xC7\x74\x0F\x5B\x87\x1B\xD6\x82\x10\xD0\x85\x7D\xF7\x0F\x8D\xBB\x1F\x81\xDB\x77\x6B\xFA\x05\x46\x85\x73\x70\x01\x18\x8E\x02\x14\x7E\x28\x3C\x0F\x65\x49\x79\xF2\x59\x10\xF0\x81\x10\xA0\x78\x32\xFE\x05\x46\xAA\x77\x8F\x06\x16\x82\x03\x10\x71\x9A\x36\x46\x9C\x7F\x2C\x19\x7E\x5E\x1A\x1A\x90\x0C\x9D\x90\x0B\x4E\x43\x0F\x9F\x5E\xB0\x4B\x40\x5F\x4D\x44\x15\x9A\x69\x18\x95\x46\x0A\x79\x91\x8D\x54\x5B\x73\x1A\x43\x1E\x90\x68\xEE\x84\x58\x1A\x17\x4B\x26\x92\x46\x28\x92\x7C\x8C\x63\x63\x4C\x7A\x11\xB2\x4F\x92\xB1\x41\x93\x2C\x92\x4B\x11\x64\x63\x30\x15\x93\x1F\x10",
};
vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream);
}
@@ -10242,25 +10241,25 @@ namespace vl::presentation::instancequery
L"[7][QPrimaryFragment]< NAME [ \".\" NAME @ ] >",
L"[8][QPrimaryAttributed] BEGIN ",
L"[9][QPrimaryAttributed] END [ENDING]",
L"[10][QPrimaryAttributed]<< !QPrimaryFragment @ >>",
L"[11][QPrimaryAttributed]<< \"@\" @ [ NAME ] \":\" !QPrimaryFragment >>",
L"[12][QPrimaryAttributed]<< \"@\" [ NAME @ ] \":\" !QPrimaryFragment >>",
L"[13][QPrimaryAttributed]<< \"@\" [ NAME ] \":\" !QPrimaryFragment @ >>",
L"[14][QPrimaryAttributed]<< \"@\" [ NAME ] \":\" @ !QPrimaryFragment >>",
L"[10][QPrimaryAttributed]<! !QPrimaryFragment @ !>",
L"[11][QPrimaryAttributed]<! \"@\" @ [ NAME ] \":\" !QPrimaryFragment !>",
L"[12][QPrimaryAttributed]<! \"@\" [ NAME @ ] \":\" !QPrimaryFragment !>",
L"[13][QPrimaryAttributed]<! \"@\" [ NAME ] \":\" !QPrimaryFragment @ !>",
L"[14][QPrimaryAttributed]<! \"@\" [ NAME ] \":\" @ !QPrimaryFragment !>",
L"[15][QPrimary] BEGIN ",
L"[16][QPrimary] END [ENDING]",
L"[17][QPrimary]<< \"(\" !QueryRoot \")\" @ >>",
L"[18][QPrimary]<< \"(\" !QueryRoot @ \")\" >>",
L"[19][QPrimary]<< \"(\" @ !QueryRoot \")\" >>",
L"[20][QPrimary]<< \"/\" !QPrimaryAttributed @ >>",
L"[21][QPrimary]<< \"/\" @ !QPrimaryAttributed >>",
L"[22][QPrimary]<< \"//\" !QPrimaryAttributed @ >>",
L"[23][QPrimary]<< \"//\" @ !QPrimaryAttributed >>",
L"[17][QPrimary]<! \"(\" !QueryRoot \")\" @ !>",
L"[18][QPrimary]<! \"(\" !QueryRoot @ \")\" !>",
L"[19][QPrimary]<! \"(\" @ !QueryRoot \")\" !>",
L"[20][QPrimary]<! \"/\" !QPrimaryAttributed @ !>",
L"[21][QPrimary]<! \"/\" @ !QPrimaryAttributed !>",
L"[22][QPrimary]<! \"//\" !QPrimaryAttributed @ !>",
L"[23][QPrimary]<! \"//\" @ !QPrimaryAttributed !>",
L"[24][Query0] BEGIN ",
L"[25][Query0] END [ENDING]",
L"[26][Query0]< Query0 @ QPrimary >",
L"[27][Query0]< Query0 QPrimary @ >",
L"[28][Query0]<< !QPrimary @ >>",
L"[28][Query0]<! !QPrimary @ !>",
L"[29][Query1] BEGIN ",
L"[30][Query1] END [ENDING]",
L"[31][Query1]< Query1 \"*\" @ Query0 >",
@@ -10269,7 +10268,7 @@ namespace vl::presentation::instancequery
L"[34][Query1]< Query1 \"^\" Query0 @ >",
L"[35][Query1]< Query1 @ \"*\" Query0 >",
L"[36][Query1]< Query1 @ \"^\" Query0 >",
L"[37][Query1]<< !Query0 @ >>",
L"[37][Query1]<! !Query0 @ !>",
L"[38][Query2] BEGIN ",
L"[39][Query2] END [ENDING]",
L"[40][Query2]< Query2 \"+\" @ Query1 >",
@@ -10278,10 +10277,10 @@ namespace vl::presentation::instancequery
L"[43][Query2]< Query2 \"-\" Query1 @ >",
L"[44][Query2]< Query2 @ \"+\" Query1 >",
L"[45][Query2]< Query2 @ \"-\" Query1 >",
L"[46][Query2]<< !Query1 @ >>",
L"[46][Query2]<! !Query1 @ !>",
L"[47][QueryRoot] BEGIN ",
L"[48][QueryRoot] END [ENDING]",
L"[49][QueryRoot]<< !Query2 @ >>",
L"[49][QueryRoot]<! !Query2 @ !>",
};
return results[index];
}
File diff suppressed because it is too large Load Diff
@@ -99,7 +99,19 @@ message ControllerGetScreenConfig
message ControllerConnectionEstablished {}
message ControllerConnectionStopped {}
event ControllerConnect {}
enum CharacterEncoding
{
UTF8,
UTF16,
UTF32,
}
struct ControllerGlobalConfig
{
var documentCaretFromEncoding : CharacterEncoding;
}
event ControllerConnect { request: ControllerGlobalConfig; }
event ControllerDisconnect {}
event ControllerRequestExit {}
event ControllerForceExit {}
@@ -11,8 +11,7 @@ enum RendererType
SolidLabel,
Polygon,
ImageFrame,
UnsupportedColorizedText,
UnsupportedDocument,
DocumentParagraph,
}
struct RendererCreation
@@ -0,0 +1,106 @@
[@Cpp(::vl::presentation::elements::IGuiGraphicsParagraph::BreakCondition)]
[@CppNamespace(::vl::presentation::elements::IGuiGraphicsParagraph)]
enum BreakCondition
{
StickToPreviousRun,
StickToNextRun,
Alone,
}
[@Cpp(::vl::presentation::elements::IGuiGraphicsParagraph::CaretRelativePosition)]
[@CppNamespace(::vl::presentation::elements::IGuiGraphicsParagraph)]
enum CaretRelativePosition
{
CaretFirst,
CaretLast,
CaretLineFirst,
CaretLineLast,
CaretMoveLeft,
CaretMoveRight,
CaretMoveUp,
CaretMoveDown,
}
struct DocumentTextRunProperty
{
var textColor : color;
var backgroundColor : color;
var fontProperties : FontProperties;
}
struct DocumentInlineObjectRunProperty
{
var size : Size;
var baseline : int;
var breakCondition : BreakCondition;
var backgroundElementId : int;
var callbackId : int;
}
union DocumentRunProperty
{
DocumentTextRunProperty,
DocumentInlineObjectRunProperty,
}
struct DocumentRun
{
var caretBegin : int;
var caretEnd : int;
var props : DocumentRunProperty;
}
struct ElementDesc_DocumentParagraph
{
var id : int;
var text : string?;
var wrapLine : bool;
var maxWidth : int;
var alignment : ElementHorizontalAlignment;
var runsDiff : DocumentRun[];
var createdInlineObjects : int[];
var removedInlineObjects : int[];
}
message RendererUpdateElement_DocumentParagraph { request: ElementDesc_DocumentParagraph; response: Size; }
struct GetCaretRequest
{
var caret : int;
var relativePosition : CaretRelativePosition;
}
struct GetCaretResponse
{
var newCaret : int;
var preferFrontSide : bool;
}
struct GetCaretBoundsRequest
{
var caret : int;
var frontSide : bool;
}
struct OpenCaretRequest
{
var caret : int;
var caretColor : color;
var frontSide : bool;
}
message DocumentParagraph_GetCaret { request: GetCaretRequest; response: GetCaretResponse; }
message DocumentParagraph_GetCaretBounds { request: GetCaretBoundsRequest; response: Rect; }
message DocumentParagraph_GetInlineObjectFromPoint { request: Point; response: DocumentRun?; }
message DocumentParagraph_GetNearestCaretFromTextPos { request: GetCaretBoundsRequest; response: int; }
message DocumentParagraph_IsValidCaret { request: int; response: bool; }
message DocumentParagraph_OpenCaret { request: OpenCaretRequest; }
message DocumentParagraph_CloseCaret {}
struct RenderInlineObjectRequest
{
var callbackId : int;
var location : Rect;
}
event DocumentParagraph_RenderInlineObjects { request: RenderInlineObjectRequest[]; }
@@ -9,6 +9,7 @@ union UnitTest_ElementDescVariant
ElementDesc_Polygon,
ElementDesc_SolidLabel,
ElementDesc_ImageFrame,
ElementDesc_DocumentParagraph,
}
struct UnitTest_RenderingFrame
@@ -3,6 +3,7 @@ Protocol_MainWindow
Protocol_IO
Protocol_Renderer_BasicElements
Protocol_Renderer_ImageFrame
Protocol_Renderer_Document
Protocol_Renderer
Protocol_SyncDom
Protocol_UnitTest
+2171 -2121
View File
File diff suppressed because it is too large Load Diff
+398 -253
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+70 -68
View File
@@ -4653,74 +4653,76 @@ namespace vl::workflow
_CtorFragment = 50,
_LetVariable = 55,
_VirtualExpression = 60,
_BeginBoundary = 81,
_EndBoundary = 85,
_SetTestingOperator = 89,
_ExpPrimitive = 94,
_Exp0 = 231,
_Exp1 = 246,
_Exp2 = 252,
_Exp3 = 264,
_Exp4 = 279,
_Exp5 = 288,
_Exp6 = 309,
_Exp7 = 315,
_Exp8 = 321,
_Exp9 = 327,
_Exp10 = 333,
_Exp11 = 341,
_Expression = 347,
_SwitchCase = 350,
_Block = 356,
_ElseStat = 364,
_If = 368,
_ForOperator = 382,
_VirtualStatement = 387,
_CoStatement = 406,
_CoProvider = 418,
_StateSwitchHead = 423,
_StateSwitchArgument = 446,
_StateSwitchCase = 449,
_StateStatement = 460,
_Statement = 480,
_StateInput = 520,
_StateDecl = 529,
_StateMachine = 539,
_Attribute = 546,
_Namespace = 555,
_FunctionArgument = 562,
_FunctionArgumentList = 568,
_FunctionStat = 574,
_FunctionBody = 578,
_FunctionKind = 588,
_Function = 595,
_Variable = 602,
_Event = 611,
_Property = 620,
_StaticInit = 633,
_BaseConstructorCall = 637,
_ConstructorType = 645,
_Constructor = 650,
_Destructor = 661,
_ClassBody = 665,
_Class = 674,
_EnumItemInt = 686,
_EnumItemA = 689,
_EnumItemB = 696,
_Enum = 705,
_StructMember = 720,
_Struct = 727,
_APConfig = 734,
_AutoPropertyKind = 751,
_AutoProperty = 758,
_CastResultInterface = 767,
_DeclarationCandidates = 777,
_Declaration = 792,
_UsingFragment = 796,
_UsingItem = 800,
_UsingPath = 804,
_ModuleBody = 811,
_Module = 817,
_BeginBoundary = -1,
_EndBoundary = -1,
_SetTestingOperator = -1,
_ExpPrimitive = 81,
_Exp0 = 220,
_Exp1 = 234,
_Exp2 = 240,
_Exp3 = 252,
_Exp4 = 267,
_Exp5 = 276,
_Exp6 = 297,
_Exp7 = 303,
_Exp8 = 309,
_Exp9 = 315,
_Exp10 = 321,
_Exp11 = 329,
_Expression = 335,
_SwitchCase = 338,
_Block = 344,
_ElseStat = 352,
_If = 356,
_ForOperator = -1,
_VirtualStatement = 370,
_CoStatement = 391,
_CoProvider = 403,
_StateSwitchHead = 408,
_StateSwitchArgument = 422,
_StateSwitchCase = 425,
_StateStatement = 436,
_Statement = 456,
_StateInput = 496,
_StateDecl = 505,
_StateMachine = 515,
_Attribute = 522,
_Namespace = 531,
_FunctionArgument = 538,
_FunctionArgumentList = -1,
_FunctionStat = 544,
_FunctionBody = -1,
_FunctionKind = -1,
_Function = 548,
_Variable = 572,
_Event = 581,
_Property = 590,
_StaticInit = 603,
_BaseConstructorCall = 607,
_ConstructorType = -1,
_Constructor = 615,
_Destructor = 628,
_ClassBody = -1,
_Class = 632,
_EnumItemNumber = -1,
_EnumItemInt = 660,
_EnumItemFlags = -1,
_EnumItem = 663,
_EnumItemWithFlags = 670,
_Enum = 680,
_StructMember = 694,
_Struct = 701,
_APConfig = -1,
_AutoPropertyKind = -1,
_AutoProperty = 708,
_CastResultInterface = 735,
_DeclarationCandidates = 745,
_Declaration = 760,
_UsingFragment = 764,
_UsingItem = 768,
_UsingPath = 772,
_ModuleBody = -1,
_Module = 779,
};
const wchar_t* ParserRuleName(vl::vint index);
+1 -1
View File
@@ -229,7 +229,7 @@ int main(int argc, char* argv[])
auto indexItem = regexNamespace.CaptureNames().IndexOf(L"item");
READ_ATTRIBUTE(global.name, config->rootElement, L"name", L"/Parser@name");
READ_ELEMENT_ITEMS(global.includes, regexIncludes, config->rootElement, L"Includes", L"/Parser/Includes");
READ_ELEMENT_ITEMS(global.astIncludes, regexIncludes, config->rootElement, L"Includes", L"/Parser/Includes");
READ_ELEMENT_ITEMS(global.cppNss, regexNamespace, config->rootElement, L"CppNamespace", L"/Parser/CppNamespace");
READ_ELEMENT(global.headerGuard, config->rootElement, L"HeaderGuard", L"/Parser/HeaderGuard");
{
Binary file not shown.
Binary file not shown.