diff --git a/.gitignore b/.gitignore index 7e7315e..6944596 100644 --- a/.gitignore +++ b/.gitignore @@ -98,12 +98,9 @@ __recovery/ *.identcache # Build output directories -Win32/Debug/ -Win32/Release/ -Win64/Debug/ -Win64/Release/ -Win64x/Debug/ -Win64x/Release/ +Win32/ +Win64/ +Win64x/ # Castalia statistics file (since XE7 Castalia is distributed with Delphi) *.stat diff --git a/CPB/ReportLocalizationCPB.cbproj b/CPB/ReportLocalizationCPB.cbproj index 24481d6..dc948f7 100644 --- a/CPB/ReportLocalizationCPB.cbproj +++ b/CPB/ReportLocalizationCPB.cbproj @@ -1,1327 +1,1356 @@ - - - {76F1AA97-5019-4265-9AA0-C0E1C8CF2A4A} - 20.3 - VCL - ReportLocalizationCPB.cpp - Application - True - Debug - Win64x - ReportLocalizationCPB - 1048579 - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Cfg_1 - true - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - true - Cfg_2 - true - true - - - true - Cfg_2 - true - true - - - JPHNE - true - true - .\$(Platform)\$(Config) - ..\ - false - true - true - $(BDSLIB)\$(PLATFORM)\release\$(LANGDIR);$(ILINK_TranslatedLibraryPath) - CppVCLApplication - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - rtl.lib;vcl.lib;dbrtl.lib;cxLibraryRS29.lib;dxGDIPlusRS29.lib;dxCoreRS29.lib;dbexpress.lib;DbxCommonDriver.lib;vclwinx.lib;vclimg.lib;bindengine.lib;vcldb.lib;vclie.lib;vcledge.lib;vclx.lib;cxGridRS29.lib;cxExportRS29.lib;dxSpreadSheetCoreRS29.lib;dxComnRS29.lib;dxSpreadSheetRS29.lib;xmlrtl.lib;dxServerModeRS29.lib;dxmdsRS29.lib;dxReportsRS29.lib;dxPSCoreRS29.lib;dxPSdxPDFViewerLnkRS29.lib;dxPDFViewerRS29.lib - <_TCHARMapping>wchar_t - true - $(BDS)\bin\cbuilder_PROJECTICON.ico - $(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_150.png - ReportLocalizationCPB - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - adortl;appanalytics;bcbie;bcbsmp;bindcomp;bindcompdbx;bindcompfmx;bindcompvcl;bindcompvclsmp;bindcompvclwinx;bindengine;CloudService;CustomIPTransport;cxADOAdaptersRS29;cxExportRS29;cxFireDACAdaptersRS29;cxGridEMFRS29;cxGridRS29;cxLibraryRS29;cxPivotGridChartRS29;cxPivotGridOLAPRS29;cxPivotGridRS29;cxSchedulerGridRS29;cxSchedulerRibbonStyleEventEditorRS29;cxSchedulerRS29;cxSchedulerTreeBrowserRS29;cxSchedulerWebServiceStorageRS29;cxTreeListdxBarPopupMenuRS29;cxTreeListRS29;cxVerticalGridRS29;DataSnapClient;DataSnapCommon;DataSnapConnectors;DatasnapConnectorsFreePascal;DataSnapFireDAC;DataSnapIndy10ServerTransport;DataSnapNativeClient;DataSnapProviderClient;DataSnapServer;DataSnapServerMidas;dbexpress;dbrtl;dbxcds;DbxClientDriver;DbxCommonDriver;DBXDb2Driver;DBXFirebirdDriver;DBXInformixDriver;DBXInterBaseDriver;DBXMSSQLDriver;DBXMySQLDriver;DBXOdbcDriver;DBXOracleDriver;DBXSqliteDriver;DBXSybaseASADriver;DBXSybaseASEDriver;dsnap;dsnapcon;dsnapxml;dxADOEMFRS29;dxADOServerModeRS29;dxBarDBNavRS29;dxBarExtDBItemsRS29;dxBarExtItemsRS29;dxBarRS29;dxChartControlRS29;dxCloudServiceLibraryRS29;dxComnRS29;dxCoreRS29;dxdborRS29;dxdbtrRS29;dxDBXServerModeRS29;dxDockingRS29;dxEMFRS29;dxFireDACEMFRS29;dxFireDACServerModeRS29;dxFlowChartAdvancedCustomizeFormRS29;dxFlowChartDesignerRS29;dxFlowChartLayoutsRS29;dxFlowChartRS29;dxGanttControlRS29;dxGaugeControlRS29;dxGDIPlusRS29;dxHttpIndyRequestRS29;dxMapControlRS29;dxmdsRS29;dxNavBarRS29;dxOrgChartAdvancedCustomizeFormRS29;dxorgcRS29;dxPDFViewerRS29;dxPSCoreRS29;dxPScxCommonRS29;dxPScxExtCommonRS29;dxPScxGridLnkRS29;dxPScxPCProdRS29;dxPScxPivotGridLnkRS29;dxPScxSchedulerLnkRS29;dxPScxTLLnkRS29;dxPScxVGridLnkRS29;dxPSDBTeeChartRS29;dxPSdxChartControlLnkRS29;dxPSdxDBOCLnkRS29;dxPSdxDBTVLnkRS29;dxPSdxFCLnkRS29;dxPSdxGaugeControlLnkRS29;dxPSdxLCLnkRS29;dxPSdxMapControlLnkRS29;dxPSdxOCLnkRS29;dxPSdxPDFViewerLnkRS29;dxPSdxSpreadSheetLnkRS29;dxPSLnksRS29;dxPsPrVwAdvRS29;dxPSPrVwRibbonRS29;dxPSRichEditControlLnkRS29;dxPSTeeChartRS29;dxReportsRS29;dxRibbonCustomizationFormRS29;dxRibbonRS29;dxRichEditControlCoreRS29;dxRichEditControlRS29;dxRichEditCoreRS29;dxRichEditDocumentModelRS29;dxServerModeRS29;dxSkinsCoreRS29;dxSpellCheckerRS29;dxSpreadSheetConditionalFormattingDialogsRS29;dxSpreadSheetCoreConditionalFormattingDialogsRS29;dxSpreadSheetCoreRS29;dxSpreadSheetReportDesignerRS29;dxSpreadSheetRS29;dxTabbedMDIRS29;dxTileControlRS29;dxtrmdRS29;dxWizardControlRS29;emsclient;emsclientfiredac;emsedge;emshosting;emsserverresource;FireDAC;FireDACADSDriver;FireDACASADriver;FireDACCommon;FireDACCommonDriver;FireDACCommonODBC;FireDACDb2Driver;FireDACDBXDriver;FireDACDSDriver;FireDACIBDriver;FireDACInfxDriver;FireDACMongoDBDriver;FireDACMSAccDriver;FireDACMSSQLDriver;FireDACMySQLDriver;FireDACODBCDriver;FireDACOracleDriver;FireDACPgDriver;FireDACSqliteDriver;FireDACTDataDriver;fmx;fmxase;fmxdae;fmxFireDAC;fmxobj;FMXTee;FmxTeeUI;IndyCore;IndyIPClient;IndyIPCommon;IndyIPServer;IndyProtocols;IndySystem;inet;inetdb;inetdbxpress;inetstn;RESTBackendComponents;RESTComponents;rtl;Skia;soapmidas;soaprtl;soapserver;Tee;TeeDB;TeeUI;tethering;vcl;vclactnband;vcldb;vcldsnap;vcledge;vclFireDAC;vclie;vclimg;VCLRESTComponents;VclSmp;vcltouch;vclwinx;vclx;xmlrtl;$(PackageImports) - $(BDSINCLUDE)\windows\vcl;$(IncludePath) - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - true - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - $(BDS)\bin\default_app.manifest - ReportLocalizationCPBPCH1.h - - - adortl;appanalytics;bcbie;bcbsmp;bindcomp;bindcompdbx;bindcompfmx;bindcompvcl;bindcompvclsmp;bindcompvclwinx;bindengine;CloudService;CustomIPTransport;cxADOAdaptersRS29;cxExportRS29;cxFireDACAdaptersRS29;cxGridEMFRS29;cxGridRS29;cxLibraryRS29;cxPivotGridChartRS29;cxPivotGridOLAPRS29;cxPivotGridRS29;cxSchedulerGridRS29;cxSchedulerRibbonStyleEventEditorRS29;cxSchedulerRS29;cxSchedulerTreeBrowserRS29;cxSchedulerWebServiceStorageRS29;cxTreeListdxBarPopupMenuRS29;cxTreeListRS29;cxVerticalGridRS29;DataSnapClient;DataSnapCommon;DataSnapConnectors;DatasnapConnectorsFreePascal;DataSnapFireDAC;DataSnapIndy10ServerTransport;DataSnapNativeClient;DataSnapProviderClient;DataSnapServer;DataSnapServerMidas;dbexpress;dbrtl;dbxcds;DbxClientDriver;DbxCommonDriver;DBXDb2Driver;DBXFirebirdDriver;DBXInformixDriver;DBXInterBaseDriver;DBXMSSQLDriver;DBXMySQLDriver;DBXOdbcDriver;DBXOracleDriver;DBXSqliteDriver;DBXSybaseASADriver;DBXSybaseASEDriver;dsnap;dsnapcon;dsnapxml;dxADOEMFRS29;dxADOServerModeRS29;dxBarDBNavRS29;dxBarExtDBItemsRS29;dxBarExtItemsRS29;dxBarRS29;dxChartControlRS29;dxCloudServiceLibraryRS29;dxComnRS29;dxCoreRS29;dxdborRS29;dxdbtrRS29;dxDBXServerModeRS29;dxDockingRS29;dxEMFRS29;dxFireDACEMFRS29;dxFireDACServerModeRS29;dxFlowChartAdvancedCustomizeFormRS29;dxFlowChartDesignerRS29;dxFlowChartLayoutsRS29;dxFlowChartRS29;dxGanttControlRS29;dxGaugeControlRS29;dxGDIPlusRS29;dxHttpIndyRequestRS29;dxMapControlRS29;dxmdsRS29;dxNavBarRS29;dxOrgChartAdvancedCustomizeFormRS29;dxorgcRS29;dxPDFViewerRS29;dxPSCoreRS29;dxPScxCommonRS29;dxPScxExtCommonRS29;dxPScxGridLnkRS29;dxPScxPCProdRS29;dxPScxPivotGridLnkRS29;dxPScxSchedulerLnkRS29;dxPScxTLLnkRS29;dxPScxVGridLnkRS29;dxPSDBTeeChartRS29;dxPSdxChartControlLnkRS29;dxPSdxDBOCLnkRS29;dxPSdxDBTVLnkRS29;dxPSdxFCLnkRS29;dxPSdxGaugeControlLnkRS29;dxPSdxLCLnkRS29;dxPSdxMapControlLnkRS29;dxPSdxOCLnkRS29;dxPSdxPDFViewerLnkRS29;dxPSdxSpreadSheetLnkRS29;dxPSLnksRS29;dxPsPrVwAdvRS29;dxPSPrVwRibbonRS29;dxPSRichEditControlLnkRS29;dxPSTeeChartRS29;dxReportsRS29;dxRibbonCustomizationFormRS29;dxRibbonRS29;dxRichEditControlCoreRS29;dxRichEditControlRS29;dxRichEditCoreRS29;dxRichEditDocumentModelRS29;dxServerModeRS29;dxSkinsCoreRS29;dxSpellCheckerRS29;dxSpreadSheetConditionalFormattingDialogsRS29;dxSpreadSheetCoreConditionalFormattingDialogsRS29;dxSpreadSheetCoreRS29;dxSpreadSheetReportDesignerRS29;dxSpreadSheetRS29;dxTabbedMDIRS29;dxTileControlRS29;dxtrmdRS29;dxWizardControlRS29;emsclient;emsclientfiredac;emsedge;emshosting;emsserverresource;FireDAC;FireDACADSDriver;FireDACASADriver;FireDACCommon;FireDACCommonDriver;FireDACCommonODBC;FireDACDb2Driver;FireDACDBXDriver;FireDACDSDriver;FireDACIBDriver;FireDACInfxDriver;FireDACMongoDBDriver;FireDACMSAccDriver;FireDACMSSQLDriver;FireDACMySQLDriver;FireDACODBCDriver;FireDACOracleDriver;FireDACPgDriver;FireDACSqliteDriver;FireDACTDataDriver;fmx;fmxase;fmxdae;fmxFireDAC;fmxobj;FMXTee;FmxTeeUI;IndyCore;IndyIPClient;IndyIPCommon;IndyIPServer;IndyProtocols;IndySystem;inet;inetdb;inetdbxpress;inetstn;RESTBackendComponents;RESTComponents;rtl;Skia;soapmidas;soaprtl;soapserver;Tee;TeeDB;TeeUI;tethering;vcl;vclactnband;vcldb;vcldsnap;vcledge;vclFireDAC;vclie;vclimg;VCLRESTComponents;VclSmp;vcltouch;vclwinx;vclx;xmlrtl;$(PackageImports) - $(BDSINCLUDE)\windows\vcl;$(IncludePath) - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) - Debug - true - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - $(BDS)\bin\default_app.manifest - ReportLocalizationCPBPCH1.h - - - adortl;bindcomp;bindcompdbx;bindcompfmx;bindcompvcl;bindcompvclsmp;bindcompvclwinx;bindengine;CloudService;CustomIPTransport;cxADOAdaptersRS29;cxExportRS29;cxFireDACAdaptersRS29;cxGridEMFRS29;cxGridRS29;cxLibraryRS29;cxPivotGridChartRS29;cxPivotGridOLAPRS29;cxPivotGridRS29;cxSchedulerGridRS29;cxSchedulerRibbonStyleEventEditorRS29;cxSchedulerRS29;cxSchedulerTreeBrowserRS29;cxSchedulerWebServiceStorageRS29;cxTreeListdxBarPopupMenuRS29;cxTreeListRS29;cxVerticalGridRS29;DataSnapClient;DataSnapCommon;DataSnapConnectors;DatasnapConnectorsFreePascal;DataSnapFireDAC;DataSnapIndy10ServerTransport;DataSnapNativeClient;DataSnapProviderClient;DataSnapServer;DataSnapServerMidas;dbexpress;dbrtl;dbxcds;DbxClientDriver;DbxCommonDriver;DBXDb2Driver;DBXFirebirdDriver;DBXInformixDriver;DBXInterBaseDriver;DBXMSSQLDriver;DBXMySQLDriver;DBXOdbcDriver;DBXOracleDriver;DBXSqliteDriver;DBXSybaseASADriver;DBXSybaseASEDriver;dsnap;dsnapcon;dsnapxml;dxADOEMFRS29;dxADOServerModeRS29;dxBarDBNavRS29;dxBarExtDBItemsRS29;dxBarExtItemsRS29;dxBarRS29;dxChartControlRS29;dxCloudServiceLibraryRS29;dxComnRS29;dxCoreRS29;dxdborRS29;dxdbtrRS29;dxDBXServerModeRS29;dxDockingRS29;dxEMFRS29;dxFireDACEMFRS29;dxFireDACServerModeRS29;dxFlowChartAdvancedCustomizeFormRS29;dxFlowChartDesignerRS29;dxFlowChartLayoutsRS29;dxFlowChartRS29;dxGanttControlRS29;dxGaugeControlRS29;dxGDIPlusRS29;dxHttpIndyRequestRS29;dxMapControlRS29;dxmdsRS29;dxNavBarRS29;dxOrgChartAdvancedCustomizeFormRS29;dxorgcRS29;dxPDFViewerRS29;dxPSCoreRS29;dxPScxCommonRS29;dxPScxExtCommonRS29;dxPScxGridLnkRS29;dxPScxPCProdRS29;dxPScxPivotGridLnkRS29;dxPScxSchedulerLnkRS29;dxPScxTLLnkRS29;dxPScxVGridLnkRS29;dxPSDBTeeChartRS29;dxPSdxChartControlLnkRS29;dxPSdxDBOCLnkRS29;dxPSdxDBTVLnkRS29;dxPSdxFCLnkRS29;dxPSdxGaugeControlLnkRS29;dxPSdxLCLnkRS29;dxPSdxMapControlLnkRS29;dxPSdxOCLnkRS29;dxPSdxPDFViewerLnkRS29;dxPSdxSpreadSheetLnkRS29;dxPSLnksRS29;dxPsPrVwAdvRS29;dxPSPrVwRibbonRS29;dxPSRichEditControlLnkRS29;dxPSTeeChartRS29;dxReportsRS29;dxRibbonCustomizationFormRS29;dxRibbonRS29;dxRichEditControlCoreRS29;dxRichEditControlRS29;dxRichEditCoreRS29;dxRichEditDocumentModelRS29;dxServerModeRS29;dxSkinsCoreRS29;dxSpellCheckerRS29;dxSpreadSheetConditionalFormattingDialogsRS29;dxSpreadSheetCoreConditionalFormattingDialogsRS29;dxSpreadSheetCoreRS29;dxSpreadSheetReportDesignerRS29;dxSpreadSheetRS29;dxTabbedMDIRS29;dxTileControlRS29;dxtrmdRS29;dxWizardControlRS29;emsclient;emsclientfiredac;emsedge;emshosting;emsserverresource;FireDAC;FireDACADSDriver;FireDACASADriver;FireDACCommon;FireDACCommonDriver;FireDACCommonODBC;FireDACDb2Driver;FireDACDBXDriver;FireDACDSDriver;FireDACIBDriver;FireDACInfxDriver;FireDACMongoDBDriver;FireDACMSAccDriver;FireDACMSSQLDriver;FireDACMySQLDriver;FireDACODBCDriver;FireDACOracleDriver;FireDACPgDriver;FireDACSqliteDriver;FireDACTDataDriver;fmx;fmxase;fmxdae;fmxFireDAC;fmxobj;FMXTee;FmxTeeUI;IndyCore;IndyIPClient;IndyIPCommon;IndyIPServer;IndyProtocols;IndySystem;inet;inetdb;inetdbxpress;inetstn;RESTBackendComponents;RESTComponents;rtl;Skia;soapmidas;soaprtl;soapserver;Tee;TeeDB;TeeUI;tethering;vcl;vclactnband;vcldb;vcldsnap;vcledge;vclFireDAC;vclie;vclimg;VCLRESTComponents;VclSmp;vcltouch;vclwinx;vclx;xmlrtl;$(PackageImports) - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) - Debug - true - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - $(BDS)\bin\default_app.manifest - true - ReportLocalizationCPBPCH1.h - - - false - true - false - true - _DEBUG;$(Defines) - false - None - DEBUG - true - true - true - true - Full - true - true - true - true - true - $(BDSLIB)\$(PLATFORM)\debug;$(ILINK_LibraryPath) - $(BDSLIB)\$(PLATFORM)\debug\$(LANGDIR);$(ILINK_TranslatedLibraryPath) - - - PerMonitorV2 - false - $(BDSLIB)\$(PLATFORM)$(CC_SUFFIX)\debug;$(ILINK_LibraryPath) - ..\ - false - true - - - - PerMonitorV2 - true - 1033 - - - PerMonitorV2 - rtl.bpi;vcl.bpi;dbrtl.bpi;cxLibraryRS29.bpi;dxGDIPlusRS29.bpi;dxCoreRS29.bpi;dbexpress.bpi;DbxCommonDriver.bpi;vclwinx.bpi;vclimg.bpi;bindengine.bpi;vcldb.bpi;vclie.bpi;vcledge.bpi;vclx.bpi;cxGridRS29.bpi;cxExportRS29.bpi;dxSpreadSheetCoreRS29.bpi;dxComnRS29.bpi;dxSpreadSheetRS29.bpi;xmlrtl.bpi;dxServerModeRS29.bpi;dxmdsRS29.bpi;dxReportsRS29.bpi;dxPSCoreRS29.bpi;dxPSdxPDFViewerLnkRS29.bpi;dxPDFViewerRS29.bpi - true - - - NDEBUG;$(Defines) - None - - - PerMonitorV2 - false - - - PerMonitorV2 - - - PerMonitorV2 - - - - 0 - - - 1 - true - - -
DataModule1
- dfm - TDataModule - uData.h - 3 -
- -
MainForm
- dfm - uMainForm.h - 2 -
- - - - Base - - - Cfg_1 - Base - - - Cfg_2 - Base - -
- - CPlusPlusBuilder.Personality.12 - CppVCLApplication - - - - False - True - True - False - - - ReportLocalizationCPB.cpp - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - ReportLocalizationCPB.exe - true - - - - - ReportLocalizationCPB.pdb - true - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-anydpi-v21 - 1 - - - res\drawable-anydpi-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values-v31 - 1 - - - res\values-v31 - 1 - - - - - res\values-v35 - 1 - - - res\values-v35 - 1 - - - - - res\drawable-anydpi-v26 - 1 - - - res\drawable-anydpi-v26 - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-anydpi-v33 - 1 - - - res\drawable-anydpi-v33 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-night-v21 - 1 - - - res\values-night-v21 - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable-anydpi-v24 - 1 - - - res\drawable-anydpi-v24 - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-night-anydpi-v21 - 1 - - - res\drawable-night-anydpi-v21 - 1 - - - - - res\drawable-anydpi-v31 - 1 - - - res\drawable-anydpi-v31 - 1 - - - - - res\drawable-night-anydpi-v31 - 1 - - - res\drawable-night-anydpi-v31 - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen - 64 - - - ..\$(PROJECTNAME).launchscreen - 64 - - - - - 1 - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - Assets - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset - 1 - - - - - - - - - - - - - - - - - True - True - True - - - 12 - - - - - - - False - - False - copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" $(OUTPUTDIR) - False - - - - False - - False - copy /Y "$(BDS)\Redist\win64\WebView2Loader.dll" $(OUTPUTDIR) - False - - - - False - - False - copy /Y "$(BDS)\Redist\win64\WebView2Loader.dll" $(OUTPUTDIR) - False - - - - False - - False - copy /Y "$(BDS)\Redist\win64\WebView2Loader.dll" $(OUTPUTDIR) - False - - - - False - - False - copy /Y "$(BDS)\Redist\win64\WebView2Loader.dll" $(OUTPUTDIR) - False - - - - False - - False - copy /Y "$(BDS)\Redist\win64\WebView2Loader.dll" $(OUTPUTDIR) - False - -
+ + + {76F1AA97-5019-4265-9AA0-C0E1C8CF2A4A} + 20.3 + VCL + ReportLocalizationCPB.cpp + Application + True + Debug + Win64x + ReportLocalizationCPB + 1048579 + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + JPHNE + true + true + .\$(Platform)\$(Config) + ..\ + false + true + true + $(BDSLIB)\$(PLATFORM)\release\$(LANGDIR);$(ILINK_TranslatedLibraryPath) + CppVCLApplication + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + rtl.lib;vcl.lib;dbrtl.lib;dbexpress.lib;DbxCommonDriver.lib;vclwinx.lib;vclimg.lib;bindengine.lib;vcldb.lib;vclie.lib;vcledge.lib;vclx.lib;xmlrtl.lib;cxLibraryRS37.lib;dxGDIPlusRS37.lib;dxCoreRS37.lib;dxmdsRS37.lib;dxBackendRS37.lib;dxPSCoreRS37.lib;dxComnRS37.lib;dxPSdxPDFViewerLnkRS37.lib;dxPDFViewerRS37.lib;dxReportsRS37.lib + <_TCHARMapping>wchar_t + true + $(BDS)\bin\cbuilder_PROJECTICON.ico + $(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_150.png + ReportLocalizationCPB + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + adortl;appanalytics;bcbie;bcbsmp;bindcomp;bindcompdbx;bindcompfmx;bindcompvcl;bindcompvclsmp;bindcompvclwinx;bindengine;CloudService;CustomIPTransport;cxADOAdaptersRS29;cxExportRS29;cxFireDACAdaptersRS29;cxGridEMFRS29;cxGridRS29;cxLibraryRS29;cxPivotGridChartRS29;cxPivotGridOLAPRS29;cxPivotGridRS29;cxSchedulerGridRS29;cxSchedulerRibbonStyleEventEditorRS29;cxSchedulerRS29;cxSchedulerTreeBrowserRS29;cxSchedulerWebServiceStorageRS29;cxTreeListdxBarPopupMenuRS29;cxTreeListRS29;cxVerticalGridRS29;DataSnapClient;DataSnapCommon;DataSnapConnectors;DatasnapConnectorsFreePascal;DataSnapFireDAC;DataSnapIndy10ServerTransport;DataSnapNativeClient;DataSnapProviderClient;DataSnapServer;DataSnapServerMidas;dbexpress;dbrtl;dbxcds;DbxClientDriver;DbxCommonDriver;DBXDb2Driver;DBXFirebirdDriver;DBXInformixDriver;DBXInterBaseDriver;DBXMSSQLDriver;DBXMySQLDriver;DBXOdbcDriver;DBXOracleDriver;DBXSqliteDriver;DBXSybaseASADriver;DBXSybaseASEDriver;dsnap;dsnapcon;dsnapxml;dxADOEMFRS29;dxADOServerModeRS29;dxBarDBNavRS29;dxBarExtDBItemsRS29;dxBarExtItemsRS29;dxBarRS29;dxChartControlRS29;dxCloudServiceLibraryRS29;dxComnRS29;dxCoreRS29;dxdborRS29;dxdbtrRS29;dxDBXServerModeRS29;dxDockingRS29;dxEMFRS29;dxFireDACEMFRS29;dxFireDACServerModeRS29;dxFlowChartAdvancedCustomizeFormRS29;dxFlowChartDesignerRS29;dxFlowChartLayoutsRS29;dxFlowChartRS29;dxGanttControlRS29;dxGaugeControlRS29;dxGDIPlusRS29;dxHttpIndyRequestRS29;dxMapControlRS29;dxmdsRS29;dxNavBarRS29;dxOrgChartAdvancedCustomizeFormRS29;dxorgcRS29;dxPDFViewerRS29;dxPSCoreRS29;dxPScxCommonRS29;dxPScxExtCommonRS29;dxPScxGridLnkRS29;dxPScxPCProdRS29;dxPScxPivotGridLnkRS29;dxPScxSchedulerLnkRS29;dxPScxTLLnkRS29;dxPScxVGridLnkRS29;dxPSDBTeeChartRS29;dxPSdxChartControlLnkRS29;dxPSdxDBOCLnkRS29;dxPSdxDBTVLnkRS29;dxPSdxFCLnkRS29;dxPSdxGaugeControlLnkRS29;dxPSdxLCLnkRS29;dxPSdxMapControlLnkRS29;dxPSdxOCLnkRS29;dxPSdxPDFViewerLnkRS29;dxPSdxSpreadSheetLnkRS29;dxPSLnksRS29;dxPsPrVwAdvRS29;dxPSPrVwRibbonRS29;dxPSRichEditControlLnkRS29;dxPSTeeChartRS29;dxReportsRS29;dxRibbonCustomizationFormRS29;dxRibbonRS29;dxRichEditControlCoreRS29;dxRichEditControlRS29;dxRichEditCoreRS29;dxRichEditDocumentModelRS29;dxServerModeRS29;dxSkinsCoreRS29;dxSpellCheckerRS29;dxSpreadSheetConditionalFormattingDialogsRS29;dxSpreadSheetCoreConditionalFormattingDialogsRS29;dxSpreadSheetCoreRS29;dxSpreadSheetReportDesignerRS29;dxSpreadSheetRS29;dxTabbedMDIRS29;dxTileControlRS29;dxtrmdRS29;dxWizardControlRS29;emsclient;emsclientfiredac;emsedge;emshosting;emsserverresource;FireDAC;FireDACADSDriver;FireDACASADriver;FireDACCommon;FireDACCommonDriver;FireDACCommonODBC;FireDACDb2Driver;FireDACDBXDriver;FireDACDSDriver;FireDACIBDriver;FireDACInfxDriver;FireDACMongoDBDriver;FireDACMSAccDriver;FireDACMSSQLDriver;FireDACMySQLDriver;FireDACODBCDriver;FireDACOracleDriver;FireDACPgDriver;FireDACSqliteDriver;FireDACTDataDriver;fmx;fmxase;fmxdae;fmxFireDAC;fmxobj;FMXTee;FmxTeeUI;IndyCore;IndyIPClient;IndyIPCommon;IndyIPServer;IndyProtocols;IndySystem;inet;inetdb;inetdbxpress;inetstn;RESTBackendComponents;RESTComponents;rtl;Skia;soapmidas;soaprtl;soapserver;Tee;TeeDB;TeeUI;tethering;vcl;vclactnband;vcldb;vcldsnap;vcledge;vclFireDAC;vclie;vclimg;VCLRESTComponents;VclSmp;vcltouch;vclwinx;vclx;xmlrtl;$(PackageImports) + $(BDSINCLUDE)\windows\vcl;$(IncludePath) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + ReportLocalizationCPBPCH1.h + + + adortl;appanalytics;bcbie;bcbsmp;bindcomp;bindcompdbx;bindcompfmx;bindcompvcl;bindcompvclsmp;bindcompvclwinx;bindengine;CloudService;CustomIPTransport;cxADOAdaptersRS29;cxExportRS29;cxFireDACAdaptersRS29;cxGridEMFRS29;cxGridRS29;cxLibraryRS29;cxPivotGridChartRS29;cxPivotGridOLAPRS29;cxPivotGridRS29;cxSchedulerGridRS29;cxSchedulerRibbonStyleEventEditorRS29;cxSchedulerRS29;cxSchedulerTreeBrowserRS29;cxSchedulerWebServiceStorageRS29;cxTreeListdxBarPopupMenuRS29;cxTreeListRS29;cxVerticalGridRS29;DataSnapClient;DataSnapCommon;DataSnapConnectors;DatasnapConnectorsFreePascal;DataSnapFireDAC;DataSnapIndy10ServerTransport;DataSnapNativeClient;DataSnapProviderClient;DataSnapServer;DataSnapServerMidas;dbexpress;dbrtl;dbxcds;DbxClientDriver;DbxCommonDriver;DBXDb2Driver;DBXFirebirdDriver;DBXInformixDriver;DBXInterBaseDriver;DBXMSSQLDriver;DBXMySQLDriver;DBXOdbcDriver;DBXOracleDriver;DBXSqliteDriver;DBXSybaseASADriver;DBXSybaseASEDriver;dsnap;dsnapcon;dsnapxml;dxADOEMFRS29;dxADOServerModeRS29;dxBarDBNavRS29;dxBarExtDBItemsRS29;dxBarExtItemsRS29;dxBarRS29;dxChartControlRS29;dxCloudServiceLibraryRS29;dxComnRS29;dxCoreRS29;dxdborRS29;dxdbtrRS29;dxDBXServerModeRS29;dxDockingRS29;dxEMFRS29;dxFireDACEMFRS29;dxFireDACServerModeRS29;dxFlowChartAdvancedCustomizeFormRS29;dxFlowChartDesignerRS29;dxFlowChartLayoutsRS29;dxFlowChartRS29;dxGanttControlRS29;dxGaugeControlRS29;dxGDIPlusRS29;dxHttpIndyRequestRS29;dxMapControlRS29;dxmdsRS29;dxNavBarRS29;dxOrgChartAdvancedCustomizeFormRS29;dxorgcRS29;dxPDFViewerRS29;dxPSCoreRS29;dxPScxCommonRS29;dxPScxExtCommonRS29;dxPScxGridLnkRS29;dxPScxPCProdRS29;dxPScxPivotGridLnkRS29;dxPScxSchedulerLnkRS29;dxPScxTLLnkRS29;dxPScxVGridLnkRS29;dxPSDBTeeChartRS29;dxPSdxChartControlLnkRS29;dxPSdxDBOCLnkRS29;dxPSdxDBTVLnkRS29;dxPSdxFCLnkRS29;dxPSdxGaugeControlLnkRS29;dxPSdxLCLnkRS29;dxPSdxMapControlLnkRS29;dxPSdxOCLnkRS29;dxPSdxPDFViewerLnkRS29;dxPSdxSpreadSheetLnkRS29;dxPSLnksRS29;dxPsPrVwAdvRS29;dxPSPrVwRibbonRS29;dxPSRichEditControlLnkRS29;dxPSTeeChartRS29;dxReportsRS29;dxRibbonCustomizationFormRS29;dxRibbonRS29;dxRichEditControlCoreRS29;dxRichEditControlRS29;dxRichEditCoreRS29;dxRichEditDocumentModelRS29;dxServerModeRS29;dxSkinsCoreRS29;dxSpellCheckerRS29;dxSpreadSheetConditionalFormattingDialogsRS29;dxSpreadSheetCoreConditionalFormattingDialogsRS29;dxSpreadSheetCoreRS29;dxSpreadSheetReportDesignerRS29;dxSpreadSheetRS29;dxTabbedMDIRS29;dxTileControlRS29;dxtrmdRS29;dxWizardControlRS29;emsclient;emsclientfiredac;emsedge;emshosting;emsserverresource;FireDAC;FireDACADSDriver;FireDACASADriver;FireDACCommon;FireDACCommonDriver;FireDACCommonODBC;FireDACDb2Driver;FireDACDBXDriver;FireDACDSDriver;FireDACIBDriver;FireDACInfxDriver;FireDACMongoDBDriver;FireDACMSAccDriver;FireDACMSSQLDriver;FireDACMySQLDriver;FireDACODBCDriver;FireDACOracleDriver;FireDACPgDriver;FireDACSqliteDriver;FireDACTDataDriver;fmx;fmxase;fmxdae;fmxFireDAC;fmxobj;FMXTee;FmxTeeUI;IndyCore;IndyIPClient;IndyIPCommon;IndyIPServer;IndyProtocols;IndySystem;inet;inetdb;inetdbxpress;inetstn;RESTBackendComponents;RESTComponents;rtl;Skia;soapmidas;soaprtl;soapserver;Tee;TeeDB;TeeUI;tethering;vcl;vclactnband;vcldb;vcldsnap;vcledge;vclFireDAC;vclie;vclimg;VCLRESTComponents;VclSmp;vcltouch;vclwinx;vclx;xmlrtl;$(PackageImports) + $(BDSINCLUDE)\windows\vcl;$(IncludePath) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + ReportLocalizationCPBPCH1.h + + + adortl;bindcomp;bindcompdbx;bindcompfmx;bindcompvcl;bindcompvclsmp;bindcompvclwinx;bindengine;CloudService;CustomIPTransport;cxADOAdaptersRS29;cxExportRS29;cxFireDACAdaptersRS29;cxGridEMFRS29;cxGridRS29;cxLibraryRS29;cxPivotGridChartRS29;cxPivotGridOLAPRS29;cxPivotGridRS29;cxSchedulerGridRS29;cxSchedulerRibbonStyleEventEditorRS29;cxSchedulerRS29;cxSchedulerTreeBrowserRS29;cxSchedulerWebServiceStorageRS29;cxTreeListdxBarPopupMenuRS29;cxTreeListRS29;cxVerticalGridRS29;DataSnapClient;DataSnapCommon;DataSnapConnectors;DatasnapConnectorsFreePascal;DataSnapFireDAC;DataSnapIndy10ServerTransport;DataSnapNativeClient;DataSnapProviderClient;DataSnapServer;DataSnapServerMidas;dbexpress;dbrtl;dbxcds;DbxClientDriver;DbxCommonDriver;DBXDb2Driver;DBXFirebirdDriver;DBXInformixDriver;DBXInterBaseDriver;DBXMSSQLDriver;DBXMySQLDriver;DBXOdbcDriver;DBXOracleDriver;DBXSqliteDriver;DBXSybaseASADriver;DBXSybaseASEDriver;dsnap;dsnapcon;dsnapxml;dxADOEMFRS29;dxADOServerModeRS29;dxBarDBNavRS29;dxBarExtDBItemsRS29;dxBarExtItemsRS29;dxBarRS29;dxChartControlRS29;dxCloudServiceLibraryRS29;dxComnRS29;dxCoreRS29;dxdborRS29;dxdbtrRS29;dxDBXServerModeRS29;dxDockingRS29;dxEMFRS29;dxFireDACEMFRS29;dxFireDACServerModeRS29;dxFlowChartAdvancedCustomizeFormRS29;dxFlowChartDesignerRS29;dxFlowChartLayoutsRS29;dxFlowChartRS29;dxGanttControlRS29;dxGaugeControlRS29;dxGDIPlusRS29;dxHttpIndyRequestRS29;dxMapControlRS29;dxmdsRS29;dxNavBarRS29;dxOrgChartAdvancedCustomizeFormRS29;dxorgcRS29;dxPDFViewerRS29;dxPSCoreRS29;dxPScxCommonRS29;dxPScxExtCommonRS29;dxPScxGridLnkRS29;dxPScxPCProdRS29;dxPScxPivotGridLnkRS29;dxPScxSchedulerLnkRS29;dxPScxTLLnkRS29;dxPScxVGridLnkRS29;dxPSDBTeeChartRS29;dxPSdxChartControlLnkRS29;dxPSdxDBOCLnkRS29;dxPSdxDBTVLnkRS29;dxPSdxFCLnkRS29;dxPSdxGaugeControlLnkRS29;dxPSdxLCLnkRS29;dxPSdxMapControlLnkRS29;dxPSdxOCLnkRS29;dxPSdxPDFViewerLnkRS29;dxPSdxSpreadSheetLnkRS29;dxPSLnksRS29;dxPsPrVwAdvRS29;dxPSPrVwRibbonRS29;dxPSRichEditControlLnkRS29;dxPSTeeChartRS29;dxReportsRS29;dxRibbonCustomizationFormRS29;dxRibbonRS29;dxRichEditControlCoreRS29;dxRichEditControlRS29;dxRichEditCoreRS29;dxRichEditDocumentModelRS29;dxServerModeRS29;dxSkinsCoreRS29;dxSpellCheckerRS29;dxSpreadSheetConditionalFormattingDialogsRS29;dxSpreadSheetCoreConditionalFormattingDialogsRS29;dxSpreadSheetCoreRS29;dxSpreadSheetReportDesignerRS29;dxSpreadSheetRS29;dxTabbedMDIRS29;dxTileControlRS29;dxtrmdRS29;dxWizardControlRS29;emsclient;emsclientfiredac;emsedge;emshosting;emsserverresource;FireDAC;FireDACADSDriver;FireDACASADriver;FireDACCommon;FireDACCommonDriver;FireDACCommonODBC;FireDACDb2Driver;FireDACDBXDriver;FireDACDSDriver;FireDACIBDriver;FireDACInfxDriver;FireDACMongoDBDriver;FireDACMSAccDriver;FireDACMSSQLDriver;FireDACMySQLDriver;FireDACODBCDriver;FireDACOracleDriver;FireDACPgDriver;FireDACSqliteDriver;FireDACTDataDriver;fmx;fmxase;fmxdae;fmxFireDAC;fmxobj;FMXTee;FmxTeeUI;IndyCore;IndyIPClient;IndyIPCommon;IndyIPServer;IndyProtocols;IndySystem;inet;inetdb;inetdbxpress;inetstn;RESTBackendComponents;RESTComponents;rtl;Skia;soapmidas;soaprtl;soapserver;Tee;TeeDB;TeeUI;tethering;vcl;vclactnband;vcldb;vcldsnap;vcledge;vclFireDAC;vclie;vclimg;VCLRESTComponents;VclSmp;vcltouch;vclwinx;vclx;xmlrtl;$(PackageImports) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + true + ReportLocalizationCPBPCH1.h + + + false + true + false + true + _DEBUG;$(Defines) + false + None + DEBUG + true + true + true + true + Full + true + true + true + true + true + $(BDSLIB)\$(PLATFORM)\debug;$(ILINK_LibraryPath) + $(BDSLIB)\$(PLATFORM)\debug\$(LANGDIR);$(ILINK_TranslatedLibraryPath) + + + PerMonitorV2 + false + $(BDSLIB)\$(PLATFORM)$(CC_SUFFIX)\debug;$(ILINK_LibraryPath) + ..\ + false + true + + + + PerMonitorV2 + true + 1033 + + + PerMonitorV2 + rtl.bpi;vcl.bpi;dbrtl.bpi;dbexpress.bpi;DbxCommonDriver.bpi;vclwinx.bpi;vclimg.bpi;bindengine.bpi;vcldb.bpi;vclie.bpi;vcledge.bpi;vclx.bpi;xmlrtl.bpi;cxLibraryRS37.bpi;dxGDIPlusRS37.bpi;dxCoreRS37.bpi;dxmdsRS37.bpi;dxBackendRS37.bpi;dxPSCoreRS37.bpi;dxComnRS37.bpi;dxPSdxPDFViewerLnkRS37.bpi;dxPDFViewerRS37.bpi;dxReportsRS37.bpi + true + ReportLocalizationCPB_Icon.ico + + + NDEBUG;$(Defines) + None + + + PerMonitorV2 + false + + + PerMonitorV2 + + + PerMonitorV2 + + + + 0 + + + 1 + true + + +
DataModule1
+ dfm + TDataModule + uData.h + 3 +
+ +
MainForm
+ dfm + uMainForm.h + 2 +
+ + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + +
+ + CPlusPlusBuilder.Personality.12 + CppVCLApplication + + + + False + True + True + False + + + ReportLocalizationCPB.cpp + + + Embarcadero C++Builder Office 2000 Servers Package + Embarcadero C++Builder Office XP Servers Package + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + ReportLocalizationCPB.exe + true + + + + + ReportLocalizationCPB.pdb + true + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-anydpi-v21 + 1 + + + res\drawable-anydpi-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values-v31 + 1 + + + res\values-v31 + 1 + + + + + res\values-v35 + 1 + + + res\values-v35 + 1 + + + + + res\drawable-anydpi-v26 + 1 + + + res\drawable-anydpi-v26 + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-anydpi-v33 + 1 + + + res\drawable-anydpi-v33 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-night-v21 + 1 + + + res\values-night-v21 + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable-anydpi-v24 + 1 + + + res\drawable-anydpi-v24 + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-night-anydpi-v21 + 1 + + + res\drawable-night-anydpi-v21 + 1 + + + + + res\drawable-anydpi-v31 + 1 + + + res\drawable-anydpi-v31 + 1 + + + + + res\drawable-night-anydpi-v31 + 1 + + + res\drawable-night-anydpi-v31 + 1 + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + ..\ + 1 + + + + + Contents + 1 + + + Contents + 1 + + + Contents + 1 + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen + 64 + + + ..\$(PROJECTNAME).launchscreen + 64 + + + + + 1 + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + Assets + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + + + + + + + + + + + + + True + True + True + + + 12 + + + + + + + False + + False + + False + + + + False + + False + copy /Y "$(BDS)\Redist\win64\WebView2Loader.dll" $(OUTPUTDIR) + False + + + + False + + False + copy /Y "$(BDS)\Redist\win64\WebView2Loader.dll" $(OUTPUTDIR) + False + + + + False + + False + copy /Y "$(BDS)\Redist\win64\WebView2Loader.dll" $(OUTPUTDIR) + False + + + + False + + False + copy /Y "$(BDS)\Redist\win64\WebView2Loader.dll" $(OUTPUTDIR) + False + + + + False + + False + copy /Y "$(BDS)\Redist\win64\WebView2Loader.dll" $(OUTPUTDIR) + False + +
diff --git a/CPB/ReportLocalizationCPB_Icon.ico b/CPB/ReportLocalizationCPB_Icon.ico new file mode 100644 index 0000000..60cda0a Binary files /dev/null and b/CPB/ReportLocalizationCPB_Icon.ico differ diff --git a/CPB/uMainForm.cpp b/CPB/uMainForm.cpp index ecfbe4d..f2260b5 100644 --- a/CPB/uMainForm.cpp +++ b/CPB/uMainForm.cpp @@ -1,76 +1,64 @@ -//--------------------------------------------------------------------------- - #include #pragma hdrstop #include "uMainForm.h" -//--------------------------------------------------------------------------- + #pragma package(smart_init) #pragma link "cxButtons" #pragma link "cxClasses" #pragma link "cxControls" -#pragma link "cxCustomData" -#pragma link "cxData" -#pragma link "cxDataStorage" -#pragma link "cxDBData" -#pragma link "cxEdit" -#pragma link "cxFilter" #pragma link "cxGraphics" -#pragma link "cxGrid" -#pragma link "cxGridCustomTableView" -#pragma link "cxGridCustomView" -#pragma link "cxGridDBTableView" -#pragma link "cxGridLevel" -#pragma link "cxGridTableView" #pragma link "cxLookAndFeelPainters" #pragma link "cxLookAndFeels" -#pragma link "cxNavigator" -#pragma link "cxStyles" -#pragma link "dxDateRanges" #pragma link "dxReport" - - -#pragma link "dxScrollbarAnnotations" #pragma link "dxmdaset" #pragma link "cxContainer" -#pragma link "cxLabel" +#pragma link "cxRadioGroup" +#pragma link "cxGroupBox" #pragma link "dxBackend" #pragma link "dxBackend.ConnectionString.JSON" #pragma link "dxBackend.ConnectionString.JSON.DataSet" #pragma resource "*.dfm" TMainForm *MainForm; -//--------------------------------------------------------------------------- + __fastcall TMainForm::TMainForm(TComponent* Owner) : TForm(Owner) { +} +void __fastcall TMainForm::FormCreate(TObject *Sender) +{ + // Path to a saved example report file + const String AFileName = "ExampleReport.repx"; + + // Load example report from a file + if (FileExists(AFileName)) + { + dxReport1->ReportName = "ExampleReport"; + dxReport1->Layout->LoadFromFile(AFileName); + } } -//--------------------------------------------------------------------------- -//--------------------------------------------------------------------------- -void __fastcall TMainForm::btnShowDesignerClick(TObject *Sender) +void __fastcall TMainForm::btnDisplayDesignerClick(TObject *Sender) { + // Display the DevExpress Report Designer dialog dxReport1->ShowDesigner(); } -//--------------------------------------------------------------------------- -void __fastcall TMainForm::btnViewReportClick(TObject *Sender) +void __fastcall TMainForm::btnDisplayReportClick(TObject *Sender) { + // Display the DevExpress Report Viewer dialog dxReport1->ShowViewer(); } -//--------------------------------------------------------------------------- - - -void __fastcall TMainForm::btnSetLanguageUSClick(TObject *Sender) +void __fastcall TMainForm::rbtnSelectEnglishLocalizationClick(TObject *Sender) { + // Switch Report UI to English dxReport1->Language = "en-US"; } -//--------------------------------------------------------------------------- -void __fastcall TMainForm::btnSetLanguageDEClick(TObject *Sender) +void __fastcall TMainForm::rbtnSelectGermanLocalizationClick(TObject *Sender) { + // Switch Report UI to German dxReport1->Language = "de-DE"; } -//--------------------------------------------------------------------------- - diff --git a/CPB/uMainForm.dfm b/CPB/uMainForm.dfm index b1c38d1..8ce9cfd 100644 --- a/CPB/uMainForm.dfm +++ b/CPB/uMainForm.dfm @@ -1,135 +1,914 @@ object MainForm: TMainForm Left = 0 Top = 0 - Caption = 'MainForm' - ClientHeight = 441 - ClientWidth = 624 + BorderIcons = [biSystemMenu, biMinimize, biHelp] + BorderStyle = bsSingle + Caption = 'DevExpress Reports Localization Example' + ClientHeight = 111 + ClientWidth = 416 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = 'Segoe UI' Font.Style = [] + OnCreate = FormCreate + Icon.Data = { + 0000010006003030000001002000A8250000660000002020000001002000A810 + 00000E260000101000000100200068040000B63600003030000001001800A81C + 00001E3B00002020000001001800A80C0000C657000010100000010018006803 + 00006E6400002800000030000000600000000100200000000000802500000000 + 000000000000000000000000000000000000000000030000000C000000130000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 00130000000C0000000300000000000000030E0E0E19323232A4373737F23737 + 37FF373737FF373737FF373737FF363636FF363636FF353535FF353535FF3434 + 34FF343434FF343434FF333333FF333333FF323232FF323232FF323232FF3131 + 31FF313131FF313131FF313131FF303030FF303030FF303030FF2F2F2FFF2F2F + 2FFF2E2E2EFF2E2E2EFF2E2E2EFF2E2E2EFF2E2E2EFF2E2E2EFF2E2E2EFF2D2D + 2DFF2D2D2DFF2D2D2DFF2C2C2CFF2C2C2CFF2C2C2CFF2C2C2CFF2C2C2CFF2B2B + 2BF2272727A40B0B0B18000000030000000C333333A3454545FF4B4B4BFF4B4B + 4BFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF494949FF484848FF474747FF4747 + 47FF474747FF464646FF464646FF454545FF444444FF444444FF434343FF4343 + 43FF434343FF424242FF414141FF414141FF404040FF404040FF404040FF4040 + 40FF3F3F3FFF3F3F3FFF3E3E3EFF3E3E3EFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D + 3DFF3D3D3DFF3C3C3CFF3C3C3CFF3C3C3CFF3B3B3BFF3B3B3BFF3B3B3BFF3A3A + 3AFF353535FF2727279D0000000B00000013444444F14D4D4DFF4D4D4DFF4D4D + 4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A4AFF494949FF484848FF4848 + 48FF474747FF474747FF474747FF464646FF454545FF454545FF444444FF4343 + 43FF434343FF434343FF424242FF424242FF414141FF414141FF404040FF4040 + 40FF404040FF3F3F3FFF3F3F3FFF3E3E3EFF3E3E3EFF3E3E3EFF3D3D3DFF3D3D + 3DFF3D3D3DFF3D3D3DFF3C3C3CFF3C3C3CFF3C3C3CFF3B3B3BFF3B3B3BFF3B3B + 3BFF3B3B3BFF333333F100000013000000164D4D4DFF4E4E4EFF4E4E4EFF4D4D + 4DFF4D4D4DFF4C4C4CFF4B4B4BFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A4AFF4949 + 49FF484848FF474747FF474747FF474747FF464646FF464646FF454545FF4444 + 44FF444444FF434343FF434343FF434343FF424242FF424242FF414141FF4040 + 40FF404040FF404040FF404040FF3F3F3FFF3F3F3FFF3E3E3EFF3E3E3EFF3D3D + 3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3C3C3CFF3C3C3CFF3C3C3CFF3B3B + 3BFF3B3B3BFF3A3A3AFF0000001600000016505050FF505050FF4F4F4FFF4E4E + 4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A + 4AFF494949FF494949FF484848FF474747FF474747FF474747FF464646FF4545 + 45FF454545FF444444FF434343FF434343FF434343FF434343FF424242FF4141 + 41FF414141FF404040FF404040FF404040FF404040FF3F3F3FFF3F3F3FFF3E3E + 3EFF3E3E3EFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3C3C3CFF3C3C3CFF3C3C + 3CFF3B3B3BFF3B3B3BFF0000001600000016515151FF515151FF505050FF4F4F + 4FFF4E4E4EFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C4CFF4C4C4CFF4B4B4BFF4A4A + 4AFF4A4A4AFF4A4A4AFF494949FF484848FF484848FF474747FF474747FF4646 + 46FF464646FF454545FF444444FF444444FF434343FF434343FF434343FF4242 + 42FF424242FF414141FF414141FF404040FF404040FF404040FF3F3F3FFF3F3F + 3FFF3E3E3EFF3E3E3EFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3C3C + 3CFF3C3C3CFF3C3C3CFF0000001600000016525252FF515151FF515151FF5050 + 50FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B + 4BFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF494949FF484848FF474747FF4747 + 47FF474747FF464646FF454545FF454545FF444444FF444444FF434343FF4343 + 43FF434343FF424242FF414141FF414141FF404040FF404040FF404040FF4040 + 40FF3F3F3FFF3F3F3FFF3E3E3EFF3E3E3EFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D + 3DFF3D3D3DFF3C3C3CFF0000001600000016969696FF525252FF515151FF5151 + 51FF515151FF505050FF4F4F4FFF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D + 4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A4AFF494949FF484848FF4848 + 48FF474747FF474747FF474747FF464646FF454545FF454545FF444444FF4343 + 43FF434343FF434343FF424242FF424242FF414141FF414141FF404040FF4040 + 40FF404040FF3F3F3FFF3F3F3FFF3E3E3EFF3E3E3EFF3D3D3DFF3D3D3DFF3D3D + 3DFF3D3D3DFF3D3D3DFF0000001600000016F4F4F4FF646464FF535353FF5252 + 52FF515151FF515151FF515151FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D + 4DFF4D4D4DFF4C4C4CFF4B4B4BFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A4AFF4949 + 49FF484848FF474747FF474747FF474747FF464646FF464646FF454545FF4444 + 44FF444444FF434343FF434343FF434343FF424242FF424242FF414141FF4040 + 40FF404040FF404040FF404040FF3F3F3FFF3F3F3FFF3E3E3EFF3E3E3EFF3D3D + 3DFF3D3D3DFF3D3D3DFF0000001600000016FFFFFFFFDBDBDBFF5C5C5CFF5353 + 53FF525252FF525252FF515151FF515151FF505050FF4F4F4FFF4F4F4FFF4E4E + 4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A + 4AFF494949FF484848FF484848FF474747FF474747FF474747FF464646FF4545 + 45FF454545FF444444FF434343FF434343FF434343FF424242FF424242FF4141 + 41FF414141FF404040FF404040FF404040FF404040FF3F3F3FFF3F3F3FFF3E3E + 3EFF3E3E3EFF3D3D3DFF0000001600000016FFFFFFFFFFFFFFFFB8B8B8FF5454 + 54FF545454FF535353FF525252FF515151FF515151FF515151FF505050FF4F4F + 4FFF4E4E4EFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C4CFF4C4C4CFF4B4B4BFF4A4A + 4AFF4A4A4AFF4A4A4AFF494949FF484848FF474747FF474747FF474747FF4646 + 46FF464646FF454545FF444444FF444444FF434343FF434343FF434343FF4242 + 42FF424242FF414141FF404040FF404040FF404040FF404040FF3F3F3FFF3F3F + 3FFF3E3E3EFF3E3E3EFF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFB8B8 + B8FF545454FF545454FF535353FF525252FF525252FF515151FF515151FF5050 + 50FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B + 4BFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF494949FF484848FF474747FF4747 + 47FF474747FF464646FF454545FF454545FF444444FF434343FF434343FF4343 + 43FF434343FF424242FF414141FF414141FF404040FF404040FF404040FF4040 + 40FF3F3F3FFF3F3F3FFF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFB8B8B8FF545454FF545454FF545454FF535353FF525252FF515151FF5151 + 51FF515151FF505050FF4F4F4FFF4E4E4EFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C + 4CFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A4AFF494949FF484848FF4848 + 48FF474747FF474747FF474747FF464646FF454545FF444444FF444444FF4343 + 43FF434343FF434343FF424242FF424242FF414141FF414141FF404040FF4040 + 40FF404040FF3F3F3FFF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFB8B8B8FF555555FF545454FF545454FF535353FF535353FF5252 + 52FF515151FF515151FF505050FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D + 4DFF4D4D4DFF4C4C4CFF4B4B4BFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF4949 + 49FF484848FF474747FF474747FF474747FF464646FF464646FF454545FF4444 + 44FF444444FF434343FF434343FF434343FF424242FF414141FF414141FF4040 + 40FF404040FF404040FF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFB8B8B8FF555555FF545454FF545454FF545454FF5353 + 53FF525252FF525252FF515151FF515151FF505050FF4F4F4FFF4F4F4FFF4E4E + 4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A + 4AFF494949FF484848FF484848FF474747FF474747FF474747FF464646FF4545 + 45FF454545FF444444FF434343FF434343FF434343FF424242FF424242FF4141 + 41FF414141FF404040FF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFB8B8B8FF565656FF555555FF545454FF5454 + 54FF545454FF535353FF525252FF515151FF515151FF515151FF505050FF4F4F + 4FFF4E4E4EFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C4CFF4C4C4CFF4B4B4BFF4A4A + 4AFF4A4A4AFF4A4A4AFF494949FF484848FF474747FF474747FF474747FF4646 + 46FF464646FF454545FF444444FF444444FF434343FF434343FF434343FF4242 + 42FF424242FF414141FF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4C4C4FF5F5F5FFF555555FF5555 + 55FF545454FF545454FF535353FF525252FF525252FF515151FF515151FF5050 + 50FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B + 4BFF4A4A4AFF4A4A4AFF4A4A4AFF494949FF494949FF484848FF474747FF4747 + 47FF474747FF464646FF454545FF454545FF444444FF434343FF434343FF4343 + 43FF434343FF424242FF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDCDCDCFF686868FF5656 + 56FF555555FF545454FF545454FF545454FF535353FF525252FF515151FF5151 + 51FF515151FF505050FF4F4F4FFF4E4E4EFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C + 4CFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A4AFF494949FF484848FF4848 + 48FF474747FF474747FF464646FF464646FF454545FF444444FF444444FF4343 + 43FF434343FF434343FF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4FF7A7A + 7AFF565656FF555555FF555555FF545454FF545454FF535353FF535353FF5252 + 52FF515151FF515151FF505050FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D + 4DFF4D4D4DFF4C4C4CFF4B4B4BFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF4949 + 49FF484848FF474747FF474747FF474747FF464646FF464646FF454545FF4444 + 44FF444444FF434343FF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFA2A2A2FF575757FF565656FF555555FF545454FF545454FF545454FF5353 + 53FF525252FF515151FF515151FF515151FF505050FF4F4F4FFF4F4F4FFF4E4E + 4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A + 4AFF494949FF484848FF484848FF474747FF474747FF474747FF464646FF4545 + 45FF454545FF444444FF000000160000001666A4F9FFF1F7FEFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFD0D0D0FF686868FF565656FF565656FF555555FF545454FF5454 + 54FF535353FF535353FF525252FF515151FF515151FF515151FF505050FF4F4F + 4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4B4B4BFF4A4A + 4AFF4A4A4AFF4A4A4AFF494949FF484848FF474747FF474747FF474747FF4646 + 46FF464646FF454545FF00000016000000163F89F7FF5B9DF9FFF1F7FEFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFF4F4F4FF989898FF575757FF565656FF555555FF5454 + 54FF545454FF545454FF535353FF525252FF525252FF515151FF515151FF5050 + 50FF4F4F4FFF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B + 4BFF4A4A4AFF4A4A4AFF4A4A4AFF494949FF484848FF484848FF474747FF4747 + 47FF474747FF464646FF0000001600000016408AF7FF3F89F7FF5B9DF9FFF1F7 + FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0D0D0FF686868FF575757FF5656 + 56FF555555FF545454FF545454FF545454FF535353FF525252FF515151FF5151 + 51FF515151FF505050FF4F4F4FFF4E4E4EFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C + 4CFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A4AFF494949FF484848FF4848 + 48FF474747FF474747FF0000001600000016418AF7FF408AF7FF408AF7FF4990 + F8FFD5E7FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4FFA3A3A3FF5F5F + 5FFF565656FF555555FF555555FF545454FF545454FF535353FF535353FF5252 + 52FF515151FF515151FF505050FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D + 4DFF4D4D4DFF4C4C4CFF4B4B4BFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF4949 + 49FF484848FF474747FF0000001600000016428BF7FF418AF7FF418AF7FF408A + F7FF4990F8FFABD1FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7 + E7FF8E8E8EFF575757FF565656FF555555FF545454FF545454FF545454FF5353 + 53FF525252FF515151FF515151FF515151FF505050FF4F4F4FFF4F4F4FFF4E4E + 4EFF4D4D4DFF4D4D4DFF4C4C4CFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A + 4AFF494949FF484848FF0000001600000016438CF7FF428BF7FF428BF7FF418A + F7FF408AF7FF408AF7FF7BB3FAFFF1F7FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFDCDCDCFF7A7A7AFF565656FF565656FF555555FF545454FF5454 + 54FF535353FF535353FF525252FF515151FF515151FF515151FF505050FF4F4F + 4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4B4B4BFF4A4A + 4AFF4A4A4AFF494949FF0000001600000016448CF7FF438CF7FF438CF7FF428B + F7FF418AF7FF418AF7FF408AF7FF5397F8FFD5E7FDFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFD0D0D0FF8E8E8EFF565656FF555555FF5454 + 54FF545454FF545454FF535353FF525252FF525252FF515151FF515151FF5050 + 50FF4F4F4FFF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B + 4BFF4A4A4AFF4A4A4AFF0000001600000016458DF7FF448CF7FF448CF7FF438C + F7FF438CF7FF428BF7FF418AF7FF418AF7FF408AF7FF92C1FBFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7FF8D8D8DFF5F5F + 5FFF555555FF545454FF545454FF545454FF535353FF525252FF515151FF5151 + 51FF515151FF505050FF4F4F4FFF4E4E4EFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C + 4CFF4C4C4CFF4B4B4BFF0000001600000016468DF7FF458DF7FF458DF7FF448C + F7FF448CF7FF438CF7FF428BF7FF428BF7FF418AF7FF408AF7FF5498F8FFC6DF + FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4 + F4FFB8B8B8FF707070FF555555FF545454FF545454FF535353FF525252FF5252 + 52FF515151FF515151FF505050FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D + 4DFF4D4D4DFF4C4C4CFF0000001600000016478EF7FF468DF7FF468DF7FF458D + F7FF458DF7FF448CF7FF438CF7FF438CF7FF428BF7FF418AF7FF418AF7FF408A + F7FF70ACFAFFE3EFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFDCDCDCFF979797FF666666FF545454FF545454FF5353 + 53FF525252FF515151FF515151FF515151FF505050FF4F4F4FFF4E4E4EFF4E4E + 4EFF4D4D4DFF4D4D4DFF0000001600000016488EF7FF478EF7FF478EF7FF468D + F7FF468DF7FF458DF7FF448CF7FF448CF7FF438CF7FF428BF7FF428BF7FF418A + F7FF408AF7FF408AF7FF87BAFBFFF1F7FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBDBDBFF979797FF6F6F + 6FFF535353FF535353FF525252FF515151FF515151FF505050FF505050FF4F4F + 4FFF4E4E4EFF4D4D4DFF0000001600000016498FF7FF488EF7FF488EF7FF478E + F7FF478EF7FF468DF7FF458DF7FF458DF7FF448CF7FF438CF7FF438CF7FF428B + F7FF418AF7FF418AF7FF408AF7FF4990F8FF92C1FBFFF1F7FEFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFE7E7E7FFB7B7B7FF8B8B8BFF646464FF515151FF515151FF515151FF5050 + 50FF4F4F4FFF4F4F4FFF00000016000000164A90F7FF498FF7FF498FF7FF488E + F7FF478EF7FF478EF7FF468DF7FF468DF7FF458DF7FF448CF7FF448CF7FF438C + F7FF438CF7FF428BF7FF418AF7FF408AF7FF408AF7FF4990F8FF7BB2FAFFE2EF + FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6FFC2C2C2FF9F9F9FFF7575 + 75FF595959FF505050FF00000016000000164A90F7FF4A90F7FF498FF7FF498F + F7FF488EF7FF488EF7FF478EF7FF478EF7FF468DF7FF458DF7FF458DF7FF448C + F7FF448CF7FF438CF7FF428BF7FF428BF7FF418AF7FF408AF7FF408AF7FF3F89 + F7FF6FACFAFFB9D7FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000016000000164B90F7FF4B90F7FF4A90F7FF4A90 + F7FF498FF7FF498FF7FF488EF7FF488EF7FF478EF7FF468DF7FF468DF7FF458D + F7FF458DF7FF448CF7FF438CF7FF438CF7FF428BF7FF418AF7FF418AF7FF408A + F7FF3F89F7FF3F89F7FF5297F8FF91C1FBFFE2EFFEFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000016000000164B91F7FF4B90F7FF4B90F7FF4A90 + F7FF4A90F7FF498FF7FF498FF7FF488EF7FF488EF7FF478EF7FF478EF7FF468D + F7FF468DF7FF458DF7FF448CF7FF448CF7FF438CF7FF428BF7FF428BF7FF418A + F7FF408AF7FF408AF7FF3F89F7FF3E89F7FF3E89F7FF5A9DF9FF9DC8FBFFE2EE + FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000016000000164C91F7FF4B91F7FF4B91F7FF4B90 + F7FF4B90F7FF4A90F7FF4A90F7FF498FF7FF498FF7FF488EF7FF488EF7FF478E + F7FF468DF7FF468DF7FF458DF7FF458DF7FF448CF7FF438CF7FF438CF7FF428B + F7FF418AF7FF418AF7FF408AF7FF3F89F7FF3F89F7FF3E89F7FF3E88F7FF3D88 + F7FF599CF9FF85B9FBFFC5DFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000016000000164C91F7FF4C91F7FF4B91F7FF4B91 + F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF4A90F7FF498FF7FF488EF7FF488E + F7FF478EF7FF478EF7FF468DF7FF468DF7FF458DF7FF448CF7FF448CF7FF438C + F7FF428BF7FF428BF7FF418AF7FF408AF7FF408AF7FF3F89F7FF3E89F7FF3E89 + F7FF3E88F7FF3D88F7FF3C87F7FF3C87F7FF63A3F9FF8FC0FBFFC4DEFDFFF1F7 + FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000016000000164D92F7FF4C91F7FF4C91F7FF4C91 + F7FF4B91F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF4A90F7FF498FF7FF498F + F7FF488EF7FF488EF7FF478EF7FF478EF7FF468DF7FF458DF7FF458DF7FF448C + F7FF438CF7FF438CF7FF428BF7FF428BF7FF418AF7FF408AF7FF3F89F7FF3F89 + F7FF3E89F7FF3E88F7FF3E88F7FF3D88F7FF3C87F7FF3B86F7FF3B86F7FF3A86 + F7FF4D94F7FF6BA9FAFF8EBFFBFFB6D5FCFFD3E6FDFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000016000000164D92F7FF4D92F7FF4D92F7FF4C91 + F7FF4C91F7FF4B91F7FF4B91F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF4A90 + F7FF498FF7FF498FF7FF488EF7FF478EF7FF478EF7FF468DF7FF468DF7FF458D + F7FF448CF7FF448CF7FF438CF7FF438CF7FF428BF7FF418AF7FF418AF7FF408A + F7FF3F89F7FF3E89F7FF3E89F7FF3E88F7FF3D88F7FF3D88F7FF3C87F7FF3B86 + F7FF3A86F7FF3A86F7FF3985F7FF3885F7FF3784F7FF3784F7FF4B92F7FF5EA0 + F9FF68A7FAFFC3DDFDFF00000016000000164E92F8FF4E92F8FF4D92F7FF4D92 + F7FF4D92F7FF4C91F7FF4C91F7FF4B91F7FF4B91F7FF4B90F7FF4B90F7FF4A90 + F7FF4A90F7FF498FF7FF498FF7FF488EF7FF488EF7FF478EF7FF478EF7FF468D + F7FF458DF7FF458DF7FF448CF7FF448CF7FF438CF7FF428BF7FF428BF7FF418A + F7FF408AF7FF408AF7FF3F89F7FF3E89F7FF3E88F7FF3E88F7FF3D88F7FF3C87 + F7FF3C87F7FF3B86F7FF3A86F7FF3985F7FF3985F7FF3885F7FF3784F7FF3684 + F6FF3583F6FF408AF7FF00000016000000164E92F8FF4E92F8FF4E92F8FF4D92 + F7FF4D92F7FF4D92F7FF4C91F7FF4C91F7FF4C91F7FF4B91F7FF4B91F7FF4B90 + F7FF4B90F7FF4A90F7FF4A90F7FF498FF7FF498FF7FF488EF7FF488EF7FF478E + F7FF468DF7FF468DF7FF458DF7FF458DF7FF448CF7FF438CF7FF438CF7FF428B + F7FF418AF7FF418AF7FF408AF7FF3F89F7FF3F89F7FF3E89F7FF3E88F7FF3D88 + F7FF3D88F7FF3C87F7FF3B86F7FF3B86F7FF3A86F7FF3985F7FF3885F7FF3784 + F7FF3784F7FF3684F6FF00000016000000164E92F8FF4E92F8FF4E92F8FF4E92 + F8FF4E92F8FF4D92F7FF4D92F7FF4D92F7FF4C91F7FF4C91F7FF4B91F7FF4B91 + F7FF4B90F7FF4B90F7FF4B90F7FF4A90F7FF4A90F7FF498FF7FF488EF7FF488E + F7FF478EF7FF478EF7FF468DF7FF468DF7FF458DF7FF448CF7FF448CF7FF438C + F7FF428BF7FF428BF7FF418AF7FF408AF7FF408AF7FF3F89F7FF3E89F7FF3E89 + F7FF3E88F7FF3D88F7FF3C87F7FF3C87F7FF3B86F7FF3A86F7FF3985F7FF3985 + F7FF3885F7FF3784F7FF00000016000000134D90F4F14E92F8FF4E92F8FF4E92 + F8FF4E92F8FF4E92F8FF4D92F7FF4D92F7FF4D92F7FF4C91F7FF4C91F7FF4C91 + F7FF4B91F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF4A90F7FF498FF7FF498F + F7FF488EF7FF488EF7FF478EF7FF478EF7FF468DF7FF458DF7FF458DF7FF448C + F7FF438CF7FF438CF7FF428BF7FF418AF7FF418AF7FF408AF7FF3F89F7FF3F89 + F7FF3E89F7FF3E88F7FF3E88F7FF3D88F7FF3C87F7FF3B86F7FF3B86F7FF3A86 + F7FF3985F7FF3783F3F1000000130000000C437ED6A34E92F8FF4E92F8FF4E92 + F8FF4E92F8FF4E92F8FF4E92F8FF4E92F8FF4D92F7FF4D92F7FF4D92F7FF4C91 + F7FF4C91F7FF4B91F7FF4B91F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF4A90 + F7FF498FF7FF498FF7FF488EF7FF478EF7FF478EF7FF468DF7FF468DF7FF458D + F7FF448CF7FF448CF7FF438CF7FF438CF7FF428BF7FF418AF7FF418AF7FF408A + F7FF3F89F7FF3E89F7FF3E89F7FF3E88F7FF3D88F7FF3D88F7FF3C87F7FF3B86 + F7FF3A86F7FF3272D39C0000000B00000003111F35194581DBA44D90F4F14E92 + F8FF4E92F8FF4E92F8FF4E92F8FF4E92F8FF4E92F8FF4E92F8FF4D92F7FF4D92 + F7FF4C91F7FF4C91F7FF4C91F7FF4B91F7FF4B91F7FF4B90F7FF4B90F7FF4A90 + F7FF4A90F7FF498FF7FF498FF7FF488EF7FF488EF7FF478EF7FF478EF7FF468D + F7FF458DF7FF458DF7FF448CF7FF448CF7FF438CF7FF428BF7FF428BF7FF418A + F7FF408AF7FF408AF7FF3F89F7FF3E89F7FF3E88F7FF3E88F7FF3D88F7FF3B85 + F3F23577DAA40D1E37180000000300000000000000030000000C000000130000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 00130000000C0000000300000000800000000001000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008000000000010000280000002000000040000000010020000000 + 0000801000000000000000000000000000000000000000000002000000080000 + 0011000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 00160000001600000016000000110000000800000002000000082C2C2C5F3838 + 38EC383838FF373737FF373737FF363636FF353535FF353535FF343434FF3434 + 34FF333333FF323232FF323232FF313131FF313131FF303030FF303030FF3030 + 30FF2F2F2FFF2E2E2EFF2E2E2EFF2E2E2EFF2E2E2EFF2E2E2EFF2D2D2DFF2C2C + 2CFF2C2C2CFF2C2C2CFF2B2B2BEC2121215F00000008000000113E3E3EEA4B4B + 4BFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF484848FF474747FF4747 + 47FF464646FF454545FF444444FF434343FF434343FF424242FF414141FF4040 + 40FF404040FF3F3F3FFF3F3F3FFF3E3E3EFF3D3D3DFF3D3D3DFF3D3D3DFF3C3C + 3CFF3C3C3CFF3B3B3BFF3A3A3AFF2F2F2FEA00000011000000164E4E4EFF4E4E + 4EFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF484848FF4747 + 47FF474747FF464646FF454545FF444444FF434343FF434343FF424242FF4141 + 41FF414141FF404040FF404040FF3F3F3FFF3E3E3EFF3E3E3EFF3D3D3DFF3D3D + 3DFF3D3D3DFF3C3C3CFF3B3B3BFF393939FF0000001600000016515151FF5050 + 50FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C4CFF4A4A4AFF4A4A4AFF4949 + 49FF484848FF474747FF474747FF464646FF454545FF444444FF434343FF4343 + 43FF424242FF414141FF404040FF404040FF3F3F3FFF3F3F3FFF3E3E3EFF3D3D + 3DFF3D3D3DFF3D3D3DFF3C3C3CFF3C3C3CFF00000016000000165B5B5BFF5151 + 51FF515151FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A + 4AFF4A4A4AFF494949FF484848FF474747FF464646FF454545FF444444FF4343 + 43FF434343FF424242FF424242FF414141FF404040FF404040FF3F3F3FFF3E3E + 3EFF3E3E3EFF3D3D3DFF3D3D3DFF3D3D3DFF0000001600000016A1A1A1FF5353 + 53FF525252FF515151FF515151FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C + 4CFF4B4B4BFF4A4A4AFF494949FF484848FF474747FF474747FF464646FF4545 + 45FF444444FF434343FF434343FF424242FF414141FF404040FF404040FF4040 + 40FF3F3F3FFF3E3E3EFF3D3D3DFF3D3D3DFF0000001600000016FFFFFFFF7878 + 78FF545454FF535353FF515151FF515151FF505050FF4F4F4FFF4E4E4EFF4D4D + 4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF484848FF474747FF4747 + 47FF464646FF454545FF444444FF434343FF434343FF424242FF414141FF4040 + 40FF404040FF3F3F3FFF3F3F3FFF3E3E3EFF0000001600000016FFFFFFFFF4F4 + F4FF707070FF545454FF535353FF525252FF515151FF515151FF505050FF4E4E + 4EFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF494949FF484848FF4747 + 47FF474747FF464646FF454545FF444444FF434343FF434343FF424242FF4141 + 41FF404040FF404040FF404040FF3F3F3FFF0000001600000016FFFFFFFFFFFF + FFFFF4F4F4FF707070FF545454FF545454FF535353FF525252FF515151FF5050 + 50FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4B4B4BFF4A4A4AFF4A4A4AFF4949 + 49FF484848FF474747FF474747FF464646FF454545FF444444FF434343FF4343 + 43FF424242FF414141FF404040FF404040FF0000001600000016FFFFFFFFFFFF + FFFFFFFFFFFFF4F4F4FF717171FF555555FF545454FF545454FF525252FF5151 + 51FF515151FF505050FF4F4F4FFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A + 4AFF4A4A4AFF494949FF474747FF474747FF464646FF454545FF444444FF4343 + 43FF434343FF424242FF414141FF414141FF0000001600000016FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFF4F4F4FF717171FF565656FF545454FF545454FF5353 + 53FF525252FF515151FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C + 4CFF4A4A4AFF4A4A4AFF494949FF484848FF474747FF474747FF464646FF4545 + 45FF444444FF434343FF434343FF424242FF0000001600000016FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4FF7A7A7AFF565656FF555555FF5454 + 54FF545454FF535353FF515151FF515151FF505050FF4F4F4FFF4E4E4EFF4D4D + 4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF484848FF474747FF4646 + 46FF454545FF444444FF434343FF434343FF0000001600000016FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF989898FF575757FF5656 + 56FF555555FF545454FF535353FF525252FF515151FF515151FF4F4F4FFF4E4E + 4EFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF494949FF484848FF4747 + 47FF474747FF464646FF454545FF444444FF000000160000001666A4F9FFF1F7 + FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4C4C4FF6060 + 60FF565656FF555555FF545454FF545454FF535353FF525252FF515151FF5050 + 50FF4F4F4FFF4E4E4EFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4949 + 49FF484848FF474747FF474747FF464646FF0000001600000016408AF7FF5C9E + F9FFF1F7FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7 + E7FF7A7A7AFF575757FF565656FF555555FF545454FF535353FF525252FF5151 + 51FF515151FF505050FF4E4E4EFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A + 4AFF4A4A4AFF484848FF474747FF474747FF0000001600000016418AF7FF408A + F7FF5C9EF9FFD5E7FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFB9B9B9FF606060FF575757FF555555FF545454FF545454FF5353 + 53FF525252FF515151FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4B4B + 4BFF4A4A4AFF4A4A4AFF494949FF484848FF0000001600000016438CF7FF428B + F7FF418AF7FF4A90F8FFABD1FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFF4F4F4FF999999FF575757FF565656FF555555FF5454 + 54FF545454FF525252FF515151FF515151FF505050FF4F4F4FFF4D4D4DFF4D4D + 4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF0000001600000016458DF7FF448C + F7FF438CF7FF428BF7FF418AF7FF70ACFAFFF1F7FEFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7FF8E8E8EFF575757FF5656 + 56FF545454FF545454FF535353FF525252FF515151FF505050FF4F4F4FFF4E4E + 4EFF4D4D4DFF4D4D4DFF4C4C4CFF4A4A4AFF0000001600000016468DF7FF458D + F7FF448CF7FF438CF7FF428BF7FF418AF7FF4A90F8FFABD1FCFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7FFA3A3 + A3FF5F5F5FFF555555FF545454FF545454FF535353FF515151FF515151FF5050 + 50FF4F4F4FFF4E4E4EFF4D4D4DFF4C4C4CFF0000001600000016478EF7FF478E + F7FF468DF7FF458DF7FF448CF7FF438CF7FF428BF7FF418AF7FF67A5F9FFC6DF + FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFB9B9B9FF848484FF555555FF545454FF535353FF525252FF5151 + 51FF515151FF4F4F4FFF4E4E4EFF4D4D4DFF0000001600000016498FF7FF488E + F7FF478EF7FF468DF7FF458DF7FF448CF7FF438CF7FF428BF7FF418AF7FF408A + F7FF66A5F9FFC6DFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4FFB8B8B8FF838383FF545454FF5353 + 53FF525252FF515151FF505050FF4F4F4FFF00000016000000164A90F7FF498F + F7FF488EF7FF488EF7FF478EF7FF468DF7FF458DF7FF448CF7FF438CF7FF428B + F7FF418AF7FF408AF7FF66A5F9FFB9D7FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCF + CFFFA0A0A0FF818181FF636363FF515151FF00000016000000164B90F7FF4A90 + F7FF4A90F7FF498FF7FF488EF7FF478EF7FF468DF7FF458DF7FF448CF7FF438C + F7FF428BF7FF418AF7FF408AF7FF3F89F7FF5297F8FF86B9FBFFE2EFFEFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000016000000164B91F7FF4B91 + F7FF4B90F7FF4A90F7FF498FF7FF498FF7FF488EF7FF478EF7FF468DF7FF458D + F7FF448CF7FF438CF7FF428BF7FF418AF7FF408AF7FF3F89F7FF3E89F7FF5A9D + F9FF85B9FBFFD4E7FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000016000000164C91F7FF4C91 + F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF498FF7FF488EF7FF478EF7FF468D + F7FF468DF7FF458DF7FF448CF7FF438CF7FF428BF7FF418AF7FF408AF7FF3E89 + F7FF3E88F7FF3D88F7FF468EF8FF6DAAFAFF8FC0FBFFC4DEFDFFF1F7FEFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000016000000164D92F7FF4D92 + F7FF4C91F7FF4B91F7FF4B91F7FF4B90F7FF4A90F7FF4A90F7FF498FF7FF488E + F7FF478EF7FF468DF7FF458DF7FF448CF7FF438CF7FF428BF7FF418AF7FF408A + F7FF3F89F7FF3E89F7FF3E88F7FF3D88F7FF3C87F7FF3A86F7FF3985F7FF4C93 + F7FF60A1F9FF81B7FBFF8CBEFBFFC3DDFDFF00000016000000164E92F8FF4E92 + F8FF4D92F7FF4C91F7FF4C91F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF498F + F7FF488EF7FF478EF7FF478EF7FF468DF7FF458DF7FF448CF7FF438CF7FF428B + F7FF418AF7FF408AF7FF3F89F7FF3E89F7FF3D88F7FF3C87F7FF3B86F7FF3A86 + F7FF3985F7FF3885F7FF3784F7FF3583F6FF00000016000000164E92F8FF4E92 + F8FF4E92F8FF4D92F7FF4D92F7FF4C91F7FF4C91F7FF4B91F7FF4B90F7FF4A90 + F7FF4A90F7FF498FF7FF488EF7FF478EF7FF468DF7FF458DF7FF448CF7FF438C + F7FF428BF7FF418AF7FF408AF7FF3F89F7FF3E89F7FF3E88F7FF3D88F7FF3C87 + F7FF3B86F7FF3A86F7FF3885F7FF3784F7FF00000016000000114C8FF3EC4E92 + F8FF4E92F8FF4E92F8FF4E92F8FF4D92F7FF4C91F7FF4C91F7FF4B91F7FF4B91 + F7FF4B90F7FF4A90F7FF498FF7FF488EF7FF488EF7FF478EF7FF468DF7FF458D + F7FF448CF7FF438CF7FF428BF7FF418AF7FF408AF7FF3F89F7FF3E89F7FF3E88 + F7FF3C87F7FF3B86F7FF3A86F7FF3882F2EC00000011000000083869B1564A8B + EBD44E92F8FF4E92F8FF4E92F8FF4E92F8FF4D92F7FF4D92F7FF4C91F7FF4C91 + F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF498FF7FF488EF7FF478EF7FF468D + F7FF458DF7FF448CF7FF448CF7FF438CF7FF428BF7FF408AF7FF3F89F7FF3E89 + F7FF3E88F7FF3D88F7FF3980EAD42B60B1560000000800000001000000070000 + 0010000000150000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001500000010000000070000000100000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000028000000100000002000 + 0000010020000000000040040000000000000000000000000000000000003939 + 39C3373737FF373737FF353535FF343434FF333333FF323232FF313131FF3030 + 30FF303030FF2E2E2EFF2E2E2EFF2E2E2EFF2D2D2DFF2C2C2CFF2C2C2CC44949 + 49FF4D4D4DFF4B4B4BFF4A4A4AFF484848FF474747FF454545FF444444FF4343 + 43FF414141FF404040FF3F3F3FFF3E3E3EFF3D3D3DFF3D3D3DFF383838FF5151 + 51FF505050FF4E4E4EFF4D4D4DFF4B4B4BFF4A4A4AFF484848FF474747FF4545 + 45FF434343FF434343FF414141FF404040FF3F3F3FFF3E3E3EFF3D3D3DFFB8B8 + B8FF535353FF515151FF4F4F4FFF4D4D4DFF4C4C4CFF4A4A4AFF494949FF4747 + 47FF464646FF454545FF434343FF424242FF414141FF404040FF3F3F3FFFFFFF + FFFF8D8D8DFF545454FF525252FF515151FF4F4F4FFF4D4D4DFF4C4C4CFF4A4A + 4AFF494949FF474747FF464646FF444444FF434343FF424242FF404040FFFFFF + FFFFFFFFFFFFA2A2A2FF555555FF545454FF525252FF515151FF4F4F4FFF4D4D + 4DFF4B4B4BFF4A4A4AFF484848FF474747FF464646FF444444FF434343FF6DAB + FAFFF1F7FEFFFFFFFFFFB9B9B9FF5F5F5FFF555555FF535353FF515151FF5050 + 50FF4E4E4EFF4D4D4DFF4B4B4BFF4A4A4AFF484848FF474747FF454545FF3E89 + F7FF599CF9FFF1F7FEFFFFFFFFFFDCDCDCFF727272FF565656FF545454FF5353 + 53FF515151FF505050FF4E4E4EFF4D4D4DFF4A4A4AFF4A4A4AFF484848FF428B + F7FF408AF7FF488FF8FFC5DFFDFFFFFFFFFFFFFFFFFFA4A4A4FF606060FF5656 + 56FF545454FF525252FF515151FF4F4F4FFF4D4D4DFF4C4C4CFF4A4A4AFF458D + F7FF438CF7FF418AF7FF408AF7FF7BB2FAFFF1F7FEFFFFFFFFFFF4F4F4FFA3A3 + A3FF5F5F5FFF555555FF545454FF525252FF515151FF4F4F4FFF4D4D4DFF488E + F7FF468DF7FF458DF7FF438CF7FF418AF7FF4990F8FF91C1FBFFF1F7FEFFFFFF + FFFFF4F4F4FFAFAFAFFF717171FF555555FF545454FF525252FF505050FF4A90 + F7FF498FF7FF478EF7FF468DF7FF448CF7FF428BF7FF418AF7FF4990F8FF7AB2 + FAFFD4E7FDFFFFFFFFFFFFFFFFFFE7E7E7FFAEAEAEFF838383FF646464FF4C91 + F7FF4B90F7FF4A90F7FF498FF7FF478EF7FF458DF7FF448CF7FF428BF7FF408A + F7FF3E89F7FF5096F8FF78B1FAFFB7D6FCFFE1EEFEFFFFFFFFFFFFFFFFFF4D92 + F7FF4C91F7FF4B91F7FF4B90F7FF4A90F7FF488EF7FF478EF7FF458DF7FF438C + F7FF428BF7FF408AF7FF3E89F7FF3D88F7FF3B86F7FF438CF7FF60A1F9FF4E92 + F8FF4E92F8FF4D92F7FF4C91F7FF4B91F7FF4B90F7FF498FF7FF488EF7FF468D + F7FF458DF7FF438CF7FF418AF7FF3F89F7FF3E88F7FF3C87F7FF3A86F7FF4E92 + F8C34E92F8FF4E92F8FF4E92F8FF4D92F7FF4C91F7FF4B91F7FF4A90F7FF498F + F7FF488EF7FF468DF7FF448CF7FF438CF7FF418AF7FF3F89F7FF3E88F7C30000 + AC410000AC410000AC410000AC410000AC410000AC410000AC410000AC410000 + AC410000AC410000AC410000AC410000AC410000AC410000AC410000AC412800 + 000030000000600000000100180000000000801C000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000032323237 + 3737373737373737373737373737363636363636353535353535343434343434 + 3434343333333333333232323232323232323131313131313131313131313030 + 303030303030302F2F2F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E + 2E2E2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B272727 + 0000000000000000003333334545454B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4949 + 4949494948484847474747474747474746464646464645454544444444444443 + 43434343434343434242424141414141414040404040404040404040403F3F3F + 3F3F3F3E3E3E3E3E3E3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3C3C3C3C3C3C3C3C + 3C3B3B3B3B3B3B3B3B3B3A3A3A3535352727270000000000004444444D4D4D4D + 4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A494949484848484848474747 + 4747474747474646464545454545454444444343434343434343434242424242 + 424141414141414040404040404040403F3F3F3F3F3F3E3E3E3E3E3E3E3E3E3D + 3D3D3D3D3D3D3D3D3D3D3D3C3C3C3C3C3C3C3C3C3B3B3B3B3B3B3B3B3B3B3B3B + 3333330000000000004D4D4D4E4E4E4E4E4E4D4D4D4D4D4D4C4C4C4B4B4B4B4B + 4B4A4A4A4A4A4A4A4A4A49494948484847474747474747474746464646464645 + 4545444444444444434343434343434343424242424242414141404040404040 + 4040404040403F3F3F3F3F3F3E3E3E3E3E3E3D3D3D3D3D3D3D3D3D3D3D3D3D3D + 3D3C3C3C3C3C3C3C3C3C3B3B3B3B3B3B3A3A3A0000000000005050505050504F + 4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A494949 + 4949494848484747474747474747474646464545454545454444444343434343 + 434343434343434242424141414141414040404040404040404040403F3F3F3F + 3F3F3E3E3E3E3E3E3D3D3D3D3D3D3D3D3D3D3D3D3C3C3C3C3C3C3C3C3C3B3B3B + 3B3B3B0000000000005151515151515050504F4F4F4E4E4E4E4E4E4D4D4D4D4D + 4D4C4C4C4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A49494948484848484847474747 + 4747464646464646454545444444444444434343434343434343424242424242 + 4141414141414040404040404040403F3F3F3F3F3F3E3E3E3E3E3E3D3D3D3D3D + 3D3D3D3D3D3D3D3D3D3D3C3C3C3C3C3C3C3C3C00000000000052525251515151 + 51515050505050504F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4B4B4B + 4A4A4A4A4A4A4949494949494848484747474747474747474646464545454545 + 4544444444444443434343434343434342424241414141414140404040404040 + 40404040403F3F3F3F3F3F3E3E3E3E3E3E3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D + 3C3C3C0000000000009696965252525151515151515151515050504F4F4F4F4F + 4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A49494948 + 4848484848474747474747474747464646454545454545444444434343434343 + 4343434242424242424141414141414040404040404040403F3F3F3F3F3F3E3E + 3E3E3E3E3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D000000000000F4F4F464646453 + 53535252525151515151515151515050504F4F4F4E4E4E4D4D4D4D4D4D4D4D4D + 4C4C4C4B4B4B4B4B4B4A4A4A4A4A4A4A4A4A4949494848484747474747474747 + 4746464646464645454544444444444443434343434343434342424242424241 + 41414040404040404040404040403F3F3F3F3F3F3E3E3E3E3E3E3D3D3D3D3D3D + 3D3D3D000000000000FFFFFFDBDBDB5C5C5C5353535252525252525151515151 + 515050504F4F4F4F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A + 4A4A4A4A4A494949484848484848474747474747474747464646454545454545 + 4444444343434343434343434242424242424141414141414040404040404040 + 404040403F3F3F3F3F3F3E3E3E3E3E3E3D3D3D000000000000FFFFFFFFFFFFB8 + B8B85454545454545353535252525151515151515151515050504F4F4F4E4E4E + 4E4E4E4D4D4D4D4D4D4C4C4C4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A4949494848 + 4847474747474747474746464646464645454544444444444443434343434343 + 43434242424242424141414040404040404040404040403F3F3F3F3F3F3E3E3E + 3E3E3E000000000000FFFFFFFFFFFFFFFFFFB8B8B85454545454545353535252 + 525252525151515151515050505050504F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C + 4C4C4B4B4B4B4B4B4A4A4A4A4A4A494949494949484848474747474747474747 + 4646464545454545454444444343434343434343434343434242424141414141 + 414040404040404040404040403F3F3F3F3F3F000000000000FFFFFFFFFFFFFF + FFFFFFFFFFB8B8B8545454545454545454535353525252515151515151515151 + 5050504F4F4F4E4E4E4E4E4E4D4D4D4D4D4D4C4C4C4C4C4C4B4B4B4A4A4A4A4A + 4A4A4A4A49494948484848484847474747474747474746464645454544444444 + 4444434343434343434343424242424242414141414141404040404040404040 + 3F3F3F000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8B8B85555555454 + 545454545353535353535252525151515151515050505050504F4F4F4E4E4E4D + 4D4D4D4D4D4D4D4D4C4C4C4B4B4B4B4B4B4A4A4A4A4A4A494949494949484848 + 4747474747474747474646464646464545454444444444444343434343434343 + 43424242414141414141404040404040404040000000000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFB8B8B8555555545454545454545454535353525252 + 5252525151515151515050504F4F4F4F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C + 4C4B4B4B4A4A4A4A4A4A4A4A4A49494948484848484847474747474747474746 + 4646454545454545444444434343434343434343424242424242414141414141 + 404040000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8B8 + B856565655555554545454545454545453535352525251515151515151515150 + 50504F4F4F4E4E4E4E4E4E4D4D4D4D4D4D4C4C4C4C4C4C4B4B4B4A4A4A4A4A4A + 4A4A4A4949494848484747474747474747474646464646464545454444444444 + 44434343434343434343424242424242414141000000000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4C4C45F5F5F555555555555545454 + 5454545353535252525252525151515151515050505050504F4F4F4E4E4E4D4D + 4D4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A49494949494948484847 + 4747474747474747464646454545454545444444434343434343434343434343 + 424242000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFDCDCDC68686856565655555554545454545454545453535352525251 + 51515151515151515050504F4F4F4E4E4E4E4E4E4D4D4D4D4D4D4C4C4C4C4C4C + 4B4B4B4A4A4A4A4A4A4A4A4A4949494848484848484747474747474646464646 + 46454545444444444444434343434343434343000000000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F47A7A7A565656 + 5555555555555454545454545353535353535252525151515151515050505050 + 504F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4B4B4B4A4A4A4A4A4A49 + 4949494949484848474747474747474747464646464646454545444444444444 + 434343000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFA2A2A257575756565655555554545454545454 + 54545353535252525151515151515151515050504F4F4F4F4F4F4E4E4E4D4D4D + 4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A4949494848484848484747 + 4747474747474746464645454545454544444400000000000066A4F9F1F7FEFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + D0D0D06868685656565656565555555454545454545353535353535252525151 + 515151515151515050504F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4B + 4B4B4A4A4A4A4A4A4A4A4A494949484848474747474747474747464646464646 + 4545450000000000003F89F75B9DF9F1F7FEFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F498989857575756565655 + 55555454545454545454545353535252525252525151515151515050504F4F4F + 4F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A4949 + 49484848484848474747474747474747464646000000000000408AF73F89F75B + 9DF9F1F7FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFD0D0D06868685757575656565555555454545454545454 + 545353535252525151515151515151515050504F4F4F4E4E4E4E4E4E4D4D4D4D + 4D4D4C4C4C4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A494949484848484848474747 + 474747000000000000418AF7408AF7408AF74990F8D5E7FDFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4A3 + A3A35F5F5F565656555555555555545454545454535353535353525252515151 + 5151515050505050504F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4B4B + 4B4A4A4A4A4A4A494949494949484848474747000000000000428BF7418AF741 + 8AF7408AF74990F8ABD1FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E78E8E8E5757575656565555 + 555454545454545454545353535252525151515151515151515050504F4F4F4F + 4F4F4E4E4E4D4D4D4D4D4D4C4C4C4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A494949 + 484848000000000000438CF7428BF7428BF7418AF7408AF7408AF77BB3FAF1F7 + FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFDCDCDC7A7A7A565656565656555555545454545454535353 + 5353535252525151515151515151515050504F4F4F4E4E4E4D4D4D4D4D4D4D4D + 4D4C4C4C4B4B4B4B4B4B4A4A4A4A4A4A494949000000000000448CF7438CF743 + 8CF7428BF7418AF7418AF7408AF75397F8D5E7FDFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0D0 + D08E8E8E56565655555554545454545454545453535352525252525251515151 + 51515050504F4F4F4F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A + 4A4A4A000000000000458DF7448CF7448CF7438CF7438CF7428BF7418AF7418A + F7408AF792C1FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E78D8D8D5F5F5F555555 + 5454545454545454545353535252525151515151515151515050504F4F4F4E4E + 4E4E4E4E4D4D4D4D4D4D4C4C4C4C4C4C4B4B4B000000000000468DF7458DF745 + 8DF7448CF7448CF7438CF7428BF7428BF7418AF7408AF75498F8C6DFFDFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFF4F4F4B8B8B870707055555554545454545453535352 + 52525252525151515151515050505050504F4F4F4E4E4E4D4D4D4D4D4D4D4D4D + 4C4C4C000000000000478EF7468DF7468DF7458DF7458DF7448CF7438CF7438C + F7428BF7418AF7418AF7408AF770ACFAE3EFFEFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFDCDCDC9797976666665454545454545353535252525151515151515151 + 515050504F4F4F4E4E4E4E4E4E4D4D4D4D4D4D000000000000488EF7478EF747 + 8EF7468DF7468DF7458DF7448CF7448CF7438CF7428BF7428BF7418AF7408AF7 + 408AF787BAFBF1F7FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBDBDB97 + 97976F6F6F5353535353535252525151515151515050505050504F4F4F4E4E4E + 4D4D4D000000000000498FF7488EF7488EF7478EF7478EF7468DF7458DF7458D + F7448CF7438CF7438CF7428BF7418AF7418AF7408AF74990F892C1FBF1F7FEFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7B7B7B78B8B8B6464 + 645151515151515151515050504F4F4F4F4F4F0000000000004A90F7498FF749 + 8FF7488EF7478EF7478EF7468DF7468DF7458DF7448CF7448CF7438CF7438CF7 + 428BF7418AF7408AF7408AF74990F87BB2FAE2EFFEFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6C2C2C29F9F9F757575595959 + 5050500000000000004A90F74A90F7498FF7498FF7488EF7488EF7478EF7478E + F7468DF7458DF7458DF7448CF7448CF7438CF7428BF7428BF7418AF7408AF740 + 8AF73F89F76FACFAB9D7FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000004B90F74B90F74A + 90F74A90F7498FF7498FF7488EF7488EF7478EF7468DF7468DF7458DF7458DF7 + 448CF7438CF7438CF7428BF7418AF7418AF7408AF73F89F73F89F75297F891C1 + FBE2EFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF0000000000004B91F74B90F74B90F74A90F74A90F7498FF7498FF7488E + F7488EF7478EF7478EF7468DF7468DF7458DF7448CF7448CF7438CF7428BF742 + 8BF7418AF7408AF7408AF73F89F73E89F73E89F75A9DF99DC8FBE2EEFEFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000004C91F74B91F74B + 91F74B90F74B90F74A90F74A90F7498FF7498FF7488EF7488EF7478EF7468DF7 + 468DF7458DF7458DF7448CF7438CF7438CF7428BF7418AF7418AF7408AF73F89 + F73F89F73E89F73E88F73D88F7599CF985B9FBC5DFFDFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF0000000000004C91F74C91F74B91F74B91F74B91F74B90F74B90F74A90 + F74A90F7498FF7488EF7488EF7478EF7478EF7468DF7468DF7458DF7448CF744 + 8CF7438CF7428BF7428BF7418AF7408AF7408AF73F89F73E89F73E89F73E88F7 + 3D88F73C87F73C87F763A3F98FC0FBC4DEFDF1F7FEFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000004D92F74C91F74C + 91F74C91F74B91F74B91F74B90F74B90F74A90F74A90F7498FF7498FF7488EF7 + 488EF7478EF7478EF7468DF7458DF7458DF7448CF7438CF7438CF7428BF7428B + F7418AF7408AF73F89F73F89F73E89F73E88F73E88F73D88F73C87F73B86F73B + 86F73A86F74D94F76BA9FA8EBFFBB6D5FCD3E6FDFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF0000000000004D92F74D92F74D92F74C91F74C91F74B91F74B91F74B91 + F74B90F74B90F74A90F74A90F7498FF7498FF7488EF7478EF7478EF7468DF746 + 8DF7458DF7448CF7448CF7438CF7438CF7428BF7418AF7418AF7408AF73F89F7 + 3E89F73E89F73E88F73D88F73D88F73C87F73B86F73A86F73A86F73985F73885 + F73784F73784F74B92F75EA0F968A7FAC3DDFD0000000000004E92F84E92F84D + 92F74D92F74D92F74C91F74C91F74B91F74B91F74B90F74B90F74A90F74A90F7 + 498FF7498FF7488EF7488EF7478EF7478EF7468DF7458DF7458DF7448CF7448C + F7438CF7428BF7428BF7418AF7408AF7408AF73F89F73E89F73E88F73E88F73D + 88F73C87F73C87F73B86F73A86F73985F73985F73885F73784F73684F63583F6 + 408AF70000000000004E92F84E92F84E92F84D92F74D92F74D92F74C91F74C91 + F74C91F74B91F74B91F74B90F74B90F74A90F74A90F7498FF7498FF7488EF748 + 8EF7478EF7468DF7468DF7458DF7458DF7448CF7438CF7438CF7428BF7418AF7 + 418AF7408AF73F89F73F89F73E89F73E88F73D88F73D88F73C87F73B86F73B86 + F73A86F73985F73885F73784F73784F73684F60000000000004E92F84E92F84E + 92F84E92F84E92F84D92F74D92F74D92F74C91F74C91F74B91F74B91F74B90F7 + 4B90F74B90F74A90F74A90F7498FF7488EF7488EF7478EF7478EF7468DF7468D + F7458DF7448CF7448CF7438CF7428BF7428BF7418AF7408AF7408AF73F89F73E + 89F73E89F73E88F73D88F73C87F73C87F73B86F73A86F73985F73985F73885F7 + 3784F70000000000004D90F44E92F84E92F84E92F84E92F84E92F84D92F74D92 + F74D92F74C91F74C91F74C91F74B91F74B91F74B90F74B90F74A90F74A90F749 + 8FF7498FF7488EF7488EF7478EF7478EF7468DF7458DF7458DF7448CF7438CF7 + 438CF7428BF7418AF7418AF7408AF73F89F73F89F73E89F73E88F73E88F73D88 + F73C87F73B86F73B86F73A86F73985F73783F3000000000000437ED64E92F84E + 92F84E92F84E92F84E92F84E92F84E92F84D92F74D92F74D92F74C91F74C91F7 + 4B91F74B91F74B91F74B90F74B90F74A90F74A90F7498FF7498FF7488EF7478E + F7478EF7468DF7468DF7458DF7448CF7448CF7438CF7438CF7428BF7418AF741 + 8AF7408AF73F89F73E89F73E89F73E88F73D88F73D88F73C87F73B86F73A86F7 + 3272D30000000000000000004581DB4D90F44E92F84E92F84E92F84E92F84E92 + F84E92F84E92F84D92F74D92F74C91F74C91F74C91F74B91F74B91F74B90F74B + 90F74A90F74A90F7498FF7498FF7488EF7488EF7478EF7478EF7468DF7458DF7 + 458DF7448CF7448CF7438CF7428BF7428BF7418AF7408AF7408AF73F89F73E89 + F73E88F73E88F73D88F73B85F33577DA00000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000FFFFFFFFFFFF0000C00000000003000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 00000001000080000000000100008000000000010000C000000000030000FFFF + FFFFFFFF00002800000020000000400000000100180000000000800C00000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000383838383838373737373737 + 3636363535353535353434343434343333333232323232323131313131313030 + 303030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2C2C2C2C + 2C2C2C2C2C2B2B2B0000000000000000003E3E3E4B4B4B4C4C4C4B4B4B4A4A4A + 4A4A4A4949494848484747474747474646464545454444444343434343434242 + 424141414040404040403F3F3F3F3F3F3E3E3E3D3D3D3D3D3D3D3D3D3C3C3C3C + 3C3C3B3B3B3A3A3A2F2F2F0000000000004E4E4E4E4E4E4D4D4D4D4D4D4C4C4C + 4B4B4B4A4A4A4A4A4A4848484747474747474646464545454444444343434343 + 434242424141414141414040404040403F3F3F3E3E3E3E3E3E3D3D3D3D3D3D3D + 3D3D3C3C3C3B3B3B3939390000000000005151515050504F4F4F4E4E4E4D4D4D + 4D4D4D4C4C4C4A4A4A4A4A4A4949494848484747474747474646464545454444 + 444343434343434242424141414040404040403F3F3F3F3F3F3E3E3E3D3D3D3D + 3D3D3D3D3D3C3C3C3C3C3C0000000000005B5B5B5151515151515050504F4F4F + 4E4E4E4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4949494848484747474646464545 + 454444444343434343434242424242424141414040404040403F3F3F3E3E3E3E + 3E3E3D3D3D3D3D3D3D3D3D000000000000A1A1A1535353525252515151515151 + 4F4F4F4E4E4E4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4949494848484747474747 + 474646464545454444444343434343434242424141414040404040404040403F + 3F3F3E3E3E3D3D3D3D3D3D000000000000FFFFFF787878545454535353515151 + 5151515050504F4F4F4E4E4E4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4949494848 + 4847474747474746464645454544444443434343434342424241414140404040 + 40403F3F3F3F3F3F3E3E3E000000000000FFFFFFF4F4F4707070545454535353 + 5252525151515151515050504E4E4E4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4949 + 4948484847474747474746464645454544444443434343434342424241414140 + 40404040404040403F3F3F000000000000FFFFFFFFFFFFF4F4F4707070545454 + 5454545353535252525151515050504F4F4F4E4E4E4D4D4D4D4D4D4B4B4B4A4A + 4A4A4A4A49494948484847474747474746464645454544444443434343434342 + 4242414141404040404040000000000000FFFFFFFFFFFFFFFFFFF4F4F4717171 + 5555555454545454545252525151515151515050504F4F4F4D4D4D4D4D4D4C4C + 4C4B4B4B4A4A4A4A4A4A49494947474747474746464645454544444443434343 + 4343424242414141414141000000000000FFFFFFFFFFFFFFFFFFFFFFFFF4F4F4 + 7171715656565454545454545353535252525151515050504F4F4F4E4E4E4D4D + 4D4D4D4D4C4C4C4A4A4A4A4A4A49494948484847474747474746464645454544 + 4444434343434343424242000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + F4F4F47A7A7A5656565555555454545454545353535151515151515050504F4F + 4F4E4E4E4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A49494948484847474746464645 + 4545444444434343434343000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF9898985757575656565555555454545353535252525151515151 + 514F4F4F4E4E4E4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A49494948484847474747 + 474746464645454544444400000000000066A4F9F1F7FEFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFC4C4C46060605656565555555454545454545353535252 + 525151515050504F4F4F4E4E4E4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A49494948 + 4848474747474747464646000000000000408AF75C9EF9F1F7FEFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFE7E7E77A7A7A5757575656565555555454545353 + 535252525151515151515050504E4E4E4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A + 4A4A484848474747474747000000000000418AF7408AF75C9EF9D5E7FDFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9B9B96060605757575555555454 + 545454545353535252525151515050504F4F4F4E4E4E4D4D4D4D4D4D4B4B4B4A + 4A4A4A4A4A494949484848000000000000438CF7428BF7418AF74A90F8ABD1FC + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F49999995757575656 + 565555555454545454545252525151515151515050504F4F4F4D4D4D4D4D4D4C + 4C4C4B4B4B4A4A4A4A4A4A000000000000458DF7448CF7438CF7428BF7418AF7 + 70ACFAF1F7FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E78E8E + 8E5757575656565454545454545353535252525151515050504F4F4F4E4E4E4D + 4D4D4D4D4D4C4C4C4A4A4A000000000000468DF7458DF7448CF7438CF7428BF7 + 418AF74A90F8ABD1FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFE7E7E7A3A3A35F5F5F5555555454545454545353535151515151515050504F + 4F4F4E4E4E4D4D4D4C4C4C000000000000478EF7478EF7468DF7458DF7448CF7 + 438CF7428BF7418AF767A5F9C6DFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFB9B9B984848455555554545453535352525251515151 + 51514F4F4F4E4E4E4D4D4D000000000000498FF7488EF7478EF7468DF7458DF7 + 448CF7438CF7428BF7418AF7408AF766A5F9C6DFFDFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4B8B8B883838354545453535352 + 52525151515050504F4F4F0000000000004A90F7498FF7488EF7488EF7478EF7 + 468DF7458DF7448CF7438CF7428BF7418AF7408AF766A5F9B9D7FCFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFA0 + A0A08181816363635151510000000000004B90F74A90F74A90F7498FF7488EF7 + 478EF7468DF7458DF7448CF7438CF7428BF7418AF7408AF73F89F75297F886B9 + FBE2EFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF0000000000004B91F74B91F74B90F74A90F7498FF7 + 498FF7488EF7478EF7468DF7458DF7448CF7438CF7428BF7418AF7408AF73F89 + F73E89F75A9DF985B9FBD4E7FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF0000000000004C91F74C91F74B91F74B90F74B90F7 + 4A90F7498FF7488EF7478EF7468DF7468DF7458DF7448CF7438CF7428BF7418A + F7408AF73E89F73E88F73D88F7468EF86DAAFA8FC0FBC4DEFDF1F7FEFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF0000000000004D92F74D92F74C91F74B91F74B91F7 + 4B90F74A90F74A90F7498FF7488EF7478EF7468DF7458DF7448CF7438CF7428B + F7418AF7408AF73F89F73E89F73E88F73D88F73C87F73A86F73985F74C93F760 + A1F981B7FB8CBEFBC3DDFD0000000000004E92F84E92F84D92F74C91F74C91F7 + 4B91F74B90F74B90F74A90F7498FF7488EF7478EF7478EF7468DF7458DF7448C + F7438CF7428BF7418AF7408AF73F89F73E89F73D88F73C87F73B86F73A86F739 + 85F73885F73784F73583F60000000000004E92F84E92F84E92F84D92F74D92F7 + 4C91F74C91F74B91F74B90F74A90F74A90F7498FF7488EF7478EF7468DF7458D + F7448CF7438CF7428BF7418AF7408AF73F89F73E89F73E88F73D88F73C87F73B + 86F73A86F73885F73784F70000000000004C8FF34E92F84E92F84E92F84E92F8 + 4D92F74C91F74C91F74B91F74B91F74B90F74A90F7498FF7488EF7488EF7478E + F7468DF7458DF7448CF7438CF7428BF7418AF7408AF73F89F73E89F73E88F73C + 87F73B86F73A86F73882F20000000000000000004A8BEB4E92F84E92F84E92F8 + 4E92F84D92F74D92F74C91F74C91F74B91F74B90F74B90F74A90F7498FF7488E + F7478EF7468DF7458DF7448CF7448CF7438CF7428BF7408AF73F89F73E89F73E + 88F73D88F73980EA000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000FFFFFFFFC000000380000001800000018000 + 0001800000018000000180000001800000018000000180000001800000018000 + 0001800000018000000180000001800000018000000180000001800000018000 + 0001800000018000000180000001800000018000000180000001800000018000 + 000180000001C0000003FFFFFFFF280000001000000020000000010018000000 + 0000400300000000000000000000000000000000000039393937373737373735 + 35353434343333333232323131313030303030302E2E2E2E2E2E2E2E2E2D2D2D + 2C2C2C2C2C2C4949494D4D4D4B4B4B4A4A4A4848484747474545454444444343 + 434141414040403F3F3F3E3E3E3D3D3D3D3D3D3838385151515050504E4E4E4D + 4D4D4B4B4B4A4A4A4848484747474545454343434343434141414040403F3F3F + 3E3E3E3D3D3DB8B8B85353535151514F4F4F4D4D4D4C4C4C4A4A4A4949494747 + 474646464545454343434242424141414040403F3F3FFFFFFF8D8D8D54545452 + 52525151514F4F4F4D4D4D4C4C4C4A4A4A494949474747464646444444434343 + 424242404040FFFFFFFFFFFFA2A2A25555555454545252525151514F4F4F4D4D + 4D4B4B4B4A4A4A4848484747474646464444444343436DABFAF1F7FEFFFFFFB9 + B9B95F5F5F5555555353535151515050504E4E4E4D4D4D4B4B4B4A4A4A484848 + 4747474545453E89F7599CF9F1F7FEFFFFFFDCDCDC7272725656565454545353 + 535151515050504E4E4E4D4D4D4A4A4A4A4A4A484848428BF7408AF7488FF8C5 + DFFDFFFFFFFFFFFFA4A4A46060605656565454545252525151514F4F4F4D4D4D + 4C4C4C4A4A4A458DF7438CF7418AF7408AF77BB2FAF1F7FEFFFFFFF4F4F4A3A3 + A35F5F5F5555555454545252525151514F4F4F4D4D4D488EF7468DF7458DF743 + 8CF7418AF74990F891C1FBF1F7FEFFFFFFF4F4F4AFAFAF717171555555545454 + 5252525050504A90F7498FF7478EF7468DF7448CF7428BF7418AF74990F87AB2 + FAD4E7FDFFFFFFFFFFFFE7E7E7AEAEAE8383836464644C91F74B90F74A90F749 + 8FF7478EF7458DF7448CF7428BF7408AF73E89F75096F878B1FAB7D6FCE1EEFE + FFFFFFFFFFFF4D92F74C91F74B91F74B90F74A90F7488EF7478EF7458DF7438C + F7428BF7408AF73E89F73D88F73B86F7438CF760A1F94E92F84E92F84D92F74C + 91F74B91F74B90F7498FF7488EF7468DF7458DF7438CF7418AF73F89F73E88F7 + 3C87F73A86F74E92F84E92F84E92F84E92F84D92F74C91F74B91F74A90F7498F + F7488EF7468DF7448CF7438CF7418AF73F89F73E88F700000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000} TextHeight = 15 - object btnShowDesigner: TcxButton - Left = 24 - Top = 32 - Width = 145 - Height = 25 - Caption = 'btnShowDesigner' - TabOrder = 0 - OnClick = btnShowDesignerClick - end - object btnViewReport: TcxButton - Left = 192 - Top = 32 - Width = 193 - Height = 25 - Caption = 'btnViewReport' + object btnGroupDisplayDialog: TcxGroupBox + Left = 213 + Top = 17 + Caption = 'Display a Localized Report Dialog:' TabOrder = 1 - OnClick = btnViewReportClick - end - object cxGrid1: TcxGrid - Left = 24 - Top = 176 - Width = 521 - Height = 265 - TabOrder = 2 - object gvCategories: TcxGridDBTableView - DataController.DataSource = DataModule1.dsCategories - DataController.KeyFieldNames = 'CategoryID' - object gvCategoriesCategoryID: TcxGridDBColumn - DataBinding.FieldName = 'CategoryID' - end - object gvCategoriesCategoryName: TcxGridDBColumn - DataBinding.FieldName = 'CategoryName' - end - object gvCategoriesDescription: TcxGridDBColumn - DataBinding.FieldName = 'Description' - end - end - object gvProducts: TcxGridDBTableView - DataController.DataSource = DataModule1.dsProducts - DataController.DetailKeyFieldNames = 'CategoryID' - DataController.KeyFieldNames = 'ProductID' - DataController.MasterKeyFieldNames = 'CategoryID' - object gvProductsProductID: TcxGridDBColumn - DataBinding.FieldName = 'ProductID' - end - object gvProductsProductName: TcxGridDBColumn - DataBinding.FieldName = 'ProductName' - Width = 244 - end - object gvProductsSupplierID: TcxGridDBColumn - DataBinding.FieldName = 'SupplierID' - end - object gvProductsCategoryID: TcxGridDBColumn - DataBinding.FieldName = 'CategoryID' - end - object gvProductsQuantityPerUnit: TcxGridDBColumn - DataBinding.FieldName = 'QuantityPerUnit' - Width = 124 - end - object gvProductsUnitPrice: TcxGridDBColumn - DataBinding.FieldName = 'UnitPrice' - end - object gvProductsUnitsInStock: TcxGridDBColumn - DataBinding.FieldName = 'UnitsInStock' - end - object gvProductsUnitsOnOrder: TcxGridDBColumn - DataBinding.FieldName = 'UnitsOnOrder' - end - object gvProductsReorderLevel: TcxGridDBColumn - DataBinding.FieldName = 'ReorderLevel' - end - object gvProductsDiscontinued: TcxGridDBColumn - DataBinding.FieldName = 'Discontinued' - Width = 34 - end - object gvProductsEAN13: TcxGridDBColumn - DataBinding.FieldName = 'EAN13' - Width = 76 - end + Height = 86 + Width = 195 + object btnDisplayReport: TcxButton + Left = 15 + Top = 52 + Width = 145 + Height = 25 + Caption = 'Report Viewer' + TabOrder = 1 + OnClick = btnDisplayReportClick end - object cxGrid1Level1: TcxGridLevel - GridView = gvCategories - object cxGrid1Level2: TcxGridLevel - GridView = gvProducts - end + object btnDisplayDesigner: TcxButton + Left = 15 + Top = 21 + Width = 145 + Height = 25 + Caption = 'Report Designer' + TabOrder = 0 + OnClick = btnDisplayDesignerClick end end - object btnSetLanguageUS: TcxButton - Left = 72 - Top = 89 - Width = 121 - Height = 25 - Caption = 'English' - TabOrder = 3 - OnClick = btnSetLanguageUSClick - end - object btnSetLanguageDE: TcxButton - Left = 199 - Top = 88 - Width = 131 - Height = 25 - Caption = 'German' - TabOrder = 4 - OnClick = btnSetLanguageDEClick - end - object lblSelectLanguage: TcxLabel - Left = 56 - Top = 64 - Caption = 'Select Language' - TabOrder = 5 + object rbtnGroupLocalization: TcxRadioGroup + Left = 8 + Top = 17 + Caption = 'Report Dialog Language (Locale):' + Properties.Items = <> + TabOrder = 0 + Height = 86 + Width = 193 + object rbtnSelectEnglishLocalization: TcxRadioButton + Left = 16 + Top = 25 + Width = 113 + Height = 17 + Caption = 'English (en-US)' + Checked = True + TabOrder = 0 + TabStop = True + OnClick = rbtnSelectEnglishLocalizationClick + end + object rbtnSelectGermanLocalization: TcxRadioButton + Left = 16 + Top = 56 + Width = 113 + Height = 17 + Caption = 'German (de-DE)' + TabOrder = 1 + OnClick = rbtnSelectGermanLocalizationClick + end end object dxReport1: TdxReport Parameters = <> - Left = 48 - Top = 88 + Left = 416 + Top = 32 end object dxBackendDataConnectionManager1: TdxBackendDataConnectionManager - Left = 112 - Top = 88 + Left = 472 + Top = 32 object dxBackendDataConnectionManager1dxBackendDataSetJSONConnection1: TdxBackendDataSetJSONConnection DisplayName = 'DataSetConnection' object itmProducts: TdxBackendDataSetCollectionItem diff --git a/CPB/uMainForm.h b/CPB/uMainForm.h index 169766d..305df53 100644 --- a/CPB/uMainForm.h +++ b/CPB/uMainForm.h @@ -10,32 +10,17 @@ #include "cxButtons.hpp" #include "cxClasses.hpp" #include "cxControls.hpp" -#include "cxCustomData.hpp" -#include "cxData.hpp" -#include "cxDataStorage.hpp" -#include "cxDBData.hpp" -#include "cxEdit.hpp" -#include "cxFilter.hpp" #include "cxGraphics.hpp" -#include "cxGrid.hpp" -#include "cxGridCustomTableView.hpp" -#include "cxGridCustomView.hpp" -#include "cxGridDBTableView.hpp" -#include "cxGridLevel.hpp" -#include "cxGridTableView.hpp" #include "cxLookAndFeelPainters.hpp" #include "cxLookAndFeels.hpp" -#include "cxNavigator.hpp" -#include "cxStyles.hpp" -#include "dxDateRanges.hpp" #include "dxReport.hpp" -#include "dxScrollbarAnnotations.hpp" #include #include #include "dxmdaset.hpp" #include "uData.h" #include "cxContainer.hpp" -#include "cxLabel.hpp" +#include "cxRadioGroup.hpp" +#include "cxGroupBox.hpp" #include "dxBackend.ConnectionString.JSON.DataSet.hpp" #include "dxBackend.ConnectionString.JSON.hpp" #include "dxBackend.hpp" @@ -43,42 +28,23 @@ class TMainForm : public TForm { __published: // IDE-managed Components - TcxButton *btnShowDesigner; - TcxButton *btnViewReport; - TcxGrid *cxGrid1; - TcxGridDBTableView *gvCategories; - TcxGridDBColumn *gvCategoriesCategoryID; - TcxGridDBColumn *gvCategoriesCategoryName; - TcxGridDBColumn *gvCategoriesDescription; - TcxGridDBTableView *gvProducts; - TcxGridDBColumn *gvProductsProductID; - TcxGridDBColumn *gvProductsProductName; - TcxGridDBColumn *gvProductsSupplierID; - TcxGridDBColumn *gvProductsCategoryID; - TcxGridDBColumn *gvProductsQuantityPerUnit; - TcxGridDBColumn *gvProductsUnitPrice; - TcxGridDBColumn *gvProductsUnitsInStock; - TcxGridDBColumn *gvProductsUnitsOnOrder; - TcxGridDBColumn *gvProductsReorderLevel; - TcxGridDBColumn *gvProductsDiscontinued; - TcxGridDBColumn *gvProductsEAN13; - TcxGridLevel *cxGrid1Level1; - TcxGridLevel *cxGrid1Level2; + TcxGroupBox *btnGroupDisplayDialog; + TcxButton *btnDisplayReport; + TcxButton *btnDisplayDesigner; + TcxRadioGroup *rbtnGroupLocalization; + TcxRadioButton *rbtnSelectEnglishLocalization; + TcxRadioButton *rbtnSelectGermanLocalization; TdxReport *dxReport1; TdxBackendDataConnectionManager *dxBackendDataConnectionManager1; TdxBackendDataSetJSONConnection *dxBackendDataConnectionManager1dxBackendDataSetJSONConnection1; TdxBackendDataSetCollectionItem *itmProducts; TdxBackendDataSetCollectionItem *itmCategories; - TcxButton *btnSetLanguageUS; - TcxButton *btnSetLanguageDE; - TcxLabel *lblSelectLanguage; - void __fastcall btnShowDesignerClick(TObject *Sender); - void __fastcall btnViewReportClick(TObject *Sender); - void __fastcall btnSetLanguageUSClick(TObject *Sender); - void __fastcall btnSetLanguageDEClick(TObject *Sender); + void __fastcall FormCreate(TObject *Sender); + void __fastcall btnDisplayDesignerClick(TObject *Sender); + void __fastcall btnDisplayReportClick(TObject *Sender); + void __fastcall rbtnSelectEnglishLocalizationClick(TObject *Sender); + void __fastcall rbtnSelectGermanLocalizationClick(TObject *Sender); private: // User declarations -protected: - void __fastcall LoadData(); public: // User declarations __fastcall TMainForm(TComponent* Owner); }; diff --git a/Delphi/ReportLocalizationDelphi.dpr b/Delphi/ReportLocalizationDelphi.dpr index bac13ec..1ff119a 100644 --- a/Delphi/ReportLocalizationDelphi.dpr +++ b/Delphi/ReportLocalizationDelphi.dpr @@ -3,7 +3,8 @@ program ReportLocalizationDelphi; uses Vcl.Forms, uMainForm in 'uMainForm.pas' {MainForm}, - uData in 'uData.pas' {DataModule1: TDataModule}; + uData in 'uData.pas' {DataModule1: TDataModule}, + ReportLocalizationDelphi.dxSettings in 'ReportLocalizationDelphi.dxSettings.pas'; {$R *.res} diff --git a/Delphi/ReportLocalizationDelphi.dproj b/Delphi/ReportLocalizationDelphi.dproj index ed20c72..09c7384 100644 --- a/Delphi/ReportLocalizationDelphi.dproj +++ b/Delphi/ReportLocalizationDelphi.dproj @@ -1,180 +1,1141 @@ - - - {6E38CE1A-E2C9-4927-BDAE-F5D067A7C6CB} - ReportLocalizationDelphi.dpr - True - Debug - ReportLocalizationDelphi - 1 - Application - VCL - 20.3 - Win32 - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - false - false - false - false - false - 00400000 - ReportLocalizationDelphi - Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) - 8192 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;CFBundleName= - - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - true - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - $(BDS)\bin\default_app.manifest - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - RELEASE;$(DCC_Define) - 0 - false - 0 - - - PerMonitorV2 - - - DEBUG;$(DCC_Define) - false - true - true - true - - - PerMonitorV2 - .\$(Platform)\$(Config) - ..\ - true - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - -
MainForm
-
- -
DataModule1
- TDataModule -
- - Base - - - Cfg_1 - Base - - - Cfg_2 - Base - -
- - Delphi.Personality.12 - - - - - ReportLocalizationDelphi.dpr - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - True - False - - - 12 - - - - - - False - - False - copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" $(OUTPUTDIR) - False - - - - False - - False - copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" $(OUTPUTDIR) - False - - - - False - - False - copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" $(OUTPUTDIR) - False - - - - False - - False - copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" $(OUTPUTDIR) - False - -
+ + + {6E38CE1A-E2C9-4927-BDAE-F5D067A7C6CB} + ReportLocalizationDelphi.dpr + True + Debug + ReportLocalizationDelphi + 1 + Application + VCL + 20.3 + Win32 + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + false + false + false + false + false + 00400000 + ReportLocalizationDelphi + Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + 8192 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;CFBundleName= + + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + RELEASE;$(DCC_Define) + 0 + false + 0 + + + PerMonitorV2 + + + DEBUG;$(DCC_Define) + false + true + true + true + + + PerMonitorV2 + .\$(Platform)\$(Config) + ..\ + true + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + ReportLocalizationDelphi_Icon.ico + + + + MainSource + + +
MainForm
+
+ +
DataModule1
+ TDataModule +
+ + + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + +
+ + Delphi.Personality.12 + + + + + ReportLocalizationDelphi.dpr + + + Embarcadero C++Builder Office 2000 Servers Package + Embarcadero C++Builder Office XP Servers Package + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + + True + False + + + + + ReportLocalizationDelphi.exe + true + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-anydpi-v21 + 1 + + + res\drawable-anydpi-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values-v31 + 1 + + + res\values-v31 + 1 + + + + + res\values-v35 + 1 + + + res\values-v35 + 1 + + + + + res\drawable-anydpi-v26 + 1 + + + res\drawable-anydpi-v26 + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-anydpi-v33 + 1 + + + res\drawable-anydpi-v33 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-night-v21 + 1 + + + res\values-night-v21 + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable-anydpi-v24 + 1 + + + res\drawable-anydpi-v24 + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-night-anydpi-v21 + 1 + + + res\drawable-night-anydpi-v21 + 1 + + + + + res\drawable-anydpi-v31 + 1 + + + res\drawable-anydpi-v31 + 1 + + + + + res\drawable-night-anydpi-v31 + 1 + + + res\drawable-night-anydpi-v31 + 1 + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + ..\ + 1 + + + + + Contents + 1 + + + Contents + 1 + + + Contents + 1 + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen + 64 + + + ..\$(PROJECTNAME).launchscreen + 64 + + + + + 1 + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + + + + + + + + + + + + + 12 + + + + + + + False + + False + copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" $(OUTPUTDIR) + False + + + + False + + False + copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" $(OUTPUTDIR) + False + + + + False + + False + copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" $(OUTPUTDIR) + False + + + + False + + False + copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" $(OUTPUTDIR) + False + +
diff --git a/Delphi/ReportLocalizationDelphi.dxSettings.pas b/Delphi/ReportLocalizationDelphi.dxSettings.pas new file mode 100644 index 0000000..407a5cb --- /dev/null +++ b/Delphi/ReportLocalizationDelphi.dxSettings.pas @@ -0,0 +1,69 @@ +{**********************************************************************} +{ } +{ This auxiliary unit was generated by } +{ DevExpress Project Settings Manager. } +{ } +{ The dxSettings unit reflects the current project settings in } +{ the source code of your project. Do not modify this file directly. } +{ } +{ Use the DevExpress Project Settings dialog to configure all project } +{ settings related to DevExpress components. Select the following } +{ item in the main menu of your RAD Studio IDE to invoke the dialog: } +{ } +{ Project | DevExpress Settings for Your Project } +{ } +{**********************************************************************} + +unit ReportLocalizationDelphi.dxSettings; + +{$I cxVer.inc} + +interface + +uses + Winapi.Windows, System.Classes, Vcl.Themes, dxCore, cxLookAndFeels, dxSkinsCore, dxSkinsForm, + dxSkinWXI, dxSkinTheBezier, dxSkinOffice2019Colorful, dxSkinOffice2019Black, + dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinBasic; + +implementation + +procedure LoadAppearanceToRootLookAndFeel(ARoot: TcxRootLookAndFeel); +begin + ARoot.Kind := lfUltraFlat; + ARoot.NativeStyle := True; + ARoot.ScrollbarMode := sbmDefault; + ARoot.ScrollMode := scmDefault; + ARoot.SkinName := 'WXICompact'; + ARoot.RenderMode := rmDefault; + ARoot.TouchMode := False; + ARoot.FormCorners := fcRectangular; + ARoot.SkinPaletteName := 'Sharpness'; + ARoot.ShowFormShadow := bDefault; + ARoot.UseSkins := True; + ARoot.UseImageSet := imsDefault; + ARoot.UseSkinsInPopupMenus := True; + ARoot.UseGlobalSkin := True; +end; + +procedure LoadAppearance; +var + ARoot: TcxRootLookAndFeel; +begin +{$IFDEF DELPHI120} + TStyleManager.ChangeChildFormSystemBorder := False; +{$ENDIF} + cxProjectSettingsAreOverriding := True; + cxCanUseSkinsWithoutSkinController := True; + ARoot := TcxRootLookAndFeel.Instance; + ARoot.BeginUpdate; + try + LoadAppearanceToRootLookAndFeel(ARoot); + finally + ARoot.EndUpdate; + end; + TdxVisualRefinements.LightStyleMode := lsmWithPaddings; +end; + +initialization + LoadAppearance; +end. \ No newline at end of file diff --git a/Delphi/ReportLocalizationDelphi.dxsettings b/Delphi/ReportLocalizationDelphi.dxsettings new file mode 100644 index 0000000..e4ec39d --- /dev/null +++ b/Delphi/ReportLocalizationDelphi.dxsettings @@ -0,0 +1,97 @@ + + + 1.0.0 + true + true + 2 + true + 0 + 0 + WXICompact + 0 + false + 1 + Sharpness + 2 + true + 0 + true + 1 + true + + true + true + true + true + true + true + true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + + + + 1.0.0 + + + false + + + + + + false + + + + + + diff --git a/Delphi/ReportLocalizationDelphi_Icon.ico b/Delphi/ReportLocalizationDelphi_Icon.ico new file mode 100644 index 0000000..60cda0a Binary files /dev/null and b/Delphi/ReportLocalizationDelphi_Icon.ico differ diff --git a/Delphi/uMainForm.dfm b/Delphi/uMainForm.dfm index deb7ba9..ae724b1 100644 --- a/Delphi/uMainForm.dfm +++ b/Delphi/uMainForm.dfm @@ -1,135 +1,914 @@ object MainForm: TMainForm Left = 0 Top = 0 - Caption = 'MainForm' - ClientHeight = 483 - ClientWidth = 606 + BorderIcons = [biSystemMenu, biMinimize, biHelp] + BorderStyle = bsSingle + Caption = 'DevExpress Reports Localization Example' + ClientHeight = 111 + ClientWidth = 416 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = 'Segoe UI' Font.Style = [] + Icon.Data = { + 0000010006003030000001002000A8250000660000002020000001002000A810 + 00000E260000101000000100200068040000B63600003030000001001800A81C + 00001E3B00002020000001001800A80C0000C657000010100000010018006803 + 00006E6400002800000030000000600000000100200000000000802500000000 + 000000000000000000000000000000000000000000030000000C000000130000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 00130000000C0000000300000000000000030E0E0E19323232A4373737F23737 + 37FF373737FF373737FF373737FF363636FF363636FF353535FF353535FF3434 + 34FF343434FF343434FF333333FF333333FF323232FF323232FF323232FF3131 + 31FF313131FF313131FF313131FF303030FF303030FF303030FF2F2F2FFF2F2F + 2FFF2E2E2EFF2E2E2EFF2E2E2EFF2E2E2EFF2E2E2EFF2E2E2EFF2E2E2EFF2D2D + 2DFF2D2D2DFF2D2D2DFF2C2C2CFF2C2C2CFF2C2C2CFF2C2C2CFF2C2C2CFF2B2B + 2BF2272727A40B0B0B18000000030000000C333333A3454545FF4B4B4BFF4B4B + 4BFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF494949FF484848FF474747FF4747 + 47FF474747FF464646FF464646FF454545FF444444FF444444FF434343FF4343 + 43FF434343FF424242FF414141FF414141FF404040FF404040FF404040FF4040 + 40FF3F3F3FFF3F3F3FFF3E3E3EFF3E3E3EFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D + 3DFF3D3D3DFF3C3C3CFF3C3C3CFF3C3C3CFF3B3B3BFF3B3B3BFF3B3B3BFF3A3A + 3AFF353535FF2727279D0000000B00000013444444F14D4D4DFF4D4D4DFF4D4D + 4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A4AFF494949FF484848FF4848 + 48FF474747FF474747FF474747FF464646FF454545FF454545FF444444FF4343 + 43FF434343FF434343FF424242FF424242FF414141FF414141FF404040FF4040 + 40FF404040FF3F3F3FFF3F3F3FFF3E3E3EFF3E3E3EFF3E3E3EFF3D3D3DFF3D3D + 3DFF3D3D3DFF3D3D3DFF3C3C3CFF3C3C3CFF3C3C3CFF3B3B3BFF3B3B3BFF3B3B + 3BFF3B3B3BFF333333F100000013000000164D4D4DFF4E4E4EFF4E4E4EFF4D4D + 4DFF4D4D4DFF4C4C4CFF4B4B4BFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A4AFF4949 + 49FF484848FF474747FF474747FF474747FF464646FF464646FF454545FF4444 + 44FF444444FF434343FF434343FF434343FF424242FF424242FF414141FF4040 + 40FF404040FF404040FF404040FF3F3F3FFF3F3F3FFF3E3E3EFF3E3E3EFF3D3D + 3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3C3C3CFF3C3C3CFF3C3C3CFF3B3B + 3BFF3B3B3BFF3A3A3AFF0000001600000016505050FF505050FF4F4F4FFF4E4E + 4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A + 4AFF494949FF494949FF484848FF474747FF474747FF474747FF464646FF4545 + 45FF454545FF444444FF434343FF434343FF434343FF434343FF424242FF4141 + 41FF414141FF404040FF404040FF404040FF404040FF3F3F3FFF3F3F3FFF3E3E + 3EFF3E3E3EFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3C3C3CFF3C3C3CFF3C3C + 3CFF3B3B3BFF3B3B3BFF0000001600000016515151FF515151FF505050FF4F4F + 4FFF4E4E4EFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C4CFF4C4C4CFF4B4B4BFF4A4A + 4AFF4A4A4AFF4A4A4AFF494949FF484848FF484848FF474747FF474747FF4646 + 46FF464646FF454545FF444444FF444444FF434343FF434343FF434343FF4242 + 42FF424242FF414141FF414141FF404040FF404040FF404040FF3F3F3FFF3F3F + 3FFF3E3E3EFF3E3E3EFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3C3C + 3CFF3C3C3CFF3C3C3CFF0000001600000016525252FF515151FF515151FF5050 + 50FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B + 4BFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF494949FF484848FF474747FF4747 + 47FF474747FF464646FF454545FF454545FF444444FF444444FF434343FF4343 + 43FF434343FF424242FF414141FF414141FF404040FF404040FF404040FF4040 + 40FF3F3F3FFF3F3F3FFF3E3E3EFF3E3E3EFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D + 3DFF3D3D3DFF3C3C3CFF0000001600000016969696FF525252FF515151FF5151 + 51FF515151FF505050FF4F4F4FFF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D + 4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A4AFF494949FF484848FF4848 + 48FF474747FF474747FF474747FF464646FF454545FF454545FF444444FF4343 + 43FF434343FF434343FF424242FF424242FF414141FF414141FF404040FF4040 + 40FF404040FF3F3F3FFF3F3F3FFF3E3E3EFF3E3E3EFF3D3D3DFF3D3D3DFF3D3D + 3DFF3D3D3DFF3D3D3DFF0000001600000016F4F4F4FF646464FF535353FF5252 + 52FF515151FF515151FF515151FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D + 4DFF4D4D4DFF4C4C4CFF4B4B4BFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A4AFF4949 + 49FF484848FF474747FF474747FF474747FF464646FF464646FF454545FF4444 + 44FF444444FF434343FF434343FF434343FF424242FF424242FF414141FF4040 + 40FF404040FF404040FF404040FF3F3F3FFF3F3F3FFF3E3E3EFF3E3E3EFF3D3D + 3DFF3D3D3DFF3D3D3DFF0000001600000016FFFFFFFFDBDBDBFF5C5C5CFF5353 + 53FF525252FF525252FF515151FF515151FF505050FF4F4F4FFF4F4F4FFF4E4E + 4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A + 4AFF494949FF484848FF484848FF474747FF474747FF474747FF464646FF4545 + 45FF454545FF444444FF434343FF434343FF434343FF424242FF424242FF4141 + 41FF414141FF404040FF404040FF404040FF404040FF3F3F3FFF3F3F3FFF3E3E + 3EFF3E3E3EFF3D3D3DFF0000001600000016FFFFFFFFFFFFFFFFB8B8B8FF5454 + 54FF545454FF535353FF525252FF515151FF515151FF515151FF505050FF4F4F + 4FFF4E4E4EFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C4CFF4C4C4CFF4B4B4BFF4A4A + 4AFF4A4A4AFF4A4A4AFF494949FF484848FF474747FF474747FF474747FF4646 + 46FF464646FF454545FF444444FF444444FF434343FF434343FF434343FF4242 + 42FF424242FF414141FF404040FF404040FF404040FF404040FF3F3F3FFF3F3F + 3FFF3E3E3EFF3E3E3EFF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFB8B8 + B8FF545454FF545454FF535353FF525252FF525252FF515151FF515151FF5050 + 50FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B + 4BFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF494949FF484848FF474747FF4747 + 47FF474747FF464646FF454545FF454545FF444444FF434343FF434343FF4343 + 43FF434343FF424242FF414141FF414141FF404040FF404040FF404040FF4040 + 40FF3F3F3FFF3F3F3FFF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFB8B8B8FF545454FF545454FF545454FF535353FF525252FF515151FF5151 + 51FF515151FF505050FF4F4F4FFF4E4E4EFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C + 4CFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A4AFF494949FF484848FF4848 + 48FF474747FF474747FF474747FF464646FF454545FF444444FF444444FF4343 + 43FF434343FF434343FF424242FF424242FF414141FF414141FF404040FF4040 + 40FF404040FF3F3F3FFF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFB8B8B8FF555555FF545454FF545454FF535353FF535353FF5252 + 52FF515151FF515151FF505050FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D + 4DFF4D4D4DFF4C4C4CFF4B4B4BFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF4949 + 49FF484848FF474747FF474747FF474747FF464646FF464646FF454545FF4444 + 44FF444444FF434343FF434343FF434343FF424242FF414141FF414141FF4040 + 40FF404040FF404040FF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFB8B8B8FF555555FF545454FF545454FF545454FF5353 + 53FF525252FF525252FF515151FF515151FF505050FF4F4F4FFF4F4F4FFF4E4E + 4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A + 4AFF494949FF484848FF484848FF474747FF474747FF474747FF464646FF4545 + 45FF454545FF444444FF434343FF434343FF434343FF424242FF424242FF4141 + 41FF414141FF404040FF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFB8B8B8FF565656FF555555FF545454FF5454 + 54FF545454FF535353FF525252FF515151FF515151FF515151FF505050FF4F4F + 4FFF4E4E4EFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C4CFF4C4C4CFF4B4B4BFF4A4A + 4AFF4A4A4AFF4A4A4AFF494949FF484848FF474747FF474747FF474747FF4646 + 46FF464646FF454545FF444444FF444444FF434343FF434343FF434343FF4242 + 42FF424242FF414141FF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4C4C4FF5F5F5FFF555555FF5555 + 55FF545454FF545454FF535353FF525252FF525252FF515151FF515151FF5050 + 50FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B + 4BFF4A4A4AFF4A4A4AFF4A4A4AFF494949FF494949FF484848FF474747FF4747 + 47FF474747FF464646FF454545FF454545FF444444FF434343FF434343FF4343 + 43FF434343FF424242FF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDCDCDCFF686868FF5656 + 56FF555555FF545454FF545454FF545454FF535353FF525252FF515151FF5151 + 51FF515151FF505050FF4F4F4FFF4E4E4EFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C + 4CFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A4AFF494949FF484848FF4848 + 48FF474747FF474747FF464646FF464646FF454545FF444444FF444444FF4343 + 43FF434343FF434343FF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4FF7A7A + 7AFF565656FF555555FF555555FF545454FF545454FF535353FF535353FF5252 + 52FF515151FF515151FF505050FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D + 4DFF4D4D4DFF4C4C4CFF4B4B4BFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF4949 + 49FF484848FF474747FF474747FF474747FF464646FF464646FF454545FF4444 + 44FF444444FF434343FF0000001600000016FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFA2A2A2FF575757FF565656FF555555FF545454FF545454FF545454FF5353 + 53FF525252FF515151FF515151FF515151FF505050FF4F4F4FFF4F4F4FFF4E4E + 4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A + 4AFF494949FF484848FF484848FF474747FF474747FF474747FF464646FF4545 + 45FF454545FF444444FF000000160000001666A4F9FFF1F7FEFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFD0D0D0FF686868FF565656FF565656FF555555FF545454FF5454 + 54FF535353FF535353FF525252FF515151FF515151FF515151FF505050FF4F4F + 4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4B4B4BFF4A4A + 4AFF4A4A4AFF4A4A4AFF494949FF484848FF474747FF474747FF474747FF4646 + 46FF464646FF454545FF00000016000000163F89F7FF5B9DF9FFF1F7FEFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFF4F4F4FF989898FF575757FF565656FF555555FF5454 + 54FF545454FF545454FF535353FF525252FF525252FF515151FF515151FF5050 + 50FF4F4F4FFF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B + 4BFF4A4A4AFF4A4A4AFF4A4A4AFF494949FF484848FF484848FF474747FF4747 + 47FF474747FF464646FF0000001600000016408AF7FF3F89F7FF5B9DF9FFF1F7 + FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0D0D0FF686868FF575757FF5656 + 56FF555555FF545454FF545454FF545454FF535353FF525252FF515151FF5151 + 51FF515151FF505050FF4F4F4FFF4E4E4EFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C + 4CFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A4AFF494949FF484848FF4848 + 48FF474747FF474747FF0000001600000016418AF7FF408AF7FF408AF7FF4990 + F8FFD5E7FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4FFA3A3A3FF5F5F + 5FFF565656FF555555FF555555FF545454FF545454FF535353FF535353FF5252 + 52FF515151FF515151FF505050FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D + 4DFF4D4D4DFF4C4C4CFF4B4B4BFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF4949 + 49FF484848FF474747FF0000001600000016428BF7FF418AF7FF418AF7FF408A + F7FF4990F8FFABD1FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7 + E7FF8E8E8EFF575757FF565656FF555555FF545454FF545454FF545454FF5353 + 53FF525252FF515151FF515151FF515151FF505050FF4F4F4FFF4F4F4FFF4E4E + 4EFF4D4D4DFF4D4D4DFF4C4C4CFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4A4A + 4AFF494949FF484848FF0000001600000016438CF7FF428BF7FF428BF7FF418A + F7FF408AF7FF408AF7FF7BB3FAFFF1F7FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFDCDCDCFF7A7A7AFF565656FF565656FF555555FF545454FF5454 + 54FF535353FF535353FF525252FF515151FF515151FF515151FF505050FF4F4F + 4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4B4B4BFF4A4A + 4AFF4A4A4AFF494949FF0000001600000016448CF7FF438CF7FF438CF7FF428B + F7FF418AF7FF418AF7FF408AF7FF5397F8FFD5E7FDFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFD0D0D0FF8E8E8EFF565656FF555555FF5454 + 54FF545454FF545454FF535353FF525252FF525252FF515151FF515151FF5050 + 50FF4F4F4FFF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B + 4BFF4A4A4AFF4A4A4AFF0000001600000016458DF7FF448CF7FF448CF7FF438C + F7FF438CF7FF428BF7FF418AF7FF418AF7FF408AF7FF92C1FBFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7FF8D8D8DFF5F5F + 5FFF555555FF545454FF545454FF545454FF535353FF525252FF515151FF5151 + 51FF515151FF505050FF4F4F4FFF4E4E4EFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C + 4CFF4C4C4CFF4B4B4BFF0000001600000016468DF7FF458DF7FF458DF7FF448C + F7FF448CF7FF438CF7FF428BF7FF428BF7FF418AF7FF408AF7FF5498F8FFC6DF + FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4 + F4FFB8B8B8FF707070FF555555FF545454FF545454FF535353FF525252FF5252 + 52FF515151FF515151FF505050FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D + 4DFF4D4D4DFF4C4C4CFF0000001600000016478EF7FF468DF7FF468DF7FF458D + F7FF458DF7FF448CF7FF438CF7FF438CF7FF428BF7FF418AF7FF418AF7FF408A + F7FF70ACFAFFE3EFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFDCDCDCFF979797FF666666FF545454FF545454FF5353 + 53FF525252FF515151FF515151FF515151FF505050FF4F4F4FFF4E4E4EFF4E4E + 4EFF4D4D4DFF4D4D4DFF0000001600000016488EF7FF478EF7FF478EF7FF468D + F7FF468DF7FF458DF7FF448CF7FF448CF7FF438CF7FF428BF7FF428BF7FF418A + F7FF408AF7FF408AF7FF87BAFBFFF1F7FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBDBDBFF979797FF6F6F + 6FFF535353FF535353FF525252FF515151FF515151FF505050FF505050FF4F4F + 4FFF4E4E4EFF4D4D4DFF0000001600000016498FF7FF488EF7FF488EF7FF478E + F7FF478EF7FF468DF7FF458DF7FF458DF7FF448CF7FF438CF7FF438CF7FF428B + F7FF418AF7FF418AF7FF408AF7FF4990F8FF92C1FBFFF1F7FEFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFE7E7E7FFB7B7B7FF8B8B8BFF646464FF515151FF515151FF515151FF5050 + 50FF4F4F4FFF4F4F4FFF00000016000000164A90F7FF498FF7FF498FF7FF488E + F7FF478EF7FF478EF7FF468DF7FF468DF7FF458DF7FF448CF7FF448CF7FF438C + F7FF438CF7FF428BF7FF418AF7FF408AF7FF408AF7FF4990F8FF7BB2FAFFE2EF + FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6FFC2C2C2FF9F9F9FFF7575 + 75FF595959FF505050FF00000016000000164A90F7FF4A90F7FF498FF7FF498F + F7FF488EF7FF488EF7FF478EF7FF478EF7FF468DF7FF458DF7FF458DF7FF448C + F7FF448CF7FF438CF7FF428BF7FF428BF7FF418AF7FF408AF7FF408AF7FF3F89 + F7FF6FACFAFFB9D7FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000016000000164B90F7FF4B90F7FF4A90F7FF4A90 + F7FF498FF7FF498FF7FF488EF7FF488EF7FF478EF7FF468DF7FF468DF7FF458D + F7FF458DF7FF448CF7FF438CF7FF438CF7FF428BF7FF418AF7FF418AF7FF408A + F7FF3F89F7FF3F89F7FF5297F8FF91C1FBFFE2EFFEFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000016000000164B91F7FF4B90F7FF4B90F7FF4A90 + F7FF4A90F7FF498FF7FF498FF7FF488EF7FF488EF7FF478EF7FF478EF7FF468D + F7FF468DF7FF458DF7FF448CF7FF448CF7FF438CF7FF428BF7FF428BF7FF418A + F7FF408AF7FF408AF7FF3F89F7FF3E89F7FF3E89F7FF5A9DF9FF9DC8FBFFE2EE + FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000016000000164C91F7FF4B91F7FF4B91F7FF4B90 + F7FF4B90F7FF4A90F7FF4A90F7FF498FF7FF498FF7FF488EF7FF488EF7FF478E + F7FF468DF7FF468DF7FF458DF7FF458DF7FF448CF7FF438CF7FF438CF7FF428B + F7FF418AF7FF418AF7FF408AF7FF3F89F7FF3F89F7FF3E89F7FF3E88F7FF3D88 + F7FF599CF9FF85B9FBFFC5DFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000016000000164C91F7FF4C91F7FF4B91F7FF4B91 + F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF4A90F7FF498FF7FF488EF7FF488E + F7FF478EF7FF478EF7FF468DF7FF468DF7FF458DF7FF448CF7FF448CF7FF438C + F7FF428BF7FF428BF7FF418AF7FF408AF7FF408AF7FF3F89F7FF3E89F7FF3E89 + F7FF3E88F7FF3D88F7FF3C87F7FF3C87F7FF63A3F9FF8FC0FBFFC4DEFDFFF1F7 + FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000016000000164D92F7FF4C91F7FF4C91F7FF4C91 + F7FF4B91F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF4A90F7FF498FF7FF498F + F7FF488EF7FF488EF7FF478EF7FF478EF7FF468DF7FF458DF7FF458DF7FF448C + F7FF438CF7FF438CF7FF428BF7FF428BF7FF418AF7FF408AF7FF3F89F7FF3F89 + F7FF3E89F7FF3E88F7FF3E88F7FF3D88F7FF3C87F7FF3B86F7FF3B86F7FF3A86 + F7FF4D94F7FF6BA9FAFF8EBFFBFFB6D5FCFFD3E6FDFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000016000000164D92F7FF4D92F7FF4D92F7FF4C91 + F7FF4C91F7FF4B91F7FF4B91F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF4A90 + F7FF498FF7FF498FF7FF488EF7FF478EF7FF478EF7FF468DF7FF468DF7FF458D + F7FF448CF7FF448CF7FF438CF7FF438CF7FF428BF7FF418AF7FF418AF7FF408A + F7FF3F89F7FF3E89F7FF3E89F7FF3E88F7FF3D88F7FF3D88F7FF3C87F7FF3B86 + F7FF3A86F7FF3A86F7FF3985F7FF3885F7FF3784F7FF3784F7FF4B92F7FF5EA0 + F9FF68A7FAFFC3DDFDFF00000016000000164E92F8FF4E92F8FF4D92F7FF4D92 + F7FF4D92F7FF4C91F7FF4C91F7FF4B91F7FF4B91F7FF4B90F7FF4B90F7FF4A90 + F7FF4A90F7FF498FF7FF498FF7FF488EF7FF488EF7FF478EF7FF478EF7FF468D + F7FF458DF7FF458DF7FF448CF7FF448CF7FF438CF7FF428BF7FF428BF7FF418A + F7FF408AF7FF408AF7FF3F89F7FF3E89F7FF3E88F7FF3E88F7FF3D88F7FF3C87 + F7FF3C87F7FF3B86F7FF3A86F7FF3985F7FF3985F7FF3885F7FF3784F7FF3684 + F6FF3583F6FF408AF7FF00000016000000164E92F8FF4E92F8FF4E92F8FF4D92 + F7FF4D92F7FF4D92F7FF4C91F7FF4C91F7FF4C91F7FF4B91F7FF4B91F7FF4B90 + F7FF4B90F7FF4A90F7FF4A90F7FF498FF7FF498FF7FF488EF7FF488EF7FF478E + F7FF468DF7FF468DF7FF458DF7FF458DF7FF448CF7FF438CF7FF438CF7FF428B + F7FF418AF7FF418AF7FF408AF7FF3F89F7FF3F89F7FF3E89F7FF3E88F7FF3D88 + F7FF3D88F7FF3C87F7FF3B86F7FF3B86F7FF3A86F7FF3985F7FF3885F7FF3784 + F7FF3784F7FF3684F6FF00000016000000164E92F8FF4E92F8FF4E92F8FF4E92 + F8FF4E92F8FF4D92F7FF4D92F7FF4D92F7FF4C91F7FF4C91F7FF4B91F7FF4B91 + F7FF4B90F7FF4B90F7FF4B90F7FF4A90F7FF4A90F7FF498FF7FF488EF7FF488E + F7FF478EF7FF478EF7FF468DF7FF468DF7FF458DF7FF448CF7FF448CF7FF438C + F7FF428BF7FF428BF7FF418AF7FF408AF7FF408AF7FF3F89F7FF3E89F7FF3E89 + F7FF3E88F7FF3D88F7FF3C87F7FF3C87F7FF3B86F7FF3A86F7FF3985F7FF3985 + F7FF3885F7FF3784F7FF00000016000000134D90F4F14E92F8FF4E92F8FF4E92 + F8FF4E92F8FF4E92F8FF4D92F7FF4D92F7FF4D92F7FF4C91F7FF4C91F7FF4C91 + F7FF4B91F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF4A90F7FF498FF7FF498F + F7FF488EF7FF488EF7FF478EF7FF478EF7FF468DF7FF458DF7FF458DF7FF448C + F7FF438CF7FF438CF7FF428BF7FF418AF7FF418AF7FF408AF7FF3F89F7FF3F89 + F7FF3E89F7FF3E88F7FF3E88F7FF3D88F7FF3C87F7FF3B86F7FF3B86F7FF3A86 + F7FF3985F7FF3783F3F1000000130000000C437ED6A34E92F8FF4E92F8FF4E92 + F8FF4E92F8FF4E92F8FF4E92F8FF4E92F8FF4D92F7FF4D92F7FF4D92F7FF4C91 + F7FF4C91F7FF4B91F7FF4B91F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF4A90 + F7FF498FF7FF498FF7FF488EF7FF478EF7FF478EF7FF468DF7FF468DF7FF458D + F7FF448CF7FF448CF7FF438CF7FF438CF7FF428BF7FF418AF7FF418AF7FF408A + F7FF3F89F7FF3E89F7FF3E89F7FF3E88F7FF3D88F7FF3D88F7FF3C87F7FF3B86 + F7FF3A86F7FF3272D39C0000000B00000003111F35194581DBA44D90F4F14E92 + F8FF4E92F8FF4E92F8FF4E92F8FF4E92F8FF4E92F8FF4E92F8FF4D92F7FF4D92 + F7FF4C91F7FF4C91F7FF4C91F7FF4B91F7FF4B91F7FF4B90F7FF4B90F7FF4A90 + F7FF4A90F7FF498FF7FF498FF7FF488EF7FF488EF7FF478EF7FF478EF7FF468D + F7FF458DF7FF458DF7FF448CF7FF448CF7FF438CF7FF428BF7FF428BF7FF418A + F7FF408AF7FF408AF7FF3F89F7FF3E89F7FF3E88F7FF3E88F7FF3D88F7FF3B85 + F3F23577DAA40D1E37180000000300000000000000030000000C000000130000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 00130000000C0000000300000000800000000001000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008000000000010000280000002000000040000000010020000000 + 0000801000000000000000000000000000000000000000000002000000080000 + 0011000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 00160000001600000016000000110000000800000002000000082C2C2C5F3838 + 38EC383838FF373737FF373737FF363636FF353535FF353535FF343434FF3434 + 34FF333333FF323232FF323232FF313131FF313131FF303030FF303030FF3030 + 30FF2F2F2FFF2E2E2EFF2E2E2EFF2E2E2EFF2E2E2EFF2E2E2EFF2D2D2DFF2C2C + 2CFF2C2C2CFF2C2C2CFF2B2B2BEC2121215F00000008000000113E3E3EEA4B4B + 4BFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF484848FF474747FF4747 + 47FF464646FF454545FF444444FF434343FF434343FF424242FF414141FF4040 + 40FF404040FF3F3F3FFF3F3F3FFF3E3E3EFF3D3D3DFF3D3D3DFF3D3D3DFF3C3C + 3CFF3C3C3CFF3B3B3BFF3A3A3AFF2F2F2FEA00000011000000164E4E4EFF4E4E + 4EFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF484848FF4747 + 47FF474747FF464646FF454545FF444444FF434343FF434343FF424242FF4141 + 41FF414141FF404040FF404040FF3F3F3FFF3E3E3EFF3E3E3EFF3D3D3DFF3D3D + 3DFF3D3D3DFF3C3C3CFF3B3B3BFF393939FF0000001600000016515151FF5050 + 50FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C4CFF4A4A4AFF4A4A4AFF4949 + 49FF484848FF474747FF474747FF464646FF454545FF444444FF434343FF4343 + 43FF424242FF414141FF404040FF404040FF3F3F3FFF3F3F3FFF3E3E3EFF3D3D + 3DFF3D3D3DFF3D3D3DFF3C3C3CFF3C3C3CFF00000016000000165B5B5BFF5151 + 51FF515151FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A + 4AFF4A4A4AFF494949FF484848FF474747FF464646FF454545FF444444FF4343 + 43FF434343FF424242FF424242FF414141FF404040FF404040FF3F3F3FFF3E3E + 3EFF3E3E3EFF3D3D3DFF3D3D3DFF3D3D3DFF0000001600000016A1A1A1FF5353 + 53FF525252FF515151FF515151FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C + 4CFF4B4B4BFF4A4A4AFF494949FF484848FF474747FF474747FF464646FF4545 + 45FF444444FF434343FF434343FF424242FF414141FF404040FF404040FF4040 + 40FF3F3F3FFF3E3E3EFF3D3D3DFF3D3D3DFF0000001600000016FFFFFFFF7878 + 78FF545454FF535353FF515151FF515151FF505050FF4F4F4FFF4E4E4EFF4D4D + 4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF484848FF474747FF4747 + 47FF464646FF454545FF444444FF434343FF434343FF424242FF414141FF4040 + 40FF404040FF3F3F3FFF3F3F3FFF3E3E3EFF0000001600000016FFFFFFFFF4F4 + F4FF707070FF545454FF535353FF525252FF515151FF515151FF505050FF4E4E + 4EFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF494949FF484848FF4747 + 47FF474747FF464646FF454545FF444444FF434343FF434343FF424242FF4141 + 41FF404040FF404040FF404040FF3F3F3FFF0000001600000016FFFFFFFFFFFF + FFFFF4F4F4FF707070FF545454FF545454FF535353FF525252FF515151FF5050 + 50FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4B4B4BFF4A4A4AFF4A4A4AFF4949 + 49FF484848FF474747FF474747FF464646FF454545FF444444FF434343FF4343 + 43FF424242FF414141FF404040FF404040FF0000001600000016FFFFFFFFFFFF + FFFFFFFFFFFFF4F4F4FF717171FF555555FF545454FF545454FF525252FF5151 + 51FF515151FF505050FF4F4F4FFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A + 4AFF4A4A4AFF494949FF474747FF474747FF464646FF454545FF444444FF4343 + 43FF434343FF424242FF414141FF414141FF0000001600000016FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFF4F4F4FF717171FF565656FF545454FF545454FF5353 + 53FF525252FF515151FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4C4C + 4CFF4A4A4AFF4A4A4AFF494949FF484848FF474747FF474747FF464646FF4545 + 45FF444444FF434343FF434343FF424242FF0000001600000016FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4FF7A7A7AFF565656FF555555FF5454 + 54FF545454FF535353FF515151FF515151FF505050FF4F4F4FFF4E4E4EFF4D4D + 4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF494949FF484848FF474747FF4646 + 46FF454545FF444444FF434343FF434343FF0000001600000016FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF989898FF575757FF5656 + 56FF555555FF545454FF535353FF525252FF515151FF515151FF4F4F4FFF4E4E + 4EFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF494949FF484848FF4747 + 47FF474747FF464646FF454545FF444444FF000000160000001666A4F9FFF1F7 + FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4C4C4FF6060 + 60FF565656FF555555FF545454FF545454FF535353FF525252FF515151FF5050 + 50FF4F4F4FFF4E4E4EFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF4949 + 49FF484848FF474747FF474747FF464646FF0000001600000016408AF7FF5C9E + F9FFF1F7FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7 + E7FF7A7A7AFF575757FF565656FF555555FF545454FF535353FF525252FF5151 + 51FF515151FF505050FF4E4E4EFF4D4D4DFF4D4D4DFF4C4C4CFF4B4B4BFF4A4A + 4AFF4A4A4AFF484848FF474747FF474747FF0000001600000016418AF7FF408A + F7FF5C9EF9FFD5E7FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFB9B9B9FF606060FF575757FF555555FF545454FF545454FF5353 + 53FF525252FF515151FF505050FF4F4F4FFF4E4E4EFF4D4D4DFF4D4D4DFF4B4B + 4BFF4A4A4AFF4A4A4AFF494949FF484848FF0000001600000016438CF7FF428B + F7FF418AF7FF4A90F8FFABD1FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFF4F4F4FF999999FF575757FF565656FF555555FF5454 + 54FF545454FF525252FF515151FF515151FF505050FF4F4F4FFF4D4D4DFF4D4D + 4DFF4C4C4CFF4B4B4BFF4A4A4AFF4A4A4AFF0000001600000016458DF7FF448C + F7FF438CF7FF428BF7FF418AF7FF70ACFAFFF1F7FEFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7FF8E8E8EFF575757FF5656 + 56FF545454FF545454FF535353FF525252FF515151FF505050FF4F4F4FFF4E4E + 4EFF4D4D4DFF4D4D4DFF4C4C4CFF4A4A4AFF0000001600000016468DF7FF458D + F7FF448CF7FF438CF7FF428BF7FF418AF7FF4A90F8FFABD1FCFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7FFA3A3 + A3FF5F5F5FFF555555FF545454FF545454FF535353FF515151FF515151FF5050 + 50FF4F4F4FFF4E4E4EFF4D4D4DFF4C4C4CFF0000001600000016478EF7FF478E + F7FF468DF7FF458DF7FF448CF7FF438CF7FF428BF7FF418AF7FF67A5F9FFC6DF + FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFB9B9B9FF848484FF555555FF545454FF535353FF525252FF5151 + 51FF515151FF4F4F4FFF4E4E4EFF4D4D4DFF0000001600000016498FF7FF488E + F7FF478EF7FF468DF7FF458DF7FF448CF7FF438CF7FF428BF7FF418AF7FF408A + F7FF66A5F9FFC6DFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4FFB8B8B8FF838383FF545454FF5353 + 53FF525252FF515151FF505050FF4F4F4FFF00000016000000164A90F7FF498F + F7FF488EF7FF488EF7FF478EF7FF468DF7FF458DF7FF448CF7FF438CF7FF428B + F7FF418AF7FF408AF7FF66A5F9FFB9D7FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCF + CFFFA0A0A0FF818181FF636363FF515151FF00000016000000164B90F7FF4A90 + F7FF4A90F7FF498FF7FF488EF7FF478EF7FF468DF7FF458DF7FF448CF7FF438C + F7FF428BF7FF418AF7FF408AF7FF3F89F7FF5297F8FF86B9FBFFE2EFFEFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000016000000164B91F7FF4B91 + F7FF4B90F7FF4A90F7FF498FF7FF498FF7FF488EF7FF478EF7FF468DF7FF458D + F7FF448CF7FF438CF7FF428BF7FF418AF7FF408AF7FF3F89F7FF3E89F7FF5A9D + F9FF85B9FBFFD4E7FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000016000000164C91F7FF4C91 + F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF498FF7FF488EF7FF478EF7FF468D + F7FF468DF7FF458DF7FF448CF7FF438CF7FF428BF7FF418AF7FF408AF7FF3E89 + F7FF3E88F7FF3D88F7FF468EF8FF6DAAFAFF8FC0FBFFC4DEFDFFF1F7FEFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000016000000164D92F7FF4D92 + F7FF4C91F7FF4B91F7FF4B91F7FF4B90F7FF4A90F7FF4A90F7FF498FF7FF488E + F7FF478EF7FF468DF7FF458DF7FF448CF7FF438CF7FF428BF7FF418AF7FF408A + F7FF3F89F7FF3E89F7FF3E88F7FF3D88F7FF3C87F7FF3A86F7FF3985F7FF4C93 + F7FF60A1F9FF81B7FBFF8CBEFBFFC3DDFDFF00000016000000164E92F8FF4E92 + F8FF4D92F7FF4C91F7FF4C91F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF498F + F7FF488EF7FF478EF7FF478EF7FF468DF7FF458DF7FF448CF7FF438CF7FF428B + F7FF418AF7FF408AF7FF3F89F7FF3E89F7FF3D88F7FF3C87F7FF3B86F7FF3A86 + F7FF3985F7FF3885F7FF3784F7FF3583F6FF00000016000000164E92F8FF4E92 + F8FF4E92F8FF4D92F7FF4D92F7FF4C91F7FF4C91F7FF4B91F7FF4B90F7FF4A90 + F7FF4A90F7FF498FF7FF488EF7FF478EF7FF468DF7FF458DF7FF448CF7FF438C + F7FF428BF7FF418AF7FF408AF7FF3F89F7FF3E89F7FF3E88F7FF3D88F7FF3C87 + F7FF3B86F7FF3A86F7FF3885F7FF3784F7FF00000016000000114C8FF3EC4E92 + F8FF4E92F8FF4E92F8FF4E92F8FF4D92F7FF4C91F7FF4C91F7FF4B91F7FF4B91 + F7FF4B90F7FF4A90F7FF498FF7FF488EF7FF488EF7FF478EF7FF468DF7FF458D + F7FF448CF7FF438CF7FF428BF7FF418AF7FF408AF7FF3F89F7FF3E89F7FF3E88 + F7FF3C87F7FF3B86F7FF3A86F7FF3882F2EC00000011000000083869B1564A8B + EBD44E92F8FF4E92F8FF4E92F8FF4E92F8FF4D92F7FF4D92F7FF4C91F7FF4C91 + F7FF4B91F7FF4B90F7FF4B90F7FF4A90F7FF498FF7FF488EF7FF478EF7FF468D + F7FF458DF7FF448CF7FF448CF7FF438CF7FF428BF7FF408AF7FF3F89F7FF3E89 + F7FF3E88F7FF3D88F7FF3980EAD42B60B1560000000800000001000000070000 + 0010000000150000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001600000016000000160000001600000016000000160000 + 0016000000160000001500000010000000070000000100000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000028000000100000002000 + 0000010020000000000040040000000000000000000000000000000000003939 + 39C3373737FF373737FF353535FF343434FF333333FF323232FF313131FF3030 + 30FF303030FF2E2E2EFF2E2E2EFF2E2E2EFF2D2D2DFF2C2C2CFF2C2C2CC44949 + 49FF4D4D4DFF4B4B4BFF4A4A4AFF484848FF474747FF454545FF444444FF4343 + 43FF414141FF404040FF3F3F3FFF3E3E3EFF3D3D3DFF3D3D3DFF383838FF5151 + 51FF505050FF4E4E4EFF4D4D4DFF4B4B4BFF4A4A4AFF484848FF474747FF4545 + 45FF434343FF434343FF414141FF404040FF3F3F3FFF3E3E3EFF3D3D3DFFB8B8 + B8FF535353FF515151FF4F4F4FFF4D4D4DFF4C4C4CFF4A4A4AFF494949FF4747 + 47FF464646FF454545FF434343FF424242FF414141FF404040FF3F3F3FFFFFFF + FFFF8D8D8DFF545454FF525252FF515151FF4F4F4FFF4D4D4DFF4C4C4CFF4A4A + 4AFF494949FF474747FF464646FF444444FF434343FF424242FF404040FFFFFF + FFFFFFFFFFFFA2A2A2FF555555FF545454FF525252FF515151FF4F4F4FFF4D4D + 4DFF4B4B4BFF4A4A4AFF484848FF474747FF464646FF444444FF434343FF6DAB + FAFFF1F7FEFFFFFFFFFFB9B9B9FF5F5F5FFF555555FF535353FF515151FF5050 + 50FF4E4E4EFF4D4D4DFF4B4B4BFF4A4A4AFF484848FF474747FF454545FF3E89 + F7FF599CF9FFF1F7FEFFFFFFFFFFDCDCDCFF727272FF565656FF545454FF5353 + 53FF515151FF505050FF4E4E4EFF4D4D4DFF4A4A4AFF4A4A4AFF484848FF428B + F7FF408AF7FF488FF8FFC5DFFDFFFFFFFFFFFFFFFFFFA4A4A4FF606060FF5656 + 56FF545454FF525252FF515151FF4F4F4FFF4D4D4DFF4C4C4CFF4A4A4AFF458D + F7FF438CF7FF418AF7FF408AF7FF7BB2FAFFF1F7FEFFFFFFFFFFF4F4F4FFA3A3 + A3FF5F5F5FFF555555FF545454FF525252FF515151FF4F4F4FFF4D4D4DFF488E + F7FF468DF7FF458DF7FF438CF7FF418AF7FF4990F8FF91C1FBFFF1F7FEFFFFFF + FFFFF4F4F4FFAFAFAFFF717171FF555555FF545454FF525252FF505050FF4A90 + F7FF498FF7FF478EF7FF468DF7FF448CF7FF428BF7FF418AF7FF4990F8FF7AB2 + FAFFD4E7FDFFFFFFFFFFFFFFFFFFE7E7E7FFAEAEAEFF838383FF646464FF4C91 + F7FF4B90F7FF4A90F7FF498FF7FF478EF7FF458DF7FF448CF7FF428BF7FF408A + F7FF3E89F7FF5096F8FF78B1FAFFB7D6FCFFE1EEFEFFFFFFFFFFFFFFFFFF4D92 + F7FF4C91F7FF4B91F7FF4B90F7FF4A90F7FF488EF7FF478EF7FF458DF7FF438C + F7FF428BF7FF408AF7FF3E89F7FF3D88F7FF3B86F7FF438CF7FF60A1F9FF4E92 + F8FF4E92F8FF4D92F7FF4C91F7FF4B91F7FF4B90F7FF498FF7FF488EF7FF468D + F7FF458DF7FF438CF7FF418AF7FF3F89F7FF3E88F7FF3C87F7FF3A86F7FF4E92 + F8C34E92F8FF4E92F8FF4E92F8FF4D92F7FF4C91F7FF4B91F7FF4A90F7FF498F + F7FF488EF7FF468DF7FF448CF7FF438CF7FF418AF7FF3F89F7FF3E88F7C30000 + AC410000AC410000AC410000AC410000AC410000AC410000AC410000AC410000 + AC410000AC410000AC410000AC410000AC410000AC410000AC410000AC412800 + 000030000000600000000100180000000000801C000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000032323237 + 3737373737373737373737373737363636363636353535353535343434343434 + 3434343333333333333232323232323232323131313131313131313131313030 + 303030303030302F2F2F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E + 2E2E2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B272727 + 0000000000000000003333334545454B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4949 + 4949494948484847474747474747474746464646464645454544444444444443 + 43434343434343434242424141414141414040404040404040404040403F3F3F + 3F3F3F3E3E3E3E3E3E3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3C3C3C3C3C3C3C3C + 3C3B3B3B3B3B3B3B3B3B3A3A3A3535352727270000000000004444444D4D4D4D + 4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A494949484848484848474747 + 4747474747474646464545454545454444444343434343434343434242424242 + 424141414141414040404040404040403F3F3F3F3F3F3E3E3E3E3E3E3E3E3E3D + 3D3D3D3D3D3D3D3D3D3D3D3C3C3C3C3C3C3C3C3C3B3B3B3B3B3B3B3B3B3B3B3B + 3333330000000000004D4D4D4E4E4E4E4E4E4D4D4D4D4D4D4C4C4C4B4B4B4B4B + 4B4A4A4A4A4A4A4A4A4A49494948484847474747474747474746464646464645 + 4545444444444444434343434343434343424242424242414141404040404040 + 4040404040403F3F3F3F3F3F3E3E3E3E3E3E3D3D3D3D3D3D3D3D3D3D3D3D3D3D + 3D3C3C3C3C3C3C3C3C3C3B3B3B3B3B3B3A3A3A0000000000005050505050504F + 4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A494949 + 4949494848484747474747474747474646464545454545454444444343434343 + 434343434343434242424141414141414040404040404040404040403F3F3F3F + 3F3F3E3E3E3E3E3E3D3D3D3D3D3D3D3D3D3D3D3D3C3C3C3C3C3C3C3C3C3B3B3B + 3B3B3B0000000000005151515151515050504F4F4F4E4E4E4E4E4E4D4D4D4D4D + 4D4C4C4C4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A49494948484848484847474747 + 4747464646464646454545444444444444434343434343434343424242424242 + 4141414141414040404040404040403F3F3F3F3F3F3E3E3E3E3E3E3D3D3D3D3D + 3D3D3D3D3D3D3D3D3D3D3C3C3C3C3C3C3C3C3C00000000000052525251515151 + 51515050505050504F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4B4B4B + 4A4A4A4A4A4A4949494949494848484747474747474747474646464545454545 + 4544444444444443434343434343434342424241414141414140404040404040 + 40404040403F3F3F3F3F3F3E3E3E3E3E3E3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D + 3C3C3C0000000000009696965252525151515151515151515050504F4F4F4F4F + 4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A49494948 + 4848484848474747474747474747464646454545454545444444434343434343 + 4343434242424242424141414141414040404040404040403F3F3F3F3F3F3E3E + 3E3E3E3E3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D000000000000F4F4F464646453 + 53535252525151515151515151515050504F4F4F4E4E4E4D4D4D4D4D4D4D4D4D + 4C4C4C4B4B4B4B4B4B4A4A4A4A4A4A4A4A4A4949494848484747474747474747 + 4746464646464645454544444444444443434343434343434342424242424241 + 41414040404040404040404040403F3F3F3F3F3F3E3E3E3E3E3E3D3D3D3D3D3D + 3D3D3D000000000000FFFFFFDBDBDB5C5C5C5353535252525252525151515151 + 515050504F4F4F4F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A + 4A4A4A4A4A494949484848484848474747474747474747464646454545454545 + 4444444343434343434343434242424242424141414141414040404040404040 + 404040403F3F3F3F3F3F3E3E3E3E3E3E3D3D3D000000000000FFFFFFFFFFFFB8 + B8B85454545454545353535252525151515151515151515050504F4F4F4E4E4E + 4E4E4E4D4D4D4D4D4D4C4C4C4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A4949494848 + 4847474747474747474746464646464645454544444444444443434343434343 + 43434242424242424141414040404040404040404040403F3F3F3F3F3F3E3E3E + 3E3E3E000000000000FFFFFFFFFFFFFFFFFFB8B8B85454545454545353535252 + 525252525151515151515050505050504F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C + 4C4C4B4B4B4B4B4B4A4A4A4A4A4A494949494949484848474747474747474747 + 4646464545454545454444444343434343434343434343434242424141414141 + 414040404040404040404040403F3F3F3F3F3F000000000000FFFFFFFFFFFFFF + FFFFFFFFFFB8B8B8545454545454545454535353525252515151515151515151 + 5050504F4F4F4E4E4E4E4E4E4D4D4D4D4D4D4C4C4C4C4C4C4B4B4B4A4A4A4A4A + 4A4A4A4A49494948484848484847474747474747474746464645454544444444 + 4444434343434343434343424242424242414141414141404040404040404040 + 3F3F3F000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8B8B85555555454 + 545454545353535353535252525151515151515050505050504F4F4F4E4E4E4D + 4D4D4D4D4D4D4D4D4C4C4C4B4B4B4B4B4B4A4A4A4A4A4A494949494949484848 + 4747474747474747474646464646464545454444444444444343434343434343 + 43424242414141414141404040404040404040000000000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFB8B8B8555555545454545454545454535353525252 + 5252525151515151515050504F4F4F4F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C + 4C4B4B4B4A4A4A4A4A4A4A4A4A49494948484848484847474747474747474746 + 4646454545454545444444434343434343434343424242424242414141414141 + 404040000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8B8 + B856565655555554545454545454545453535352525251515151515151515150 + 50504F4F4F4E4E4E4E4E4E4D4D4D4D4D4D4C4C4C4C4C4C4B4B4B4A4A4A4A4A4A + 4A4A4A4949494848484747474747474747474646464646464545454444444444 + 44434343434343434343424242424242414141000000000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4C4C45F5F5F555555555555545454 + 5454545353535252525252525151515151515050505050504F4F4F4E4E4E4D4D + 4D4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A49494949494948484847 + 4747474747474747464646454545454545444444434343434343434343434343 + 424242000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFDCDCDC68686856565655555554545454545454545453535352525251 + 51515151515151515050504F4F4F4E4E4E4E4E4E4D4D4D4D4D4D4C4C4C4C4C4C + 4B4B4B4A4A4A4A4A4A4A4A4A4949494848484848484747474747474646464646 + 46454545444444444444434343434343434343000000000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F47A7A7A565656 + 5555555555555454545454545353535353535252525151515151515050505050 + 504F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4B4B4B4A4A4A4A4A4A49 + 4949494949484848474747474747474747464646464646454545444444444444 + 434343000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFA2A2A257575756565655555554545454545454 + 54545353535252525151515151515151515050504F4F4F4F4F4F4E4E4E4D4D4D + 4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A4949494848484848484747 + 4747474747474746464645454545454544444400000000000066A4F9F1F7FEFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + D0D0D06868685656565656565555555454545454545353535353535252525151 + 515151515151515050504F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4B + 4B4B4A4A4A4A4A4A4A4A4A494949484848474747474747474747464646464646 + 4545450000000000003F89F75B9DF9F1F7FEFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F498989857575756565655 + 55555454545454545454545353535252525252525151515151515050504F4F4F + 4F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A4949 + 49484848484848474747474747474747464646000000000000408AF73F89F75B + 9DF9F1F7FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFD0D0D06868685757575656565555555454545454545454 + 545353535252525151515151515151515050504F4F4F4E4E4E4E4E4E4D4D4D4D + 4D4D4C4C4C4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A494949484848484848474747 + 474747000000000000418AF7408AF7408AF74990F8D5E7FDFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4A3 + A3A35F5F5F565656555555555555545454545454535353535353525252515151 + 5151515050505050504F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4B4B + 4B4A4A4A4A4A4A494949494949484848474747000000000000428BF7418AF741 + 8AF7408AF74990F8ABD1FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E78E8E8E5757575656565555 + 555454545454545454545353535252525151515151515151515050504F4F4F4F + 4F4F4E4E4E4D4D4D4D4D4D4C4C4C4C4C4C4B4B4B4A4A4A4A4A4A4A4A4A494949 + 484848000000000000438CF7428BF7428BF7418AF7408AF7408AF77BB3FAF1F7 + FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFDCDCDC7A7A7A565656565656555555545454545454535353 + 5353535252525151515151515151515050504F4F4F4E4E4E4D4D4D4D4D4D4D4D + 4D4C4C4C4B4B4B4B4B4B4A4A4A4A4A4A494949000000000000448CF7438CF743 + 8CF7428BF7418AF7418AF7408AF75397F8D5E7FDFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0D0 + D08E8E8E56565655555554545454545454545453535352525252525251515151 + 51515050504F4F4F4F4F4F4E4E4E4D4D4D4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A + 4A4A4A000000000000458DF7448CF7448CF7438CF7438CF7428BF7418AF7418A + F7408AF792C1FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E78D8D8D5F5F5F555555 + 5454545454545454545353535252525151515151515151515050504F4F4F4E4E + 4E4E4E4E4D4D4D4D4D4D4C4C4C4C4C4C4B4B4B000000000000468DF7458DF745 + 8DF7448CF7448CF7438CF7428BF7428BF7418AF7408AF75498F8C6DFFDFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFF4F4F4B8B8B870707055555554545454545453535352 + 52525252525151515151515050505050504F4F4F4E4E4E4D4D4D4D4D4D4D4D4D + 4C4C4C000000000000478EF7468DF7468DF7458DF7458DF7448CF7438CF7438C + F7428BF7418AF7418AF7408AF770ACFAE3EFFEFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFDCDCDC9797976666665454545454545353535252525151515151515151 + 515050504F4F4F4E4E4E4E4E4E4D4D4D4D4D4D000000000000488EF7478EF747 + 8EF7468DF7468DF7458DF7448CF7448CF7438CF7428BF7428BF7418AF7408AF7 + 408AF787BAFBF1F7FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBDBDB97 + 97976F6F6F5353535353535252525151515151515050505050504F4F4F4E4E4E + 4D4D4D000000000000498FF7488EF7488EF7478EF7478EF7468DF7458DF7458D + F7448CF7438CF7438CF7428BF7418AF7418AF7408AF74990F892C1FBF1F7FEFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7B7B7B78B8B8B6464 + 645151515151515151515050504F4F4F4F4F4F0000000000004A90F7498FF749 + 8FF7488EF7478EF7478EF7468DF7468DF7458DF7448CF7448CF7438CF7438CF7 + 428BF7418AF7408AF7408AF74990F87BB2FAE2EFFEFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6E6E6C2C2C29F9F9F757575595959 + 5050500000000000004A90F74A90F7498FF7498FF7488EF7488EF7478EF7478E + F7468DF7458DF7458DF7448CF7448CF7438CF7428BF7428BF7418AF7408AF740 + 8AF73F89F76FACFAB9D7FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000004B90F74B90F74A + 90F74A90F7498FF7498FF7488EF7488EF7478EF7468DF7468DF7458DF7458DF7 + 448CF7438CF7438CF7428BF7418AF7418AF7408AF73F89F73F89F75297F891C1 + FBE2EFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF0000000000004B91F74B90F74B90F74A90F74A90F7498FF7498FF7488E + F7488EF7478EF7478EF7468DF7468DF7458DF7448CF7448CF7438CF7428BF742 + 8BF7418AF7408AF7408AF73F89F73E89F73E89F75A9DF99DC8FBE2EEFEFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000004C91F74B91F74B + 91F74B90F74B90F74A90F74A90F7498FF7498FF7488EF7488EF7478EF7468DF7 + 468DF7458DF7458DF7448CF7438CF7438CF7428BF7418AF7418AF7408AF73F89 + F73F89F73E89F73E88F73D88F7599CF985B9FBC5DFFDFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF0000000000004C91F74C91F74B91F74B91F74B91F74B90F74B90F74A90 + F74A90F7498FF7488EF7488EF7478EF7478EF7468DF7468DF7458DF7448CF744 + 8CF7438CF7428BF7428BF7418AF7408AF7408AF73F89F73E89F73E89F73E88F7 + 3D88F73C87F73C87F763A3F98FC0FBC4DEFDF1F7FEFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000004D92F74C91F74C + 91F74C91F74B91F74B91F74B90F74B90F74A90F74A90F7498FF7498FF7488EF7 + 488EF7478EF7478EF7468DF7458DF7458DF7448CF7438CF7438CF7428BF7428B + F7418AF7408AF73F89F73F89F73E89F73E88F73E88F73D88F73C87F73B86F73B + 86F73A86F74D94F76BA9FA8EBFFBB6D5FCD3E6FDFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF0000000000004D92F74D92F74D92F74C91F74C91F74B91F74B91F74B91 + F74B90F74B90F74A90F74A90F7498FF7498FF7488EF7478EF7478EF7468DF746 + 8DF7458DF7448CF7448CF7438CF7438CF7428BF7418AF7418AF7408AF73F89F7 + 3E89F73E89F73E88F73D88F73D88F73C87F73B86F73A86F73A86F73985F73885 + F73784F73784F74B92F75EA0F968A7FAC3DDFD0000000000004E92F84E92F84D + 92F74D92F74D92F74C91F74C91F74B91F74B91F74B90F74B90F74A90F74A90F7 + 498FF7498FF7488EF7488EF7478EF7478EF7468DF7458DF7458DF7448CF7448C + F7438CF7428BF7428BF7418AF7408AF7408AF73F89F73E89F73E88F73E88F73D + 88F73C87F73C87F73B86F73A86F73985F73985F73885F73784F73684F63583F6 + 408AF70000000000004E92F84E92F84E92F84D92F74D92F74D92F74C91F74C91 + F74C91F74B91F74B91F74B90F74B90F74A90F74A90F7498FF7498FF7488EF748 + 8EF7478EF7468DF7468DF7458DF7458DF7448CF7438CF7438CF7428BF7418AF7 + 418AF7408AF73F89F73F89F73E89F73E88F73D88F73D88F73C87F73B86F73B86 + F73A86F73985F73885F73784F73784F73684F60000000000004E92F84E92F84E + 92F84E92F84E92F84D92F74D92F74D92F74C91F74C91F74B91F74B91F74B90F7 + 4B90F74B90F74A90F74A90F7498FF7488EF7488EF7478EF7478EF7468DF7468D + F7458DF7448CF7448CF7438CF7428BF7428BF7418AF7408AF7408AF73F89F73E + 89F73E89F73E88F73D88F73C87F73C87F73B86F73A86F73985F73985F73885F7 + 3784F70000000000004D90F44E92F84E92F84E92F84E92F84E92F84D92F74D92 + F74D92F74C91F74C91F74C91F74B91F74B91F74B90F74B90F74A90F74A90F749 + 8FF7498FF7488EF7488EF7478EF7478EF7468DF7458DF7458DF7448CF7438CF7 + 438CF7428BF7418AF7418AF7408AF73F89F73F89F73E89F73E88F73E88F73D88 + F73C87F73B86F73B86F73A86F73985F73783F3000000000000437ED64E92F84E + 92F84E92F84E92F84E92F84E92F84E92F84D92F74D92F74D92F74C91F74C91F7 + 4B91F74B91F74B91F74B90F74B90F74A90F74A90F7498FF7498FF7488EF7478E + F7478EF7468DF7468DF7458DF7448CF7448CF7438CF7438CF7428BF7418AF741 + 8AF7408AF73F89F73E89F73E89F73E88F73D88F73D88F73C87F73B86F73A86F7 + 3272D30000000000000000004581DB4D90F44E92F84E92F84E92F84E92F84E92 + F84E92F84E92F84D92F74D92F74C91F74C91F74C91F74B91F74B91F74B90F74B + 90F74A90F74A90F7498FF7498FF7488EF7488EF7478EF7478EF7468DF7458DF7 + 458DF7448CF7448CF7438CF7428BF7428BF7418AF7408AF7408AF73F89F73E89 + F73E88F73E88F73D88F73B85F33577DA00000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000FFFFFFFFFFFF0000C00000000003000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 0000000100008000000000010000800000000001000080000000000100008000 + 00000001000080000000000100008000000000010000C000000000030000FFFF + FFFFFFFF00002800000020000000400000000100180000000000800C00000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000383838383838373737373737 + 3636363535353535353434343434343333333232323232323131313131313030 + 303030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2C2C2C2C + 2C2C2C2C2C2B2B2B0000000000000000003E3E3E4B4B4B4C4C4C4B4B4B4A4A4A + 4A4A4A4949494848484747474747474646464545454444444343434343434242 + 424141414040404040403F3F3F3F3F3F3E3E3E3D3D3D3D3D3D3D3D3D3C3C3C3C + 3C3C3B3B3B3A3A3A2F2F2F0000000000004E4E4E4E4E4E4D4D4D4D4D4D4C4C4C + 4B4B4B4A4A4A4A4A4A4848484747474747474646464545454444444343434343 + 434242424141414141414040404040403F3F3F3E3E3E3E3E3E3D3D3D3D3D3D3D + 3D3D3C3C3C3B3B3B3939390000000000005151515050504F4F4F4E4E4E4D4D4D + 4D4D4D4C4C4C4A4A4A4A4A4A4949494848484747474747474646464545454444 + 444343434343434242424141414040404040403F3F3F3F3F3F3E3E3E3D3D3D3D + 3D3D3D3D3D3C3C3C3C3C3C0000000000005B5B5B5151515151515050504F4F4F + 4E4E4E4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4949494848484747474646464545 + 454444444343434343434242424242424141414040404040403F3F3F3E3E3E3E + 3E3E3D3D3D3D3D3D3D3D3D000000000000A1A1A1535353525252515151515151 + 4F4F4F4E4E4E4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4949494848484747474747 + 474646464545454444444343434343434242424141414040404040404040403F + 3F3F3E3E3E3D3D3D3D3D3D000000000000FFFFFF787878545454535353515151 + 5151515050504F4F4F4E4E4E4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A4949494848 + 4847474747474746464645454544444443434343434342424241414140404040 + 40403F3F3F3F3F3F3E3E3E000000000000FFFFFFF4F4F4707070545454535353 + 5252525151515151515050504E4E4E4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4949 + 4948484847474747474746464645454544444443434343434342424241414140 + 40404040404040403F3F3F000000000000FFFFFFFFFFFFF4F4F4707070545454 + 5454545353535252525151515050504F4F4F4E4E4E4D4D4D4D4D4D4B4B4B4A4A + 4A4A4A4A49494948484847474747474746464645454544444443434343434342 + 4242414141404040404040000000000000FFFFFFFFFFFFFFFFFFF4F4F4717171 + 5555555454545454545252525151515151515050504F4F4F4D4D4D4D4D4D4C4C + 4C4B4B4B4A4A4A4A4A4A49494947474747474746464645454544444443434343 + 4343424242414141414141000000000000FFFFFFFFFFFFFFFFFFFFFFFFF4F4F4 + 7171715656565454545454545353535252525151515050504F4F4F4E4E4E4D4D + 4D4D4D4D4C4C4C4A4A4A4A4A4A49494948484847474747474746464645454544 + 4444434343434343424242000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + F4F4F47A7A7A5656565555555454545454545353535151515151515050504F4F + 4F4E4E4E4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A49494948484847474746464645 + 4545444444434343434343000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF9898985757575656565555555454545353535252525151515151 + 514F4F4F4E4E4E4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A49494948484847474747 + 474746464645454544444400000000000066A4F9F1F7FEFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFC4C4C46060605656565555555454545454545353535252 + 525151515050504F4F4F4E4E4E4D4D4D4C4C4C4B4B4B4A4A4A4A4A4A49494948 + 4848474747474747464646000000000000408AF75C9EF9F1F7FEFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFE7E7E77A7A7A5757575656565555555454545353 + 535252525151515151515050504E4E4E4D4D4D4D4D4D4C4C4C4B4B4B4A4A4A4A + 4A4A484848474747474747000000000000418AF7408AF75C9EF9D5E7FDFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9B9B96060605757575555555454 + 545454545353535252525151515050504F4F4F4E4E4E4D4D4D4D4D4D4B4B4B4A + 4A4A4A4A4A494949484848000000000000438CF7428BF7418AF74A90F8ABD1FC + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F49999995757575656 + 565555555454545454545252525151515151515050504F4F4F4D4D4D4D4D4D4C + 4C4C4B4B4B4A4A4A4A4A4A000000000000458DF7448CF7438CF7428BF7418AF7 + 70ACFAF1F7FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E78E8E + 8E5757575656565454545454545353535252525151515050504F4F4F4E4E4E4D + 4D4D4D4D4D4C4C4C4A4A4A000000000000468DF7458DF7448CF7438CF7428BF7 + 418AF74A90F8ABD1FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFE7E7E7A3A3A35F5F5F5555555454545454545353535151515151515050504F + 4F4F4E4E4E4D4D4D4C4C4C000000000000478EF7478EF7468DF7458DF7448CF7 + 438CF7428BF7418AF767A5F9C6DFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFB9B9B984848455555554545453535352525251515151 + 51514F4F4F4E4E4E4D4D4D000000000000498FF7488EF7478EF7468DF7458DF7 + 448CF7438CF7428BF7418AF7408AF766A5F9C6DFFDFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4B8B8B883838354545453535352 + 52525151515050504F4F4F0000000000004A90F7498FF7488EF7488EF7478EF7 + 468DF7458DF7448CF7438CF7428BF7418AF7408AF766A5F9B9D7FCFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFA0 + A0A08181816363635151510000000000004B90F74A90F74A90F7498FF7488EF7 + 478EF7468DF7458DF7448CF7438CF7428BF7418AF7408AF73F89F75297F886B9 + FBE2EFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF0000000000004B91F74B91F74B90F74A90F7498FF7 + 498FF7488EF7478EF7468DF7458DF7448CF7438CF7428BF7418AF7408AF73F89 + F73E89F75A9DF985B9FBD4E7FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF0000000000004C91F74C91F74B91F74B90F74B90F7 + 4A90F7498FF7488EF7478EF7468DF7468DF7458DF7448CF7438CF7428BF7418A + F7408AF73E89F73E88F73D88F7468EF86DAAFA8FC0FBC4DEFDF1F7FEFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF0000000000004D92F74D92F74C91F74B91F74B91F7 + 4B90F74A90F74A90F7498FF7488EF7478EF7468DF7458DF7448CF7438CF7428B + F7418AF7408AF73F89F73E89F73E88F73D88F73C87F73A86F73985F74C93F760 + A1F981B7FB8CBEFBC3DDFD0000000000004E92F84E92F84D92F74C91F74C91F7 + 4B91F74B90F74B90F74A90F7498FF7488EF7478EF7478EF7468DF7458DF7448C + F7438CF7428BF7418AF7408AF73F89F73E89F73D88F73C87F73B86F73A86F739 + 85F73885F73784F73583F60000000000004E92F84E92F84E92F84D92F74D92F7 + 4C91F74C91F74B91F74B90F74A90F74A90F7498FF7488EF7478EF7468DF7458D + F7448CF7438CF7428BF7418AF7408AF73F89F73E89F73E88F73D88F73C87F73B + 86F73A86F73885F73784F70000000000004C8FF34E92F84E92F84E92F84E92F8 + 4D92F74C91F74C91F74B91F74B91F74B90F74A90F7498FF7488EF7488EF7478E + F7468DF7458DF7448CF7438CF7428BF7418AF7408AF73F89F73E89F73E88F73C + 87F73B86F73A86F73882F20000000000000000004A8BEB4E92F84E92F84E92F8 + 4E92F84D92F74D92F74C91F74C91F74B91F74B90F74B90F74A90F7498FF7488E + F7478EF7468DF7458DF7448CF7448CF7438CF7428BF7408AF73F89F73E89F73E + 88F73D88F73980EA000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000FFFFFFFFC000000380000001800000018000 + 0001800000018000000180000001800000018000000180000001800000018000 + 0001800000018000000180000001800000018000000180000001800000018000 + 0001800000018000000180000001800000018000000180000001800000018000 + 000180000001C0000003FFFFFFFF280000001000000020000000010018000000 + 0000400300000000000000000000000000000000000039393937373737373735 + 35353434343333333232323131313030303030302E2E2E2E2E2E2E2E2E2D2D2D + 2C2C2C2C2C2C4949494D4D4D4B4B4B4A4A4A4848484747474545454444444343 + 434141414040403F3F3F3E3E3E3D3D3D3D3D3D3838385151515050504E4E4E4D + 4D4D4B4B4B4A4A4A4848484747474545454343434343434141414040403F3F3F + 3E3E3E3D3D3DB8B8B85353535151514F4F4F4D4D4D4C4C4C4A4A4A4949494747 + 474646464545454343434242424141414040403F3F3FFFFFFF8D8D8D54545452 + 52525151514F4F4F4D4D4D4C4C4C4A4A4A494949474747464646444444434343 + 424242404040FFFFFFFFFFFFA2A2A25555555454545252525151514F4F4F4D4D + 4D4B4B4B4A4A4A4848484747474646464444444343436DABFAF1F7FEFFFFFFB9 + B9B95F5F5F5555555353535151515050504E4E4E4D4D4D4B4B4B4A4A4A484848 + 4747474545453E89F7599CF9F1F7FEFFFFFFDCDCDC7272725656565454545353 + 535151515050504E4E4E4D4D4D4A4A4A4A4A4A484848428BF7408AF7488FF8C5 + DFFDFFFFFFFFFFFFA4A4A46060605656565454545252525151514F4F4F4D4D4D + 4C4C4C4A4A4A458DF7438CF7418AF7408AF77BB2FAF1F7FEFFFFFFF4F4F4A3A3 + A35F5F5F5555555454545252525151514F4F4F4D4D4D488EF7468DF7458DF743 + 8CF7418AF74990F891C1FBF1F7FEFFFFFFF4F4F4AFAFAF717171555555545454 + 5252525050504A90F7498FF7478EF7468DF7448CF7428BF7418AF74990F87AB2 + FAD4E7FDFFFFFFFFFFFFE7E7E7AEAEAE8383836464644C91F74B90F74A90F749 + 8FF7478EF7458DF7448CF7428BF7408AF73E89F75096F878B1FAB7D6FCE1EEFE + FFFFFFFFFFFF4D92F74C91F74B91F74B90F74A90F7488EF7478EF7458DF7438C + F7428BF7408AF73E89F73D88F73B86F7438CF760A1F94E92F84E92F84D92F74C + 91F74B91F74B90F7498FF7488EF7468DF7458DF7438CF7418AF73F89F73E88F7 + 3C87F73A86F74E92F84E92F84E92F84E92F84D92F74C91F74B91F74A90F7498F + F7488EF7468DF7448CF7438CF7418AF73F89F73E88F700000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000} + OnCreate = FormCreate TextHeight = 15 - object btnShowDesigner: TcxButton - Left = 24 - Top = 32 - Width = 145 - Height = 25 - Caption = 'Show Designer' - TabOrder = 0 - OnClick = btnShowDesignerClick - end - object btnViewReport: TcxButton - Left = 192 - Top = 32 - Width = 193 - Height = 25 - Caption = 'View Report' + object btnGroupDisplayDialog: TcxGroupBox + Left = 213 + Top = 17 + Caption = 'Display a Localized Report Dialog:' TabOrder = 1 - OnClick = btnViewReportClick - end - object cxGrid1: TcxGrid - Left = 24 - Top = 176 - Width = 521 - Height = 265 - TabOrder = 2 - object gvCategories: TcxGridDBTableView - DataController.DataSource = DataModule1.dsCategories - DataController.KeyFieldNames = 'CategoryID' - object gvCategoriesCategoryID: TcxGridDBColumn - DataBinding.FieldName = 'CategoryID' - end - object gvCategoriesCategoryName: TcxGridDBColumn - DataBinding.FieldName = 'CategoryName' - end - object gvCategoriesDescription: TcxGridDBColumn - DataBinding.FieldName = 'Description' - end - end - object gvProducts: TcxGridDBTableView - DataController.DataSource = DataModule1.dsProducts - DataController.DetailKeyFieldNames = 'CategoryID' - DataController.KeyFieldNames = 'ProductID' - DataController.MasterKeyFieldNames = 'CategoryID' - object gvProductsProductID: TcxGridDBColumn - DataBinding.FieldName = 'ProductID' - end - object gvProductsProductName: TcxGridDBColumn - DataBinding.FieldName = 'ProductName' - Width = 244 - end - object gvProductsSupplierID: TcxGridDBColumn - DataBinding.FieldName = 'SupplierID' - end - object gvProductsCategoryID: TcxGridDBColumn - DataBinding.FieldName = 'CategoryID' - end - object gvProductsQuantityPerUnit: TcxGridDBColumn - DataBinding.FieldName = 'QuantityPerUnit' - Width = 124 - end - object gvProductsUnitPrice: TcxGridDBColumn - DataBinding.FieldName = 'UnitPrice' - end - object gvProductsUnitsInStock: TcxGridDBColumn - DataBinding.FieldName = 'UnitsInStock' - end - object gvProductsUnitsOnOrder: TcxGridDBColumn - DataBinding.FieldName = 'UnitsOnOrder' - end - object gvProductsReorderLevel: TcxGridDBColumn - DataBinding.FieldName = 'ReorderLevel' - end - object gvProductsDiscontinued: TcxGridDBColumn - DataBinding.FieldName = 'Discontinued' - Width = 34 - end - object gvProductsEAN13: TcxGridDBColumn - DataBinding.FieldName = 'EAN13' - Width = 76 - end + Height = 86 + Width = 195 + object btnDisplayReport: TcxButton + Left = 15 + Top = 52 + Width = 145 + Height = 25 + Caption = 'Report Viewer' + TabOrder = 1 + OnClick = btnDisplayReportClick end - object cxGrid1Level1: TcxGridLevel - GridView = gvCategories - object cxGrid1Level2: TcxGridLevel - GridView = gvProducts - end + object btnDisplayDesigner: TcxButton + Left = 15 + Top = 21 + Width = 145 + Height = 25 + Caption = 'Report Designer' + TabOrder = 0 + OnClick = btnDisplayDesignerClick end end - object btnSetLanguageUS: TcxButton - Left = 72 - Top = 88 - Width = 121 - Height = 25 - Caption = 'English' - TabOrder = 3 - OnClick = btnSetLanguageUSClick - end - object btnSetLanguageDE: TcxButton - Left = 199 - Top = 88 - Width = 131 - Height = 25 - Caption = 'German' - TabOrder = 4 - OnClick = btnSetLanguageDEClick - end - object lblSelectLanguage: TcxLabel - Left = 56 - Top = 64 - Caption = 'Select Language' - TabOrder = 5 + object rbtnGroupLocalization: TcxRadioGroup + Left = 8 + Top = 17 + Caption = 'Report Dialog Language (Locale):' + Properties.Items = <> + TabOrder = 0 + Height = 86 + Width = 193 + object rbtnSelectEnglishLocalization: TcxRadioButton + Left = 16 + Top = 21 + Width = 113 + Height = 25 + Caption = 'English (en-US)' + Checked = True + TabOrder = 0 + TabStop = True + OnClick = rbtnSelectEnglishLocalizationClick + end + object rbtnSelectGermanLocalization: TcxRadioButton + Left = 16 + Top = 52 + Width = 113 + Height = 25 + Caption = 'German (de-DE)' + TabOrder = 1 + OnClick = rbtnSelectGermanLocalizationClick + end end object dxReport1: TdxReport Parameters = <> - Left = 48 - Top = 128 + Left = 416 + Top = 32 end object dxBackendDataConnectionManager1: TdxBackendDataConnectionManager - Left = 112 - Top = 128 + Left = 472 + Top = 32 object dxBackendDataConnectionManager1dxBackendDataSetJSONConnection1: TdxBackendDataSetJSONConnection DisplayName = 'DataSetConnection' object itmProducts: TdxBackendDataSetCollectionItem @@ -142,4 +921,11 @@ object MainForm: TMainForm end end end + object dxSkinController1: TdxSkinController + SkinName = 'WXICompact' + FormCorners = fcRectangular + SkinPaletteName = 'Sharpness' + Left = 455 + Top = 32 + end end diff --git a/Delphi/uMainForm.pas b/Delphi/uMainForm.pas index e54bbc8..eb6ae58 100644 --- a/Delphi/uMainForm.pas +++ b/Delphi/uMainForm.pas @@ -12,43 +12,27 @@ interface cxGridTableView, cxGridDBTableView, cxGrid, FireDAC.Comp.DataSet, FireDAC.Comp.Client, dxBackend.ConnectionString.JSON.DataSet, dxBackend.ConnectionString.JSON, Vcl.StdCtrls, dxmdaset, uData, cxContainer, - cxLabel; + cxLabel, cxRadioGroup, cxGroupBox, dxCore, dxSkinsForm; type TMainForm = class(TForm) dxReport1: TdxReport; dxBackendDataConnectionManager1: TdxBackendDataConnectionManager; - btnShowDesigner: TcxButton; - btnViewReport: TcxButton; + btnDisplayDesigner: TcxButton; + btnDisplayReport: TcxButton; dxBackendDataConnectionManager1dxBackendDataSetJSONConnection1: TdxBackendDataSetJSONConnection; itmProducts: TdxBackendDataSetCollectionItem; itmCategories: TdxBackendDataSetCollectionItem; - cxGrid1: TcxGrid; - gvCategories: TcxGridDBTableView; - gvCategoriesCategoryID: TcxGridDBColumn; - gvCategoriesCategoryName: TcxGridDBColumn; - gvCategoriesDescription: TcxGridDBColumn; - gvProducts: TcxGridDBTableView; - gvProductsProductID: TcxGridDBColumn; - gvProductsProductName: TcxGridDBColumn; - gvProductsSupplierID: TcxGridDBColumn; - gvProductsCategoryID: TcxGridDBColumn; - gvProductsQuantityPerUnit: TcxGridDBColumn; - gvProductsUnitPrice: TcxGridDBColumn; - gvProductsUnitsInStock: TcxGridDBColumn; - gvProductsUnitsOnOrder: TcxGridDBColumn; - gvProductsReorderLevel: TcxGridDBColumn; - gvProductsDiscontinued: TcxGridDBColumn; - gvProductsEAN13: TcxGridDBColumn; - cxGrid1Level1: TcxGridLevel; - cxGrid1Level2: TcxGridLevel; - btnSetLanguageUS: TcxButton; - btnSetLanguageDE: TcxButton; - lblSelectLanguage: TcxLabel; - procedure btnShowDesignerClick(Sender: TObject); - procedure btnViewReportClick(Sender: TObject); - procedure btnSetLanguageUSClick(Sender: TObject); - procedure btnSetLanguageDEClick(Sender: TObject); + rbtnGroupLocalization: TcxRadioGroup; + rbtnSelectEnglishLocalization: TcxRadioButton; + rbtnSelectGermanLocalization: TcxRadioButton; + btnGroupDisplayDialog: TcxGroupBox; + dxSkinController1: TdxSkinController; + procedure FormCreate(Sender: TObject); + procedure btnDisplayDesignerClick(Sender: TObject); + procedure btnDisplayReportClick(Sender: TObject); + procedure rbtnSelectEnglishLocalizationClick(Sender: TObject); + procedure rbtnSelectGermanLocalizationClick(Sender: TObject); private { Private declarations } public @@ -62,24 +46,41 @@ implementation {$R *.dfm} -procedure TMainForm.btnSetLanguageDEClick(Sender: TObject); +procedure TMainForm.FormCreate(Sender: TObject); +const + // Path to a saved example report file + AFileName = 'ExampleReport.repx'; begin - dxReport1.Language := 'de-DE' + // Load example report from a file + if FileExists(AFileName) then + begin + dxReport1.ReportName := 'ExampleReport'; + dxReport1.Layout.LoadFromFile(AFileName); + end; end; -procedure TMainForm.btnSetLanguageUSClick(Sender: TObject); +procedure TMainForm.btnDisplayDesignerClick(Sender: TObject); begin - dxReport1.Language := 'en-US' + // Display the DevExpress Report Designer dialog + dxReport1.ShowDesigner; end; -procedure TMainForm.btnShowDesignerClick(Sender: TObject); +procedure TMainForm.btnDisplayReportClick(Sender: TObject); begin - dxReport1.ShowDesigner; + // Display the DevExpress Report Viewer dialog + dxReport1.ShowViewer; end; -procedure TMainForm.btnViewReportClick(Sender: TObject); +procedure TMainForm.rbtnSelectEnglishLocalizationClick(Sender: TObject); begin - dxReport1.ShowViewer; + // Switch Report UI to English + dxReport1.Language := 'en-US'; +end; + +procedure TMainForm.rbtnSelectGermanLocalizationClick(Sender: TObject); +begin + // Switch Report UI to German + dxReport1.Language := 'de-DE'; end; end. diff --git a/ExampleReport.repx b/ExampleReport.repx new file mode 100644 index 0000000..cbba4b9 --- /dev/null +++ b/ExampleReport.repx @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index 94ca9aa..6923eef 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,95 @@ ![](https://img.shields.io/endpoint?url=https://codecentral.devexpress.com/api/v1/VersionRange/1048527919/25.2.3%2B) [![](https://img.shields.io/badge/Open_in_DevExpress_Support_Center-FF7200?style=flat-square&logo=DevExpress&logoColor=white)](https://supportcenter.devexpress.com/ticket/details/T1305951) -[![](https://img.shields.io/badge/📖_How_to_use_DevExpress_Examples-e9f6fc?style=flat-square)](https://docs.devexpress.com/GeneralInformation/403183) +[![](https://img.shields.io/badge/📖_How_to_use_DevExpress_Examples-e9f6fc?style=flat-square)](https://docs.devexpress.com/GeneralInformation/403183/help-resources/devexpress-code-examples) [![](https://img.shields.io/badge/💬_Leave_Feedback-feecdd?style=flat-square)](#does-this-example-address-your-development-requirementsobjectives) -# DevExpress VCL Reports - Localize the DevExpress Report Viewer and Report Designer -This example localizes DevExpress VCL [Report Viewer](https://docs.devexpress.com/XtraReports/401850/web-reporting/web-document-viewer)/[Report Designer](https://docs.devexpress.com/XtraReports/119176/web-reporting/web-end-user-report-designer) dialogs ([TdxReport](https://docs.devexpress.com/VCL/dxReport.TdxReport) component). German UI localization strings are stored within the project's [Localization](https://github.com/DevExpress-Examples/vcl-reports-localize/tree/25.1.4%2B/Localization) folder as JSON files. You can download UI localizations for additional languages from the [DevExpress Localization Service](https://localization.devexpress.com/). +# DevExpress VCL Reports — Localize the Report Viewer and Report Designer -vcl-reports-tdxreport-report-viewer-localization +This example localizes DevExpress VCL Reports components. + +The [DevExpress Reporting Platform](https://docs.devexpress.com/VCL/405469/ExpressReports/vcl-reports) has full support for UI localization. +The localization example in this repository gives users a choice between English (default) and German (localized) versions of two built-in dialogs: +[Report Viewer](https://docs.devexpress.com/XtraReports/401850/web-reporting/web-document-viewer) and +[Report Designer](https://docs.devexpress.com/XtraReports/119176/web-reporting/web-end-user-report-designer). +The example includes projects for both [Delphi](./Delphi) and [C++Builder](./CPB). + +Start screen of the localization example, offering to select between English and German, and to display Report Designer and Report Viewer dialogs + +## Prerequisites + +See the [DevExpress Reports Prerequisites](https://docs.devexpress.com/VCL/405469/ExpressReports/vcl-reports#expressreports-prerequisites). + +## Implementation Details + +To localize the DevExpress Report Designer and Report Viewer in your Delphi or C++ Builder application, +do the following: + +1. Use the [DevExpress UI Localization Service](https://docs.devexpress.com/GeneralInformation/16235/localization/localization-service) + to obtain localization files for DevExpress VCL Report Viewer and Designer. + These files contain UI string translations for a specific language/locale. + Refer to the following guide for step-by-step instructions: + [Localize Core Reporting Components: Use JSON Files](https://docs.devexpress.com/XtraReports/400932/web-reporting/common-features/localization/localization-in-asp-net-core-reporting-applications#use-json-files). +1. Extract downloaded files to a `Localization` folder next to your compiled application executable. + Note that projects in this repository output their executables to the same location. + This allows both projects to use the same localization files. +1. Assign a language identifier (also known as [locale][1] or [culture identifier][2]) to the + [`TdxReport.Language`](https://docs.devexpress.com/VCL/dxReport.TdxReport.Language) + property to switch the Report Designer and Report Viewer UI to a specific language: + + **Delphi:** + ```delphi + dxReport1: TdxReport; + + // Switch Report UI to German + dxReport1.Language := 'de-DE' + ``` + + **C++Builder:** + ```cpp + TdxReport *dxReport1; + + // Switch Report UI to German + dxReport1->Language = "de-DE"; + ``` + +[1]: https://learn.microsoft.com/en-us/globalization/reference/glossary#locale +[2]: https://learn.microsoft.com/en-us/dotnet/fundamentals/runtime-libraries/system-globalization-cultureinfo#culture-names-and-identifiers + +For a more detailed step-by-step guide to localizing your applications, refer to the following help topic: +[Report Viewer and Designer UI Localization](https://docs.devexpress.com/VCL/405598/ExpressReports/localization/vcl-report-viewer-and-designer-localization). + +This example does not localize report content. +To localize report content in your project, refer to the following guide: [Report Localization](https://docs.devexpress.com/VCL/405599/ExpressReports/localization/vcl-report-localization). + +The localization mechanism demonstrated in this example applies only to DevExpress Report Designer and Report Viewer components. +The DevExpress VCL library components support localization using [resource files and the Localizer Editor](https://docs.devexpress.com/VCL/154039/ExpressCrossPlatformLibrary/how-to/localize-an-application). + +## Files to Review + +- [`Delphi/uMainForm.pas`](./Delphi/uMainForm.pas) loads an example report from `ExampleReport.repx`. + Event handlers assigned to [`TcxRadioButton`](https://docs.devexpress.com/VCL/cxRadioGroup.TcxRadioButton) + components switch localization language between English and German. +- [`Localization/*.de.json`](./Localization/) files contain localized UI strings. ## Documentation -* [VCL Report Viewer and Designer UI Localization](https://docs.devexpress.com/VCL/405598/ExpressReports/localization/vcl-report-viewer-and-designer-localization) -* [VCL Reports Localization](https://docs.devexpress.com/VCL/405597/ExpressReports/vcl-reports-localization) -* [DevExpress UI Localization Service](https://docs.devexpress.com/GeneralInformation/16235/localization/localization-service) -* [TdxReport.Language Property](https://docs.devexpress.com/VCL/dxReport.TdxReport.Language) +- [VCL Report Viewer and Designer UI Localization](https://docs.devexpress.com/VCL/405598/ExpressReports/localization/vcl-report-viewer-and-designer-localization) +- [VCL Reports Localization](https://docs.devexpress.com/VCL/405597/ExpressReports/vcl-reports-localization) +- [DevExpress UI Localization Service](https://docs.devexpress.com/GeneralInformation/16235/localization/localization-service) +- [TdxReport.Language Property](https://docs.devexpress.com/VCL/dxReport.TdxReport.Language) +- [ExpressReports Application Deployment Requirements](https://docs.devexpress.com/VCL/405469/ExpressReports/vcl-reports#expressreports-app-deployment) + +## Localized Report Dialogs Preview + +**Localized Report Designer:** + +![VCL Report Designer dialog with interface localized into German](./images/Berichtsdesigner.png) + +**Localized Report Viewer:** + +![VCL Report Viewer dialog with interface localized into German](./images/Berichtsanzeige.png) ## Does this example address your development requirements/objectives? diff --git a/images/Berichtsanzeige.png b/images/Berichtsanzeige.png new file mode 100644 index 0000000..9bd4caa Binary files /dev/null and b/images/Berichtsanzeige.png differ diff --git a/images/Berichtsdesigner.png b/images/Berichtsdesigner.png new file mode 100644 index 0000000..46f0a54 Binary files /dev/null and b/images/Berichtsdesigner.png differ diff --git a/images/Lokalisierungsbeispiel.png b/images/Lokalisierungsbeispiel.png new file mode 100644 index 0000000..a332ecd Binary files /dev/null and b/images/Lokalisierungsbeispiel.png differ